摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第11-15页 |
1.1 研究工作的背景与意义 | 第11-12页 |
1.2 国内外研究现状 | 第12-13页 |
1.3 主要研究内容 | 第13-14页 |
1.4 论文组织结构 | 第14-15页 |
第二章 Windows平台下ROP缓解技术基础 | 第15-28页 |
2.1 Windows平台下漏洞 | 第15-18页 |
2.1.1 漏洞的基本概念 | 第15页 |
2.1.2 各类漏洞的攻击和缓解方法 | 第15-18页 |
2.2 ROP攻击的由来及发展 | 第18-21页 |
2.2.1 代码复用攻击 | 第18-19页 |
2.2.2 ROP攻击例子 | 第19-20页 |
2.2.3 JOP | 第20-21页 |
2.3 Windows平台下ROP攻击特点 | 第21-23页 |
2.3.1 ROP Gadget指令序列长度 | 第21页 |
2.3.2 ROP Gadget Chains长度 | 第21-22页 |
2.3.3 调用系统函数 | 第22-23页 |
2.4 ROP攻击缓解研究现状 | 第23-27页 |
2.4.1 基于地址布局随机化的缓解方案 | 第23-24页 |
2.4.2 基于编译器层面的缓解方法 | 第24页 |
2.4.3 基于控制流完备性的缓解方法 | 第24-25页 |
2.4.4 基于LBR的缓解方法 | 第25-26页 |
2.4.5 基于函数调用的缓解方法 | 第26页 |
2.4.6 基于动态插桩的缓解方法 | 第26-27页 |
2.5 ROP缓解措施绕过方法 | 第27页 |
2.6 本章小结 | 第27-28页 |
第三章 正常程序指令跳转研究 | 第28-48页 |
3.1 研究重点 | 第29页 |
3.2 热点动态链接库分析法 | 第29-30页 |
3.3 设计目标 | 第30页 |
3.4 总体设计 | 第30-32页 |
3.5 系统实现 | 第32-44页 |
3.5.1 调试分发模块设计与实现 | 第32-34页 |
3.5.2 异常处理模块设计与实现 | 第34-39页 |
3.5.3 热点动态链接库设置模块设计与实现 | 第39-40页 |
3.5.4 跳转指令分析模块设计与实现 | 第40-42页 |
3.5.5 反汇编模块设计与实现 | 第42-43页 |
3.5.6 输出模块设计与实现 | 第43-44页 |
3.6 实验与分析 | 第44-47页 |
3.6.1 实验设计 | 第44-45页 |
3.6.2 实验结果分析及结论 | 第45-47页 |
3.7 本章小结 | 第47-48页 |
第四章 ROP攻击缓解方案研究 | 第48-59页 |
4.1 ROP实例分析 | 第48-50页 |
4.1.1 ROP漏洞样本及相应的POC | 第48-49页 |
4.1.2 样本攻击流程 | 第49-50页 |
4.2 防御方案核心问题 | 第50-55页 |
4.2.1 何时触发检测时机 | 第50-52页 |
4.2.2 函数选择标准 | 第52-53页 |
4.2.3 ROP Gadget识别 | 第53-55页 |
4.3 ROP攻击缓解思路 | 第55-57页 |
4.4 本章小结 | 第57-59页 |
第五章 Windows平台下ROP攻击缓解系统原型的实现及测试 | 第59-77页 |
5.1 设计目标 | 第59页 |
5.2 总体设计 | 第59-60页 |
5.3 缓解系统实现 | 第60-67页 |
5.3.1 预处理模块设计与实现 | 第60-62页 |
5.3.2 系统配置和注入模块 | 第62-63页 |
5.3.3 函数劫持模块 | 第63-64页 |
5.3.4 攻击检测模块 | 第64-67页 |
5.3.5 白名单加载和存储模块 | 第67页 |
5.3.6 报警模块 | 第67页 |
5.4 ROP攻击缓解系统的评估和测试 | 第67-76页 |
5.4.1 测试环境 | 第68页 |
5.4.2 空间评估 | 第68-69页 |
5.4.3 性能测试 | 第69-70页 |
5.4.4 功能测试 | 第70-76页 |
5.5 本章小结 | 第76-77页 |
第六章 总结与展望 | 第77-79页 |
6.1 论文工作与总结 | 第77页 |
6.2 后续工作展望 | 第77-79页 |
致谢 | 第79-80页 |
参考文献 | 第80-84页 |
攻硕期间取得的研究成果 | 第84-85页 |
附录一 POC代码 | 第85-88页 |