文/李善璽 楊民強 陳文波

虛擬化為信息中心帶來了低廉的運維成本、便捷和靈活的部署與操作及高可用性,由于其技術方案的原因,同時也帶來了諸多的安全問題。
服務器虛擬化屏蔽硬件的差異,為數據中心帶來更高的可用性、可靠性及可維護性,但同時也帶來了諸多安全問題,一類是惡意攻擊導致系統不能正常服務的攻擊,另一類是以竊取私密信息為目的的攻擊。
系統虛擬化為客戶機提供分區和隔離,高效整合服務器資源,提高硬件資源利用率,而且極大地降低了管理和運維成本。但是由于共享資源的本質,服務器虛擬化天生存在著諸多安全問題。這些安全問題主要有兩類,一類是惡意攻擊導致系統不能正常服務的攻擊,另一類是以竊取私密信息為目的的攻擊。傳統物理主機場景下攻擊不易取得客戶數據,但是虛擬化場景下如果主機遭到入侵,那么運行其上的所有的客戶機都處于威脅中。研究并解決這些安全問題對更好地利用虛擬化技術,提供安全可靠服務,具有重要意義。
虛擬化技術從1965年的IBM System/360 Model 40 VM起,經過了近三十年的沉寂,在近二十年得到快速發展。系統虛擬化是指將一臺物理計算機系統虛擬化為一臺或多臺虛擬計算機系統。每個虛擬計算機系統(簡稱客戶機)都擁有自己的虛擬硬件,提供一個獨立的客戶機執行環境。提供客戶機運行環境的虛擬化層稱之為客戶機監控器(Virtual Machine Monitor,VMM)。隨著X86架構對其虛擬化漏洞的修復,推出VT/AMD-v技術,X86平臺的虛擬化技術發展迅猛,出現了諸多的基于硬件輔助虛擬化的VMM,如VMware ESX、XEN、KVM、VirtualBox、Hyper-V等等,也相應誕生了一大批虛擬化商業產品與方案,如VMware ESX、Huawei、 FusionSphere、Citrix XEN、Redhat RHEV、Oracle VirtualBox、Microsoft等。
系統虛擬化技術推進了新一輪的數據中心改造,源于虛擬化技術帶來的好處:
1.封裝:以客戶機為粒度進行封裝,可以方便地實現快照(snapshot)、克隆(clone)、遷移(migration)、掛起(suspend)和恢復(resume)。從而大大提供系統可維護性,降低IT管理維護成本。
2.提高資源使用率:多臺客戶機運行在VMM上進行統一調度,這些客戶機可以共享硬件資源,并交替忙閑運行,可以極大提高硬件資源的使用效率。
3.隔離:由于客戶機是運行在VMM之上的一個獨立的實例,因此一個客戶機的故障不會影響到另外一個客戶機的運行。但是隔離也不是完全的,也存在一些安全隱患,也就是本文要討論的問題。

