基于动态分析的漏洞自动化验证技术研究
摘要 | 第5-6页 |
abstract | 第6-7页 |
第一章 绪论 | 第11-15页 |
1.1 研究工作的背景与意义 | 第11页 |
1.2 国内外研究历史与现状 | 第11-13页 |
1.3 本文的主要研究内容及创新 | 第13-14页 |
1.4 本论文的结构安排 | 第14-15页 |
第二章 基于动态分析的漏洞自动化验证基本知识 | 第15-29页 |
2.1 软件动态分析 | 第15页 |
2.2 漏洞防御 | 第15-21页 |
2.2.1 软件漏洞 | 第15-16页 |
2.2.2 栈溢出漏洞 | 第16-17页 |
2.2.3 栈溢出防御 | 第17-19页 |
2.2.4 ROP技术 | 第19-21页 |
2.3 漏洞验证 | 第21-23页 |
2.3.1 样本分析 | 第21-22页 |
2.3.2 漏洞验证 | 第22-23页 |
2.4 调试器技术 | 第23-25页 |
2.4.1 断点 | 第23-24页 |
2.4.2 反汇编 | 第24-25页 |
2.5 插桩技术 | 第25-27页 |
2.5.1 主流插桩工具 | 第25-27页 |
2.6 本章小结 | 第27-29页 |
第三章 漏洞自动化验证关键技术 | 第29-49页 |
3.1 验证环境研究 | 第29-38页 |
3.1.1 最小验证环境原理 | 第29-31页 |
3.1.2 大量样本环境解决方案 | 第31-38页 |
3.1.2.1 集群环境分类 | 第32-33页 |
3.1.2.2 环境集合划分算法 | 第33-36页 |
3.1.2.3 具体环境选取 | 第36-37页 |
3.1.2.4 自动化验证模型 | 第37-38页 |
3.2 验证规则研究 | 第38-44页 |
3.2.1 栈溢出验证规则 | 第38-39页 |
3.2.2 ROP攻击验证规则 | 第39-44页 |
3.2.2.1 ROP实例 | 第40-41页 |
3.2.2.2 ROP CHAIN数量特征 | 第41-42页 |
3.2.2.3 Ret指令行为特征 | 第42-44页 |
3.2.2.4 ROP验证规则 | 第44页 |
3.3 动态分析技术在漏洞自动化验证中的应用 | 第44-48页 |
3.3.1 调试器验证技术 | 第45-47页 |
3.3.2 插桩验证技术 | 第47-48页 |
3.4 本章小结 | 第48-49页 |
第四章 漏洞自动化验证平台设计与实现 | 第49-68页 |
4.1 总体流程及设计 | 第49-52页 |
4.1.1 系统流程 | 第49-50页 |
4.1.2 总体设计 | 第50-52页 |
4.2 客户端模块设计 | 第52-55页 |
4.2.1 用户登录模块 | 第52页 |
4.2.2 任务配置模块 | 第52-53页 |
4.2.3 信息传输模块 | 第53-54页 |
4.2.4 结果显示模块 | 第54-55页 |
4.3 控制端模块设计 | 第55-58页 |
4.3.1 控制模块 | 第55页 |
4.3.2 数据库模块 | 第55-57页 |
4.3.3 样本分发模块 | 第57-58页 |
4.4 验证端模块设计 | 第58-66页 |
4.4.1 数据传输模块 | 第58页 |
4.4.2 虚拟执行模块 | 第58-60页 |
4.4.3 验证判定模块 | 第60-66页 |
4.4.3.1 VDBG设计 | 第60-63页 |
4.4.3.2 动态插桩验证判定设计 | 第63-66页 |
4.5 本章小结 | 第66-68页 |
第五章 实验结果及分析 | 第68-76页 |
5.1 测试网络环境 | 第68-69页 |
5.2 系统测试 | 第69-71页 |
5.3 验证规则测试 | 第71-75页 |
5.3.1 栈溢出验证测试 | 第72-73页 |
5.3.2 ROP攻击验证测试 | 第73-75页 |
5.4 本章小结 | 第75-76页 |
第六章 总结与展望 | 第76-78页 |
6.1 论文工作总结 | 第76页 |
6.2 后续工作展望 | 第76-78页 |
致谢 | 第78-79页 |
参考文献 | 第79-82页 |
攻硕期间取得的研究成果 | 第82-83页 |