论文部分内容阅读
系统虚拟化技术,作为当前主流多租户云平台的关键构建技术之一,使得云平台的裸机资源在利用率、廉价性、灵活性以及扩展性等方面获得了诸多优势。Hypervisor是系统虚拟化技术中承上启下的核心软件层,它的代码运行在主机的特权执行级别,并负责为上层客户虚拟机实现对底层裸机物理资源的映射、调度和隔离等重要管理事务。但是,Hypervisor在系统虚拟化技术中的核心管理地位并不能直接确保它的安全性。由于Hypervisor存在着较大的攻击面,潜在的攻击者可能利用其中的漏洞来破坏Hypervisor的代码完整性,这威胁着整个虚拟化系统的安全运行。针对上述问题,本文展开了研究与分析,设计和实现了一个面向Hypervisor代码完整性的分布式检测机制,称为Outlier。分布式检测的执行由一组具有相同Hypervisor的主机构成的检测集群来完成。Outlier首先在检测集群中构建完整性检测的信任基础,然后对每台主机上的Hypervisor代码进行完整性度量。通过比较每台主机上的度量结果,Outlier可以根据其中存在的差异来发现攻击者对Hypervisor代码完整性的破坏。此外,本文对Outlier所构建的安全性保证进行了详细分析,并进行了实验评估,阐明了Outlier在对Hypervisor代码完整性进行可靠检测的同时,仅对虚拟化系统带来较为轻量的开销。本文的主要工作,如下所列。(1)构建了一个分布式检测协议。该协议负责在检测集群中构建完整性检测的信任基础。一方面,其借鉴拜占庭容错的思想使得每台主机针对Hypervisor代码进行一致的完整性检测。另一方面,其构建了一种分布式验证的方法来衡量每台主机上完整性检测执行的安全性。(2)构建了一个完整性检测机制。该机制构建在与Hypervisor相同的地址空间,采用哈希的方式来进行完整性检测,负责生成Hypervisor代码的完整性度量结果。(3)进行了安全性分析。本文分别从正确性、有效性和局限性的角度具体分析了分布式检测机制的安全性保证。(4)实现了一个分布式检测机制原型。本文基于开源虚拟化技术Xen实现了Out-lier原型,并通过实验分析具体评估了Outlier分布式检测的CPU开销、网络开销、检测响应时间以及检测结果。