国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

HyperSpector:一種基于UEFI的VMM動態(tài)可信監(jiān)控基方案

2017-01-21 16:23:09周英謝旭徽李志華
軟件導(dǎo)刊 2016年12期
關(guān)鍵詞:云計算

周英+謝旭徽+李志華

摘 要:針對云平臺運行面臨的安全威脅,傳統(tǒng)面向啟動過程保護的可信硬件技術(shù)不能提供足夠的保障。為保障虛擬機監(jiān)控器(Virtual Machine Monitor, VMM)的安全,提出一種基于統(tǒng)一可擴展固件接口(Unified Extensible Firmware Interface, UEFI)的VMM動態(tài)可信監(jiān)控基框架HyperSpector。該框架以UEFI固件為可信基,對VMM動態(tài)進行實時度量,相對于傳統(tǒng)防護措施,提供更加安全可信的動態(tài)防護。依照該框架,構(gòu)建一個面向Xen虛擬化軟件的UEFI動態(tài)可信監(jiān)控原型系統(tǒng)。實驗表明,該框架不僅能夠?qū)崟r監(jiān)測到針對虛擬化軟件的攻擊,而且不影響用戶使用,同時達到了保障虛擬機監(jiān)控器安全的目的。

關(guān)鍵詞:云計算;VMM;可信計算;UEFI;云安全

DOIDOI:10.11907/rjdk.162167

中圖分類號:TP309

文獻標識碼:A文章編號:1672-7800(2016)012-0150-03

0 引言

云計算具有低成本、靈活的特點,越來越多的企業(yè)將服務(wù)部署到云平臺上。與此同時,針對云環(huán)境的安全事件層出不窮,2013年,Evernote遭到入侵,威脅到約5千萬用戶的數(shù)據(jù)安全。2015年3月,Xen發(fā)布嚴重安全漏洞,攻擊者可以通過該漏洞獲得Xen的最高權(quán)限。很多云計算運營商(如亞馬遜)停機修復(fù)該漏洞,給用戶帶來了嚴重損失。National Vulnerability Database報告顯示,著名的虛擬機監(jiān)控器Xen和VMWare ESX分別至少有73和30個漏洞,還有更多的虛擬機(Virtual Machine,VM)逃逸攻擊、VM穿透攻擊和VM rootkits等安全威脅,并且還在不斷升級更新中。這些安全問題引起了服務(wù)提供商與云客戶對云計算應(yīng)用前景的擔憂。Gartner的分析報告表明,云安全是阻礙云計算發(fā)展的關(guān)鍵因素,因此研究云計算安全的意義重大。

1 云虛擬機安全

云安全問題引起學術(shù)界和工業(yè)界極大興趣,目前解決云計算安全問題的方法有運行虛擬機上的NFORCE[1]、語義完整性檢測[2]和Pioneer[3]等,但是它們自身的安全依賴于宿主機和虛擬機監(jiān)控軟件安全。有研究人員提出在虛擬化軟件層對虛擬機進行安全監(jiān)控,如Rootkit[4,5]、Patagonix[7]、REDAS[8]、HIMA[6]等,但此類方法不能保障虛擬化軟件本身的安全。此外,一些研究人員將可信計算等安全硬件設(shè)備應(yīng)用到云安全領(lǐng)域[10,11],利用安全硬件的防篡改特性對云系統(tǒng)啟動過程進行完整性度量,但是在云計算環(huán)境中主機不會頻繁關(guān)機、啟動,更應(yīng)關(guān)心系統(tǒng)運行環(huán)境中的軟件安全。VMM作為云計算系統(tǒng)中最重要的基礎(chǔ),其安全問題倍受關(guān)注[9],研究增強其安全性的方法。

為解決云計算環(huán)境中虛擬化軟件本身的安全,本文提出一種基于Unified Extensible Firmware Interface(UEFI)和系統(tǒng)管理模式(System Management Model,SMM)的VMM可信監(jiān)控基方案HyperSpector,兼容現(xiàn)有成熟的商業(yè)虛擬化系統(tǒng),不需要額外硬件支持,只需增加少量代碼即可以實現(xiàn)在系統(tǒng)運行時對VMM運行狀態(tài)進行實時、安全度量,從而防御在系統(tǒng)運行過程中的多類攻擊。據(jù)此,構(gòu)建了一個基于UEFI的VMM動態(tài)度量原型系統(tǒng),通過攻擊實驗、性能實驗和數(shù)據(jù)分析驗證了方案的安全性與實用性。

