基于硬件虚拟化技术的内存保护研究
摘要 | 第5-7页 |
ABSTRACT | 第7-9页 |
第一章 绪论 | 第14-17页 |
1.1 引言 | 第14-15页 |
1.2 研究目标 | 第15页 |
1.3 研究内容 | 第15-16页 |
1.4 章节安排 | 第16-17页 |
第二章 研究背景 | 第17-27页 |
2.1 虚拟化技术及分类 | 第17-19页 |
2.1.1 软件虚拟化技术 | 第17-18页 |
2.1.2 半虚拟化技术 | 第18页 |
2.1.3 硬件虚拟化技术 | 第18-19页 |
2.2 硬件虚拟化技术种类 | 第19-21页 |
2.2.1 AMD 硬件虚拟化技术 | 第20页 |
2.2.2 Intel 硬件虚拟化技术 | 第20-21页 |
2.3 运行环境 | 第21-22页 |
2.4 VMCS 控制块和VMX 指令 | 第22-26页 |
2.4.1 VMCS 控制块 | 第22-25页 |
2.4.2 VMX 指令 | 第25-26页 |
2.4.3 截获行为 | 第26页 |
2.5 本章小结 | 第26-27页 |
第三章 课题研究 | 第27-34页 |
3.1 传统内存保护机制 | 第27-28页 |
3.1.1 传统硬件内存保护 | 第27页 |
3.1.2 传统软件内存保护 | 第27-28页 |
3.2 修改系统内核的几种方式 | 第28-31页 |
3.2.1 Hook SSDT | 第28-29页 |
3.2.2 Hook IDT | 第29页 |
3.2.3 Inline Hook | 第29-30页 |
3.2.4 Hook MSR | 第30页 |
3.2.5 Object Type Hook | 第30-31页 |
3.3 本课题内存保护技术 | 第31-33页 |
3.3.1 PE 文件的格式 | 第31页 |
3.3.2 PE 文件的加载 | 第31-33页 |
3.4 本章小结 | 第33-34页 |
第四章 本课题的设计与实现 | 第34-49页 |
4.1 本课题的设计目标 | 第34页 |
4.2 本课题的设计原理 | 第34-36页 |
4.3 本课题的实现 | 第36-47页 |
4.3.1 硬件虚拟化技术的实现框架 | 第36-39页 |
4.3.2 Hypervisor 实现框架 | 第39-40页 |
4.3.3 截获系统调用模块 | 第40-41页 |
4.3.4 模拟进程加载模块 | 第41页 |
4.3.5 进程代码注入模块 | 第41-42页 |
4.3.6 内存写保护模块 | 第42-44页 |
4.3.7 寄存器保护模块 | 第44-46页 |
4.3.8 自保护模块 | 第46-47页 |
4.4 安装调试过程 | 第47-48页 |
4.5 本章小结 | 第48-49页 |
第五章 测试与分析 | 第49-55页 |
5.1 测试环境 | 第49页 |
5.1.1 硬件环境 | 第49页 |
5.1.2 软件环境 | 第49页 |
5.2 结果测试 | 第49-52页 |
5.2.1 内存隐藏 | 第49-50页 |
5.2.2 内存欺骗 | 第50-51页 |
5.2.3 进程控制 | 第51-52页 |
5.2.4 代码注入 | 第52页 |
5.3 性能测试 | 第52-54页 |
5.4 本章小结 | 第54-55页 |
第六章 总结与展望 | 第55-56页 |
6.1 文章总结 | 第55页 |
6.2. 研究展望 | 第55页 |
6.3. 未来的工作 | 第55-56页 |
参考文献 | 第56-59页 |
致谢 | 第59-60页 |
参与课题及已发表论文 | 第60-61页 |
附录 | 第61-68页 |
上海交通大学硕士学位论文答辩决议书 | 第68页 |