论文部分内容阅读
虚拟化技术通过对计算机底层硬件资源的抽象模拟,将虚拟的硬件资源透明地提供给用户,大大提高了系统资源的利用率,增强了系统的灵活性与可管理性,因此被广泛地应用于当今包括云计算在内的各种计算环境。与Ⅰ型(裸机型)虚拟机监控器相比,Ⅱ型(宿主型)虚拟机监控器架构由于可以对其宿主操作系统进行有效的利用和扩展并且更易于安装和维护,在虚拟化系统中被越来越多地采用。虚拟机监控器的高特权地位以及自身存在的漏洞和缺陷,使得其很容易成为恶意攻击的对象。虚拟机监控器一旦被俘虏,将可能被利用来对宿主系统和客户虚拟机进行窥探和破坏,这将严重威胁虚拟化环境的安全。现有的针对虚拟化环境安全的研究,大都集中于对虚拟机监控器进行加固和改良。但是本文经过研究和分析后认为,将代码数量巨大且复杂的虚拟机监控器的漏洞和缺陷完全排除是很难做到的。因此不同于这些研究,本文从假设虚拟机监控器不可信的角度出发,针对Ⅱ型虚拟机监控器,设计了一个用于对虚拟机监控器进行有效隔离的系统Hyper-Guard,并基于开源的KVM虚拟机监控器实现了一个Hyper-Guard的原型。本文的主要工作、成果和创新点有:第一,对虚拟化环境存在安全问题的原因、安全威胁的类型和提高虚拟化环境安全性的途径分别进行了深入的研究和分析。第二,设计并实现了第一个专门用于对Ⅱ型虚拟机监控器进行有效隔离的虚拟化环境安全保障系统Hyper-Guard。该系统主要由虚拟机监控器隔离运行环境和Hyper-Guard控制器两部分构成,在设计和实现这两个部分的过程中,本文创新性地提出并实现了内存访问控制、指令访问控制和影子虚拟机监控器等安全机制和技术,并将指令对齐、系统调用干预机制等手段应用于本课题。通过这些机制和技术的协同配合,实现了对虚拟机监控器的有效强隔离。第三,通过安全性分析和性能实验评价,论证了Hyper-Guard能够以较小的性能开销(系统性能下降低于5%)达到预期的对Ⅱ型虚拟机监控器进行有效隔离的目的。