本文主要貢獻如下:①提出了一種創(chuàng)新的基于硬件和固件的VMM度量方案,能夠?qū)ι蠈覸MM進行透明的度量檢測,并保護自身不受攻擊影響,而且能夠與現(xiàn)有商業(yè)中使用的UEFI相結(jié)合,不用增加額外的硬件和軟件成本;②本方案為動態(tài)框架,能夠使用硬件與固件特性,對VMM狀態(tài)進行實時監(jiān)控,能夠檢測VMM的改變,并能防止“閃躲攻擊”,提供了云環(huán)境下運行時的基礎(chǔ)設(shè)施層保護;③本方案實現(xiàn)了一個原型系統(tǒng),該系統(tǒng)對保護對象是透明的,提高了保護手段的安全性與有效性;④本方案根據(jù)UEFI固件被篡改難度大的特點,將其作為可信基,從根本上提高了云環(huán)境的安全性。

2 威脅模型

2.1 威脅與假設(shè)

虛擬化環(huán)境的威脅來源于多個方面,本文主要側(cè)重于虛擬化軟件層的安全威脅。從2015年3月公布的Xen安全漏洞來看,攻擊者能夠通過該漏洞從Domain0獲得Xen的完整權(quán)限。將添加了后門的Xen虛擬機內(nèi)核通過DMA的方式導(dǎo)入到內(nèi)存,通過該后門就能獲取Xen的控制權(quán)限,形成一個隱形的控制域。這種在運行時攻擊虛擬機的方法,使得傳統(tǒng)的安全監(jiān)控防護軟件無法檢測該攻擊。

2.2 安全要求

針對上述安全威脅,本文提出運行HyperCheck時對VMM進行可信度量和安全保護,該方案滿足以下幾個特點:①隱蔽觸發(fā):整個觸發(fā)的傳遞過程是安全隱蔽的,VMM無法干預(yù);②保護自身安全:在VMM及UEFI運行中,度量過程中所有模塊在任何時刻是安全的;③獲得度量對象:度量模塊能夠獲得度量對象(內(nèi)存中的關(guān)鍵信息和CPU上下文);④安全反饋:發(fā)送反饋信息模塊、傳遞反饋信息模塊、接收反饋信息模塊以及信息反饋過程都是安全可信的。

3 HyperSpector設(shè)計方法與實現(xiàn)

3.1 原型系統(tǒng)結(jié)構(gòu)方案架構(gòu)

基于以上安全威脅和安全監(jiān)控要求,本文提出HyperSpecto:基于UEFI和SMM的VMM可信監(jiān)控基方案,該方案綜合x86結(jié)構(gòu)CPU中的SMM模式、UEFI和VMM在內(nèi)存中的分布等技術(shù),在不增加額外硬件和軟件的情況下,巧妙地實現(xiàn)對VMM的動態(tài)、實時、可信監(jiān)控。該方案主要由初始化模塊、度量模塊(LKMCA+Xen度量模塊)、驗證模塊、調(diào)度模塊、報告模塊組成,其架構(gòu)如圖1所示。

度量模塊是HyperSpector的核心。該模塊分為兩部分,最主要的部分在UEFI的SMI handler中實現(xiàn),主要功能是對VMM的內(nèi)核模塊進行度量,以及獲取CPU執(zhí)行上下文,并對其中關(guān)鍵寄存器進行度量,另一部分是在VMM中實現(xiàn),其作用是對特權(quán)域Domain 0的核心模塊進行度量。最后生成度量日志,并將度量值寫入TPM芯片中的PCR(Platform Configuration Register)中。

驗證模塊是唯一與VMM分離的模塊,主要用于將報告模塊提交的度量日志信息和PCR信息進行驗證。本文將第一次生成的度量信息作為基線值,后續(xù)收集到的信息都與基線值進行匹配,若匹配成功則表明系統(tǒng)安全可信,否則說明已經(jīng)被攻擊了。

