代煒琦,鄒德清,金海,夏妍
(華中科技大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢 430074)
云環(huán)境面向虛擬域的安全狀態(tài)一致性保障機(jī)制研究
代煒琦,鄒德清,金海,夏妍
(華中科技大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢 430074)
由于云環(huán)境虛擬化特性及高動態(tài)性(回滾、遷移等操作)給虛擬域帶來了時間、空間狀態(tài)不一致,從而造成了嚴(yán)重的安全威脅。針對該問題,提出了云環(huán)境虛擬域安全基礎(chǔ)架構(gòu)、時間安全狀態(tài)一致性機(jī)制、空間安全狀態(tài)一致性機(jī)制,有效地保障了云虛擬域安全狀態(tài)的一致性,有助于提高公共服務(wù)效率和信息安全可控性。
云計算;可信計算;虛擬域;虛擬機(jī)回滾;狀態(tài)一致性
云計算在給人們帶來巨大便利的同時也產(chǎn)生了不可忽視的安全問題。自2013年“棱鏡”事件被曝光之后,世界各國紛紛開始關(guān)注信息安全,云安全是其中必不可少的一部分。近年來,云安全事件頻出:2014年8月,蘋果iCloud服務(wù)遭遇攻擊,致使租戶隱私數(shù)據(jù)泄露以及服務(wù)中斷等后果;2015年6月,美國聯(lián)邦人事管理局發(fā)生泄密事件,這起事件影響到2 210萬人。云安全問題使許多企業(yè)和機(jī)構(gòu)對云計算望而卻步。
目前,我國許多關(guān)鍵應(yīng)用領(lǐng)域,如航空、航天、金融、證券、交通、醫(yī)療、電子政務(wù)等都開始與云計算進(jìn)行融合。2014年10月,北京市海淀區(qū)政府借助阿里云計算建成中國首個統(tǒng)一的綜合性政務(wù)云平臺[1]。通過云計算構(gòu)建智慧城市的模式并不是單例,2015年5月上海市政府也與阿里巴巴集團(tuán)簽署了智慧城市相關(guān)戰(zhàn)略合作協(xié)議。云計算以其低廉的使用成本和高性價比,在推動數(shù)字化政、企平臺的建設(shè)中起到了不可或缺的作用。如圖1所示,在云環(huán)境中,不同企業(yè)或政府機(jī)構(gòu)的云服務(wù)都是以云虛擬域的形式存在。云虛擬域是云提供商分配給某個企業(yè)或機(jī)構(gòu)用以完成特定服務(wù)的一組跨物理節(jié)點的虛擬機(jī)。這種以虛擬域為單位的服務(wù)模式越來越多地被各類企業(yè)與公共服務(wù)機(jī)構(gòu)所采用,然而云環(huán)境中虛擬機(jī)回滾、遷移特性給虛擬域在時間和空間上增加了不確定性與動態(tài)性,使現(xiàn)有的方法很難對云虛擬域的計算資源和服務(wù)進(jìn)行有效的監(jiān)控,同時云虛擬域時空狀態(tài)變化也給多虛擬機(jī)關(guān)聯(lián)服務(wù)的共享數(shù)據(jù)帶來安全隱患,使云服務(wù)的安全性得不到保障。因此,基于虛擬域的劃分模式以及安全監(jiān)控模式提出云虛擬域安全構(gòu)建機(jī)制會大大有利于云環(huán)境的安全構(gòu)建,保證云虛擬域的安全可信。
云虛擬域安全構(gòu)建體現(xiàn)在3個重要方面。1)云環(huán)境虛擬域安全基礎(chǔ)架構(gòu),惡意攻擊者利用操作系統(tǒng)漏洞破壞云租戶應(yīng)用程序的執(zhí)行,給構(gòu)建安全可信的云環(huán)境虛擬域帶來了巨大的挑戰(zhàn)。2)時間安全狀態(tài)一致性,云環(huán)境虛擬域的狀態(tài)回滾增加了時間狀態(tài)的動態(tài)性,給保障虛擬域時間安全狀態(tài)一致性帶來了巨大的挑戰(zhàn)。3)空間安全狀態(tài)一致性,跨節(jié)點多虛擬機(jī)加入或退出虛擬域以及虛擬機(jī)遷移增加了空間狀態(tài)的動態(tài)性,給保障虛擬域空間安全狀態(tài)一致性帶來了巨大的挑戰(zhàn)。
下面將從云環(huán)境虛擬域安全基礎(chǔ)架構(gòu)、云環(huán)境虛擬域安全回滾機(jī)制以及云環(huán)境虛擬域安全管理機(jī)制研究3個方面介紹國內(nèi)外現(xiàn)狀。
1) 云環(huán)境虛擬域安全基礎(chǔ)架構(gòu)研究
硬件可信平臺模塊(TPM, trusted platform module)[2]提供了平臺狀態(tài)寄存器(PCR,platform configuration register)、信任鏈、密鑰管理、遠(yuǎn)程證明等安全手段。但是由于TPM的設(shè)計并未考慮到云環(huán)境的遷移特性,在云環(huán)境中使用物理TPM并不適合,已經(jīng)有研究說明了這一問題。例如Flicker[3,4]利用動態(tài)可信度量根構(gòu)建安全執(zhí)行環(huán)境來保護(hù)應(yīng)用程序代碼片段,但由于 TPM的限制,F(xiàn)licker創(chuàng)建安全執(zhí)行環(huán)境時,需要暫停整個物理硬件的工作,這并不適合多租戶并行的云環(huán)境。針對虛擬化環(huán)境中單一TPM無法滿足所有的虛擬機(jī)安全需求的問題,提出了虛擬化的可信平臺模塊(vTPM)[5],它保留了傳統(tǒng)TPM的安全特性。但仍然不適用于云環(huán)境,只是簡單地將傳統(tǒng)架構(gòu)進(jìn)行虛擬化,依然存在許多安全漏洞和威脅。
圖1 云虛擬域場景描述
在可信計算的其他應(yīng)用方面,CloudVisor[6]利用嵌套式虛擬機(jī)化技術(shù)和權(quán)限分離的思想來對云租戶執(zhí)行環(huán)境進(jìn)行保護(hù),使其安全性不受管理域的影響。項國富[7]等提出一種虛擬機(jī)化的監(jiān)控框架,用于監(jiān)控虛擬機(jī)的安全行為。在可信云服務(wù)方面,CRISWELL等[8]提出基于編譯器插裝和傳統(tǒng)的SVM(secure virtual machine)技術(shù),構(gòu)建可信硬件層,實現(xiàn)對應(yīng)用程序的全面保護(hù)。MiniBox[9]系統(tǒng)結(jié)合了TrustVisor[10]的內(nèi)存隔離機(jī)制和Native Client[11]的沙盒檢測,為應(yīng)用和操作系統(tǒng)提供雙向保護(hù)。通過將應(yīng)用程序的系統(tǒng)調(diào)用接口分為敏感調(diào)用和不敏感調(diào)用,在安全隔離的環(huán)境下處理安全敏感調(diào)用,有效防御了Iago攻擊。
目前,針對云環(huán)境虛擬域基礎(chǔ)架構(gòu)的安全措施主要是基于傳統(tǒng)安全手段,云環(huán)境虛擬機(jī)的遷移、回滾以及虛擬機(jī)加入、退出都使云環(huán)境虛擬域具有極高動態(tài)性和不確定性,現(xiàn)有的解決方案無法解決云環(huán)境虛擬機(jī)動態(tài)性帶來的安全威脅。需要針對虛擬域動態(tài)性導(dǎo)致的安全狀態(tài)不一致問題提出云環(huán)境虛擬域安全基礎(chǔ)架構(gòu)。
2) 云環(huán)境虛擬域安全回滾機(jī)制研究
Fu等[12]的研究發(fā)現(xiàn)回滾操作已經(jīng)成為云環(huán)境中錯誤恢復(fù)的核心操作。而回滾操作給云環(huán)境的可靠性保障與錯誤恢復(fù)帶來巨大便利的同時也帶來了嚴(yán)重的安全威脅。Garfinkel等[13]最早發(fā)現(xiàn)虛擬機(jī)的回滾機(jī)制可能導(dǎo)致嚴(yán)重的安全問題,云環(huán)境的動態(tài)性將回滾產(chǎn)生的安全威脅進(jìn)一步放大。Goldman等[14]研究發(fā)現(xiàn),可信平臺芯片每次進(jìn)行操作后計數(shù)器都會增加,這一發(fā)現(xiàn)可以用來防御重放攻擊。然而這也意味著一旦虛擬機(jī)被回滾,計數(shù)器的單調(diào)性無法保持,可信平臺芯片的信任鏈也被破壞。針對這一問題,England等[15]提出把可信平臺芯片移到hypervisor層來避免計數(shù)器隨著虛擬機(jī)回滾。Xia等[16]真正地對虛擬機(jī)回滾機(jī)制本身存在的安全問題進(jìn)行深入分析探討。Parno等[17]實現(xiàn)了健壯的程序狀態(tài)回滾機(jī)制,該機(jī)制確保了回滾不會使操作系統(tǒng)崩潰。
云環(huán)境中的虛擬機(jī)回滾操作無論是對于虛擬機(jī)內(nèi)部還是外部都是難以感知的,或者說回滾對于它們是透明的。云環(huán)境特有的虛擬機(jī)外部的安全監(jiān)控模式Hookscout在虛擬機(jī)運行的過程中每15 s進(jìn)行一個快照操作[18],之后根據(jù)快照內(nèi)容對虛擬機(jī)運行過程中的惡意行為進(jìn)行分析。惡意的回滾會將Hookscout工具記錄的連續(xù)運行快照碎片化,使其變得不具備安全分析的條件,類似的工具無法感知虛擬機(jī)的回滾操作。Chow等[19]針對目前運行日志記錄過于臃腫的問題提出了基于時間以及基于抽象層次的2種日志分割策略。允許虛擬機(jī)或者進(jìn)程在回滾后根據(jù)特定的需求恢復(fù)某時間段內(nèi)某一抽象層次的操作。Chow等的日志分割對安全敏感信息進(jìn)行剔除處理,這樣做雖然減輕了敏感信息泄露的危險,但是限制了回滾的靈活性(回滾后的虛擬機(jī)無法和其他虛擬機(jī)進(jìn)行安全狀態(tài)同步,或者同步到不安全的狀態(tài))。這些研究成果都是針對單一虛擬機(jī)或者單一服務(wù)的狀態(tài)進(jìn)行保護(hù)的解決方案,并沒有提出統(tǒng)一的回滾安全框架。
目前的研究都只是應(yīng)用層面或者單一虛擬機(jī)層面,并不能解決云環(huán)境虛擬域多個服務(wù)關(guān)聯(lián)的虛擬機(jī)回滾導(dǎo)致的安全狀態(tài)不一致問題。當(dāng)虛擬域的多個關(guān)聯(lián)虛擬機(jī)之間發(fā)生回滾時導(dǎo)致交互狀態(tài)丟失,將會引發(fā)整個虛擬域的安全狀態(tài)不一致。需要在基于虛擬域的服務(wù)模型下,結(jié)合云的動態(tài)性以及不確定性研究云平臺安全回滾機(jī)制。
3) 云環(huán)境虛擬域安全管理機(jī)制研究
文獻(xiàn)[20,21]提出了一個管理大規(guī)模云的云管理框架 SnowFlock,基于該框架通過快速克隆虛擬機(jī)的方式可以很快搭建一個并行計算環(huán)境。但以這種方式部署的虛擬域由于缺乏可信身份,明顯存在安全性薄弱的問題。
Cabuk S等[22,23]針對虛擬數(shù)據(jù)中心提出了一個安全架構(gòu),該架構(gòu)有效結(jié)合了虛擬化技術(shù)和可信計算,實現(xiàn)了自動實例化虛擬基礎(chǔ)實施與自動部署安全機(jī)制,通過保證不同客戶資源的相互隔離,達(dá)到了虛擬域中租戶安全訪問共享資源的目標(biāo)。SCHAEFER M和CALERU J M At等[24,25]針對云計算提出了集中授權(quán)管理模型和授權(quán)系統(tǒng)架構(gòu),以聯(lián)合路徑為基礎(chǔ),對不同等級的身份進(jìn)行訪問控制。
可信虛擬域(TVD,trusted virtual domain)[26,27]廣泛應(yīng)用于數(shù)據(jù)中心等場景中,后來又經(jīng)過擴(kuò)展,添加了安全訪問控制策略、完整性檢測和隔離機(jī)制。此外還通過基于信任的虛擬域分層管理模型來擴(kuò)展TVDc的管理模式[28]。Davi等[29]實現(xiàn)了移動終端上部署TVD安全架構(gòu)。
目前的研究都只針對單機(jī)的安全問題進(jìn)行研究,而虛擬域中各虛擬機(jī)之間的信任關(guān)系是孤立的,并不足以支持云中以虛擬域為單位的架構(gòu),即使是關(guān)于 TVD方面的研究也沒有考慮虛擬域的整體安全狀態(tài),缺乏以虛擬域為單位的安全狀態(tài)視圖,無法高效地監(jiān)控虛擬域安全狀態(tài),同時也無法實時記錄跨節(jié)點多機(jī)關(guān)聯(lián)云服務(wù)的狀態(tài)變化。云環(huán)境下虛擬機(jī)的加入、退出和遷移行為會導(dǎo)致虛擬域空間狀態(tài)的變化,因此需要為保證虛擬域空間狀態(tài)一致性提供一個安全可信的支撐系統(tǒng)。
云環(huán)境虛擬域安全基礎(chǔ)架構(gòu)首先要保證虛擬域中每個虛擬機(jī)的安全可信,然而通用操作系統(tǒng)過于龐大、結(jié)構(gòu)復(fù)雜,存在著大量漏洞。因此,需要為虛擬域中的每個虛擬機(jī)構(gòu)建可信執(zhí)行環(huán)境。傳統(tǒng)的靜態(tài)可信度量技術(shù)只能保證系統(tǒng)啟動時刻的可信,無法保證系統(tǒng)運行時的可信,而如前文所述,基于動態(tài)可信度量技術(shù)的 Flicker[3,4]系統(tǒng)也無法適用于云虛擬域。因此,需要結(jié)合云環(huán)境下動態(tài)構(gòu)建可信執(zhí)行環(huán)境機(jī)制實現(xiàn)虛擬機(jī)的安全,確保為云租戶提供安全可靠的云服務(wù),這是構(gòu)建安全虛擬域的基礎(chǔ)。
Dai等[30,31]提出了結(jié)合虛擬化技術(shù)與可信計算在云環(huán)境下動態(tài)構(gòu)建可信執(zhí)行環(huán)境(TEE,trusted execution environment)的思路。圖2是TEE的系統(tǒng)架構(gòu)。首先,與Flicker系統(tǒng)不同的是,TEE并不直接使用動態(tài)可信度量根(DRTM, dymamic root of trust for measurement),而是應(yīng)用虛擬化的動態(tài)可信度量根(vDRTM,virtual dynamic root of trust for measurement)。其次,在動態(tài)構(gòu)建可信執(zhí)行環(huán)境時,不能僅基于虛擬化的可信平臺模塊,因為vTPM是基于靜態(tài)可信度量根的,只能在虛擬機(jī)啟動時提供安全的系統(tǒng)環(huán)境,更重要的是,vTPM 不能分辨指令來源,不能辨別指令是來自不可信的用戶操作系統(tǒng)還是可信的執(zhí)行環(huán)境。因此,TEE系統(tǒng)應(yīng)用DRTM來幫助vTPM對指令來源是否可信進(jìn)行驗證。最后,TEE可以在租戶需要的時候啟動,為云平臺上多個用戶虛擬機(jī)動態(tài)創(chuàng)建可信執(zhí)行環(huán)境,并提供細(xì)粒度的保護(hù)和證明措施。
TEE系統(tǒng)的關(guān)鍵技術(shù)如下。1) 在云環(huán)境下為多租戶多虛擬機(jī)提供了類似于 DRTM的可信執(zhí)行環(huán)境。2) 提出LPC(low pin count)通道,讓每個vTPM都可以精確判斷命令來源于可信執(zhí)行環(huán)境還是不可信的用戶操作系統(tǒng),確保不可信的操作系統(tǒng)無法通過欺騙vTPM來獲取租戶的敏感數(shù)據(jù)。3) 提出云可信執(zhí)行環(huán)境的安全分級技術(shù),隔離可信執(zhí)行環(huán)境和不可信執(zhí)行環(huán)境的vTPM數(shù)據(jù)空間,保證數(shù)據(jù)安全。4) TEE可以根據(jù)租戶需要在任意時刻啟動運行安全敏感應(yīng)用而無需重新啟動虛擬機(jī),并且能向第三方提供可信證明。
圖2 TEE架構(gòu)
動態(tài)可信執(zhí)行環(huán)境具有強(qiáng)大的隔離性,但如果多個租戶都在運行相同的服務(wù)或者密碼庫,此時動態(tài)構(gòu)建可信執(zhí)行環(huán)境則會導(dǎo)致資源利用率不高。因此,需要一個可以為云平臺上所有租戶提供安全云服務(wù)的可信云服務(wù)構(gòu)建機(jī)制。
為了解決上述問題,Dai等[32]提出了 ADS(assured digital signing)系統(tǒng),主要針對數(shù)字簽名這一基礎(chǔ)服務(wù)來設(shè)計應(yīng)用場景,展示如何為云租戶提供可信的云服務(wù)。該系統(tǒng)能在請求簽名應(yīng)用本身是惡意軟件或者客戶操作系統(tǒng)是惡意操作系統(tǒng)的情況下保證數(shù)字簽名的可信性。ADS系統(tǒng)采用虛擬化技術(shù)和可信計算相結(jié)合的思想,將安全敏感的簽名密鑰和簽名服務(wù)隔離,放入可信的虛擬機(jī)中執(zhí)行,在用戶虛擬機(jī)中僅執(zhí)行對安全不敏感的部分,利用共享內(nèi)存和內(nèi)存保護(hù)機(jī)制對通信通道、應(yīng)用程序以及輸入輸出進(jìn)行了安全保護(hù),為租戶程序提供安全可信的數(shù)字簽名服務(wù),并且不需要修改應(yīng)用程序的代碼。
如圖3所示,ADS系統(tǒng)主要由用戶虛擬機(jī)、Xen虛擬機(jī)管理器和可信虛擬機(jī)組成。
1) 用戶虛擬機(jī)中主要包含 Stub模塊、安全監(jiān)控器(security monitor)和內(nèi)核模塊這3個部分。Stub模塊對用戶虛擬機(jī)密碼庫的簽名函數(shù)進(jìn)行修改,使應(yīng)用程序在不需要修改代碼的情況下,以鏈接一個普通的密碼庫的方式去鏈接 ADS密碼庫,獲得安全的數(shù)字簽名服務(wù)。安全監(jiān)控器是用戶域中唯一需要保證安全可信的組件。所在內(nèi)存由可信域分配,用戶域的內(nèi)核無法映射讀寫篡改,負(fù)責(zé)使用超級系統(tǒng)調(diào)用來與可信域的簽名服務(wù)通信。內(nèi)核模塊僅僅負(fù)責(zé)初始化這類與安全無關(guān)的操作,因此不需要保證可信。
2) Xen虛擬機(jī)管理器中包含調(diào)用門、新增的超級系統(tǒng)調(diào)用和內(nèi)存保護(hù)這3個部分。調(diào)用門的作用包括:用Xen去保證GDT表的安全,讓Stub模塊直接使用GDT中新增的調(diào)用門項,從而繞過用戶域中不可信的內(nèi)核直接跳轉(zhuǎn)到安全監(jiān)控器的代碼。新增的超級系統(tǒng)調(diào)用用于可信的虛擬域中后端監(jiān)控器(backend monitor)、用戶域的安全監(jiān)控器以及Xen之間的安全通信,具體包含設(shè)置共享內(nèi)存信息、映射內(nèi)存頁、設(shè)置GDT表調(diào)用門項、發(fā)送虛擬中斷以及內(nèi)存保護(hù)功能。內(nèi)存保護(hù)機(jī)制保護(hù)應(yīng)用程序、安全監(jiān)控器以及被簽名信息和簽名所在內(nèi)存的安全,主要通過讀寫權(quán)限以及頁表保護(hù)實現(xiàn)。
可信虛擬域中主要包含密碼服務(wù)、帶策略引擎的后端監(jiān)控器以及遠(yuǎn)程證明服務(wù)這3個部分。密碼服務(wù)為租戶應(yīng)用程序提供簽名服務(wù)。帶策略引擎的后端監(jiān)控器負(fù)責(zé)分配內(nèi)存、安裝安全監(jiān)控器,驗證請求簽名應(yīng)用程序的有效性。遠(yuǎn)程證明服務(wù)用于挑戰(zhàn)者驗證簽名程序,輸入、輸出是否被篡改。
圖3 ADS系統(tǒng)結(jié)構(gòu)
結(jié)合TEE動態(tài)構(gòu)建可信執(zhí)行環(huán)境機(jī)制和ADS可信云服務(wù)構(gòu)建機(jī)制,可以保障云環(huán)境虛擬域中虛擬機(jī)個體的安全可信,為保障虛擬域時空安全狀態(tài)一致提供了安全基礎(chǔ)。
傳統(tǒng)的可信架構(gòu)并不能適用于基于虛擬化的云環(huán)境,云的高動態(tài)性(虛擬機(jī)回滾)導(dǎo)致云虛擬域時間安全狀態(tài)不一致,給虛擬域的安全可信帶來了極大的挑戰(zhàn)。為解決該問題,需要保障單機(jī)時間安全狀態(tài)一致和多機(jī)時間安全狀態(tài)一致。單機(jī)時間安全狀態(tài)一致首先保證了虛擬域中每個虛擬機(jī)的回滾安全,包括vTPM-VM狀態(tài)一致性保障和回滾感知無狀態(tài)恢復(fù)機(jī)制,為多機(jī)時間安全狀態(tài)一致性保障機(jī)制的實現(xiàn)提供了基礎(chǔ)。多機(jī)時間安全狀態(tài)一致對虛擬域多服務(wù)的交互安全狀態(tài)一致性提供了保護(hù),實現(xiàn)了云環(huán)境虛擬域時間安全狀態(tài)的一致。
如圖4所示,單機(jī)時間安全狀態(tài)一致性保障主要包括以下2個方面。1) 基于vTPM-VM架構(gòu)的狀態(tài)同步機(jī)制。簡單地回滾vTPM將破壞vTPM自身的單調(diào)性,導(dǎo)致vTPM受到回滾重放攻擊。因此,本文設(shè)計了基于vTPM的細(xì)粒度安全回滾策略,對安全相關(guān)的數(shù)據(jù)進(jìn)行細(xì)粒度劃分,針對不同的vTPM 數(shù)據(jù)采取不同的狀態(tài)信息同步策略,保障vTPM-VM的安全狀態(tài)一致,從而抵御回滾攻擊。2) 基于vTPM的服務(wù)狀態(tài)驗證接口。首先對原有可信平臺芯片進(jìn)行功能擴(kuò)展,增加額外的平臺狀態(tài)寄存器記錄虛擬機(jī)快照、回滾事件信息,完成虛擬機(jī)的安全狀態(tài)記錄,為多機(jī)時空狀態(tài)收集提供基礎(chǔ)。然后為云應(yīng)用提供抵御回滾的平臺寄存器接口,幫助服務(wù)對自身狀態(tài)與虛擬機(jī)狀態(tài)進(jìn)行感知與驗證。云應(yīng)用將自身的狀態(tài)度量值擴(kuò)展到額外的狀態(tài)寄存器形成狀態(tài)度量鏈,在回滾發(fā)生時,云應(yīng)用通過特定的策略對度量鏈進(jìn)行驗證,找到自身丟失的狀態(tài),從而恢復(fù)由回滾造成的狀態(tài)丟失。
針對虛擬域多虛擬機(jī)之間時間安全狀態(tài)變化的度量問題,在云虛擬域單機(jī)時間安全狀態(tài)一致的基礎(chǔ)上,提出了多機(jī)時間安全狀態(tài)一致性保障機(jī)制。具體實現(xiàn)主要包括以下2個方面。
1) 回滾安全監(jiān)控機(jī)制
外部監(jiān)控虛擬機(jī)無法感知監(jiān)控目標(biāo)虛擬機(jī)上因回滾而產(chǎn)生的vTPM-VM安全狀態(tài)不一致,監(jiān)控程序的結(jié)果可能因此碎片化、無效化,所以提出回滾安全監(jiān)控機(jī)制來解決這一問題。如圖5所示,通過在虛擬機(jī)監(jiān)控器上構(gòu)建輕量級的可信監(jiān)控域,提供監(jiān)控域抗回滾接口,對外部虛擬機(jī)的回滾信息以及狀態(tài)周期進(jìn)行度量值驗證。設(shè)計并實現(xiàn)抵御回滾監(jiān)控域管理模塊,該模塊利用多虛擬機(jī)狀態(tài)監(jiān)控機(jī)制,在回滾發(fā)生時,將可信監(jiān)控域中的監(jiān)控軟件狀態(tài)進(jìn)行切換,協(xié)助監(jiān)控虛擬機(jī)進(jìn)行全虛擬機(jī)生命周期的安全監(jiān)控,保障監(jiān)控到的狀態(tài)與虛擬機(jī)的時間安全狀態(tài)一致。
2) 交互狀態(tài)恢復(fù)機(jī)制
針對云環(huán)境中由回滾導(dǎo)致的多虛擬機(jī)交互狀態(tài)丟失問題,提出云服務(wù)的交互狀態(tài)恢復(fù)機(jī)制。如圖5所示,首先,構(gòu)建針對云應(yīng)用的狀態(tài)恢復(fù)與驗證接口,交互虛擬機(jī)利用該接口將跨節(jié)點多虛擬機(jī)的回滾信息以及安全狀態(tài)信息擴(kuò)展到相關(guān)的平臺狀態(tài)寄存器。利用平臺狀態(tài)寄存器保存的多機(jī)狀態(tài)度量鏈進(jìn)行驗證能夠幫助交互云服務(wù)確定自身與交互方的運行周期,從而對丟失狀態(tài)進(jìn)行驗證與恢復(fù)。其次,通過交互事件記錄與外部重放恢復(fù)云服務(wù)丟失的交互狀態(tài),保障多虛擬機(jī)服務(wù)的狀態(tài)一致性。針對日志記錄中敏感信息與操作存在的信息泄露問題,利用可信平臺寄存器將敏感事件密封在當(dāng)前的安全狀態(tài)下。在對敏感行為進(jìn)行恢復(fù)的過程中,通過使用額外的可信平臺寄存器對回滾后的狀態(tài)進(jìn)行恢復(fù)校驗,當(dāng)狀態(tài)恢復(fù)不正確時,先前的密封事件以及數(shù)據(jù)將無法解封,保護(hù)敏感信息不被泄露。
圖4 單機(jī)時間安全狀態(tài)一致架構(gòu)
傳統(tǒng)的可信架構(gòu)并不能適用于基于虛擬化的云環(huán)境,云的高動態(tài)性(虛擬機(jī)遷移)導(dǎo)致云虛擬域的空間安全狀態(tài)與度量狀態(tài)不一致,給虛擬域的安全可信帶來了極大的挑戰(zhàn)。為解決該問題,提出跨節(jié)點虛擬域空間狀態(tài)收集機(jī)制和多服務(wù)狀態(tài)變化度量機(jī)制,收集和記錄跨節(jié)點多虛擬機(jī)的空間動態(tài)變化行為,度量多個服務(wù)狀態(tài)變化的有序性,監(jiān)控整個域的安全狀態(tài)。
1) 跨節(jié)點虛擬域狀態(tài)收集機(jī)制
針對云環(huán)境下虛擬機(jī)加入、退出虛擬域以及遷移等動態(tài)特點,在單機(jī)節(jié)點狀態(tài)收集的基礎(chǔ)上提出跨節(jié)點的多虛擬機(jī)安全狀態(tài)收集機(jī)制。圖6是一個公共的安全監(jiān)測設(shè)備,該安全設(shè)備可隨時獲取組內(nèi)各個虛擬機(jī)節(jié)點的安全狀態(tài),構(gòu)建虛擬域所有節(jié)點的全局安全狀態(tài)視圖,用以監(jiān)控虛擬域安全狀態(tài)。同時,針對云虛擬域中的成員加入、退出以及遷移等空間上的動態(tài)變化,該安全設(shè)備都可將其行為記錄下來,保證虛擬域在空間狀態(tài)上的一致性,為虛擬域時間安全狀態(tài)一致性提供基礎(chǔ)。
圖5 多機(jī)時間安全狀態(tài)一致架構(gòu)
圖6 跨節(jié)點虛擬域狀態(tài)收集架構(gòu)
2) 跨節(jié)點多虛擬機(jī)關(guān)聯(lián)服務(wù)狀態(tài)變化的可信度量機(jī)制
如圖7所示,具體包含以下2個方面:1) 服務(wù)狀態(tài)信息收集機(jī)制,在虛擬域增加額外的公共平臺狀態(tài)寄存器,用以記錄虛擬域中各個服務(wù)的狀態(tài)信息。2) 信任鏈建立機(jī)制,以時間為序收集跨節(jié)點多服務(wù)的狀態(tài)變化信息,當(dāng)多個服務(wù)按序啟動時,規(guī)定每個服務(wù)完全啟動后,就將關(guān)鍵的應(yīng)用程序和配置文件等信息擴(kuò)展到新增的平臺狀態(tài)寄存器中,依次建立信任鏈。在一個服務(wù)啟動前,先度量上一個服務(wù)的完整性,若上一個服務(wù)的完整性遭到破壞,信任鏈斷裂,服務(wù)將無法繼續(xù)啟動。通過這一機(jī)制保證多個服務(wù)狀態(tài)變化的有序性,防止多個服務(wù)狀態(tài)無序變化導(dǎo)致的系統(tǒng)脆弱性,從而能避免由于系統(tǒng)脆弱性而帶來的各種攻擊。
由此,設(shè)計并實現(xiàn)了安全高效數(shù)據(jù)共享機(jī)制與細(xì)粒度數(shù)據(jù)共享機(jī)制,提高了跨節(jié)點多機(jī)服務(wù)交互過程中數(shù)據(jù)共享的安全性和高效性,并為多個服務(wù)的安全交互提供更細(xì)粒度的共享。
1) 安全高效數(shù)據(jù)共享機(jī)制
針對基于傳統(tǒng)可信平臺模塊的多機(jī)數(shù)據(jù)共享方式存在密鑰不安全(選擇密文攻擊)和復(fù)雜的密鑰協(xié)商導(dǎo)致的效率低兩方面問題,提出密鑰集中管理機(jī)制,將密鑰的生成和管理全部交由一個安全設(shè)備集中負(fù)責(zé),避免多機(jī)在數(shù)據(jù)共享過程中頻繁地協(xié)商密鑰,降低通信和計算開銷,從而達(dá)到提高數(shù)據(jù)共享效率的目的。同時密鑰集中管理機(jī)制使密鑰在其整個生命周期都處于安全設(shè)備中,提高了密鑰的安全性。
2) 細(xì)粒度數(shù)據(jù)共享機(jī)制
針對服務(wù)交互過程中對數(shù)據(jù)共享安全級別的需求不同,提出一種細(xì)粒度的數(shù)據(jù)共享機(jī)制,使共享數(shù)據(jù)可綁定到多機(jī)的時空狀態(tài)。針對安全敏感數(shù)據(jù),該機(jī)制將安全敏感數(shù)據(jù)綁定到整個虛擬域的安全狀態(tài),一旦某個虛擬機(jī)加入、退出、遷移以及回滾導(dǎo)致虛擬域的時空狀態(tài)不一致,所有虛擬機(jī)都無法解密數(shù)據(jù);針對一般交互數(shù)據(jù),該機(jī)制讓某個服務(wù)將數(shù)據(jù)綁定到多個指定虛擬機(jī)的安全狀態(tài),若某個虛擬機(jī)加入、退出、遷移以及回滾改變其自身的時空狀態(tài),則該虛擬機(jī)無法解密數(shù)據(jù),但其他未改變狀態(tài)的指定虛擬機(jī)仍可解密數(shù)據(jù)。
圖7 多個服務(wù)的狀態(tài)變化度量過程
在云環(huán)境中,虛擬機(jī)的加入、退出、回滾、遷移等動態(tài)操作都會給虛擬域在時間和空間上增加不確定性與動態(tài)性,而現(xiàn)有的云環(huán)境安全保障機(jī)制缺乏對這種不確定性和動態(tài)性的應(yīng)對方案,對云環(huán)境造成嚴(yán)重的安全威脅。本文提出云環(huán)境虛擬域安全基礎(chǔ)架構(gòu),提出動態(tài)可信執(zhí)行環(huán)境構(gòu)建機(jī)制和可信云服務(wù)構(gòu)建機(jī)制,解決操作系統(tǒng)漏洞被攻擊造成服務(wù)不可信的問題;提出云環(huán)境虛擬域時間安全狀態(tài)一致性機(jī)制,解決單機(jī)服務(wù)狀態(tài)丟失以及由回滾產(chǎn)生的多虛擬機(jī)交互狀態(tài)丟失的問題;提出云環(huán)境虛擬域空間安全狀態(tài)一致性機(jī)制,解決跨節(jié)點多虛擬機(jī)由加入、退出和遷移等動態(tài)行為造成虛擬域空間安全狀態(tài)難以監(jiān)控的問題;本文的研究將有利于解決云環(huán)境虛擬域由于時空狀態(tài)不一致所產(chǎn)生的安全問題。
[1] [EB/OL]. http://news.163.com/14/1111/06/AAOGEHRH00014AEE. html. 2016.
[2] SAILER R, ZHANG X, JAEGER T, et al. Design and implementation of a TCG-based integrity measurement architecture[C]// Proceedings of USENIX Security Symposium. 2004: 223-238.
[3] MCCUNE J, PARNO B, PERRIG A, et al. Flicker: an execution infrastructure for TCB minimization[C]//ACM Eurosys'08. 2008: 315-328.
[4] MCCUNE J, PARNO B, PERRIG A, et al. Minimal TCB code execution[C]//IEEE Symposium on Security and Privacy (SP'07). 2007: 267-272.
[5] PEREZ R, SAILER R, DOORN L V. vTPM: virtualizing the trusted platform module[C]//The 15th Conference on USENIX Security Symposium. 2006:305-320.
[6] ZHANG F, CHEN J, CHEN H, et al. Cloudvisor: retrofitting protection of virtual machines in multi-tenant cloud with nested virtualization[C]//ACM SOSP. 2011: 203-216.
[7] 項國富, 金海, 鄒德清, 等. 基于虛擬化的安全監(jiān)控[J]. 軟件學(xué)報, 2012, 23(8): 2173-2187. XIANG G F, JIN H, ZOU D Q, et al. Virtualization-based security monitoring[J]. Journal of Software, 2012, 23(8): 2173-2187.
[8] CRISWELL J, DAUTENHAHN N, ADVE V. Virtual ghost: protecting applications from hostile operating systems[C]//The 19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS'14. 2014: 81-96.
[9] LI Y, MCCUNE J M, NEWSOME J, et al. MiniBox: a two-way sandbox for x86 native code[C]//2014 USENIX Annual Technical Conference. 2014.
[10] MCCUNE J M, LI Y, QU N, et al. TrustVisor: efficient TCB reduction and attestation[C]//IEEE Symposium on Security and Privacy. 2010: 143-158.
[11] YEE B, SEHR D, DARDYK G, et al. Native client: a sandbox for portable, untrusted x86 native code[C]//IEEE Symposium on Security and Privacy. 2009.
[12] FU M, BASS L, LIU A. Towards a taxonomy of cloud recovery strategies[C]//Dependable Systems and Networks (DSN), 2014 44th Annual IEEE/IFIP International Conference on IEEE. 2014: 696-701.
[13] GARFINKEL T, ROSENBLUM M. When virtual is harder than real: Security challenges in virtual machine based computing environments[C]//Proceedings of HotOS. 2005: 20.
[14] GOLDMAN K, BERGER S. TPM Main part 3 - IBM commands[EB/OL].http://domino.research.ibm.com/.
[15] ENGLAND P, LOSER J. Para-virtualized TPM sharing[C]//The 1st International Conference on Trusted Computing and Trust in Information Technologies: Trusted Computing Challenges and Applications. 2008: 119-132.
[16] XIA Y, LIU Y, CHEN H, et al. Defending against vm rollback attack[C]//The 2012 IEEE/IFIP 42nd International Conference on Dependable Systems and Networks Workshops (DSN-W). 2012: 1-5.[17] PARNO B, LORCH J R, DOUCEUR J R, et al. Memoir: practical state continuity for protected modules[C]//The 2011 IEEE Symposium on Security and Privacy. 2011: 379-394.
[18] YIN H, POOSANKAM P, HANNA S, et al. Hookscout: proactive binary-centric hook detection, detection of intrusions and malware,and vulnerability assessment[M]. Berlin Heidelberg: Springer, 2010: 1-20.
[19] CHOW J, LUCCHETTI D, GARFINKEL T, et al. Multi-stage replay with crosscut[J]. ACM Sigplan Notices, 2010, 45(7): 13-24.
[20] LAGAR-CAVILLA H A, WHITNEY J, SCANNELL A, et al. Snowflock: rapid virtual machine cloning for cloud computing[C]// The 4th ACM European conference on Computer systems (Euro-Sys'09). 2009: 1-2.
[21] PATCHIN P, LAGAR-CAVILLA H A, LARA E D, et al. Adding the easy button to the cloud with snowflock and MPI[C]//The 3rd ACM Workshop on System-level Virtualization for High Performance Computing. ACM, 2009:1-8.
[22] CABUK S, DALTON C, RAMASAMY H, et al. Towards Automated provisioning of secure virtualized networks[C]//The 14th ACM Conference on Computer and Communications Security, Alexandria. Virginia, USA, 2007. 235-245.
[23] CABUK S, DALTON C I, ERIKSSON K, et al. Towards automated security policy enforcement in multi-tenant virtual data centers[J]. Journal of Computer Security, 2010, 18(1):89-121
[24] SCHAEFER M. If A1 is the answer, what was the question? an edgy naif's retrospective on promulgating the trusted computer systems evaluation criteria[C]//The 20th Annual Computer Security Applications Conference (CSAC 2004). 2004: 204-228.
[25] CALERO J M A, EDWARDS N, KIRSCHNICK J, et al. Toward a multitenancy authorization system for cloud services[J]. IEEE Security & Privacy, 2010, 8(6): 48-55.
[26] BERGER S, CACERES R, PENDARAKIS D, et al. TVDc: Managing security in the trusted virtual datacenter[J]. ACM SIGOPS Operating Systems Review, 2008, 42(1): 40-47.
[27] GRIFFIN J L, JAEGER T, PEREZ R, et al. Trusted virtual domains: toward secure distributed services[C]//The 1st IEEE Workshop on Hot Topics in System Dependability. 2005.
[28] BERGER S, CACERES R, GOLDMAN K, et al. Security for thecloud infrastructure: Trusted virtual data center implementation[J]. IBM Journal of Research and Development, 2009, 53(4): 560-571.
[29] DAVI L, DMITRIENKO A, KOWALSKI C, et al. Trusted virtual domains on OKL4: secure information sharing on smart phones[C]// The Sixth ACM Workshop on Scalable Trusted Computing. ACM,2011: 49-58.
[30] DAI W Q, JIN H, ZOU D Q, et al, TEE: a virtual DRTM based execution environment for secure cloud-end computing[J]. Future Generation Computer System (FGCS), 2015,49: 47-57.
[31] DAI W Q, JIN H, ZOU D Q, et al, TEE: a virtual DRTM based execution environment for secure cloud-end computing[C]//The 17th ACM Conference on Computer and Communications Security(CCS Poster), Hyatt Regency Chicago, IL, USA, 2010: 663-665.
[32] DAI W Q, PARKER T P, JIN H, et al, Enhancing data trustworthiness via assured digital signing[J]. IEEE Transactions on Dependable and Secure Computing (TDSC), 2012, 9(6): 838-851.
代煒琦(1984-),男,湖北武漢人,博士,華中科技大學(xué)講師、碩士生導(dǎo)師,主要研究方向為云計算安全、可信計算、虛擬化安全、SDN安全等。
鄒德清(1975-),男,湖南長沙人,博士,華中科技大學(xué)計算機(jī)學(xué)院副院長、教授、博士生導(dǎo)師,主要研究方向為虛擬化安全與云安全、網(wǎng)絡(luò)攻防與漏洞檢測、大數(shù)據(jù)安全、容錯計算。
金海(1966-),男,上海人,博士,華中科技大學(xué)教授,主要研究方向為高性能計算、分布式計算、云計算、大數(shù)據(jù)、云安全。
夏妍(1993-),女,遼寧朝陽人,華中科技大學(xué)碩士生,主要研究方向為云計算安全、虛擬化安全。
Research on consistency protection mechanism for secure states of virtual domain in cloud environment
DAI Wei-qi, ZOU De-qing, JIN Hai, XIA Yan
(School of Computer Science Technology, Huazhong University of Science and Technology, Wuhan 430074, China)
The traditional trusted computing architecture was suffering from the cloud uncertainty and dynamics caused by VM rollback or migration, which was a fatal threat to the cloud security. following investigations were conducted. Secure cloud virtual domain basic architecture; Time state consistence and collection mechanism. Cyber state consistence and collection mechanism. This study guaranteed security state consistence of virtual domain and improved the security and efficiency of the online service platform for both government institutions and companies.
cloud computing, trusted computing, virtual domain, virtual machine rollback, state consistency
s: The National Natural Science Foundation of China (No.61602200), The Fundamental Research Funds for the Central Universities (No.HUST2016YXMS087)
TP309.2
A
10.11959/j.issn.2096-109x.2016.00103
2016-08-25;
2016-09-05。通信作者:代煒琦,wqdai@hust.edu.cn
國家自然科學(xué)基金資助項目(No.61602200);中央高?;究蒲袠I(yè)務(wù)基金資助項目(No.HUST2016YXMS087)