5.2.1.2虛擬化軟件安全
虛擬化軟件層直接部署于裸機之上,提供能夠創建、運行和銷毀虛擬服務器的能力。主機層的虛擬化能通過任何虛擬化模式完成,包括操作系統級虛擬化、半虛擬化或基于硬件的虛擬化。其中,Hypervisor作為該層的核心,應重點確保其安全性。
Hypen,isor是一種在虛擬環境中的元操作系統,其可以訪問服務器上包括磁盤和內存在內的所有物理設備。Hypervisor不但協調硬件資源的訪問,同時也在各個虛擬機之間施加防護。當服務器啟動并執行Hypervisor時,會加載所有虛擬機客戶端的操作系統并分配給每臺虛擬機適量的內存、CPU、網絡和磁盤。Hypervisor實現了操作系統和應用程序與硬件層之間的隔離,這樣就可以有效地減輕軟件對硬件設備及驅動的依賴性。Hypervisor可以允許操作系統和應用程序工作負載在更廣泛的硬件資源之上。Hypervisor支持多操作系統和工作負載,每個單獨的虛擬機或虛擬機實例都能夠同時運行在同一個系統上,并共享計算資源。同時,每個虛擬機可以在不同平臺之間遷移,實現無縫的工作負載遷移和備份能力。
目前,市場上有多種X86管理程序(Hypervisor)架構,其中3個最主要的架構如圖5-3所示。
虛擬機直接運行在系統硬件上,創建硬件全仿真實例,被稱為裸機型。
虛擬機運行在傳統操作系統上,同樣創建的是硬件全仿真實例,被稱為托管(宿主)型。
虛擬機運行在傳統操作系統上,創建一個獨立的虛擬化實例(容器),指向底層托管操作系統,被稱為操作系統虛擬化。
其中,裸機型的Hypervisor最為常見,直接安裝在硬件計算資源上,操作系統安裝并運行在Hypervisor之上。
正是由于可以控制在服務器上運行的虛擬機,Hypervisor自然成為攻擊的首要目標。保護Hypervisor的安全遠比想象中更復雜,虛擬機可以通過幾種不同的方式向Hypervisor發出請求,這些方式通常涉及API的調用,因此API往往是惡意代碼的首要攻擊對象,所以所有的Hypervisor必須重點確保API的安全,并且確保虛擬機只會發出經過認證和授權的請求,同時對Hypervisor提供的HTTP、Telnet、SSH等管理接口的訪問進行嚴格控制,關閉不需要的功能,禁用明文方式的Telnet接口,并將Hypervisor接口嚴格限定為管理虛擬機所需的API,關閉無關的協議端口。此外,惡意用戶利用Hyprevisor的漏洞,也可以對虛擬機系統進行攻擊。由于Hypervisor在虛擬機系統中的關鍵作用,一旦其遭受攻擊,將嚴重影響虛擬機系統的安全運行,造成數據丟失和信息泄漏。