论文部分内容阅读
现有虚拟机技术普遍采用映像文件来存储虚拟存储器的数据,虽然普遍认为虚拟机能够提供良好的宿主和客户操作系统的隔离性,并且这种隔离性被认为是虚拟机系统安全性的主要保障,但是存储在宿主操作系统中的映像文件实际上是不安全的。本文论述了映像文件可能受到的安全威胁,以及这种安全威胁对整个虚拟机系统安全性的影响,由此提出了通过解决映像文件安全弱点从而提升整个虚拟机系统安全性的研究课题。在研究非常具有代表性的虚拟机技术Virtualbox的源代码以及参考其他虚拟机技术的基础上,本文得出了映像文件的存储结构以及虚拟机系统操作映像文件的流程。在分析了传统文件加密、基于虚拟机的透明计算系统、文件透明加密这三种现有的可用于提高虚拟机映像文件安全性的方案的缺陷后,创新性的提出了一套安全映像文件的方案,主体思路为在虚拟机系统操作映像文件的流程中嵌入透明加密的算法,以此解决映像文件的安全弱点,从而提升虚拟机系统的安全性。这套方案达到了以上三种方案的安全性,却又完全抛弃了它们的缺点。本方案在Virtualbox中进行了实现并进行了I/O性能测试。为了降低透明加密算法对I/O性能的影响,提升虚拟机系统的性能,本方案采用多线程技术对其进行了改进。经过对比测试的结果,改进后的虚拟机系统I/O性能得到了一定的提升,从而使本方案能够满足高安全性需求的应用。考虑到虚拟机的各个应用领域中,安全性和I/O性能的需求存在着差异;在大量的应用领域中,极高的安全性并非必须,较低的I/O性能也有可能不被接受,为了使本方案能够适用于更广泛的应用领域,本文提出了两种适当降低系统安全性换取I/O性能大幅度提升的改良思路。至此构成了一套完整的、有较高实用价值的虚拟机安全映像文件方案,可以适用于更多的应用领域。