一、云计算概述
随着当今对海量数据和复杂计算的日益需求,计算模式已经从集中式向分布式演变,典型的例子如网格计算、云计算等。当前,云计算逐渐成为学术界和产业界的热点和焦点,它与网格计算既在架构和技术上有很多共同点,也在安全性、编程模型、计算模型、应用等方面具有差异。
云计算是一种新型的计算模式,它以服务的形式为用户提供各种计算资源,如服务器、存储资源和应用程序等。用户可以使用各种不同的客户端(如个人电脑、手机等)通过网络来访问云计算平台提供的服务。通过这种方式,用户无需在本机上安装需要的应用,而是通过如浏览器之类的工具来访问和使用位于云端的应用。云计算能即时响应用户需要的计算资源,即根据用户的需求供给或者回收相应的资。用户可以在开始时只申请一部分资源,当需求增加时,向云服务供应商申请更多的计算资源。而当应用对资源的需求降低时,相应的资源将被回收。用户根据得到的计算资源和服务来付费,这种模式有效节约了系统计算资源和用户所需要付出的成本。
二、虚拟化技术概述
虚拟化技术是云计算的基础,随着云计算的流行,它也受到了越来越广泛的关注。近年来,虚拟化技术的快速发展主要得益于硬件日益增长的计算能力和不断降低的成本。虚拟化技术能够实现在一台物理机上运行多台虚拟机,在每台虚拟机中分别运行不同的操作系统和应用程序,并且虚拟机之间具有良好的隔离性。这些都是通过在硬件之上增加一层称之为虚拟机监控器(Virtual Machine Monitor,VMM)的软件层来实现的。
除此之外,还有一种称之为半虚拟化的技术(paravirtualization)。这种技术中,虚拟机监控器为上层虚拟机提供一个修改过的硬件抽象,而不是与真实硬件完全一致的硬件抽象。虚拟机监控器和虚拟机中的操作系统结合更紧密,相比全虚拟化有更好的性能表现。
三、虚拟主机系统安全
在云计算平台,尤其是私有云和社区云中,虚拟机之间通常需要进行交互和通信。然而这种交互为攻击和恶意软件的传播提供了可能,需要有一种机制来保证虚拟机通信场景下的安全。为此,Virt-BLP模型是一个针对虚拟机系统定制的关于多级安全的强制访问控制模型。为了实现这一目标,它定义了一系列的模型元素、安全公理和状态转换规则。云计算平台中,客户虚拟机负责向用户提供服务,而特权虚拟机和虚拟机监控器一般由云服务供应商管理,根据这一特征,当特权虚拟机作为主体时,Virt-BLP模型将其定义为可信主体。模型中的一些状态转换规则只能由可信主体来执行,这样实现了特权虚拟机对客户虚拟机之间访问和通信进行管理和控制的目的。于是在提供强制访问控制的同时,Virt-BLP模型也实现了部分的自主访问控制,很好地适应了虚拟机系统的特点。基于Virt-BLP模型,在Xen虚拟机系统中设计和实现了关于多级安全的强制访问控制框架VMAC,验证实验表明它成功地在Xen系统中映射了Virt-BLP模型的功能。Virt-BLP模型是一个通用的模型,其它虚拟机系统可以在它的基础上设计自己的强制访问控制框架。客户虚拟机在云计算平台中为用户提供服务,保证它的安全才能使用户有一个安全地获取云计算服务的环境。针对客户虚拟机用户级应用程序的运行时安全和内核的运行时安全进行了研究。在应用级安全方面,提出了虚拟机内度量框架Hyperivm,它用于判断客户虚拟机应用程序运行时的状态。度量模块对运行在客户虚拟机中的可执行文件进行度量并产生度量值,这些度量值通过虚拟机间通信机制传递到特权虚拟机,保存在度量列表中。参照列表中保存的可信度量值用于在验证时与度量列表中的对应值进行比较,以判断可执行文件的状态。可信平台模块(Trusted Platform Module,TPM)被用来保证度量列表和参照列表的完整性。在半虚拟化Xen系统中实现了一个Hyperivm虚拟机内度量框架的原型,在保护应用程序安全的基础上,它在性能评估中表现出良好的效率。
通过搜索客户虚拟机内核内存来获取监控过程中所需关键值的做法,大大提高了监控过程的健壮性。根据CPU负载自调整监控频率的策略,在提高检测率的同时,也减少了不必要的性能开销。策略中心作为Hyperchk框架的驱动,它的可定制化特性使得本虚拟机动态监控框架具有良好的扩展性和灵活性。在半虚拟化Xen中实现的Hyperchk框架原型系统,不仅能有效地检测针对客户虚拟机的内核rootkit攻击,同时在不同负载情况下均有良好的性能表现。