基于动态污点分析的二进制程序缓冲区溢出的研究
| 摘要 | 第4-5页 |
| Abstract | 第5-6页 |
| 第1章 绪论 | 第9-17页 |
| 1.1 课题背景 | 第9-11页 |
| 1.2 课题的研究现状 | 第11-14页 |
| 1.2.1 漏洞检测方法 | 第11-13页 |
| 1.2.2 测试用例生成 | 第13-14页 |
| 1.3 本文主要工作 | 第14-15页 |
| 1.4 本文组织结构 | 第15-17页 |
| 第2章 相关技术的研究 | 第17-25页 |
| 2.1 常见异常行为原理 | 第17-18页 |
| 2.1.1 缓冲区溢出原理 | 第17-18页 |
| 2.2 常见动态二进制检测框架 | 第18-22页 |
| 2.2.1 QEMU | 第18-20页 |
| 2.2.2 PIN | 第20-22页 |
| 2.3 测试用例生成技术 | 第22-24页 |
| 2.3.1 遗传算法 | 第22-23页 |
| 2.3.2 多路径遗传算法 | 第23-24页 |
| 2.4 本章小结 | 第24-25页 |
| 第3章 二进制动态污点分析技术的研究 | 第25-37页 |
| 3.1 基于二进制的动态污点分析技术 | 第25-26页 |
| 3.2 动态污点分析技术模块的设计思路 | 第26-31页 |
| 3.2.1 运行前初始化阶段 | 第26-27页 |
| 3.2.2 运行中动态检测阶段 | 第27-28页 |
| 3.2.3 离线分析检测阶段 | 第28-31页 |
| 3.3 动态二进制污点分析模块的架构 | 第31-36页 |
| 3.3.1 动态二进制污点分析模型的实现流程 | 第31-32页 |
| 3.3.2 模型中主要算法的实现流程 | 第32-33页 |
| 3.3.3 污点地址维护的策略实现的改进 | 第33-36页 |
| 3.4 本章小结 | 第36-37页 |
| 第4章 测试用例生成技术的研究 | 第37-45页 |
| 4.1 基于路径覆盖的测试用例生成技术 | 第37-38页 |
| 4.2 改进的多目标遗传算法 | 第38-42页 |
| 4.2.1 适应度函数的设计 | 第38-39页 |
| 4.2.2 遗传算子的选取 | 第39-41页 |
| 4.2.3 改进的基于路径覆盖的遗传算法 | 第41-42页 |
| 4.3 测试用例生成模块的设计 | 第42-43页 |
| 4.3.1 测试用例生成模块的设计 | 第42-43页 |
| 4.3.2 与动态污点分析模块的相互作用 | 第43页 |
| 4.4 本章小结 | 第43-45页 |
| 第5章 原型系统的设计与实现 | 第45-57页 |
| 5.1 原型系统模型 | 第45-46页 |
| 5.2 模型的实现 | 第46-48页 |
| 5.2.1 污点分析指令插装模块的实现 | 第46-47页 |
| 5.2.2 测试用例生成模块的实现 | 第47-48页 |
| 5.3 实验环境 | 第48-49页 |
| 5.4 实验验证 | 第49-54页 |
| 5.4.1 改进的算法的覆盖率验证 | 第49-50页 |
| 5.4.2 漏洞检测的验证 | 第50-54页 |
| 5.5 本章小结 | 第54-57页 |
| 结论 | 第57-59页 |
| 参考文献 | 第59-63页 |
| 攻读硕士学位期间发表的学术论文 | 第63-65页 |
| 致谢 | 第65页 |