摘要 | 第8-9页 |
ABSTRACT | 第9-10页 |
第一章 绪论 | 第11-17页 |
1.1 研究背景 | 第11-12页 |
1.2 相关研究工作 | 第12-14页 |
1.2.1 二进制软件漏洞建模 | 第12页 |
1.2.2 二进制插桩技术 | 第12-13页 |
1.2.3 二进制软件漏洞自动挖掘技术 | 第13-14页 |
1.3 主要研究内容 | 第14-16页 |
1.4 论文组织形式 | 第16-17页 |
第二章 二进制软件漏洞挖掘方法 | 第17-24页 |
2.1 模糊测试方法 | 第17-19页 |
2.1.1 基本流程 | 第17-18页 |
2.1.2 测试用例生成方法 | 第18-19页 |
2.1.3 模糊测试方法评估 | 第19页 |
2.2 污点分析方法 | 第19-21页 |
2.2.1 污点引入策略 | 第19-20页 |
2.2.2 污点传播规则和污点检查 | 第20-21页 |
2.2.3 污点分析方法评估 | 第21页 |
2.3 符号执行方法 | 第21-23页 |
2.3.1 静态符号执行 | 第21-22页 |
2.3.2 动态符号执行 | 第22-23页 |
2.3.3 符号执行方法评估 | 第23页 |
2.4 本章小结 | 第23-24页 |
第三章 二进制软件缓冲区溢出高危函数粗定位方法 | 第24-34页 |
3.1 缓冲区溢出漏洞的形式化模型 | 第24-25页 |
3.2 基于静态污点分析的缓冲区溢出高危函数粗定位算法 | 第25-30页 |
3.2.1 算法流程 | 第25-27页 |
3.2.2 中间语言表示 | 第27页 |
3.2.3 待分析基本块集生成 | 第27页 |
3.2.4 静态污点分析 | 第27-30页 |
3.3 实验与结果分析 | 第30-32页 |
3.3.1 实验设计 | 第30-31页 |
3.3.2 结果分析 | 第31-32页 |
3.4 本章小结 | 第32-34页 |
第四章 基于离线符号执行的漏洞挖掘方法 | 第34-51页 |
4.1 静态分析敏感链提取方法 | 第34-36页 |
4.2 基于动态污点分析的关键字段标记方法 | 第36-39页 |
4.2.1 关键字段标记 | 第36-37页 |
4.2.2 关键字段标记方法 | 第37-39页 |
4.3 基于离线符号执行的指定路径执行方法 | 第39-43页 |
4.3.1 离线符号执行 | 第39-40页 |
4.3.2 指定路径执行方法 | 第40-41页 |
4.3.3 离线符号执行策略 | 第41-43页 |
4.4 Windows下缓冲区溢出漏洞的挖掘方法 | 第43-49页 |
4.4.1 栈溢出漏洞的挖掘方法 | 第43-47页 |
4.4.2 堆溢出漏洞的挖掘方法 | 第47-49页 |
4.5 本章小结 | 第49-51页 |
第五章 SymbolicWin漏洞挖掘系统 | 第51-69页 |
5.1 FuzzWin离线符号执行工具 | 第51-53页 |
5.1.1 FuzzWin离线符号执行工具架构 | 第51-52页 |
5.1.2 FuzzWin缺陷 | 第52-53页 |
5.2 SymbolicWin漏洞挖掘系统 | 第53-61页 |
5.2.1 SymbolicWin系统整体构架 | 第53-54页 |
5.2.2 SymbolicWin污点分析和符号执行引擎实现 | 第54-60页 |
5.2.3 SymbolicWin分析检测模块实现 | 第60-61页 |
5.3 系统测试及分析 | 第61-67页 |
5.3.1 系统相关模块有效性测试 | 第62-63页 |
5.3.2 系统挖掘效率测试性能比较 | 第63-66页 |
5.3.3 真实软件漏洞挖掘测试 | 第66-67页 |
5.4 本章小结 | 第67-69页 |
结束语 | 第69-71页 |
致谢 | 第71-73页 |
参考文献 | 第73-76页 |
作者在学期间取得的学术成果 | 第76页 |