調(diào)度模塊是用來定時或不定時觸發(fā)HyperSpector運行,用于定時觸發(fā)度量模塊執(zhí)行,并且為用戶主動調(diào)用提供接口,當收到用戶發(fā)送的命令時直接觸發(fā)度量模塊執(zhí)行。而且當用戶長時間不主動觸發(fā)度量模塊時,自身也會通過一個隨機時間進行觸發(fā),這樣做主要是為了防止針對VMM的逃逸攻擊。

3.2 安全觸發(fā)

根據(jù)SMI觸發(fā)事件、UEFI的特性以及隱蔽觸發(fā)的需求,在HyperSpector的實現(xiàn)中使用了定時觸發(fā)和手動觸發(fā)兩種方式來觸發(fā)SMI。

定時觸發(fā)使用了UEFI中對SMI handler基于時鐘調(diào)度的支持,利用EFI_SMM_PERIODIC_TIMER_DISPATCH2_PROTOCOL協(xié)議注冊定時度量SMI handler。定時觸發(fā)基于硬件定時時鐘且在UEFI中直接進行調(diào)度,所以對上層VMM是隱蔽的,可以確保其不會被發(fā)現(xiàn)或干擾。手動觸發(fā)定時觸發(fā)使用了UEFI中對SMI handler的基于0xB2端口的觸發(fā)支持,利用EFI_SMM_SW_DISPATCH2_PROTOCOL協(xié)議注冊手動觸發(fā)SMI handler。

3.3 VMM核心模塊監(jiān)控

本模塊使用Xen作為VMM平臺,而Xen屬于虛擬架構(gòu)中3種模式(獨立監(jiān)視器模式、主機模式和混合模式)中的混合模式,Xen直接運行在裸機上,具有最高運行權(quán)限,其上運行虛擬機(又稱為域),Xen和特權(quán)域Domain 0一起組成了VMM。采用這種模式可以充分利用原操作系統(tǒng)中的設(shè)備驅(qū)動等功能,Xen就可以只提供如CPU和內(nèi)存虛擬化等功能,但利用原操作系統(tǒng),如Linux其設(shè)備驅(qū)動等功能相當于復(fù)用了Linux內(nèi)核相關(guān)模塊。

本文采用兩種方法來保護主內(nèi)核模塊的安全可信:首先通過實時檢測特權(quán)域Domain 0中內(nèi)核模塊加載,加載模塊之前先對要加載的模塊進行度量,確保要加載的模塊是可信的;然后,在運行過程中定時或隨機對內(nèi)核中運行的模塊進行度量,確保其運行過程也是安全可信的。通過這兩種方法可以確保惡意的LKM即使隱藏進程、端口和文件,也無法逃脫HyperSpector的檢測。

3.4 可信監(jiān)控基保護

HyperSpector以構(gòu)建VMM的動態(tài)可信監(jiān)控基為目標,對處于運行態(tài)的VMM進行全方位安全監(jiān)控,確保其安全可信,且HyperSepctor作為運行在比VMM更底層的可信監(jiān)控層,其自身的安全可信尤為重要。HyperSpector主要由基于UEFI的度量SMI handler以及處于Xen中的內(nèi)核模塊檢測代理組成。

根據(jù)Intel開發(fā)者手冊,加入SMI handler后,同時要設(shè)置UEFI在初始化后設(shè)置D_LCK位,并清空D_OPEN位,以保護UEFI和SMRAM不受特權(quán)軟件訪問或篡改,從而可以確保UEFI和SMI handler安全可信。VMM內(nèi)核模塊檢測代理集成在Xen的內(nèi)核模塊中,而在運行時Xen內(nèi)核是受SMI handler度量監(jiān)控的,所以信任可以由SMI handler傳遞給VMM內(nèi)核模塊檢測代理,由檢測代理對VMM內(nèi)核模塊進行度量監(jiān)控。

4 測試評估

4.1 VMM攻擊測試