圖1 系統虛擬化組件結構圖
4.抽象:由于VMM的存在,客戶機并不感知硬件的差別,可以自由的在不同的硬件上方面的遷移,屏蔽了硬件的多樣性和復雜性,便利服務的提供和部署。
X86平臺的虛擬化技術可以分為三類(不包括不同體系結構的虛擬化):
1.軟件完全虛擬化
優先級壓縮(Ring Compression)和二進制代碼翻譯(Binary Translation)相結合。基本原理是:將Guest OS運行在較低特權級別上,執行遇到特權指令時被VMM截獲進行虛擬化。X86架構下存在虛擬化漏洞,即作特權操作卻沒有觸發異常的這些指令需要特殊處理,即動態掃描執行代碼,如果發現這些指令便將其替換為支持虛擬化的指令塊。
2.硬件輔助完全虛擬化
為了解決虛擬化漏洞的問題,處理器生產商推出相應的虛擬化解決方案,即Intel VT/AMD-v技術。與軟件完全虛擬化不同,硬件輔助虛擬化將客戶機運行在一個新的模式下(non-root mode),該模式具有一套完全的運行環境,當運行到特權指令時被處理器截獲并報告給VMM。VMM進行處理并反饋給客戶機運行環境。
3.半虛擬化
半虛擬化是指通過修改操作系統的內核代碼從而避免虛擬化漏洞。在現在的虛擬化系統中,也利用半虛擬的思想優化I/O路徑。
硬件輔助虛擬化是現在虛擬化主要采用的虛擬化方案,如VMware、XEN、KVM等VMM都屬于該類型(XEN也有半虛擬化架構)。
由圖1可以看出,VMM將Guest OS作為自己的應用實例運行在其之上,提供Guest OS運行所需的資源,如運行時資源(內存、相關寄存器)、存儲、I/O(如網絡)等,另外為了提升效率或可管理性,也提供了一個PV Tools安裝在Guest OS中,并在VMM中有對應的后端。這些資源對于Guest OS來說是透明的,不過對于VMM來說是完全感知的。
存儲
Guest OS的磁盤在VMM看來是一個文件,即鏡像文件,這個文件具有多種格式,常見的有VMDK、VHD、VDI、QED、QCOW2、RAW等。這些鏡像文件都可以通過VMM平臺的工具進行掛載讀取。若Guest OS在安裝時未作磁盤加密,那么這些鏡像文件在掛載后,Guest的磁盤文件就可以被讀取。而為了管理方面虛擬化方案提供商往往提供未加密的磁盤鏡像文件。比較傳統主機,虛擬化場景下的虛擬主機的磁盤文件更容易被竊取和攻擊。
內存
無論是使用影子頁表還是EPT/NPT等內存虛擬化技術,HOST都掌握著Guest OS的內存信息。以KVM為例,Guest OS的內存都是通過qemu用戶進程分配。HOST OS1若遭到入侵,無論是HOST所用的內存區域還是Guest所用的內存區域遭破壞都會影響系統的服務,且數據可能被泄露,這對一些運行關鍵應用的Guest來說是具有風險的。
網絡
現在主流方案中使用HOST的軟交換實現Guest之間,Guest與HOST之間的IP交換,例如Bridge、Openvswitch等開源組件或vNetwork Standard Switch (vSS)等商業組件。不像傳統主機模式下,每個物理服務器都有一套安全防護產品,外部設有防火墻,且通信直接和二、三層的網絡硬件通信,不易被侵入。而虛擬化環境下的網絡交換完全通過軟件實現,主機一旦被侵入,所有的客戶機通信數據也很容易被捕獲。PV Tools
這里的PV Tools是虛擬化方案中對Guest OS增強或管理需要,而安裝的一些組件的統稱。不同的廠商對該工具有不同的名稱,如VMware Tools、 Oracle Virtualbox Guest Additional。這些工具包含兩類組件,一類是為了加強性能的虛擬化工具,另一類是為了管理監控等用途的工具。無論是哪類工具,都是從HOST到Guest建立了通信通道,并自定義了通信協議。這些通道和工具的漏洞也可能成為惡意客戶機“租戶”進行攻擊的通道。
客戶機遷移、HA等特性
客戶機在物理服務器間進行遷移,是通過同步存儲和內存數據到一致狀態,然后進行暫停、恢復客戶機的操作完成的。遷移是通過物理網絡傳輸的。這個遷移過程也存在安全風險。而HA(High Availability)是在不同的物理機上運行同一客戶機的相同實例,當一個虛擬機出現故障時,業務系統迅速切換到另一臺實例上,從而保證高可用性。HA往往時在不同的物理機上提供,運行過程中需要時刻同步運行信息,這些運行時刻的信息都通過網絡傳輸,信息傳輸過程遷移特性一樣也帶來安全風險。
現有的云計算方案都是通過核心虛擬化系統之外的安全組件完成。本文主要針對虛擬化技術方案,通過底層的安全加強和設計增強安全,針對上一小節提出的安全問題,提出以下應對策略。
嚴格控制權限等級和接口,采用加密存儲(可考慮GPU加密)
現在架構下超級管理員對HOST/VMM有完全的控制權限,而且HOST上也裝有讀取客戶機磁盤鏡像文件的工具,獲得管理員口令或繞開登錄認證后即可獲取客戶機所有的磁盤文件信息。因此嚴格控制管理員權限,控制管理員可訪問的接口,設計應用程序間的認證和鑒權策略,避免人為干預。另外,操作系統在安裝時選擇加密選項,從策略層面規避安全隱患。為了進一步避免存儲丟失的風險,也可以考慮加密存儲。
加強內存虛擬化完整性設計
虛擬化VMM的內存管理延續了傳統操作系統的內存管理機制,內核對應用程序的內存具有讀寫權限。虛擬化場景下,客戶機的內存都暴露給VMM或HOST,客戶機的用戶私密性得不到保證。為了保護客戶機內存數據的私密和安全性,需要進一步加強HOST內存完整性和安全設計。
調整傳統安全組件結構,新型網絡和安全框架融合
引入軟件交換和軟件定義網絡(SDL)之后,傳統網絡的物理邊界已經消失,傳統的單一防火墻結構已經不適用虛擬化架構的安全需求,需要有整體的安全框架統一規范虛擬化環境下的網絡。規范PV、監控協議
目前虛擬化解決方案廠商的半虛擬化驅動、監控組件都沒有統一的規范和標準,客戶機運行在高危狀態下(如果含有不合法或惡意的程序段),用戶服務和數據沒有絲毫安全可言。因此需要統一規范半虛擬化驅動和監控程序的統一規范,制定統一標準,使得這些工具能夠被客戶機安全軟件所監控,而不像現在的方案中,這些工具完全不受客戶機安全軟件的限制。
加密傳輸遷移、HA數據
虛擬機遷移、HA給虛擬化帶來了更高的可操作性和可用性,這些功能都依賴網絡傳輸操作系統的運行時數據。采用加密數據傳輸可很大程度上避免信息泄露風險。
虛擬化為信息中心帶來了低廉的運維成本、便捷和靈活的部署與操作及高可用性,由于其技術方案的原因,同時也帶來了諸多的安全問題。不解決這些安全問題,虛擬化仍然不能被安全相關的關鍵應用所接受。本文針對系統虛擬化的存儲、內存、網絡、PV Tools以及遷移和HA等特性的現有方案討論了這些方面信息泄露相關的安全問題,并給出初步的應對策略。虛擬化安全不光是個別安全技術的堆砌,而是整體的考慮和設計。作者下一步著手虛擬化的存儲加密模型的設計和實現,并陸續展開對其他安全問題的研究。
邁克菲發布報告揭露“高規格”數據泄露

