一、引言
虛擬化實現了對傳統硬體資源的抽象模擬,憑藉其資源隔離、跨域共享、靈活部署、動態管控等諸多優勢,虛擬化技術的成功運用開啟了雲納萬物的時代。然而,據相關機構統計,自肆虐全球的勒索病毒WannaCry爆發至今,有超過80%的虛擬化系統因缺乏安全防護支撐,使得虛擬化環境成為了感染重災區。面對網絡東西向風險加劇趨勢,隨著攻擊者的入侵方式不斷演化、滲透行為持續深入,加強虛擬化環境防護,保障虛擬化應用運行與敏感數據安全成為業界關注熱點。
二、何謂虛擬化
根據維基百科定義【1】:虛擬化一種資源管理技術,是將計算機的各種實體資源(CPU、內存、磁碟空間、網絡適配器等)予以抽象、轉換後呈現出來並可供分割、組合為一個或多個電腦配置環境。這種資源的新虛擬視圖並不受實現、地理位置或底層資源的物理配置的限制。由此可知,虛擬化是一種資源抽象化的軟體技術,其實質是將底層資源進行分區,以達到可以為上層提供更加特定和多樣的執行環境。
虛擬化架構通常由宿主機、虛擬化層軟體和虛擬機三部分構成:宿主機即物理機,包括CPU、內存、I/O設備等硬體資源;虛擬化層軟體亦稱Hypervisor或虛擬機監視器(VMM:Virtual Machine Monitor),是一種運行在基礎物理伺服器和作業系統之間的中間軟體層,其既可以集成於作業系統之中,也可以運行於作業系統之上;虛擬機是運行在虛擬化層軟體上的客戶作業系統,用戶可以在虛擬機上安裝應用程式。根據VMM所處位置,可將虛擬化架構分為三種類型:
圖1 虛擬化架構類型
獨立監控模式:VMM運行在系統硬體上,直接管理和調度所有的物理資源,包括CPU、內存、I/O設備。該架構的優點是VMM具有物理資源的管理功能和虛擬化功能,對資源虛擬化的效率較高;虛擬機的安全性與Hypervisor相關;缺點是由於VMM需要管理物理資源,要求提供各種硬體設備的驅動,導致該架構的VMM比較複雜,如VmWare ESX。主機模式:VMM運行宿主機作業系統之上,通過宿主機作業系統調度各種物理資源,虛擬機應用在調用物理資源時須經過虛擬機內核、VMM和宿主機內核三部分。該架構的優點是較易實現,可以利用宿主機作業系統的各種功能;缺點是VMM進行虛擬化時通過宿主機作業系統,這會對該架構的效率和功能產生一定的影響;VMM運行在宿主機作業系統之上,虛擬機的安全性受VMM和宿主機兩方面影響,從而導致該架構的安全性較低。混合模式:其功能由宿主機作業系統實現,為多個虛擬機分配物理資源且彼此獨立。該架構的優點是使用統一的作業系統,運行效率更高,管理起來更加方便;缺點是由於各個虛擬機共享宿主機作業系統文件及其他相關資源,相對其他模式,其隔離性較低,如Linux.VServer、Solaris等。虛擬化技術將應用系統的硬體、軟體、數據、網絡、存儲等物理資源抽象成邏輯資源,通過桌面虛擬化、應用程式虛擬化、存儲虛擬化、網絡虛擬化等技術應用,極大提高了資源利用率,使IT架構更加適應業務變化。
三、虛擬化面臨的安全挑戰
虛擬化技術突破了作業系統與物理硬體的界限,在集中化管理、提高硬體利用率、異構資源整合方面具有無可比擬的優勢,同時也拓寬了惡意程序的攻擊面,給系統安全帶來更多安全挑戰,究其威脅根源如下:
1. 虛擬機管理隱患
//1.1. 虛擬機蔓延
虛擬機過度創建和計算資源清理回收滯後,將產生虛擬機繁殖失控,最終導致虛擬機蔓延:一些停用的虛擬機及相關鏡像文件佔用了大量存儲空間,影響到系統的資源佔用和安全管理;為追求虛擬機自身可用性和安全性而採用粗放式資源配置,導致其它虛擬機資源的匱乏。抑制虛擬機蔓延問題,既要控制虛擬機創建部署的數量,還需為虛擬機適度配置資源,並定期做好資源清理。
//1.2. 虛擬機遷移
虛擬機遷移改變了虛擬機存儲位置,如果網絡埠參數未隨之設置,則遷移的虛擬機在其他物理機重建後,其流量不再受控於入侵檢測系統的監測,這也使得遷移後的虛擬機脫離原系統的安全環境,必然帶來了安全風險。
//1.3. 配置管理隱患
為追求操作便利放鬆虛擬機配置管理,或安全運維不及時,都可能給系統帶來安全風險。如:任一虛擬機存有漏洞且未做補丁更新,都將給惡意攻擊提供可乘之機。另外,如果物理主機缺少安全保護,離線狀態的虛擬機鏡像文件一旦被篡改,則直接導致虛擬機的完整性和可用性受到破壞。
//1.4. 狀態恢復異常
虛擬機加載運行後,每次內容狀態發生改變都以快照的方式記錄在主機上,以確保虛擬機可恢復到先前某個狀態,在非正常情況下,狀態恢復機制也有可能將虛擬機恢復到一個未打補丁的狀態或者非安全狀態,如下圖所示:
圖2 虛擬機狀態異常恢復示意
2. 虛擬化攻擊風險
//2.1. 虛擬機跳躍(VM Hopping)
由於同一Hypervisor不同虛擬機之間,可通過網絡連接或共享內存進行通信,這使虛擬機跳躍攻擊成為可能。攻擊者基於一臺虛擬機以某種方式獲取同一個Hypervisor上的其他虛擬機的訪問權限,再以同樣方式繼續攻擊其他虛擬機,甚至還可劫持宿主機,從而控制該宿主機上的所有虛擬機。
//2.2. 虛擬機逃逸(VM Escape)
Hypervisor提供宿主機作業系統與虛擬機作業系統之間的指令轉換功能,當攻擊者控制了一臺虛擬機後,為進一步獲取Hypervisor的訪問權限,可通過向Hypervisor發送大量的I/O埠信息使其崩潰,也可通過虛擬機觸發或利用Hypervisor的安全漏洞或配置缺陷,從而就可訪問該Hypervisor所控制的其他虛擬機和宿主機作業系統。
//2.3. 拒絕服務攻擊(DoS)
在虛擬化基礎架構中,若管理員在Hypervisor上制定的的資源分配策略不夠嚴謹,惡意攻擊者就能通過利用一個虛擬機將所有的系統資源耗盡,從而造成其他的虛擬機由於資源匱乏而拒絕服務。
//2.4. VMBR(Virtual Machine Based Rootkit)攻擊
攻擊者在虛擬化環境下,利用Rootkit隱藏惡意入侵活動,使得自身在避開入侵檢測的同時能夠監控、攔截和篡改系統中其他軟體的狀態和動作,從而獲得系統的高度控制權,還可以使用鉤子hook替代程序,惡意改變程序執行流程以運行非法代碼。
四、如何構建虛擬化安全計算環境
虛擬化安全計算環境應綜合外部入侵檢測、內核保護監管、動態訪問控制、可信度量驗證等多維度構建。
1.虛擬化環境的入侵檢測
將虛擬化入侵檢測系統部署至隔離目標VM環境中運行,當遭受惡意入侵時,可立即做出安全決策,進行報警或中止系統運行,並在惡意程序產生實際破壞前予以阻止,保障目標VM正常運行。關鍵技術包括:
日誌記錄與審計基於VM的日誌記錄機制在不受VM自身影響的條件下持續性記錄行為、事件等操作和狀態信息,並將日誌結果保存至隔離環境中,為入侵檢測提供可靠依據;基於VM的日誌審計機制,可對日誌不可抵賴信息進行安全分析,以檢查VM系統行為是否正常。
蜜罐誘騙與幹擾基於VM的蜜罐誘騙與幹擾機制通過虛擬可控環境,以誘導惡意行為入侵,不僅能監控和捕獲外部攻擊信息,還可快速恢復蜜罐環境,極大降低傳統蜜罐系統消耗成本。為避免攻擊方覺察,可通過內存共享和延遲資源綁定部署大量的高交互虛擬蜜罐系統,以呈現更為逼真的運行環境,獲取更全面的攻擊特徵信息。
漏洞檢測構建漏洞匹配引擎並運行於隔離的VM環境中,通過監控VM行為事件和特徵比對,可做好漏洞防範;還可通過VM回放使目標系統還原到日誌的某一時間戳運行,執行漏洞匹配引擎分析系統行為是否出現異常,以此判斷從回放點開始的運行時段內目標系統有無遭受漏洞攻擊。
Out-of-VM監控兼顧面向主機和面向網絡的入侵檢測功能需求,混合型入侵檢測系統在確保自身安全的同時,通過Out-of-VM的監控模式保持對目標系統良好的信息獲取能力,其典型系統是Garfinkel等人設計實現的Livewire【2】。Livewire以進程形式運行與目標系統之外,利用VMM實施外部狀態監控,以實現隱藏進程檢測、內存完整性保護的安全功能目標。
圖3. Livewire架構示意
2.虛擬化環境的內核保護
內核是計算機作業系統的核心,其安全直接關係到整個系統的正常運行,內核保護側重於對惡意行為的識別和防禦。關鍵技術包括:
內核完整性監控虛擬化系統內核保護藉助比ring0權限更高的虛擬化層檢測和防禦Rootkit,從而阻止非法篡改系統內核行為。主要技術實現路徑有:①基於VMM將系統中大量分散部署的hook集中到特定內存頁,採取頁保護以保障hook的完整性;②基於VMM建立內核訪問監控機制,提供實時跟蹤功能以保障核心數據結構的安全;③利用VMM截獲VM內核對象分配和釋放事件,生成可以準確反映內核空間狀態的內核對象視圖,通過視圖分析實現系統內核完整性保護;④建立基於模塊白名單的訪問控制來保護內核數據;⑤利用VMM建立信任根,對VM的作業系統及應用進行可信度量擴展,通過可信內核模塊來校驗訪問控制列表和數據結構完整性。
代碼授權執行在代碼執行之前,依據安全策略檢查調用權限,可以從執行源頭保障內核代碼的完整性。主要技術實現路徑有:①基於VMM實現代碼授權管理,並通過哈希加密機制確保內部執行代碼與已授權代碼的一致性,實現VM僅執行授權過的代碼;②針對Rootkit必須執行自身內核代碼的特性,可將VMM已授權代碼映射到影子內存,通過擴展VMM提供的內存間接訪問機制執行從影子內存中的授權代碼,從而阻斷內核Rootkit攻擊;③在VMM與VM之間建立超級調用控制層,對每個調用進行安全驗證,僅通過驗證的調用才允許VMM完成後續操作,以解決Xen架構下超級調用API易被惡意利用的安全隱患。
頁面加密對關鍵內存數據進行加密保護,可防止惡意竊取和修改。基於頁面加密的保護模型SP3【3】將保護域定義為將域與密鑰關聯起來的一組訪問權限構成的主體,運行在SP3域中的客戶程序可以獲取明文信息,而域外的程序和作業系統本身只能獲取加密的內存信息。
研究表明,內核保護大多藉助虛擬化層特權功能實現,而虛擬化層的複雜設計容易產生漏洞問題,因此,提出輕量化的虛擬化監控器MAVMM【4】專門服務於系統安全保護,MAVMM在硬體虛擬化的支持下,保證了簡單、安全和透明的特性,可提供內存保護、訪問監控、進程跟蹤等安全防護。
3.虛擬化環境的訪問控制
將傳統計算機系統的訪問控制引入虛擬機環境的安全設計中,以處理VM特定資源共享和通信控制的問題,更好地保障虛擬化系統的安全。關鍵技術包括:
基於主體的訪問控制在虛擬化層加強信息流和資源共享的控制,為客戶機和虛擬資源設置安全標籤,訪問控制模塊基於對安全標籤和訪問策略的驗證來控制VM資源的訪問和通信,協調管控多個VM安全協作。
圖4.虛擬機安全訪問控制
借鑑經典訪問控制模型BLP的設計,Virt-BLP【5】在虛擬化架構Xen中構建了多級別安全訪問控制機制,基於Virt-BLP的訪問控制框架VMAC【6】,不僅能夠保障VM運行過程中的隔離性和抗攻擊能力,還可以增強內存共享的安全性,有效控制VM間的訪問和通信。
基於動態屬性的訪問控制動態訪問控制是在虛擬化層的強隔離和資源監控下,以實時屬性為依據進行訪問授權並根據屬性的改變及時調整權限,以滿足虛擬化系統靈活而細粒度的授權需求。X-UCON【7】對UCON模型進行了改進,通過引進組件postB擴展出UCON的義務持久性,並在雲計算環境中實現了靈活地動態授權機制。
4.虛擬化環境的可信支撐
構建虛擬化可信計算平臺,將可信計算融入基於虛擬機技術的應用業務,在屏蔽虛擬目標系統外界幹擾的同時提供度量驗證機制,確保敏感數據和VM應用的完整性,為虛擬化環境提供更高強度的保護。
圖5.基於虛擬化技術的可信計算平臺架構
構建以TPM為基礎的信任根,在此基礎上建立貫穿BIOS、扇區引導、宿主OS、虛擬機管理器、虛擬機控制器、客戶OS的信任鏈,確保系統中各種服務以及安全機制預期啟動;同時,利用可信計算基數對虛擬機控制器進行可信管理,實時監控虛擬機行為,確保其在運行過程中不會因惡意代碼對插入以及惡意操作而影響宿主機和虛擬機。
在設備物理層,基於物理信任根和密鑰管理,構建伺服器對信任鏈,實現虛擬機的可信度量等,為虛擬層對安全提供可信支撐。在虛擬層,為虛擬伺服器構建虛擬信任根,利用度量實現虛擬伺服器主動防禦機制,為虛擬伺服器提供可信對運行環境。另外,在虛擬機對客戶端系統中利用可信計算技術實現各種安全機制,如身份認證、訪問控制、數據加密等,保證虛擬伺服器中存儲的數據內部洩露。
五、結語
虛擬化技術是一把雙刃劍,一方面,通過對硬體層抽象封裝實現了系統級隔離,擁有強有力的資源整合能力、硬體無關性、邏輯隔離性、高特權性等優勢,另一方面,由於現有的虛擬化架構存在內核級安全監控先天缺陷,若系統控制不嚴,則可能被攻擊方利用並實施反向攻擊。因此,構建高安全可信虛擬計算環境,強化虛擬機內核行為和數據監控,對於增強系統安全性具有重要意義。零信任安全理念倡導在虛擬化平臺部署靈活安全策略,以實施細粒度、全程監控的訪問控制;在等保2.0安全區域邊界內容部分,也對不同安全級別網絡中的虛擬機與宿主機、虛擬機與虛擬機之間異常流量檢測和處置提出了明確要求。可以看出,在以雲計算、大數據等新興信息技術為驅動的數字經濟時代背景下,虛擬化應用場景將進一步拓展,虛擬化安全建設也必將迎來新的機遇期。
參考文獻
【1】https://bk.tw.lvfukeji.com/wiki/%E8%99%9B%E6%93%AC%E5%8C%96
【2】Garfinkel T,Rosenblum M.A Virtual Machine Introspection based Architecture for Intrusion Detection[A]. In Proceedings of the Network and Distributed System Security Symposium[C]. San Diego, California,USA:Mahesh Tripunitara, 2003, 3(2003): 191-206.
【3】Yang J,Shin KG.Using Hypervisor to Provide Data Secrecy for User Applications on Basis[A].In:Proceedings of the 4th ACM SIGPLAN/SIGOPS International Conference Execution Environments[C]. New York: ACM Press, 2008: 71-80.
【4】Nguyen A M,Schear N,Jung H D,et al.Mavmm:Lightweight and Purpose Built VMM for Malware Analysis[A].In:Proceedings of Computer Security Applications[C]. Washington DC: IEEE Computer Society,2009:441-450.
【5】劉謙,王觀海,翁楚良等.一種虛擬機系統下關於多級安全的強制訪問控制框架實現【J】.中國通信(英文版),2011, 8(2): 86-94.
【6】劉謙.面向雲計算的虛擬機系統安全研究【D】.上海:上海交通大學,2012
【7】朱君禮.基於UCON的雲計算訪問控制的研究與應用【D】.北京:北京郵電大學,2017
張旗/中孚信息(北京)研究院