如前文所述,目前有許多針對Xen的攻擊方法,通過修改并重新編譯Xen內(nèi)核的方法模擬針對Xen內(nèi)核的攻擊測試,同時也通過刪除內(nèi)核模塊的方法模擬內(nèi)核模塊變動的測試,本文主要動態(tài)添加模塊vfs和tpm_tis模塊,測試結(jié)果表1所示。

測試表明,可以檢測到針對Xen內(nèi)核代碼及數(shù)據(jù)的篡改以及內(nèi)核模塊的變動。SMI handler能夠?qū)en在內(nèi)存中的代碼區(qū)和數(shù)據(jù)區(qū)進行動態(tài)度量監(jiān)控,同時內(nèi)核模塊監(jiān)控代理也能成功對內(nèi)核中模塊的變動進行精確動態(tài)度量監(jiān)控。因此,HyperSpector能夠?qū)MM的代碼和關(guān)鍵模塊進行動態(tài)監(jiān)控。

4.2 性能測試

性能測試主要是針對VMM度量模塊(SMI handler)和內(nèi)核模塊檢測代理的執(zhí)行時間進行測度,通過多次執(zhí)行來判斷度量操作是否會顯著影響VMM的服務(wù)和用戶體驗。性能測試本應(yīng)該包括CPU占用率測試,但根據(jù)SMI的特點,當SMI handler執(zhí)行時會暫停所有CPU的活動,而選擇其中一個CPU來單線程執(zhí)行SMI handler,其CPU占用率測試沒有意義。

實際測試時,本文分為兩種情況進行度量時間消耗測試(寫PCR和不寫PCR),測試結(jié)果如表2所示。其中,UEFI度量時間為SMI handler執(zhí)行時間;Host度量時間為SMI handler執(zhí)行時間+內(nèi)核模塊檢測代理執(zhí)行時間。

測試結(jié)果表明,大部分時間都是SMI handler消耗的,其主要原因可能是執(zhí)行最高權(quán)限的SMI中斷時會暫停所有CPU的執(zhí)行活動,并選出其中一個CPU單線程執(zhí)行SMI handler,所以其耗時較多;寫PCR時會占用大約50ms的時間,這可能是由于TPM芯片接在南橋的慢速端口上,所以讀寫速度比較慢;而內(nèi)核模塊檢測代理的執(zhí)行時間幾乎可以忽略不計。而且整個host度量時間不受VM運行數(shù)據(jù)影響,不運行VM和運行24臺VM的度量執(zhí)行時間是一樣的。總體來說,100ms級別的時間消耗對整個VMM影響很小,用戶基本不會感受到。

4.3 測試總結(jié)

本次測試主要側(cè)重于Host動態(tài)監(jiān)控模塊中的功能確認測試和性能測試,從測試結(jié)果可以看出:本方法可以實現(xiàn)整個HyperSpector,HyperSpector能夠找到Xen的代碼段,實現(xiàn)CMOS、UEFI、Xen的交互通信,識別模塊和代碼的變動,整個度量過程功能完整實現(xiàn),且在寫PCR的情況下也能夠在100ms級的時間內(nèi)完成Host度量功能,性能影響較小,且能支持上層Xen同時運行24臺VM。所以,HyperSpector實現(xiàn)了一個與現(xiàn)有商業(yè)系統(tǒng)兼容的具有實際可行性的動態(tài)可信監(jiān)控基。

5 結(jié)語

本文提出了一種基于UEFI和SMM的VMM動態(tài)可信監(jiān)控基:HyperSpector,該動態(tài)可信監(jiān)控基以SMM的隱蔽性和UEFI固件鎖定特性為基礎(chǔ),利用VMM內(nèi)核的線性映射、穩(wěn)定性、持久性等特征,以及SMI自動保存CPU狀態(tài)的特性,構(gòu)建了針對VMM內(nèi)核、CPU狀態(tài)和特權(quán)域關(guān)鍵內(nèi)核模塊的動態(tài)可信監(jiān)控基,為VMM提供傳統(tǒng)可信技術(shù)和新的基于硬件的動態(tài)安全保護。最后,本文構(gòu)建了一個HyperSpector原型,并通過測試證明其能夠有效對VMM進行監(jiān)控,能夠發(fā)現(xiàn)任何VMM內(nèi)核、狀態(tài)和特權(quán)域的關(guān)鍵模塊的變動。此外,HyperSpector也存在一些不足的地方,如通過軟中斷進行隨機觸發(fā)的方式也可能會被VMM延遲或欺騙,后期需要尋找一種更安全的觸發(fā)方式;基于度量的判定方式有一定的局限性,不能判斷VMM可信或不可信,并非最優(yōu)化的設(shè)計方法。這些問題和不足正是后期研究的重點。

