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