绕开细粒度地址随机化的实时代码复用攻击框架
摘要 | 第5-7页 |
Abstract | 第7-8页 |
第一章 引言 | 第13-19页 |
1.1 研究背景 | 第13-14页 |
1.2 代码复用攻击的发展 | 第14-15页 |
1.3 地址空间随机化技术的发展 | 第15-16页 |
1.4 针对地址空间随机化技术的变种攻击 | 第16-17页 |
1.5 本文的主要工作和贡献 | 第17-18页 |
1.6 本文的组织结构 | 第18-19页 |
第二章 ROP攻击与防御分析 | 第19-30页 |
2.1 代码复用攻击 | 第19-22页 |
2.1.1 Return-to-lib(c)攻击 | 第19-20页 |
2.1.2 ROP攻击 | 第20-22页 |
2.2 ROP攻击研究现状 | 第22-24页 |
2.2.1 JOP | 第22页 |
2.2.2 针对不同处理器架构的ROP攻击 | 第22-23页 |
2.2.3 ROP攻击自动化研究 | 第23-24页 |
2.3 ROP防御研究现状 | 第24-27页 |
2.3.1 基于缓冲区溢出的栈保护防御策略 | 第24-25页 |
2.3.2 基于编译阶段的防御策略 | 第25页 |
2.3.3 基于控制流的防御策略 | 第25页 |
2.3.4 基于细粒度地址随机化的防御策略 | 第25-27页 |
2.4 实时代码复用的攻击 | 第27-28页 |
2.5 本章小结 | 第28-30页 |
第三章 实时代码复用框架的研究方法 | 第30-39页 |
3.1 假设 | 第30-31页 |
3.2 基于动态的代码复用的优势 | 第31页 |
3.3 实时代码复用框架的架构 | 第31-33页 |
3.4 攻击准备阶段 | 第33-38页 |
3.4.1 内存泄露 | 第34-36页 |
3.4.2 挖洞和活塞技术 | 第36页 |
3.4.3 去碎片化 | 第36-38页 |
3.5 本章小结 | 第38-39页 |
第四章 基于伪造虚函数调用的代码复用方法 | 第39-44页 |
4.1 虚函数调用原理 | 第39页 |
4.2 伪造虚函数表 | 第39-40页 |
4.3 虚函数调用过程 | 第40-43页 |
4.3.1 单次调用虚函数 | 第41-42页 |
4.3.2 多次调用虚函数 | 第42-43页 |
4.4 本章小结 | 第43-44页 |
第五章 实时代码复用框架的实现方法 | 第44-50页 |
5.1 自动化攻击库HeapEasy的实现 | 第45-46页 |
5.1.1 设置堆的起始地址 | 第45页 |
5.1.2 Freelist函数 | 第45-46页 |
5.1.3 Lookaside函数 | 第46页 |
5.1.4 FakeVtable函数 | 第46页 |
5.2 实验评估 | 第46-49页 |
5.3 本章小结 | 第49-50页 |
第六章 总结和展望 | 第50-52页 |
6.1 总结 | 第50页 |
6.2 展望 | 第50-52页 |
参考文献 | 第52-57页 |
致谢 | 第57-58页 |
发表论文 | 第58-59页 |
参与项目 | 第59-61页 |