參考文獻:

[1] HEINE D,KOUSKOULAS Y.N-force daemon prototype technical description[R].Technical Report VS-03-021,Laurel:The Johns Hopkins University Applied Physics Laboratory,2003.

[2] Pioneer:verifying code integrity and enforcing untampered code execution on legacy system[C].Proceedings of the 20th ACM Symposiumon Operating Systems Principles.New York: ACM,2005:1-16.

[3] PETRONI N L,F(xiàn)RASER JR T,WALTERS A, et al.An architecture for specification-based detection of semantic integrity violations in kernel dynamic data[C].Proceedings of the 15th USENIX Security Symposium.Berkeley: USENIX,2006:289-304.

[4] 周天陽,朱俊虎,王清賢,等.基于VMM的RootKit及其檢測技術(shù)研究[J].計算機科學,2011,38(12):45-49.

[5] 唐文彬,陳熹,陳嘉勇,等. UEFI Bootkit模型與分析[J]. 計算機科學 2012,39(10):16-20.

[6] AZAB A M,NING PENG,SEZER E C,et al.HIMA:a hypervisor-based integrity measurement agent[C].Proceedings of the 25th Annual Computer Security Applications Conference(ACSAC09) .Los Alamitos: IEEE, 2009.

[7] PETRONI N L,F(xiàn)RASER JR T,WALTERS A,et al.An architecture for specification-based detection of semantic integrity violations in kernel dynamic data[C].Proceedings of the 15th USENIX Security Symposium.Berkeley: USENIX,2006.

[8] KIL C,SEZER E C,AZAB A M,et al.Remote attestation to dynamic system properties:towards providing complete system integrity evidence[C].Proceedings of the 39th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN 2009).Los Alamitos: IEEE, 2009.

[9] 沈昌祥,張煥國,馮登國. 信息安全綜述[J]. 中國科學,2007(2):25-28.

[10] 沈昌祥,張煥國,王懷民. 可信計算的研究與發(fā)展[J]. 中國科學,2010(2):32-36.

[11] 周新,陶露菁. 可信計算及其在信息系統(tǒng)中的應(yīng)用[J]. 指揮信息系統(tǒng)與技術(shù) 2011(6):56-61.

(責任編輯:陳福時)

猜你喜歡
云計算
云計算虛擬化技術(shù)在電信領(lǐng)域的應(yīng)用研究
基于云計算的醫(yī)院信息系統(tǒng)數(shù)據(jù)安全技術(shù)的應(yīng)用探討
談云計算與信息資源共享管理
志愿服務(wù)與“互聯(lián)網(wǎng)+”結(jié)合模式探究
云計算與虛擬化
基于云計算的移動學習平臺的設(shè)計
基于云計算環(huán)境下的ERP教學改革分析
科技視界(2016年22期)2016-10-18 14:33:46
基于MapReduce的故障診斷方法
實驗云:理論教學與實驗教學深度融合的助推器
大學教育(2016年9期)2016-10-09 08:54:03
云計算中的存儲虛擬化技術(shù)應(yīng)用
科技視界(2016年20期)2016-09-29 13:34:06
洛阳市| 车致| 湘阴县| 青河县| 贵阳市| 庄河市| 神木县| 永城市| 根河市| 大邑县| 寻甸| 通许县| 永川市| 耿马| 山东| 安国市| 扎兰屯市| 庆元县| 芒康县| 西畴县| 彭山县| 十堰市| 微山县| 漳州市| 汝州市| 垣曲县| 班戈县| 蓬莱市| 皮山县| 即墨市| 玉龙| 红安县| 新绛县| 商洛市| 汤原县| 舞阳县| 得荣县| 噶尔县| 怀集县| 卢氏县| 宁安市|