论文部分内容阅读
随着计算机技术的不断发展,云计算已经越来越深刻的影响到各行各业。云计算将各种IT资源进行池化,以服务的形式提供给用户。作为典型的实现资源池化的技术,虚拟化技术支持在IT硬件资源之上部署多个虚拟机,动态分配每台虚拟机的CPU、内存、网络等资源。通过灵活分配虚拟机的数量以及配置虚拟机的性能,云计算能够将物理资源灵活、高效的分配给用户。 在各种虚拟化解决方案中,KVM虚拟化解决方案凭借其架构清晰,充分利用硬件虚拟化技术而成为 Linux内核原生的虚拟化技术。同其他虚拟化技术一样,KVM虚拟化也面临着各种新的安全问题,如虚拟机逃逸,虚拟机拒绝服务攻击,基于虚拟化的Rootkit,虚拟机之间的安全通信等等。而多数问题都可以归结为虚拟机与虚拟机之间的隔离以及虚拟机与宿主机之间的隔离。虚拟机之间既需要进行有效的隔离,防止一个虚拟机的数据被其他虚拟机读取,也需要进行高效的数据交换,充分发挥虚拟化平台的优势。因此,为了达到虚拟机之间安全高效的交换数据的目的,需要云计算平台与底层的虚拟化解决方案提高有效的安全隔离。 虚拟机之间的有效隔离自虚拟化技术诞生之日起就得到了研究者的广泛关注。传统的虚拟化安全的研究主要着眼于一个完整的虚拟化解决方案,包括BitVisor、Nova等一些实验性的完整VMM,虽然安全性比较高,但是还难以在成熟的云计算环境中使用,并且实现复杂、兼容性差,不能够很好的适应云计算环境下资源隔离,共享内存隔离等特殊的安全需求。因此,虚拟化环境中,虚拟机之间的有效隔离以及高效安全的共享内存隔离是虚拟化解决方案的需要重点关注的问题。 本文在LSM的基础上,实现了一个 KVM环境下的强制访问控制系统KMAC。其中,KMAC系统包括虚拟机进程隔离以及共享内存隔离两部分。在虚拟机进程隔离方面,KMAC实现了一个虚拟机只允许访问自己所属的磁盘镜像,阻止虚拟机访问其他虚拟机磁盘镜像的访问控制系统。在共享内存隔离方面,KMAC针对一个具体的共享内存方案 ivshmem提供一个强制访问控制方案,通过对每一台虚拟机赋予组id、组内等级id,构成强制访问控制的基础,达到了共享内存的保护与隔离的目标。在此基础上,本文给出了KMAC在虚拟化平台KVM环境下的实现过程以及测试结果。 主要包括以下内容: 1.针对目前虚拟化平台存在的安全问题,在KVM虚拟化环境下,设计并实现了基于LSM的强制访问控制系统KMAC,通过这个方案实现虚拟机进程隔离和共享内存的隔离。 2.在KVM虚拟化平台下,给出了KMAC强制访问控制系统的设计实现过程以及测试结果,经实验结果可以得出结论:我们提出的KMAC强制访问控制系统是安全且高效的。