基于硬件虚拟化技术的内核模块高效隔离研究
摘要 | 第6-8页 |
Abstract | 第8-9页 |
第一章 绪论 | 第15-19页 |
1.1 引言 | 第15-16页 |
1.2 论文出发点 | 第16-17页 |
1.3 本文的研究内容 | 第17-18页 |
1.4 本文的组织结构 | 第18-19页 |
第二章 相关工作与动机 | 第19-32页 |
2.1 内核模块的隔离与监控 | 第19-21页 |
2.1.1 基于非虚拟化技术的内核模块隔离 | 第19-20页 |
2.1.2 基于虚拟化技术的内核模块隔离 | 第20-21页 |
2.2 基于虚拟化技术的内核模块隔离方案 | 第21-27页 |
2.3 外部监控与内部监控 | 第27-30页 |
2.3.1 外部监控解决鸿沟问题 | 第27-29页 |
2.3.2 内部监控消除语义鸿沟 | 第29-30页 |
2.4 基于虚拟化技术隔离的性能开销原因 | 第30-31页 |
2.4.1 模块之间切换时陷入VMM次数过多 | 第30页 |
2.4.2 监控程序位于VMM层 | 第30页 |
2.4.3 VMM功能过于复杂 | 第30-31页 |
2.5 本章小结 | 第31-32页 |
第三章 Intel硬件虚拟化技术 | 第32-40页 |
3.1 VMM简介 | 第32-33页 |
3.2 Intel硬件虚拟化技术简介 | 第33页 |
3.3 CPU虚拟化 | 第33-36页 |
3.3.1 VMX | 第34-35页 |
3.3.2 VMCS | 第35-36页 |
3.4 内存虚拟化 | 第36-38页 |
3.5 其它虚拟化 | 第38页 |
3.6 VMFUNC指令 | 第38页 |
3.7 本章小结 | 第38-40页 |
第四章 内核模块隔离模型的分析与改进 | 第40-45页 |
4.1 性能开销问题 | 第40页 |
4.2 基于虚拟化技术的隔离 | 第40-44页 |
4.2.1 设计原理 | 第40-41页 |
4.2.2 整体架构分析 | 第41-42页 |
4.2.3 隔离分析 | 第42-43页 |
4.2.4 权限分析 | 第43-44页 |
4.3 本章小结 | 第44-45页 |
第五章 系统设计与实现 | 第45-58页 |
5.1 设计目标 | 第45-46页 |
5.1.1 性能目标 | 第45-46页 |
5.1.2 安全性目标 | 第46页 |
5.2 总体介绍 | 第46页 |
5.3 VMM层对隔离的支持 | 第46-47页 |
5.4 内核状态的划分及权限设置 | 第47-49页 |
5.4.1 内核拓展模块运行时状态 | 第47-48页 |
5.4.2 中间模块的运行时状态 | 第48-49页 |
5.4.3 内核模块运行时的状态 | 第49页 |
5.5 中间模块 | 第49-52页 |
5.5.1 中间模块的组成 | 第49-50页 |
5.5.2 中间模块的执行流程 | 第50-51页 |
5.5.3 模块切换时栈的处理 | 第51-52页 |
5.6 内核拓展模块的预处理 | 第52页 |
5.7 隔离 | 第52-54页 |
5.7.1 权限隔离 | 第52-53页 |
5.7.2 控制流控制 | 第53-54页 |
5.8 中断的处理 | 第54页 |
5.9 目标的实现分析 | 第54-55页 |
5.9.1 安全性实现 | 第54-55页 |
5.9.2 性能实现 | 第55页 |
5.10 系统实现 | 第55-57页 |
5.10.1 VMM层VMCS的配置 | 第55页 |
5.10.2 内核拓展模块的改写 | 第55-56页 |
5.10.3 中间模块的实现 | 第56页 |
5.10.4 内核拓展模块的加载及权限设置 | 第56-57页 |
5.11 本章小结 | 第57-58页 |
第六章 系统评价 | 第58-63页 |
6.1 性能评价 | 第58-60页 |
6.1.1 实验环境 | 第58页 |
6.1.2 性能分析 | 第58-60页 |
6.2 安全性评价 | 第60-62页 |
6.3 本章小结 | 第62-63页 |
第七章 总结与展望 | 第63-64页 |
7.1 本文工作总结 | 第63页 |
7.2 进一步工作 | 第63-64页 |
参考文献 | 第64-68页 |
致谢 | 第68-69页 |
附录 | 第69-70页 |