【摘要】云計算平臺通過Internet提供各種服務,這種開放式的模式在方便用戶訪問的同時,也帶來了潛在的安全隱患。云計算平臺通常以虛擬機系統作為底層架構,因此虛擬機系統的安全是云計算安全的核心。本文對此進行了研究和探索。
【關鍵詞】云計算虛擬主機安全
一、云計算概述
隨著當今對海量數據和復雜計算的日益需求,計算模式已經從集中式向分布式演變,典型的例子如網格計算、云計算等。當前,云計算逐漸成為學術界和產業界的熱點和焦點,它與網格計算既在架構和技術上有很多共同點,也在安全性、編程模型、計算模型、應用等方面具有差異。
云計算是一種新型的計算模式,它以服務的形式為用戶提供各種計算資源,如服務器、存儲資源和應用程序等。用戶可以使用各種不同的客戶端(如個人電腦、手機等)通過網絡來訪問云計算平臺提供的服務。通過這種方式,用戶無需在本機上安裝需要的應用,而是通過如瀏覽器之類的工具來訪問和使用位于云端的應用。云計算能即時響應用戶需要的計算資源,即根據用戶的需求供給或者回收相應的資。用戶可以在開始時只申請一部分資源,當需求增加時,向云服務供應商申請更多的計算資源。而當應用對資源的需求降低時,相應的資源將被回收。用戶根據得到的計算資源和服務來付費,這種模式有效節約了系統計算資源和用戶所需要付出的成本。
二、虛擬化技術概述
虛擬化技術是云計算的基礎,隨著云計算的流行,它也受到了越來越廣泛的關注。近年來,虛擬化技術的快速發展主要得益于硬件日益增長的計算能力和不斷降低的成本。虛擬化技術能夠實現在一臺物理機上運行多臺虛擬機,在每臺虛擬機中分別運行不同的操作系統和應用程序,并且虛擬機之間具有良好的隔離性。這些都是通過在硬件之上增加一層稱之為虛擬機監控器(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攻擊,同時在不同負載情況下均有良好的性能表現。