摘要 | 第4-6页 |
ABSTRACT | 第6-7页 |
第1章 绪论 | 第12-16页 |
1.1 引言 | 第12-14页 |
1.2 论文主要工作 | 第14-15页 |
1.3 论文框架结构 | 第15-16页 |
第2章 相关研究工作 | 第16-29页 |
2.1 ROP攻击 | 第16-20页 |
2.1.1 Return-oriented programming | 第16-18页 |
2.1.2 基于ROP的攻击技术 | 第18-20页 |
2.2 ROP防御 | 第20-24页 |
2.2.1 地址空间随机化 | 第20页 |
2.2.2 细粒度随机化 | 第20-21页 |
2.2.3 控制流完整性 | 第21-23页 |
2.2.4 动态监测 | 第23-24页 |
2.3 ROP自动化构造 | 第24-27页 |
2.3.1 基于语法分析的ROP自动化构造 | 第24-25页 |
2.3.2 基于语义分析的ROP自动化构造 | 第25-27页 |
2.4 本章小结 | 第27-29页 |
第3章 引入副作用的GADGET收集技术 | 第29-38页 |
3.1 GADGET指令分类 | 第29-30页 |
3.2 GADGET类型 | 第30-31页 |
3.3 语义分析技术 | 第31-32页 |
3.4 语义收集GADGET | 第32-36页 |
3.4.1 优化时间效率 | 第33-35页 |
3.4.2 优化空间效率 | 第35-36页 |
3.5 GADGET收集模型 | 第36-37页 |
3.6 本章小结 | 第37-38页 |
第4章 引入副作用的PAYLOAD构造技术 | 第38-45页 |
4.1 语句排列 | 第38-40页 |
4.2 GADGET分配 | 第40-43页 |
4.2.1 gadget串联 | 第40-42页 |
4.2.2 gadget集排序 | 第42-43页 |
4.3 PAYLOAD选取 | 第43页 |
4.4 本章小结 | 第43-45页 |
第5章 副作用定义及消除 | 第45-57页 |
5.1 副作用分类 | 第45-46页 |
5.2 值破坏副作用 | 第46-48页 |
5.3 其他副作用 | 第48-50页 |
5.3.1 内存访问副作用 | 第48页 |
5.3.2 栈异常副作用 | 第48-50页 |
5.4 值破坏副作用消除策略 | 第50-56页 |
5.4.1 重排列消除策略 | 第50-53页 |
5.4.2 值恢复消除策略 | 第53-56页 |
5.5 本章小结 | 第56-57页 |
第6章 ROPBUILDER设计与实现 | 第57-65页 |
6.1 ROPBUILDER架构 | 第57-58页 |
6.2 ROPBUILDER使用技术介绍 | 第58-61页 |
6.2.1 Libdasm介绍 | 第58-59页 |
6.2.2 BAP介绍 | 第59页 |
6.2.3 Xen介绍 | 第59-60页 |
6.2.4 Z3介绍 | 第60-61页 |
6.3 GADGET收集 | 第61-62页 |
6.4 PAYLOAD构造 | 第62页 |
6.5 副作用消除 | 第62-64页 |
6.6 本章小结 | 第64-65页 |
第7章 实验与分析 | 第65-71页 |
7.1 行性分析 | 第65-66页 |
7.2 GADGET收集能力评估 | 第66-68页 |
7.3 PAYLOAD构造能力评估 | 第68-69页 |
7.4 本章小结 | 第69-71页 |
第8章 总结展望 | 第71-73页 |
8.1 论文总结 | 第71页 |
8.2 未来工作 | 第71-73页 |
参考文献 | 第73-76页 |
攻读硕士学位期间的研究成果 | 第76页 |
攻读硕士学位期间参加的项目 | 第76-77页 |
致谢 | 第77-78页 |