近日,邁克菲實驗室(McAfee Labs)發布《2013 年第四季度威脅報告》。報告顯示,“黑暗網絡”(dark web) 惡意軟件行業在 2013 年秋季囂張的“銷售點 (POS) 攻擊和數據泄露事件中起了重要作用;在線購買 POS惡意軟件、在線出售竊取的信用卡號和其他個人數據變得越來越簡便。邁克菲實驗室還發現,帶數字簽名的惡意軟件樣本數量在 2013 年增長了兩倍,這主要是由于濫用自動內容分發網絡 (CDN) 所致,這些網絡可將惡意二進制代碼隱藏在帶數字簽名、看似合法的安裝程序中。邁克菲實驗室認為,這一加速趨勢會對驗證“安全”軟件所慣用的證書授權(CA)模式構成重大威脅。
移動惡意軟件
邁克菲實驗室 2013 年采集了 247萬個新移動樣本,僅第四季度就發現了744,000 個。與 2012 年末相比,移動惡意軟件 “動物園”里的樣本數量驚人地增長了 197%。
勒索軟件
2013 年,新勒索軟件樣本量增長100 萬個,第四季度同比增長了一倍。
可疑 URL
2013 年,邁克菲實驗室記錄的可疑URL 數量增長 70%。
惡意軟件激增
2013 年,邁克菲實驗室每分鐘發現200 個新惡意軟件樣本,也就是說,每秒發現 3 個以上新威脅。
與主引導記錄相關
邁克菲實驗室在 2013 年發現了 220萬個新“主引導記錄”(MBR) 攻擊。