基于动态污点分析的二进制程序脆弱性检测技术研究
摘要 | 第4-5页 |
ABSTRACT | 第5页 |
注释表 | 第10-11页 |
缩略词 | 第11-12页 |
第一章 绪论 | 第12-20页 |
1.1 研究背景与意义 | 第12-13页 |
1.2 国内外研究现状 | 第13-17页 |
1.2.1 脆弱性检测技术研究现状 | 第13-16页 |
1.2.2 污点分析技术现状 | 第16-17页 |
1.3 论文主要研究内容 | 第17-18页 |
1.4 论文组织结构 | 第18-20页 |
第二章 软件脆弱性检测与分析相关技术 | 第20-29页 |
2.1 软件脆弱性概念 | 第20-22页 |
2.1.1 软件脆弱性定义 | 第20页 |
2.1.2 软件脆弱性攻击方式 | 第20-22页 |
2.2 软件脆弱性检测技术 | 第22-27页 |
2.2.1 软件脆弱性分析技术分类 | 第23-24页 |
2.2.2 模糊测试技术 | 第24-25页 |
2.2.3 符号执行技术 | 第25页 |
2.2.4 二进制动态分析技术 | 第25-26页 |
2.2.5 污点分析技术 | 第26-27页 |
2.3 本章小结 | 第27-29页 |
第三章 面向二进制脆弱性检测的动态污点分析系统 | 第29-53页 |
3.1 现有污点分析平台的准确度问题 | 第29-30页 |
3.2 系统框架设计 | 第30-31页 |
3.3 污点标记模块 | 第31-34页 |
3.3.1 污点标记设计 | 第31-32页 |
3.3.2 污点标记实现 | 第32-34页 |
3.4 污点传播模块 | 第34-39页 |
3.4.1 污点传播模块设计 | 第34-38页 |
3.4.2 污点传播模块实现 | 第38-39页 |
3.5 污点检测模块 | 第39-43页 |
3.5.1 在线脆弱性检测 | 第39-41页 |
3.5.2 离线脆弱性分析 | 第41-42页 |
3.5.3 污点检测模块实现 | 第42-43页 |
3.6 影子内存存储设计 | 第43-45页 |
3.7 安全日志文件设计 | 第45-46页 |
3.8 系统实验分析 | 第46-52页 |
3.8.1 实验环境 | 第46-47页 |
3.8.2 脆弱性检测 | 第47-48页 |
3.8.3 潜在漏洞测试 | 第48-49页 |
3.8.4 离线分析与可疑点检测 | 第49-50页 |
3.8.5 应用软件和系统命令适用性测试 | 第50-51页 |
3.8.6 执行性能分析 | 第51-52页 |
3.8.7 与现有工具对比 | 第52页 |
3.9 本章小结 | 第52-53页 |
第四章 面向污点分析的路径自动生成技术 | 第53-66页 |
4.1 系统框架设计 | 第53-54页 |
4.2 二进制程序覆盖率计算 | 第54-57页 |
4.2.1 二进制程序静态分析与动态执行 | 第54-55页 |
4.2.2 基本块划分 | 第55-56页 |
4.2.3 基本块过滤 | 第56-57页 |
4.2.4 覆盖率计算 | 第57页 |
4.3 路径自动生成技术 | 第57-61页 |
4.3.1 符号执行与约束求解 | 第57-59页 |
4.3.2 路径自动生成 | 第59-61页 |
4.4 动态污点分析系统并行实现 | 第61-62页 |
4.5 实验对比与分析 | 第62-65页 |
4.5.1 实验环境 | 第62页 |
4.5.2 基于路径自动生成的覆盖率分析 | 第62-64页 |
4.5.3 全系统时间开销分析 | 第64-65页 |
4.6 本章小结 | 第65-66页 |
第五章 总结与展望 | 第66-68页 |
5.1 论文工作总结 | 第66-67页 |
5.2 未来工作展望 | 第67-68页 |
参考文献 | 第68-73页 |
致谢 | 第73-74页 |
在学期间的研究成果及发表的学术论文 | 第74页 |