基于长指令序列的ROP攻击方案的研究
摘要 | 第5-6页 |
Abstract | 第6页 |
第一章 引言 | 第11-17页 |
1.1 研究背景 | 第11-13页 |
1.2 ROP攻击思想演化 | 第13-14页 |
1.3 ROP防御技术发展现状 | 第14-15页 |
1.4 本文主要研究的工作 | 第15-16页 |
1.5 本文的组织结构 | 第16-17页 |
第二章 技术背景 | 第17-33页 |
2.1 恶意代码攻击常用手段 | 第17-21页 |
2.1.1 栈缓冲区溢出攻击 | 第17-19页 |
2.1.2 格式化字符串攻击 | 第19-21页 |
2.2 代码注入式攻击和防御 | 第21-23页 |
2.3 代码复用式攻击 | 第23-29页 |
2.3.1 return-into-libc技术 | 第23-25页 |
2.3.2 ROP攻击技术 | 第25-27页 |
2.3.3 JOP攻击技术 | 第27-29页 |
2.4 ROP的有关防御方案 | 第29-32页 |
2.4.1 基于控制流的防御 | 第29页 |
2.4.2 对栈的保护 | 第29-30页 |
2.4.3 基于地址随机化的防御 | 第30页 |
2.4.4 基于编译阶段的防护 | 第30-31页 |
2.4.5 基于ROP中短序列的防御 | 第31-32页 |
2.5 本章小结 | 第32-33页 |
第三章 基于长序列图灵完备集的构造方案 | 第33-37页 |
3.1 基于长序列的图灵完备指令集构造流程 | 第33-34页 |
3.2 构造Trie字典树 | 第34-35页 |
3.3 图灵完备与长序列 | 第35-36页 |
3.4 LGadget与图灵函数 | 第36页 |
3.5 本章小结 | 第36-37页 |
第四章 长序列中指令间寄存器依赖分析 | 第37-42页 |
4.1 寄存器依赖研究现状 | 第37-38页 |
4.2 长序列中指令间寄存器依赖分析 | 第38-40页 |
4.2.1 筛选长序列与寄存器依赖 | 第38页 |
4.2.2 寄存器依赖算法设计 | 第38-40页 |
4.3 本章小结 | 第40-42页 |
第五章 ROP攻击系统验证 | 第42-50页 |
5.1 构造基于长序列的图灵完备集 | 第42-45页 |
5.1.1 加载/存储 | 第42-43页 |
5.1.2 算数运算和逻辑运算 | 第43页 |
5.1.3 程序控制流 | 第43-45页 |
5.1.4 系统调用 | 第45页 |
5.2 拼接长序列以构造ROP攻击代码 | 第45-46页 |
5.3 ROP攻击实验评估 | 第46-48页 |
5.3.1 ROP攻击构造流程 | 第46页 |
5.3.2 ROP攻击实例 | 第46-48页 |
5.4 本章小结 | 第48-50页 |
第六章 总结与展望 | 第50-52页 |
6.1 总结 | 第50页 |
6.2 进一步工作 | 第50-52页 |
参考文献 | 第52-60页 |
致谢 | 第60-61页 |
附录 | 第61-62页 |
参与项目 | 第62-64页 |