基于动态污点分析的二进制程序缓冲区溢出的研究
摘要 | 第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页 |