基于动态污点分析和改进遗传算法的漏洞挖掘技术研究
摘要 | 第3-5页 |
Abstract | 第5-6页 |
第一章 绪论 | 第9-18页 |
1.1 研究背景和意义 | 第9-11页 |
1.2 国内外研究现状 | 第11-15页 |
1.2.1 漏洞检测方法 | 第11-13页 |
1.2.2 测试用例生成 | 第13-15页 |
1.3 论文主要工作 | 第15-16页 |
1.4 论文组织结构 | 第16-18页 |
第二章 相关理论 | 第18-26页 |
2.1 漏洞相关知识 | 第18-19页 |
2.2 动态分析技术和平台 | 第19-23页 |
2.2.1 程序插桩 | 第19-20页 |
2.2.2 Valgrind | 第20-21页 |
2.2.3 Pin | 第21-23页 |
2.3 遗传算法 | 第23-25页 |
2.3.1 单路径遗传算法 | 第23-24页 |
2.3.2 多路径遗传算法 | 第24-25页 |
2.4 本章小结 | 第25-26页 |
第三章 动态二进制污点分析模块 | 第26-34页 |
3.1 污点状态的设计 | 第26-28页 |
3.1.1 污点数据的概念 | 第26-27页 |
3.1.2 污点标记状态 | 第27-28页 |
3.2 污点分析设计思路 | 第28-33页 |
3.2.1 污点初始化 | 第28-29页 |
3.2.2 指令的污点传播规则 | 第29-30页 |
3.2.3 函数的污点传播规则 | 第30-31页 |
3.2.4 漏洞检测 | 第31-33页 |
3.3 污点分析架构设计 | 第33页 |
3.4 本章小结 | 第33-34页 |
第四章 测试用例生成模块 | 第34-44页 |
4.1 针对静态分析的路径和分支表示方法 | 第34-35页 |
4.2 改进的多路径遗传算法的设计 | 第35-42页 |
4.2.1 路径的编码选择 | 第35-38页 |
4.2.2 适应度函数的设计 | 第38-39页 |
4.2.3 遗传算子的改进 | 第39-41页 |
4.2.4 算法终止条件和步骤 | 第41-42页 |
4.3 测试用例生成模块设计 | 第42-43页 |
4.4 本章小结 | 第43-44页 |
第五章 模块交互与实验 | 第44-56页 |
5.1 两个模块之间的交互 | 第44-45页 |
5.2 实验环境 | 第45-46页 |
5.3 系统实验及结果分析 | 第46-55页 |
5.3.1 多路径遗传算法测试 | 第46-49页 |
5.3.2 漏洞检测 | 第49-53页 |
5.3.3 原型系统性能分析 | 第53-55页 |
5.4 本章小结 | 第55-56页 |
第六章 总结和展望 | 第56-59页 |
6.1 本文总结 | 第56-57页 |
6.2 工作展望 | 第57-59页 |
参考文献 | 第59-62页 |
附录 | 第62-63页 |
APPENDIX | 第63-64页 |
致谢 | 第64-65页 |
在校期间发表的论文及参与项目 | 第65页 |