服務(wù)器虛擬化屏蔽硬件的差異,為數(shù)據(jù)中心帶來更高的可用性、可靠性及可維護(hù)性,但同時(shí)也帶來了諸多安全問題,一類是惡意攻擊導(dǎo)致系統(tǒng)不能正常服務(wù)的攻擊,另一類是以竊取私密信息為目的的攻擊。
系統(tǒng)虛擬化為客戶機(jī)提供分區(qū)和隔離,高效整合服務(wù)器資源,提高硬件資源利用率,而且極大地降低了管理和運(yùn)維成本。但是由于共享資源的本質(zhì),服務(wù)器虛擬化天生存在著諸多安全問題。這些安全問題主要有兩類,一類是惡意攻擊導(dǎo)致系統(tǒng)不能正常服務(wù)的攻擊,另一類是以竊取私密信息為目的的攻擊。傳統(tǒng)物理主機(jī)場(chǎng)景下攻擊不易取得客戶數(shù)據(jù),但是虛擬化場(chǎng)景下如果主機(jī)遭到入侵,那么運(yùn)行其上的所有的客戶機(jī)都處于威脅中。研究并解決這些安全問題對(duì)更好地利用虛擬化技術(shù),提供安全可靠服務(wù),具有重要意義。
系統(tǒng)虛擬化概述
虛擬化技術(shù)從1965 年的IBMSystem/360 Model 40 VM 起, 經(jīng)過了近三十年的沉寂,在近二十年得到快速發(fā)展。系統(tǒng)虛擬化是指將一臺(tái)物理計(jì)算機(jī)系統(tǒng)虛擬化為一臺(tái)或多臺(tái)虛擬計(jì)算機(jī)系統(tǒng)。每個(gè)虛擬計(jì)算機(jī)系統(tǒng)(簡(jiǎn)稱客戶機(jī))都擁有自己的虛擬硬件,提供一個(gè)獨(dú)立的客戶機(jī)執(zhí)行環(huán)境。提供客戶機(jī)運(yùn)行環(huán)境的虛擬化層稱之為客戶機(jī)監(jiān)控器(Virtual Machine Monitor,VMM)。隨著X86 架構(gòu)對(duì)其虛擬化漏洞的修復(fù),推出VT/AMD-v 技術(shù),X86 平臺(tái)的虛擬化技術(shù)發(fā)展迅猛,出現(xiàn)了諸多的基于硬件輔助虛擬化的VMM,如VMware ESX、XEN、KVM、VirtualBox、Hyper-V 等等,也相應(yīng)誕生了一大批虛擬化商業(yè)產(chǎn)品與方案,如VMware ESX、Huawei、 FusionSphere、Citrix XEN、Red hat RHEV、Oracle Virtual Box、Microsoft 等。
系統(tǒng)虛擬化技術(shù)推進(jìn)了新一輪的數(shù)據(jù)中心改造,源于虛擬化技術(shù)帶來的好處:
1、封裝:以客戶機(jī)為粒度進(jìn)行封裝,可以方便地實(shí)現(xiàn)快照(snapshot)、克隆(clone)、遷移(migration)、掛起(suspend)和恢復(fù)(resume)。從而大大提供系統(tǒng)可維護(hù)性,降低IT 管理維護(hù)成本。
2、提高資源使用率:多臺(tái)客戶機(jī)運(yùn)行在VMM 上進(jìn)行統(tǒng)一調(diào)度,這些客戶機(jī)可以共享硬件資源,并交替忙閑運(yùn)行,可以極大提高硬件資源的使用效率。
3、隔離:由于客戶機(jī)是運(yùn)行在VMM之上的一個(gè)獨(dú)立的實(shí)例,因此一個(gè)客戶機(jī)的故障不會(huì)影響到另外一個(gè)客戶機(jī)的運(yùn)行。但是隔離也不是完全的,也存在一些安全隱患,也就是本文要討論的問題。
4、抽象:由于VMM 的存在,客戶機(jī)并不感知硬件的差別,可以自由的在不同的硬件上方面的遷移,屏蔽了硬件的多樣性和復(fù)雜性,便利服務(wù)的提供和部署。
X86 平臺(tái)的虛擬化技術(shù)可以分為三類(不包括不同體系結(jié)構(gòu)的虛擬化):
1、軟件完全虛擬化
優(yōu)先級(jí)壓縮(Ring Compression)和二進(jìn)制代碼翻譯(Binary Translation)相結(jié)合。基本原理是:將Guest OS 運(yùn)行在較低特權(quán)級(jí)別上,執(zhí)行遇到特權(quán)指令時(shí)被VMM 截獲進(jìn)行虛擬化。X86 架構(gòu)下存在虛擬化漏洞,即作特權(quán)操作卻沒有觸發(fā)異常的這些指令需要特殊處理,即動(dòng)態(tài)掃描執(zhí)行代碼,如果發(fā)現(xiàn)這些指令便將其替換為支持虛擬化的指令塊。
2、硬件輔助完全虛擬化
為了解決虛擬化漏洞的問題,處理器生產(chǎn)商推出相應(yīng)的虛擬化解決方案,即Intel VT/AMD-v 技術(shù)。與軟件完全虛擬化不同,硬件輔助虛擬化將客戶機(jī)運(yùn)行在一個(gè)新的模式下(non-root mode),該模式具有一套完全的運(yùn)行環(huán)境,當(dāng)運(yùn)行到特權(quán)指令時(shí)被處理器截獲并報(bào)告給VMM.VMM 進(jìn)行處理并反饋給客戶機(jī)運(yùn)行環(huán)境。
3、半虛擬化
半虛擬化是指通過修改操作系統(tǒng)的內(nèi)核代碼從而避免虛擬化漏洞。在現(xiàn)在的虛擬化系統(tǒng)中,也利用半虛擬的思想優(yōu)化I/O 路徑。
硬件輔助虛擬化是現(xiàn)在虛擬化主要采用的虛擬化方案,如VMware、XEN、KVM 等VMM 都屬于該類型(XEN 也有半虛擬化架構(gòu))。
由圖1 可以看出,VMM 將Guest OS作為自己的應(yīng)用實(shí)例運(yùn)行在其之上,提供Guest OS 運(yùn)行所需的資源,如運(yùn)行時(shí)資源(內(nèi)存、相關(guān)寄存器)、存儲(chǔ)、I/O(如網(wǎng)絡(luò))等,另外為了提升效率或可管理性,也提供了一個(gè)PV Tools 安裝在Guest OS中,并在VMM 中有對(duì)應(yīng)的后端。這些資源對(duì)于Guest OS 來說是透明的,不過對(duì)于VMM 來說是完全感知的。
存儲(chǔ)
Guest OS 的磁盤在VMM 看來是一個(gè)文件,即鏡像文件,這個(gè)文件具有多種格式,常見的有VMDK、VHD、VDI、QED、QCOW2、RAW 等。這些鏡像文件都可以通過VMM 平臺(tái)的工具進(jìn)行掛載讀取。若Guest OS 在安裝時(shí)未作磁盤加密,那么這些鏡像文件在掛載后,Guest 的磁盤文件就可以被讀取。而為了管理方面虛擬化方案提供商往往提供未加密的磁盤鏡像文件。比較傳統(tǒng)主機(jī),虛擬化場(chǎng)景下的虛擬主機(jī)的磁盤文件更容易被竊取和攻擊。
內(nèi)存
無論是使用影子頁表還是EPT/NPT等內(nèi)存虛擬化技術(shù),HOST 都掌握著GuestOS 的內(nèi)存信息。以KVM 為例,Guest OS的內(nèi)存都是通過qemu 用戶進(jìn)程分配。HOST OS1 若遭到入侵,無論是HOST 所用的內(nèi)存區(qū)域還是Guest 所用的內(nèi)存區(qū)域遭破壞都會(huì)影響系統(tǒng)的服務(wù),且數(shù)據(jù)可能被泄露,這對(duì)一些運(yùn)行關(guān)鍵應(yīng)用的Guest來說是具有風(fēng)險(xiǎn)的。
網(wǎng)絡(luò)
現(xiàn)在主流方案中使用HOST 的軟交換實(shí)現(xiàn)Guest 之間,Guest 與HOST 之間的IP 交換,例如Bridge、Openvswitch 等開源組件或vNetwork Standard Switch (vSS) 等商業(yè)組件。不像傳統(tǒng)主機(jī)模式下,每個(gè)物理服務(wù)器都有一套安全防護(hù)產(chǎn)品,外部設(shè)有防火墻,且通信直接和二、三層的網(wǎng)絡(luò)硬件通信,不易被侵入。而虛擬化環(huán)境下的網(wǎng)絡(luò)交換完全通過軟件實(shí)現(xiàn),主機(jī)一旦被侵入,所有的客戶機(jī)通信數(shù)據(jù)也很容易被捕獲。
PV Tools
這里的PV Tools 是虛擬化方案中對(duì)Guest OS 增強(qiáng)或管理需要,而安裝的一些組件的統(tǒng)稱。不同的廠商對(duì)該工具有不同的名稱,如VMware Tools、 Oracle Virtualbox Guest Additional.這些工具包含兩類組件,一類是為了加強(qiáng)性能的虛擬化工具,另一類是為了管理監(jiān)控等用途的工具。無論是哪類工具,都是從HOST 到Guest 建立了通信通道,并自定義了通信協(xié)議。這些通道和工具的漏洞也可能成為惡意客戶機(jī)“租戶”進(jìn)行攻擊的通道。
客戶機(jī)遷移、HA 等特性
客戶機(jī)在物理服務(wù)器間進(jìn)行遷移,是通過同步存儲(chǔ)和內(nèi)存數(shù)據(jù)到一致狀態(tài),然后進(jìn)行暫停、恢復(fù)客戶機(jī)的操作完成的。遷移是通過物理網(wǎng)絡(luò)傳輸?shù)?。這個(gè)遷移過程也存在安全風(fēng)險(xiǎn)。而HA(High Availability)是在不同的物理機(jī)上運(yùn)行同一客戶機(jī)的相同實(shí)例,當(dāng)一個(gè)虛擬機(jī)出現(xiàn)故障時(shí),業(yè)務(wù)系統(tǒng)迅速切換到另一臺(tái)實(shí)例上,從而保證高可用性。HA 往往時(shí)在不同的物理機(jī)上提供,運(yùn)行過程中需要時(shí)刻同步運(yùn)行信息,這些運(yùn)行時(shí)刻的信息都通過網(wǎng)絡(luò)傳輸,信息傳輸過程遷移特性一樣也帶來安全風(fēng)險(xiǎn)。
應(yīng)對(duì)策略
現(xiàn)有的云計(jì)算方案都是通過核心虛擬化系統(tǒng)之外的安全組件完成。本文主要針對(duì)虛擬化技術(shù)方案, 通過底層的安全加強(qiáng)和設(shè)計(jì)增強(qiáng)安全,針對(duì)上一小節(jié)提出的安全問題,提出以下應(yīng)對(duì)策略。
嚴(yán)格控制權(quán)限等級(jí)和接口,采用加密存儲(chǔ)(可考慮GPU 加密)
現(xiàn)在架構(gòu)下超級(jí)管理員對(duì)HOST/VMM有完全的控制權(quán)限,而且HOST 上也裝有讀取客戶機(jī)磁盤鏡像文件的工具,獲得管理員口令或繞開登錄認(rèn)證后即可獲取客戶機(jī)所有的磁盤文件信息。因此嚴(yán)格控制管理員權(quán)限,控制管理員可訪問的接口,設(shè)計(jì)應(yīng)用程序間的認(rèn)證和鑒權(quán)策略,避免人為干預(yù)。另外,操作系統(tǒng)在安裝時(shí)選擇加密選項(xiàng),從策略層面規(guī)避安全隱患。為了進(jìn)一步避免存儲(chǔ)丟失的風(fēng)險(xiǎn),也可以考慮加密存儲(chǔ)。
加強(qiáng)內(nèi)存虛擬化完整性設(shè)計(jì)
虛擬化VMM 的內(nèi)存管理延續(xù)了傳統(tǒng)操作系統(tǒng)的內(nèi)存管理機(jī)制,內(nèi)核對(duì)應(yīng)用程序的內(nèi)存具有讀寫權(quán)限。虛擬化場(chǎng)景下,客戶機(jī)的內(nèi)存都暴露給VMM 或HOST,客戶機(jī)的用戶私密性得不到保證。為了保護(hù)客戶機(jī)內(nèi)存數(shù)據(jù)的私密和安全性,需要進(jìn)一步加強(qiáng)HOST 內(nèi)存完整性和安全設(shè)計(jì)。
調(diào)整傳統(tǒng)安全組件結(jié)構(gòu),新型網(wǎng)絡(luò)和安全框架融合
引入軟件交換和軟件定義網(wǎng)絡(luò)(SDL)之后,傳統(tǒng)網(wǎng)絡(luò)的物理邊界已經(jīng)消失,傳統(tǒng)的單一防火墻結(jié)構(gòu)已經(jīng)不適用虛擬化架構(gòu)的安全需求,需要有整體的安全框架統(tǒng)一規(guī)范虛擬化環(huán)境下的網(wǎng)絡(luò)。
規(guī)范PV、監(jiān)控協(xié)議
目前虛擬化解決方案廠商的半虛擬化驅(qū)動(dòng)、監(jiān)控組件都沒有統(tǒng)一的規(guī)范和標(biāo)準(zhǔn),客戶機(jī)運(yùn)行在高危狀態(tài)下(如果含有不合法或惡意的程序段),用戶服務(wù)和數(shù)據(jù)沒有絲毫安全可言。因此需要統(tǒng)一規(guī)范半虛擬化驅(qū)動(dòng)和監(jiān)控程序的統(tǒng)一規(guī)范,制定統(tǒng)一標(biāo)準(zhǔn),使得這些工具能夠被客戶機(jī)安全軟件所監(jiān)控,而不像現(xiàn)在的方案中,這些工具完全不受客戶機(jī)安全軟件的限制。
加密傳輸遷移、HA 數(shù)據(jù)
虛擬機(jī)遷移、HA 給虛擬化帶來了更高的可操作性和可用性,這些功能都依賴網(wǎng)絡(luò)傳輸操作系統(tǒng)的運(yùn)行時(shí)數(shù)據(jù)。采用加密數(shù)據(jù)傳輸可很大程度上避免信息泄露風(fēng)險(xiǎn)。
虛擬化為信息中心帶來了低廉的運(yùn)維成本、便捷和靈活的部署與操作及高可用性,由于其技術(shù)方案的原因,同時(shí)也帶來了諸多的安全問題。不解決這些安全問題,虛擬化仍然不能被安全相關(guān)的關(guān)鍵應(yīng)用所接受。本文針對(duì)系統(tǒng)虛擬化的存儲(chǔ)、內(nèi)存、網(wǎng)絡(luò)、PV Tools 以及遷移和HA 等特性的現(xiàn)有方案討論了這些方面信息泄露相關(guān)的安全問題,并給出初步的應(yīng)對(duì)策略。虛擬化安全不光是個(gè)別安全技術(shù)的堆砌,而是整體的考慮和設(shè)計(jì)。作者下一步著手虛擬化的存儲(chǔ)加密模型的設(shè)計(jì)和實(shí)現(xiàn),并陸續(xù)展開對(duì)其他安全問題的研究。
(作者單位為蘭州大學(xué)通信與網(wǎng)絡(luò)中心)
- 蜜度索驥:以跨模態(tài)檢索技術(shù)助力“企宣”向上生長
- 閉著眼睛寫代碼是一種什么樣的體驗(yàn)?
- 2024世界顯示產(chǎn)業(yè)大會(huì)啟幕,4K花園自研“滿天星”獲十大創(chuàng)新應(yīng)用
- 哈佛商學(xué)院:2024年全球96%代碼庫包含開源組件 Rust采用率增長500%
- 硅谷1/10程序員在摸魚?基本不干活卻能拿20-30萬美元年薪
- 傳馬斯克的"友商"擔(dān)心被報(bào)復(fù) 紛紛示好特朗普
- 數(shù)智龍江向新而行:5G-A與AI等數(shù)智技術(shù)助力龍江打造新質(zhì)生產(chǎn)力
- 加州對(duì)特斯拉和SpaceX說不,公報(bào)私仇觸怒馬斯克
- 華為Mate品牌盛典盛大舉行,Mate 70等十余款全場(chǎng)景新品重磅亮相
- 支付寶新升級(jí),手機(jī)碰一下就能點(diǎn)餐!全國10萬家餐廳可用
- 華為徐直軍談鴻蒙:10萬個(gè)應(yīng)用是鴻蒙生態(tài)成熟的標(biāo)志
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。