针对ROP攻击的程序安全性检测与防御技术的研究
| 摘要 | 第5-6页 |
| Abstract | 第6页 |
| 目录 | 第7-10页 |
| 图目录 | 第10-11页 |
| 表目录 | 第11-12页 |
| 第一章 引言 | 第12-18页 |
| 1.1 研究背景 | 第12-13页 |
| 1.2 ROP思想演化 | 第13-14页 |
| 1.3 ROP研究现状 | 第14-16页 |
| 1.4 本文主要研究的工作 | 第16页 |
| 1.5 本文的组织结构 | 第16-18页 |
| 第二章 技术综述 | 第18-33页 |
| 2.1 ROP序列布局和流程 | 第18-19页 |
| 2.2 ROP攻击实施方案 | 第19-21页 |
| 2.2.1 短序列提取和发现 | 第19-20页 |
| 2.2.2 短序列构造自动化 | 第20-21页 |
| 2.3 ROP攻击序列特性 | 第21-24页 |
| 2.3.1 攻击序列长度 | 第21-22页 |
| 2.3.2 攻击序列对库代码使用特性 | 第22-23页 |
| 2.3.3 图灵完备性 | 第23-24页 |
| 2.4 自动化构造与高级编程语言 | 第24-26页 |
| 2.4.1 从高级语言到ROP的映射 | 第24-25页 |
| 2.4.2 有的高级语言映射机制 | 第25-26页 |
| 2.4.3 中间元信息语言框架与平台特征 | 第26页 |
| 2.5 ROP攻击的演化现状 | 第26-27页 |
| 2.6 ROP防御研究现状 | 第27-30页 |
| 2.6.1 基于控制流的防护 | 第27-28页 |
| 2.6.2 地址随机化 | 第28页 |
| 2.6.3 基于编译阶段的防护 | 第28-29页 |
| 2.6.4 基于动态插桩的防护 | 第29-30页 |
| 2.7 动态二进制插桩技术与ROP检测 | 第30-31页 |
| 2.8 随机化策略与ROP防御 | 第31页 |
| 2.9 本章小结 | 第31-33页 |
| 第三章 基于DBI的防御策略 | 第33-48页 |
| 3.1 基于动态策略的ROP防御策略 | 第33页 |
| 3.2 特征提取与比对 | 第33-34页 |
| 3.3 ROPDetect体系结构 | 第34-35页 |
| 3.4 基于动态二进制插桩的防御策略的实现 | 第35-37页 |
| 3.4.1 ROPDetect架构 | 第35-36页 |
| 3.4.2 函数入口信息提取 | 第36页 |
| 3.4.3 检测分析算法 | 第36-37页 |
| 3.5 实验数据分析 | 第37-39页 |
| 3.5.1 检测的正确率 | 第37-38页 |
| 3.5.2 检测的效率 | 第38-39页 |
| 3.5.3 与已有ROP动态防御工具的比较 | 第39页 |
| 3.6 ARM平台上的ROP攻击 | 第39-41页 |
| 3.7 ARM平台的检测方案与算法 | 第41-43页 |
| 3.7.1 ARM平台上ROP攻击序列特征 | 第41页 |
| 3.7.2 ARM平台上ROP攻击检测算法 | 第41-43页 |
| 3.7.3 ARM平台上ROP攻击检测架构 | 第43页 |
| 3.8 ARM平台检测策略的实现 | 第43-46页 |
| 3.8.1 实验数据分析与讨论 | 第44-46页 |
| 3.9 本章小结 | 第46-48页 |
| 第四章 短序列随机化防御策略 | 第48-59页 |
| 4.1 短序列随机化的防御方案 | 第48页 |
| 4.2 短序列随机化防御需要解决的问题 | 第48-49页 |
| 4.2.1 短序列的特征 | 第48-49页 |
| 4.2.2 体系结构的支持与ROP防御 | 第49页 |
| 4.3 随机化与指令序列 | 第49-55页 |
| 4.3.1 短序列的随机化 | 第49-52页 |
| 4.3.2 函数地址的随机化 | 第52-54页 |
| 4.3.3 整体随机化流程 | 第54-55页 |
| 4.4 防御算法的实现 | 第55-56页 |
| 4.5 实验结果分析 | 第56-57页 |
| 4.6 本章小结 | 第57-59页 |
| 第五章 总结与展望 | 第59-61页 |
| 5.1 总结 | 第59页 |
| 5.2 进一步工作展望 | 第59-61页 |
| 参考文献 | 第61-66页 |
| 致谢 | 第66-67页 |
| 附录 | 第67-68页 |
| 参与项目 | 第68-70页 |