楊 杰,朱智強
1.解放軍信息工程大學密碼工程學院,鄭州4500012.解放軍信息工程大學科研部,鄭州450001
ISSN 1673-9418 CODEN JKYTA8
Journal of Frontiers of Computer Science and Technology 1673-9418/2016/10(03)-0311-15
http://www.ceaj.org Tel: +86-10-89056056
* The National High Technology Research and Development Program of China under Grant No. 2012AA012704 (國家高技術研究發(fā)展計劃(863計劃)).
Received 2015-07,Accepted 2015-10.
CNKI網絡優(yōu)先出版: 2015-11-02, http://www.cnki.net/kcms/detail/11.5602.TP.20151102.1547.006.html
XHydra: Xen-Based Virtual Machine Architecture for Enhancing Xen Security?
YANG Jie1+, ZHU Zhiqiang21. Cryptography Engineering Institute, PLAInformation Engineering University, Zhengzhou 450001, China2. Scientific Research Department, PLAInformation Engineering University, Zhengzhou 450001, China+ Corresponding author: E-mail: isyangjie@sina.com
YANG Jie, ZHU Zhiqiang. XHydra: Xen-based virtual machine architecture for enhancing Xen security. Journal of Frontiers of Computer Science and Technology, 2016, 10(3):311-325.
?
XHydra:面向虛擬機Xen的安全增強架構*
楊杰1+,朱智強2
1.解放軍信息工程大學密碼工程學院,鄭州450001
2.解放軍信息工程大學科研部,鄭州450001
ISSN 1673-9418 CODEN JKYTA8
Journal of Frontiers of Computer Science and Technology 1673-9418/2016/10(03)-0311-15
http://www.ceaj.org Tel: +86-10-89056056
* The National High Technology Research and Development Program of China under Grant No. 2012AA012704 (國家高技術研究發(fā)展計劃(863計劃)).
Received 2015-07,Accepted 2015-10.
CNKI網絡優(yōu)先出版: 2015-11-02, http://www.cnki.net/kcms/detail/11.5602.TP.20151102.1547.006.html
XHydra: Xen-Based Virtual Machine Architecture for Enhancing Xen Security?
YANG Jie1+, ZHU Zhiqiang2
1. Cryptography Engineering Institute, PLAInformation Engineering University, Zhengzhou 450001, China
2. Scientific Research Department, PLAInformation Engineering University, Zhengzhou 450001, China
+ Corresponding author: E-mail: isyangjie@sina.com
YANG Jie, ZHU Zhiqiang. XHydra: Xen-based virtual machine architecture for enhancing Xen security. Journal of Frontiers of Computer Science and Technology, 2016, 10(3):311-325.
摘要:針對開源虛擬化平臺Xen的管理虛擬機Dom0服務臃腫和可信計算基龐大等問題,提出了一種基于Xen的安全虛擬機架構XHydra。該架構采用微內核的設計思想和最小特權安全理論,將Dom0分離成多個功能獨立、相互隔離且具有最小特權的迷你服務域,并設計了一個服務監(jiān)視器進行管理。服務監(jiān)視器通過構建用戶虛擬機與迷你服務域之間設備通信的專用通道,實現(xiàn)用戶虛擬機和迷你服務域之間的雙向隔離。最后基于Xen4.4開發(fā)了XHydra的原型系統(tǒng),提高了平臺的安全性,驗證了架構的可行性。同時,針對虛擬化平臺的存儲性能和網絡性能進行基準測試,實驗結果表明所提方案性能相對于原始Xen僅降低了3%。
關鍵詞:Xen;安全虛擬機;最小特權;服務分離;Dom0虛擬化;XHydra
云計算[1-4]利用虛擬化技術將大規(guī)模的數據中心以基礎設施即服務(infrastructure as a service,IaaS)、平臺即服務(platform as a service,PaaS)、軟件即服務(software as a service,SaaS)的形式出租給付費用戶,云計算服務提供商通過虛擬化技術讓多個客戶操作系統(tǒng)共享同一臺物理主機,為多租戶提供服務。在這種多租戶環(huán)境下,云計算通過虛擬化的“服務整合”,有效降低了企業(yè)的運營成本,提高了管理效率,使得大量企業(yè)將其線上應用部署到IaaS。但這些都基于同一個前提——虛擬化平臺能保證同一臺物理主機上的不同虛擬機(virtual machine,VM)之間不能進行違反安全策略的相互訪問或干擾。
虛擬化技術作為云計算的重要組成部分,用戶越來越看重它們的安全性。然而虛擬化平臺能否滿足用戶的安全需求仍值得商酌。支持者認為虛擬機監(jiān)視器Hypervisor[5-6]作為整個虛擬化平臺的核心,相比于服務器操作系統(tǒng),具有較小的可信計算基[7](trusted computing base,TCB),且只提供少量的核心接口,因此其被認為是安全可信的。實際上,虛擬化平臺的安全性并不是僅由Hypervisor決定的,它還包括除Hypervisor外的Administrative VM(管理虛擬機)的安全性。Administrative VM管理Guest VM(用戶虛擬機),提供設備仿真等虛擬化服務,同時向Guest VM提供了大量的接口,導致其一旦被攻擊,會直接影響用戶虛擬機的安全,因此虛擬化平臺的TCB還應包括整個Administrative VM的TCB,如Xen[5-6,8-9]、KVM(kernel-based virtual machine)[10]、Hyper-V[11]等具有較小TCB的Hypervisor,但它們的TCB卻要大于通用的服務器操作系統(tǒng)。虛擬化平臺的TCB的大小并不能直接代表其面臨的風險,但平臺中各客戶虛擬機依賴的Administrative VM不僅增大了平臺的TCB,而且還包含大量具有較高特權且安全隔離性弱的虛擬化服務,直接影響虛擬化平臺的安全。如在Xen中,Dom0包含著系統(tǒng)引導、設備仿真、網絡、存儲、管理工具和XenStore等虛擬化服務,一旦其中一個服務被攻擊,將導致整個平臺陷于危險之中。綜上可得,如今常用的虛擬化平臺面臨著嚴重的安全威脅,即巨大的攻擊表面和龐大的TCB。
操作系統(tǒng)的研發(fā)歷史針對系統(tǒng)TCB龐大的問題提出了一種解決方案,即將系統(tǒng)分離成相互獨立的多個服務,這些服務相互隔離且僅擁有其完成相應功能的最小特權。由于虛擬化平臺和操作系統(tǒng)都是管理硬件資源的系統(tǒng)軟件,該方案同樣可用于解決虛擬化平臺TCB龐大的問題。同時,操作系統(tǒng)的開發(fā)實踐表明,將系統(tǒng)的安全性貫穿于系統(tǒng)的整個生命周期才能最大限度保證系統(tǒng)的安全性,如安全操作系統(tǒng)sel4[12-13]??梢钥闯觯瑢μ摂M化平臺架構的重新設計是提高其安全性的有效途徑之一,但這可能降低其整體功能特性,而無法滿足商用環(huán)境的需求,如安全虛擬機架構Nova[14]、BitVisor[15]等。
針對虛擬化平臺TCB龐大,攻擊表面巨大和全新設計平臺架構會損害系統(tǒng)功能完整性等問題,本文在Xen的基礎上,提出了一種基于Xen的安全虛擬機架構XHydra。該架構在不改變原有虛擬化平臺的功能和應用接口的基礎上,將Administrative VM分離為相互獨立的服務,并利用相互隔離且特權最小的迷你服務虛擬機(mini-service VM,簡稱迷你服務域)來承載相應的服務。同時,根據Administrative VM的功能接口及它與Hypervisor、Guest VM之間的關系設計了一個虛擬服務監(jiān)視器Hydravisor。XHydra通過Hydravisor實現(xiàn)對Administrative VM的虛擬化,用戶虛擬機與迷你服務域之間的雙向屏蔽,迷你服務域管理和用戶虛擬機與迷你服務域間的設備通道管理。最后,基于最小特權安全理論和Xen的安全模塊XSM(http://wiki.xensource.com/wiki/Xen_Security_ Modules_:_XSM-FLASK)設計了XHydra安全模塊,實現(xiàn)了虛擬機粒度的強制訪問控制,保證了迷你服務域和Guest VM僅擁有其被賦予的特權,進一步增強了平臺的安全性。
隨著虛擬化技術應用范圍的擴大,虛擬化平臺的安全性得到了深入的研究,相關研究人員提出了多種減小平臺TCB和增強平臺安全性的解決方案,主要分為以下3種類型。
(1)構建輕量級虛擬機監(jiān)視器。SecVisor[16]和BitVisor是以系統(tǒng)TCB的大小作為主要評估對象而設計出的輕量級虛擬機的代表。它們利用虛擬機監(jiān)視器的“干涉”能力來增強商用操作系統(tǒng)的安全特性,但它們不具備商用虛擬機監(jiān)視器可用于多租戶共享的特性,也不適用于多租戶共享的應用場景。
Zhang等人提出的CloudVisor[17]利用嵌套虛擬化技術將用戶與虛擬機之間以及虛擬機與云操作員之間進行隔離;其次將云操作員所能接觸到的數據全部加密,使得操作員接觸到的數據均為密文,且具有非常小的可信計算基。但它以硬件虛擬化為基礎,不能支持半虛擬化技術,并且依賴于嵌套虛擬化,有一定的性能損耗。
Nova將Administrative VM從系統(tǒng)中移除,并明確地將系統(tǒng)的TCB分離到虛擬機監(jiān)視器的多個用戶進程中。但它存在以下3點不足:首先,由于它需要提供硬件驅動而導致Hypervisor的TCB陡增;其次,它雖然支持同時運行多個不需修改內核的客戶操作系統(tǒng),但并不支持Windows系統(tǒng);最后,相比于其他架構,它的工具棧功能非常有限。
NoHype[18]提倡將虛擬機監(jiān)視器整體移出虛擬化平臺,并利用靜態(tài)分離技術將CPU、內存和其他外圍設備分配到各個虛擬機。這雖然可以使多個操作系統(tǒng)同時共享一臺物理主機,但失去了虛擬化技術的其他優(yōu)勢,如熱遷移、內存共享等。
(2)增強TCB組成部分的安全性。對于虛擬化平臺TCB的獨立組成部分的安全性,可以通過提高其代碼的質量和引入訪問控制限制其擁有特權來增強。如XenServer(http://xenserver.org/)的XAPI[19]工具棧就利用OCaml[20]言語的靜態(tài)類型來提高它的健壯性;Xen和Linux分別通過XSM與SELinux(https:// www.nsa.gov/research/selinux/)實施細粒度的訪問控制來實現(xiàn)系統(tǒng)安全性增強,但這些技術都不關注整個系統(tǒng)TCB的大小。
(3)分離虛擬化平臺TCB,減小每個組成部分的特權。Murray等人將虛擬機創(chuàng)建服務Builder移植到一個隔離特權虛擬機中[21],從而將Dom0的用戶空間從Xen的TCB中移除。但是Dom0的內核空間仍是TCB的一部分,其暴露的接口仍給系統(tǒng)留下安全隱患,如Dom0中的網絡驅動。Qubes-OS(https://www. qubes-os.org/doc/SystemDoc/)將網絡驅動、設備模型QEMU[22]從Dom0中分離出來,增強了桌面操作系統(tǒng)的安全性和隔離性。Butt等人提出的SSC[23]將Dom0分離成系統(tǒng)級Dom0和用戶級Dom0,有效防止了內部攻擊,解決了虛擬機管理不靈活的問題。Colp等人提出的Xoar[24]架構,從空間和時間上將Dom0徹底地分離為相互隔離的9部分,并限制每部分的特權,減小了系統(tǒng)的TCB。但它的分離策略相對固定,系統(tǒng)配置管理復雜,降低了系統(tǒng)的靈活性,難以實現(xiàn)虛擬機遷移需求。
本文在開源虛擬化平臺Xen的基礎上仿照Hydra (http://en.wikipedia.org/wiki/Lernaean_Hydra)的生理特征設計了一個虛擬機安全架構XHydra1))安全虛擬機架構XHydra的名稱來源于古希臘神話故事中的九頭蛇Hydra(海德拉),Hydra共有9個頭,其中的8個頭殺掉后會重生,而中間的那個頭卻“刀槍不入”。,其主要有以下4個安全目標:
(1)減小系統(tǒng)的TCB。整個虛擬化平臺的TCB由虛擬化平臺的核心模塊TCB組成,且其大小不受與其關聯(lián)的服務或應用的安全性影響。
(2)減少組件特權。系統(tǒng)中的每個組件只能擁有完成其相應功能的最小特權,同時只向其他組件或應用提供能完成相應功能的最小接口集,有效限制了攻擊表面,降低了一次成功攻擊帶來的危害。
(3)實現(xiàn)迷你服務域和用戶虛擬機之間雙向屏蔽。在XHydra中,迷你服務域和用戶虛擬機都不知道對方的存在,也不能區(qū)別它們所處的虛擬化環(huán)境是Xen還是XHydra,有效隔離了服務域和用戶虛擬機之間的攻擊流。
(4)不改變系統(tǒng)的易用性。系統(tǒng)提供給上層應用的接口不變,保證原始應用能夠方便快速地遷移到新平臺上,有利于新平臺的推廣應用。
3.1威脅模型
為了保證本文設計的架構安全可靠和設計思路清晰明確,進行以下若干假設。
(1)假設虛擬化平臺的Hypervisor是一個設計完美,實現(xiàn)正確,足夠小且可驗證的安全軟件層,能夠保證虛擬機運行環(huán)境之間的內存隔離、CPU隔離和其他通信機制等的隔離,且能限制虛擬機對物理資源和特權管理接口的訪問,但其無法保證虛擬運行環(huán)境之間I/O的有效隔離。
(2)假設虛擬化平臺的服務虛擬機提供的功能組件中存在Bug,且會給系統(tǒng)帶來安全威脅。若這些Bug被惡意利用,會威脅依賴于該功能組件的Guest VM的安全。眾所周知,Bug是無法完全消除的,因而本文提出的架構將它們隔離到系統(tǒng)安全邊界外。
(3)假設Guest VM不是系統(tǒng)TCB的一部分,用戶可以在Guest VM上發(fā)起任意惡意攻擊,且對其沒有任何“知識”要求。同時,本文不考慮虛擬化平臺管理員引入的安全威脅。
3.2 XHydra總體架構
在Xen中,由于系統(tǒng)管理員完全控制運行于同一臺物理主機上的所有虛擬機,很難使用戶相信虛擬機的機密性和完整性沒有被破壞,這在一定程度上阻礙了Xen虛擬化方案應用于對安全性要求較高的環(huán)境。
本文基于服務虛擬化模型提出的安全虛擬機架構XHydra如圖1所示。相比于Xen,XHydra中的服務監(jiān)視器Hydravisor及其管理的迷你服務域Mini-Service Domain代替了Xen架構中的Dom0,同時替換了Xen Hypervisor中的安全模塊。
XHydra將Dom0分離為多個Mini-Service Domain。Mini-Service Domain是指承載某項虛擬化服務,且僅擁有支持該虛擬化服務運行的最小運行環(huán)境的虛擬機,又稱迷你服務域。如網絡域是將Dom0中的網絡服務分離出來而成的迷你服務域,其被Hypervisor授權在Intel VT-d[25]或AMD IOMMU[26]等硬件虛擬化技術支持下直接訪問物理網卡,為多個DomU(用戶域)提供網絡服務。同時,為了避免惡意軟件或冗余功能代碼給Mini-Service Domain帶來安全威脅,Mini-Service Domain除了包含實現(xiàn)其被賦予的服務功能的代碼外,不包含其他無關代碼。對于每一個全虛擬化虛擬機HVM,XHydra都提供一個設備模型域為其專職提供設備虛擬化服務。
Hydravisor主要管理迷你服務域,并為用戶域虛擬一個與Dom0無差別的交互環(huán)境,同時實現(xiàn)迷你服務域和用戶域之間的雙向屏蔽。其根據既定的服務分離方案動態(tài)創(chuàng)建迷你服務域,并將相應的硬件設備分配給對應的迷你服務域,生成服務信息頁,構建虛擬服務模型,從而完成對Dom0的虛擬化。同時,當創(chuàng)建用戶域或進行一次新的服務分離方案部署時,Hydravisor需要創(chuàng)建用戶域和迷你服務域之間的設備連接,并對這些設備連接進行監(jiān)控,確保其安全可靠。最后,Hydravisor根據各用戶域對I/O資源的訪問請求狀況,通過Hypervisor調度迷你服務域來響應用戶域的I/O訪問請求。
XHydra架構仍基于Xen Hypervisor,對Hypervisor不做任何功能性的修改,僅替換了其原有的安全模塊,保證了Hypervisor提供給虛擬機的接口不變,且保證了迷你服務域有且僅有完成其被賦予的服務功能所需的最小特權。同樣,XHydra使用與Xen完全一樣的一個包含如虛擬機內存、CPU等運行時參數的配置文件來描述用戶域。當創(chuàng)建用戶域時,它們都使用管理工具棧(toolstack)來解析該配置文件,并根據解析的參數來為該用戶域構建運行環(huán)境。但XHydra在構建用戶域運行環(huán)境時需要Hydravisor完成其中的I/O運行環(huán)境的構建,使用戶域“認為”其運行于Xen上。而且,XHydra提供的管理接口與Xen無異。
Fig.1 Overall of XHydra architecture圖1 XHydra總體架構
3.3 XHydra服務分離
在Xen虛擬機架構中,Dom0作為系統(tǒng)的特權域,為虛擬機系統(tǒng)提供了如I/O虛擬化、XenStore、管理工具棧和Domain Builder等服務。顯然,將這些服務從Hypervisor中抽離出來,使其只提供如內存虛擬化、CPU虛擬化、虛擬機調度及事件通道等核心服務,將會有效降低Hypervisor的復雜度和減小攻擊表面。
但Xen為了保證Hypervisor的安全性和可靠性,卻使Dom0變得異常復雜和龐大。在Dom0中,既有位于內核空間的設備后端驅動等系統(tǒng)關鍵服務,也有位于用戶空間,具有較高特權的工具棧,它們不論是自身存在Bug或遭受惡意攻擊都會影響整個虛擬化平臺的安全,因而Dom0的內核空間和具有特權的用戶進程都是虛擬化平臺TCB的組成部分,且增大了整個平臺的攻擊表面。
在XHydra中,針對原架構中Dom0給系統(tǒng)引入龐大的TCB和巨大攻擊表面等問題,采用微內核的設計思想,將Dom0提供的服務按照一定規(guī)則進行劃分,并用相互隔離的迷你虛擬機來承載這些新劃分的服務,如圖2所示。
Fig.2 Service separation of XHydra圖2 XHydra服務分離示意圖
(1)服務S(service)表示XHydra中輔助Hypervisor為用戶提供一個完整的虛擬化平臺的原子服務組件。其主要有安全屬性SA(security attribute)和功能屬性FA(function attribute)這兩大屬性。
(2)服務劃分SP(service partitioning)表示XHydra中所有服務組成的集合的劃分。XHydra中所有服務組成的集合用S′={S(S.SA,S.FA)}表示,若由服務組成的集合′,′′滿足′′?′,′=′且′=?, 1≤i,j≤l,則SP= {,′′}。
(3)XHydra服務分離方案SsS(service separation scheme)是指根據SA和FA對XHydra中的服務進行一次劃分的方案。一種XHydra服務分離方案實際可以用一不存在沖突的服務劃分來表示,記作SsS?SP。
系統(tǒng)管理員執(zhí)行過程1即可產生其需要的XHydra服務分離方案,然后將生成的SsS部署到迷你服務虛擬機上。
過程1服務分離過程
1.將Dom0中的虛擬化服務按照功能特點和安全特點細化為原子服務S,得到服務集合S;
2. SP′:= Generate_Set_Partitionings(S);
3. SsS := {}
4. For all SP in SP′
5. Find_SsS := true
6. For all S′in SP
7. If (Conflict_Detection (S′) == true) //檢測服務之間是否存在安全或功能實現(xiàn)上的沖突
8. Find_SsS := false;
9. Break;
10. If (Find_SsS == true)
11. SsS := SsS∪{SP};
SsS即為所有可用的服務分離方案的集合,Hydravisor根據SsS自行選擇當前系統(tǒng)使用的服務分離方案。
3.4服務監(jiān)視器Hydravisor
Hydravisor將迷你服務域虛擬化為Dom0,同時將Dom0虛擬化為迷你服務域,為用戶域提供與Dom0無差別的服務接口,并實現(xiàn)迷你服務域和用戶域之間的雙向屏蔽。如圖1所示,Hydravisor主要由虛擬服務倉庫、虛擬服務控制器、服務域管理器、HydraStore和XHydra安全代理這5部分組成。其中虛擬服務倉庫主要用于存儲整個虛擬化平臺所有虛擬服務和與虛擬服務相關聯(lián)的信息。
3.4.1服務域管理器
服務域管理器(service domain manager,SDM)協(xié)同Hydravisor的其他功能組件管理虛擬服務承載虛擬機或服務域。SDM主要完成服務域創(chuàng)建、服務域重啟、服務域關閉、服務域暫停、服務域恢復、服務域銷毀和服務域調度等服務域管理任務。
服務域管理器根據XHydra服務分離方案創(chuàng)建服務域,并協(xié)同虛擬服務控制器實現(xiàn)服務域的全生命周期管理。同時,服務域管理器根據各虛擬服務上關聯(lián)的設備通道的I/O狀態(tài)來調度服務域,保證系統(tǒng)整體性能最優(yōu)。
3.4.2 HydraStore
HydraStore在XHydra中承擔系統(tǒng)配置信息的存儲和管理任務,實現(xiàn)迷你服務域與用戶域之間的雙向屏蔽,并建立用戶域和迷你服務域之間的服務依賴關系。
HydraStore的架構如圖3所示,其主要由Xen-Store、服務依賴映射器和服務依賴倉庫這3部分組成。其中,XenStore是將位于Xen虛擬化平臺Dom0中的XenStore無差別地移植到Hydravisor中形成的,其提供給用戶域和服務域的接口不變,即不需要對用戶域和迷你服務域做任何修改。
虛擬服務(virtual service,VS)是指XHydra服務分離方案SsS的元素(簡稱服務項),該服務項由單獨的迷你服務域承載。
服務依賴關系是指一個虛擬機的運行依賴于另一個虛擬機提供的虛擬服務,簡記為SDR=domi?domj,即虛擬機domi服務依賴于虛擬機domj。其中domj∈DomS∪{Hydravisor},domi∈DomU∪DomS∪{Hydravisor},DomS表示所有迷你服務域構成的集合,DomU表示所有用戶域構成的集合。
在HydraStore中,XenStore僅僅記錄了用戶域服務依賴于Hydravisor (DomU?Hydravisor)和Hydravisor服務依賴于服務域(Hydravisor?DomS)的相關配置信息,且用戶域和迷你服務域都只能通過XenStore提供的接口來獲取它們所需的配置信息。同時,XHydra使用與Xen相同的配置文件來描述虛擬機,從而在XHydra中,Hydravisor和用戶域、Hydravisor和迷你服務域之間互相可見,但用戶域和迷你服務域不知道對方的存在。即從用戶域來看,其無法分辨出運行環(huán)境是Xen虛擬化平臺還是XHydra虛擬化平臺,保證了XHydra與Xen之間的虛擬機無障礙遷移,并隔離了服務域和用戶域之間的攻擊流。
Fig.3 Architecture of HydraStore圖3 HydraStore架構
服務依賴映射器利用虛擬服務模型中的服務分離方案和XenStore中記錄的用戶域配置信息將DomU?Hydravisor映射為DomU?DomS,然后對DomU?Hydravisor和DomU?DomS進行依賴關系計算得到Hydravisor?DomS,并將其存儲到XenStore中,以保證迷你服務域能夠根據XenStore正確無誤地提供相應服務。
服務依賴倉庫存儲著用戶域和迷你服務域之間的依賴關系,以及基于該依賴關系下的設備依賴關系。服務依賴映射器實時監(jiān)控XenStore中配置信息的變動,當配置信息改變時,其對變動的配置信息進行映射,并將映射結果記錄在服務依賴倉庫中,通知虛擬服務控制器服務依賴關系或該依賴關系下的設備依賴關系已改變。
3.4.3虛擬服務控制器
虛擬服務控制器(virtual service controller,VSC),是Hydravisor的控制中心,它直接管理虛擬服務模型中的虛擬服務及與虛擬服務相關聯(lián)的設備通道(服務虛擬機后端設備與被服務的虛擬機前端設備之間進行通信的通道),并協(xié)同服務域管理器、Hydra-Store等組件共同完成對Dom0的虛擬化,其虛擬化過程如過程2所示。VSC與Hydravisor其他組件間的關系如圖4所示。
過程2 Hydravisor虛擬化Dom0的過程
1.根據服務分離模型生成服務分離方案SsS ;
6. HydraStore完成DomU對DomS的服務依賴關系映射;
其中Admin表示虛擬平臺管理員或具有特權的用戶;形如AB的表達式表示A對B以?實施控制θ,θ表示控制命令,?表示控制參數;在形如β(α)的表達式中,α表征β的屬性;形如?||φ的表達式表示?與φ之間是并列關系;形如{σ}表示與σ同一類型的所有實例的集合。
Fig.4 Relationships between virtual service controller and other components of Hydravisor圖4 虛擬服務控制器與Hydravisor其他組件間的關系
XHydra安全模塊(XHydra security module,XHSM)在Xen安全模塊XSM的基礎上,引入具有高抽象策略的基于接口的訪問控制模型,以確保迷你服務域、用戶域僅擁有其被賦予的最小特權,同時簡化安全策略和安全策略管理。
4.1基于接口的訪問控制模型
基于接口的訪問控制模型(interface based access control model, IFBAC)以最小特權安全理論為安全準則,根據主體的安全標識、接口的安全標識和訪問控制策略決定主體能否訪問相應接口。IFBAC實施強制訪問控制,且其訪問控制策略能直觀地體現(xiàn)相應的安全目標。
(1)IFBAC元素
定義和說明如表1所示。
Table 1 Elements of IFBAC and their descriptions表1 IFBAC模型定義的部分元素及說明
(2)系統(tǒng)狀態(tài)表示
系統(tǒng)狀態(tài)由主體、客體、接口及標識主體、客體和接口的訪問類屬性函數組成,狀態(tài)v∈V可用一個有序三元組(S,I,f)表示。定義規(guī)則γ為函數γ:R×V→D×V,即對給定請求和狀態(tài),規(guī)則γ決定系統(tǒng)產生的下一個響應和狀態(tài),其中判定集D中的yes表示該請求被執(zhí)行,no表示該請求被拒絕,?表示規(guī)則γ不能處理該請求。
(3)安全狀態(tài)定義
狀態(tài)v=(S,I,f)是安全的,則當且僅當有s∈S?[I∈A(S)?fS?fI]成立,其中?表示前者支配后者,即f(S)?f(I),A(S)表示能夠被S訪問的所有接口。
(4)狀態(tài)轉換規(guī)則
定義域:Ri=(Sj,Ik)∈R,R的定義域記為{ } R。
顯然,根據系統(tǒng)安全狀態(tài)定義,當主體Sj的安全級支配接口Ik的安全級時,Sj可調用Ik,且系統(tǒng)的狀態(tài)仍然是安全的。
4.2 XHydra訪問控制框架
XHydra訪問控制框架如圖5所示,其訪問控制的粒度是虛擬機,并在主體對客體訪問時,實施了兩層訪問控制。當主體S以接口I的方式訪問客體O時,首先由訪問控制點1判定主體S能否訪問接口I,若能訪問,則轉向訪問控制點2,由它判定主體S能否訪問客體O,否則主體S不能以接口I的方式訪問客體O。
Fig.5 Architecture of XHydra access control module圖5 XHydra訪問控制框架
訪問控制點1采用基于接口的訪問控制模型,在XHydra中IFBAC的主體為用戶域或迷你服務域,接口為Hypervisor向虛擬機提供的超級調用,記為I∈{Hypercall1, Hypercall2, Hypercallq},權限標識分別表示主體擁有的權限和訪問接口需要的權限,記為P。每個主體可以擁有多個權限標識,而每個接口則有且僅有一個權限標識,同時它們權限標識的集合代表它們的安全標識。XHydra中權限標識劃分示例如表2所示。
Table 2 Example of permissions identification divisionof IFBAC in XHydra表2 XHydra中IFBAC模型的權限標識劃分示例
訪問控制點2利用XSM中的Flask安全模塊來實施訪問控制,F(xiàn)lask相關安全定義和安全策略與其在XSM中的相關信息相同,因而不需要對其做任何改動。
本文基于開源虛擬化平臺Xen4.4實現(xiàn)了XHydra的原型系統(tǒng),能夠良好地支持X86架構的CPU。由于Fedora(https://getfedora.org/)操作系統(tǒng)對Xen虛擬化平臺支持較好,且Fedora Project開源社區(qū)允許用戶自由修改和發(fā)布Fedora,因而采用Fedora20及其相應的開發(fā)工具和程序庫來對XHydra原型系統(tǒng)進行開發(fā)工作。
5.1 XHydra服務分離
根據XHydra服務分離方案,將Dom0中承載的服務進行分離,并將分離后的服務部署到客戶操作系統(tǒng)與服務相契合的虛擬機上。
XHydra原型系統(tǒng)根據過程1生成一種服務分離方案,在該方案中,分離出的服務、承載該服務的客戶操作系統(tǒng)和服務的功能描述如表3所示,但其僅代表XHydra服務分離方案中的一種。
Table 3 Service separation scheme of XHydra prototype表3 XHydra原型系統(tǒng)服務分離方案
下面以Network Service分離為例描述服務分離實現(xiàn)的過程。首先定制承載Network Service的操作系統(tǒng)Fedora20,定制后的Fedora20中僅保留PCI前端驅動、物理網卡驅動、后端網卡驅動等驅動程序,libx-enstore.so、libxenlight.so等Xen運行環(huán)境依賴庫,相關網絡腳本和上述組件運行依賴的最小運行環(huán)境。隨后通過PCI Service將物理網卡分配給網絡域,最后創(chuàng)建網絡域,并將相關信息注冊到XenStore中,當其正常運行后即可提供網絡虛擬化服務。
5.2 Hydravisor
Hydravisor是在Mini-OS(http://www.cs.uic.edu/~ spopuri/minios.html)的基礎上實現(xiàn)的。Mini-OS是隨Xen發(fā)布的一個運行在半虛擬化環(huán)境下的輕量級操作系統(tǒng)內核,它具有非常小的可信計算基,且已經實現(xiàn)了對XenStore的移植,可以有效地減少開發(fā)工作量。在Hydravisor的實現(xiàn)過程中,主要有兩個關鍵點:
第一個關鍵點是實現(xiàn)用戶域和迷你服務域之間的雙向屏蔽。要實現(xiàn)迷你服務域和用戶域之間的相互隔離,則要求用戶域不知道為其提供服務的迷你服務域,同樣迷你服務域也不知道它在為用戶域提供服務,但依賴于XenStore構建的前后端驅動模型則要求迷你服務域和用戶域之間知道對方存在,如用戶域將內存頁共享給服務域時,需要知道迷你服務域的ID。因而通過實現(xiàn)HydraStore,將用戶域和迷你服務域之間的關系映射為用戶域服務依賴于Hydravisor和Hydravisor服務依賴于迷你服務域,保證用戶域將Hydravisor當作Dom0,而迷你服務域將Hydravisor當作用戶域,很好地解決了關鍵點一面臨的難題。實現(xiàn)HydraStore需要在XenStore的基礎上添加480行ocaml代碼,但對XenStore不做任何改變。
第二個關鍵點就是在第一個關鍵點的基礎上如何實現(xiàn)用戶域和迷你服務域之間的前后端設備通信。由于不能直接運用Xen的前后端驅動模型,又不能改變用戶域原有的前后端通信機制,因而如圖4所示,通過設備通道來同時實現(xiàn)對服務域的后端設備和用戶域的前端設備的虛擬,即設備通道對于用戶域是后端設備,而對于迷你服務域是前端設備,用戶域與設備通道、設備通道與迷你服務域即可按照Xen前后端設備模型進行正常通信,從而避免了對前后端驅動的修改。但是不同的設備,其前后端驅動有一定的差異,因而為了適配不同的設備,需要實現(xiàn)與設備對應的設備通道,但有大于90%的設備通道代碼可以重用。
6.1安全性分析
眾所周知,系統(tǒng)安全研究中最大挑戰(zhàn)就是對系統(tǒng)安全的評估,對于XHydra的安全性評估也不例外。針對這一難題,本文不直接對XHydra的安全性進行評估,而通過將其與Xen進行對比來評估安全性。主要通過對系統(tǒng)的TCB大小、攻擊表面和系統(tǒng)的安全機制來對比分析XHydra的安全性,并通過模擬攻擊實驗證明安全對比分析的正確性。
在XHydra中,各迷你服務域對物理資源和虛擬資源的訪問都要受到Hypervisor的控制,同時相互隔離的各迷你服務域僅具備完成相應功能服務的最小特權和支持服務正常運行的最小運行環(huán)境。Hydravisor實現(xiàn)了迷你服務域之間,以及迷你服務域和用戶虛擬機之間的邏輯隔離。因而迷你服務域不應成為系統(tǒng)的TCB,而Hydravisor是實現(xiàn)Dom0虛擬化的核心,且具有較高的特權,所以Hydravisor應該成為XHydra的TCB的一部分。XHydra和Xen基于相同的Hypervisor,因而在除去Hypervisor的TCB的條件下,系統(tǒng)的可信計算基從原來Dom0的7 600 KLOC減少到Hydravisor的20 KLOC。
XHydra的各迷你服務域均按照其提供的服務進行細粒度剪裁定制,即除了該服務和支撐該服務運行的最小運行環(huán)境外,其他的所有軟件和文件等都被移出迷你服務域。顯然各迷你服務域的攻擊表面僅來自于其承載的服務。而Dom0的攻擊表面來源除了其承載的服務,還包括其他與虛擬化無關的進程和服務。因此,Dom0的攻擊表面明顯大于各迷你服務域的攻擊表面,而且各迷你服務域的攻擊表面被隔離,使攻擊者更加難以實施攻擊。
在Xen中,Dom0所有服務都運行在最高特權下,且從Hypervisor這一層很難對它們實施訪問控制,其中一個服務被攻陷,則整個虛擬化平臺就被攻擊者控制,導致其停止提供服務,進而使其上運行的虛擬機被強迫關機下線,并且需要較長時間才能恢復。而在XHydra中,通過Hydravisor既能對服務實施訪問控制,又可以通過XHydra安全模塊限制各迷你服務域的特權。同時,Hydravisor可以隔離用戶虛擬機與迷你服務域之間的雙向攻擊流,利用設備通道來避免由迷你服務域的崩潰而引發(fā)的虛擬化平臺崩潰,且迷你服務域在崩潰后,將被其立即恢復到正常運行狀態(tài)。
為了模擬Dom0和XHydra原型系統(tǒng)的網絡域被惡意攻擊后關機的場景,分別在Dom0和網絡域植入具有root運行權限的自啟動腳本hacker.sh,其代碼如圖6所示。當分別啟動XHydra原型系統(tǒng)和Xen 10 min后,它們的運行狀態(tài)如圖7所示。其中,Xen直接關機停止運行,而XHydra原型系統(tǒng)仍正常運行,僅用戶域約有40 s不能聯(lián)網(網絡域重啟導致),但其網絡連接顯示正常(這是由于設備通道為用戶域虛擬了后端虛擬設備,其仍可正常連接)。該模擬攻擊實驗很好地證明了上述安全分析的正確性。綜上分析可知,XHydra的安全性相對于Xen有很大的提升。
Fig.6 Code of attacking hacker.sh圖6 模擬攻擊腳本hacker.sh的代碼
Fig.7 States of Xen and XHydra when their servicedomains were attacked圖7 Xen和XHydra的服務域被攻擊后各自狀態(tài)示意圖
6.2實驗性能分析
由于XHydra相對于Xen虛擬化平臺最根本的改變是通過Hydravisor實現(xiàn)了對Dom0的虛擬化,即XHydra利用Hydravisor和迷你服務域替換了Xen虛擬化平臺中的Dom0,因而XHydra和Xen虛擬化平臺的性能對比實驗主要比較運行于它們之上的用戶域虛擬機的I/O處理性能和服務域虛擬機的內存開銷。本文所有實驗的硬件環(huán)境為支持Intel VT-x的Intel Core i3-2130 3.39 GHz的四核處理器,Lenovo QiTianM4350主板,500 GB Western Digital磁盤和Realtek RTL8111/8186/8411網卡。性能對比實驗的軟件配置如表4所示。
Table 4 Software configuration of performance comparison experiments between XHydra and Xen表4 XHydra和Xen性能對比實驗的軟件配置
XHydra和Xen的客戶域的配置均為2個虛擬CPU,1 GB內存,1個虛擬網卡和10 GB的虛擬磁盤。XHydra每個服務域配置1個虛擬CPU,內存的配置如表5所示,Hydravisor配置為128 MB內存和2個虛擬CPU;Xen中的Dom0配置4個虛擬CPU,1 GB的內存。
Table 5 Memory configuration of Mini-ServiceDomains of XHydra prototype表5 XHydra原型系統(tǒng)中各迷你服務域的內存配置
由表5可知在XHydra的原型系統(tǒng)中各迷你服務域和Hydravisor的內存開銷總和為1 024 MB。其中不包括PCI Service Domain和Qemu Domain的內存開銷,因為PCI Service Domain在服務分離完成后,則被Hydravisor銷毀。同樣Qemu Domain作為HVM的設備模型,其內存開銷應該計入用戶域的性能開銷。XHydra原型系統(tǒng)中非用戶域的內存開銷和Xen 中Dom0的內存開銷基本持平,當然XHydra的服務分離方案有很多種,其內存開銷也各不相同,但都在用戶可接受范圍之內。
XHydra和Xen虛擬化平臺的I/O性能對比實驗主要對比它們的存儲性能和網絡性能。存儲性能通過PostMark(http://openbenchmarking.org/test/pts/postmark)工具來測試,網絡性能通過命令scp在千兆局域網環(huán)境下拷貝文件來測試。
PostMark是由著名的NSA軟件承包商NetApp開發(fā)的一款用來測試產品后端存儲性能的測試工具,主要用于測試文件系統(tǒng)在郵件系統(tǒng)或電子商務系統(tǒng)中的性能,而郵件系統(tǒng)和電子商務系統(tǒng)等應用是通過云計算進行服務整合的主要對象,因而通過PostMark的存儲性能測試可以較好地反映虛擬化平臺的存儲性能。實驗中,PostMark未改變的參數配置如表6所示,變動的參數取PostMark的3種經典配置參數,分別為表示初始創(chuàng)建文件數量的number和表示create/delete和read/append事務執(zhí)行次數的transactions,分別取值為(1 000,50 000)、(20 000,50 000)和(20 000,100 000)。測試結果如圖8~圖13所示,無論是在半虛擬化環(huán)境下,還是全虛擬化環(huán)境下,XHydra的磁盤性能的各項測試結果相對于Xen的各項測試結果降低了1.0%~2.5%。同時,半虛擬化環(huán)境下的存儲性能均優(yōu)于全虛擬化環(huán)境下的存儲性能,這是由于I/O虛擬化方式不同帶來的性能差異。
Table 6 Parameters configuration of PostMark表6 PostMark未改變的參數配置
Fig.8 Transactions performed per second in paravirtualization environment圖8 半虛擬化環(huán)境下每秒執(zhí)行的事務數量
Fig.9 Transactions performed per second in full virtualization environment圖9 全虛擬化環(huán)境下每秒執(zhí)行的事務數量
Fig.10 Data read per second in paravirtualization environment圖10 半虛擬化環(huán)境下每秒讀取的數據大小
Fig.11 Data read per second in full virtualization environment圖11 全虛擬化環(huán)境下每秒讀取的數據大小
用Linux命令scp遠程拷貝大小分別為512 MB 和2 GB的文件,并將文件分別寫入到/dev/null(消除磁盤帶來的影響)和磁盤,以文件拷貝速度來衡量網絡的吞吐量。測試結果如圖14和圖15所示,在半虛擬化環(huán)境下,XHydra的網絡吞吐量在各項測試中相對于Xen降低了2%~3%。在全虛擬化環(huán)境下,XHydra的網絡吞吐量在某些測試中略低于Xen,在某些測試中還略高于Xen,這是由于將設備模型QEMU從Dom0中分離出來后帶來的性能提升。
Fig.12 Data written per second in paravirtualizationenvironment圖12 半虛擬化環(huán)境下每秒寫入的數據大小
Fig.13 Data written per second in full virtualizationenvironment圖13 全虛擬化環(huán)境下每秒寫入的數據大小
Fig.14 Network throughput in paravirtualizationenvironment圖14 半虛擬化環(huán)境下網絡吞吐量
Fig.15 Network throughput in full virtualizationenvironment圖15 全虛擬化環(huán)境下網絡吞吐量
綜上可得,XHydra的性能相對于Xen降低了大約3%,但XHydra相對于Xen給用戶提供了更高的安全保障,在信息安全形式日益嚴峻的今天,損失不到3%的性能換來系統(tǒng)的安全性增強,對用戶來說完全是可以接受的。
隨著虛擬化技術的發(fā)展,虛擬化平臺的安全已經成為人們關注的焦點。在現(xiàn)有虛擬化架構下,由于用戶對更多企業(yè)級的虛擬化特性的需求不斷增加,導致管理虛擬機臃腫復雜,給虛擬化平臺帶來了大量的安全風險和不穩(wěn)定因素。
本文提出的安全架構XHydra采用微內核的設計準則和最小特權的安全思想,將Xen虛擬化平臺的管理虛擬機Dom0虛擬為多個相互隔離且特權最小的迷你服務域,同時利用Hydravisor實現(xiàn)了用戶虛擬機與迷你服務域之間的雙向屏蔽。通過實驗分析表明,在不改變任何功能特性和用戶使用習慣的基礎上,XHydra相對于Xen具有更小的可信計算基和更高的可靠性,但會有3%左右的性能損耗。XHydra雖然是基于Xen虛擬化平臺設計實現(xiàn)的,但其設計思想仍可用于與Xen架構類似的虛擬化平臺(如Hyper-V)的安全性增強。
由實驗可知,XHydra原型系統(tǒng)的性能相對于Xen降低了3%左右,造成系統(tǒng)性能下降的原因除了系統(tǒng)實現(xiàn)外,主要是Hypervisor的調度算法與XHydra架構不相適應。同時,XHydra并不能防御來自內部的攻擊,且目前支持的服務分離方案僅實現(xiàn)了兩種,那么對系統(tǒng)的進一步完善和優(yōu)化系統(tǒng)性能將是下一步需要進行的工作。
References:
[1] Gomes D G, Calheiros R N, Tolosana-Calasanz R. Introduction to the special issue on cloud computing[J]. Computers and Electrical Engineering, 2015, 42: 31-32.
[2] Lin Chuang, Su Wenbo, Meng Kun, et al. Cloud computing security: archtecture, mechnism, modeling[J]. Chinese Journal of Computers, 2013, 36(9): 1765-1784.
[3] He Wu, Xu Lida. A state-of-the-art survey of cloud manufacturing[J]. International Journal of Computer Integrated Manufacturing, 2015, 28(3): 239-250.
[4] Huo Zheng, Meng Xiaofeng, Xu Jianliang. Privacy-preserving query processing in cloud computing[J]. Journal of Frontiers of Computer Science and Technology, 2012, 6(5): 385-396.
[5] Barham P, Dragovic B, Fraser K, et al. Xen and the art of virtualization[C]//Proceedings of the 19th ACM Symposium on Operating Systems Principles, Bolton Landing, USA, Oct 19-22, 2003. NewYork, USA:ACM, 2003: 164-177.
[6] Pratt I, Fraser K, Hand S, et al. Xen 3.0 and the art of virtualization[C]//Proceedings of the 2005 Linux Symposium, Ottawa, Canada, Jul 20-23, 2005. New York, USA: ACM, 2005: 65-77.
[7] Mohanty S D, Thotakura V, Ramkumar M. An efficient trusted computing base for MANET security[J]. Journal of Information Security, 2014, 5(4): 192-206.
[8] Boen J. Researches on the virtual iecurity issues based on Xen cloud computing platform[J]. Applied Mechanics & Materials, 2014, 687: 2858-2861.
[9] Kumar P. Open source virtual machines on Xen: creation, implementaion and analysis[J]. Journal of Information Sciences and Computing Technologies, 2015, 3(1): 186-190.
[10] Kivity A, Kamay Y, Laor D, et al. KVM: the Linux virtual machine monitor[C]//Proceedings of the 2007 Linux Symposium, Ottawa, Canada, Jun 27-30, 2007: 225-230.
[11] Rzecki K, Nied?wiecki M, So?nicki T, et al. Experimental verification of Hyper-V performance isolation quality level [J]. Computer Science, 2014, 15(2): 159-172.
[12] Murray T, Matichuk D, Brassil M, et al. seL4: from general purpose to a proof of information flow enforcement[C]// Proceedings of the 2013 IEEE Symposium on Security & Privacy, Berkeley, USA, May 19- 22, 2013. Piscataway, USA: IEEE, 2013: 415-429.
[13] Elphinstone K, Heiser G. From L3 to seL4 what have we learnt in 20 years of L4 microkernels?[C]//Proceedings of the 24th ACM Symposium on Operating Systems Principles, Farmington, USA, Nov 3-6, 2013. NewYork, USA: ACM, 2013: 133-150.
[14] Steinberg U, Kauer B. NOVA: a microhypervisor-based secure virtualization architecture[C]//Proceedings of the 5th European Conference on Computer Systems, Paris, France, Apr 13-16, 2010. New York, USA:ACM, 2010: 209-222.
[15] Hirano M, Chadwick D W, Yamaguchi S. Use of role based access control for security-purpose hypervisors[C]//Proceedings of the 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications, Melbourne, Jul 16-18, 2013. Piscataway, USA: IEEE, 2013: 1613-1619.
[16] Sun Jianhua, Chen Hao, Chang Cheng, et al. Kernel code integrity protection based on a virtualized memory architecture[J]. Computing and Informatics, 2013, 32(2): 295-311.
[17] Zhang Fengzhe, Chen Jin, Chen Haibo, et al. CloudVisor: retrofitting protection of virtual machines in multi- tenant cloud with nested virtualization[C]//Proceedings of the 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, Oct 23-26, 2011. New York, USA: ACM, 2011: 203-216.
[18] de Souza W, Tomlinson A. Understanding threats in a cloud infrastructure with no hypervisor[C]//Proceedings of the 2013 World Congress on Internet Security, London, UK, Dec 9-12, 2013. Piscataway, USA: IEEE, 2013: 128-133.
[19] Almurayh A, Semwal S. Controlling Xen cloud platform via smart phones[C]//Proceedings of the 2013 IEEE 14th International Conference on Information Reuse and Integration, San Francisco, USA, Aug 14-16, 2013. Piscataway, USA: IEEE, 2013: 676-683.
[20] Leroy X, Doligez D, Frisch A, et al. The OCaml system release 4.02[R]. Institut National de Recherche en Informatique et en Automatique, 2014.
[21] Murray D G, Milos G, Hand S. Improving Xen security through disaggregation[C]//Proceedings of the 4th ACMSIGPLAN/SIGOPS International Conference on Virtual Execution Environments, Seattle, USA , Mar 5- 7, 2008. NewYork, USA:ACM, 2008: 151-160.
[22] Liang Yi, Shao Yuanhua, Yang Guowu, et al. Register allocation for QEMU dynamic binary translation systems[J]. International Journal of Hybrid Information Technology, 2015, 8(2): 199-210.
[23] Butt S, Lagar-Cavilla H A, Srivastava A, et al. Self-service cloud computing[C]//Proceedings of the 19th ACM Conference on Computer and Communications Security, Raleigh, USA, Oct 16-18, 2012.
[24] Colp P, Nanavati M, Zhu J, et al. Breaking up is hard to do: security and functionality in a commodity hypervisor[C]// Proceedings of the 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, Oct 23-26, 2011. New York, USA:ACM, 2011: 189-202.
[25] Yao Jiewen, Zimmer V J. White paper a tour beyond BIOS using Intel?VT-d for DMA Protection in UEFI BIOS. Intel Corporation, 2015.
[26] Malka M, Amit N, Ben-Yehuda M, et al. rIOMMU: efficient IOMMU for I/O devices that employ ring buffers[C]// Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems, Istanbul, Turkey, Mar 14-18, 2015. New York, USA: ACM, 2015: 355-368.
附中文參考文獻:
[2]林闖,蘇文博,孟坤,等.云計算安全:架構,機制與模型評價[J].計算機學報, 2013, 36(9): 1765-1784.
[4]霍崢,孟小峰,徐建良.云計算中面向隱私保護的查詢處理技術研究[J].計算機科學與探索, 2012, 6(5): 385-396.
YANG Jie was born in 1990. He is an M.S. candidate at PLA Information Engineering University. His research interests include cloud security, virtualization security and computer security model, ect.楊杰(1990—),男,四川巴中人,解放軍信息工程大學碩士研究生,主要研究領域為云安全,虛擬化安全,計算機安全模型等。
ZHU Zhiqiang was born in 1961. He received the Ph.D. degree in cloud computing from Wuhan University in 2011. Now he is a professor and M.S. supervisor at PLA Information Engineering University. His research interests include information security strategy, cloud security and trusted computing, etc.朱智強(1961—),男,河南信陽人,2011年于武漢大學獲得博士學位,現(xiàn)為解放軍信息工程大學科研部長、教授、碩士生導師,主要研究領域為信息安全戰(zhàn)略,云計算安全,可信計算等。
Abstract:This paper presents XHydra, a Xen-based virtual machine (VM) security architecture, which focuses on the problems of Xen?s administrative VM with bloated services and a large aggregate TCB (trusted computing base). XHydra separates Dom0 into single-purpose mini-service domains with least privilege and isolated runtime environment, based on the modularity and isolated principles used in micro-kernels.And, this architecture manages the separated mini-service domains and bi-directional shields between DomU and mini-service domains, and bridges the device channel, the device communication between DomU and mini-service domain is supported through an ingenious service monitor called Hydravisor. Finally, this paper gives a prototype XHydra based on Xen4.4, which improves the security of virtualization platform and proves that XHydra is a feasible architecture. Experiments show that, for the benchmark tests about disk performance and network performance of the prototype system, the proposed approach just incurs about 3% performance overhead compared to Xen.
Key words:Xen; security virtual machine; least privilege; service separation; Dom0 virtualization; XHydra
doi:10.3778/j.issn.1673-9418.1507024 E-mail: fcst@vip.163.com
文獻標志碼:A
中圖分類號:TP309