一种针对ROP攻击的函数粒度随机化防御方法的设计与实现
| 摘要 | 第1-7页 |
| Abstract | 第7-9页 |
| 目录 | 第9-11页 |
| 图目录 | 第11-12页 |
| 表目录 | 第12-13页 |
| 第一章 引言 | 第13-16页 |
| ·研究背景 | 第13页 |
| ·研究现状 | 第13-14页 |
| ·本文的主要工作和贡献 | 第14-15页 |
| ·本文的组织结构 | 第15-16页 |
| 第二章 ROP攻击与防御 | 第16-31页 |
| ·ROP攻击的由来 | 第16-21页 |
| ·基于栈溢出的代码注入攻击 | 第16-19页 |
| ·Return-to-lib(c)攻击 | 第19-20页 |
| ·ROP攻击 | 第20-21页 |
| ·ROP攻击的研究现状 | 第21-23页 |
| ·ROP攻击自动化 | 第21-22页 |
| ·不需要ret结尾指令序列的ROP攻击 | 第22页 |
| ·针对不同处理器架构的ROP攻击 | 第22-23页 |
| ·ROP防御方法及现状 | 第23-31页 |
| ·基于缓冲区溢出漏洞移除的防御方法 | 第23-24页 |
| ·基于返回地址/函数指针保护的防御方法 | 第24-25页 |
| ·基于随机化的防御方法 | 第25-26页 |
| ·基于ROP攻击特征的检测方法 | 第26-27页 |
| ·基于调用规约的防御方法 | 第27-29页 |
| ·基于指令序列移除的防御方法 | 第29-31页 |
| 第三章 函数粒度随机化的设计方案 | 第31-42页 |
| ·防御思想 | 第31-32页 |
| ·设计方案 | 第32-42页 |
| ·函数粒度随机化的两个阶段 | 第32-33页 |
| ·函数粒度随机化的时机 | 第33-34页 |
| ·函数粒度随机化的核心问题 | 第34-35页 |
| ·确保数据的初值与随机化前一致 | 第35页 |
| ·确保数据访问与随机化前一致 | 第35-37页 |
| ·确保控制流转换与随机化前一致 | 第37-42页 |
| 第四章 函数粒度随机化的实现方法 | 第42-50页 |
| ·预处理模块 | 第42-49页 |
| ·识别代码和数据 | 第43-45页 |
| ·识别指令对指令的依赖 | 第45-46页 |
| ·识别数据访问对指令的依赖 | 第46-48页 |
| ·识别数据对代码的依赖 | 第48-49页 |
| ·随机重排模块 | 第49页 |
| ·修正模块 | 第49-50页 |
| 第五章 实验评估 | 第50-52页 |
| 第六章 总结和展望 | 第52-54页 |
| ·论文小结 | 第52页 |
| ·工作展望 | 第52-54页 |
| 参考文献 | 第54-60页 |
| 致谢 | 第60-61页 |
| 发表论文 | 第61-62页 |
| 参与项目 | 第62-64页 |