基于QEMU的内核代码重用型攻击检测系统
| 摘要 | 第5-6页 |
| Abstract | 第6-7页 |
| 缩略语对照表 | 第9-12页 |
| 第一章 绪论 | 第12-18页 |
| 1.1 项目意义 | 第12页 |
| 1.2 研究背景 | 第12-15页 |
| 1.2.1 ROP的攻击 | 第12-13页 |
| 1.2.2 QEMU虚拟机管理器的使用 | 第13-14页 |
| 1.2.3 Linux系统 | 第14-15页 |
| 1.3 主要研究工作 | 第15-16页 |
| 1.4 论文结构 | 第16-18页 |
| 第二章 相关技术概述 | 第18-34页 |
| 2.1 ROP攻击 | 第18-25页 |
| 2.1.1 缓冲区溢出攻击 | 第18-19页 |
| 2.1.2 return-into-libc攻击 | 第19-20页 |
| 2.1.3 ROP攻击 | 第20-23页 |
| 2.1.4 ROP攻击的变种 | 第23-25页 |
| 2.2 QEMU虚拟机管理器技术 | 第25-29页 |
| 2.2.1 QEMU的动态二进制翻译 | 第26-27页 |
| 2.2.2 分块技术、TCG技术及其翻译流 | 第27-29页 |
| 2.3 Linux系统 | 第29-33页 |
| 2.3.1 Linux内核模块介绍 | 第30页 |
| 2.3.2 内核态与用户态 | 第30-31页 |
| 2.3.3 Linux虚拟地址空间管理 | 第31-32页 |
| 2.3.4 中断与异常 | 第32-33页 |
| 2.4 本章小结 | 第33-34页 |
| 第三章 需求分析与系统概述 | 第34-42页 |
| 3.1 需求分析 | 第34-35页 |
| 3.1.1 任务概述 | 第34页 |
| 3.1.2 功能需求 | 第34-35页 |
| 3.2 项目概要 | 第35-40页 |
| 3.2.1 ret指令 | 第35-37页 |
| 3.2.2 call指令 | 第37-38页 |
| 3.2.3 中断指令 | 第38-40页 |
| 3.2.4 jmp指令 | 第40页 |
| 3.3 小结 | 第40-42页 |
| 第四章 系统设计与实现 | 第42-52页 |
| 4.1 QEMU的翻译流程 | 第42-44页 |
| 4.2 针对代码重用型攻击的检测 | 第44-51页 |
| 4.2.1 ret指令的检测 | 第44-48页 |
| 4.2.2 call指令的检测 | 第48-49页 |
| 4.2.3 中断指令的指令 | 第49-51页 |
| 4.3 本章小结 | 第51-52页 |
| 第五章 性能分析 | 第52-56页 |
| 5.1 代码测试 | 第52-53页 |
| 5.1.1 ret指令 | 第52-53页 |
| 5.1.2 call指令 | 第53页 |
| 5.2 性能分析 | 第53-54页 |
| 5.3 性能测试 | 第54-56页 |
| 第六章 总结 | 第56-58页 |
| 6.1 论文总结 | 第56页 |
| 6.2 下一步工作展望 | 第56-58页 |
| 参考文献 | 第58-62页 |
| 致谢 | 第62-64页 |
| 作者简介 | 第64-65页 |