田俊峰,張永超
(1. 河北大學(xué)網(wǎng)絡(luò)空間安全與計(jì)算機(jī)學(xué)院,河北 保定 071002;2. 河北省高可信信息系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,河北 保定 071002)
云計(jì)算[1]具有的高伸縮性、位置無關(guān)性、低成本等特點(diǎn)使用戶可以專注自身業(yè)務(wù)邏輯的部署,而不用關(guān)心具體物理設(shè)備的位置。云計(jì)算的這些特點(diǎn)使用戶可以隨接隨用,靈活性高,在云計(jì)算發(fā)展的前期很大程度上促進(jìn)了云計(jì)算的推廣和使用。
在越來越重視信息安全的當(dāng)今,云計(jì)算的推廣和使用,很大程度上取決于云計(jì)算運(yùn)行環(huán)境是否安全可信[2-3]。云計(jì)算的特點(diǎn)也正是造成云計(jì)算可信問題的根源所在:云用戶將數(shù)據(jù)和運(yùn)行環(huán)境部署在云端,從而失去了對(duì)其的直接控制能力。這些依托于云端的服務(wù)和數(shù)據(jù)可能會(huì)受到以下幾方面的威脅。
云計(jì)算可能遭受來自外部的攻擊,導(dǎo)致服務(wù)中斷或相關(guān)信息的泄露[4];由于云計(jì)算中的虛擬機(jī)是由物理主機(jī)虛擬化而來,不同用戶使用的虛擬機(jī)可能來自同一物理主機(jī),用戶可能遭受側(cè)信道攻擊等手段的威脅,導(dǎo)致信息泄露[5];云提供商是云服務(wù)的提供者,云用戶可能遭到云提供商的內(nèi)部竊取,導(dǎo)致信息泄露[6]。
針對(duì)以上威脅,迫切需要一種既可以保護(hù)虛擬機(jī)用戶隱私安全,開銷又在虛擬機(jī)用戶的可承受范圍內(nèi)的解決方案?;诖?,本文提出了基于改進(jìn)期望值決策法[7]的虛擬機(jī)可信審計(jì)方法,將可信計(jì)算技術(shù)[8]、虛擬機(jī)自省加密技術(shù)和可信審計(jì)技術(shù)有機(jī)地結(jié)合起來,保護(hù)用戶虛擬機(jī)運(yùn)行環(huán)境的可信性。通過虛擬機(jī)自省技術(shù)獲取審計(jì)方案需要的虛擬機(jī)運(yùn)行信息,避免獲取信息模塊在用戶虛擬機(jī)中容易遭到攻擊和篡改的威脅;提出一種加密機(jī)制,使每個(gè)用戶都有唯一的密鑰用于查詢用戶所屬虛擬機(jī)的相關(guān)信息,避免采用虛擬機(jī)自省技術(shù)破壞多租戶隔離機(jī)制并且保證用戶虛擬機(jī)選用審計(jì)方案的安全性;把風(fēng)險(xiǎn)決策方法中的期望值決策法加以改進(jìn)并應(yīng)用到可信審計(jì)方案的選取上,根據(jù)虛擬機(jī)用戶為虛擬機(jī)運(yùn)行環(huán)境選取的安全保護(hù)級(jí)別,為虛擬機(jī)用戶選取符合其安全需求的最優(yōu)審計(jì)方案。虛擬機(jī)用戶為虛擬機(jī)運(yùn)行環(huán)境選取的安全保護(hù)級(jí)別不同,經(jīng)計(jì)算得到的最優(yōu)審計(jì)方案則不同,從而改變了一直以來用戶只是被動(dòng)地接受相關(guān)安全措施的局面。
采用可信審計(jì)的思想解決云計(jì)算中虛擬機(jī)運(yùn)行環(huán)境的可信性問題,相關(guān)學(xué)者對(duì)此做了大量的研究工作,取得了不錯(cuò)的成果。
Berger等[9]基于Xen虛擬機(jī)管理器,在虛擬化平臺(tái)上利用硬件虛擬化技術(shù)創(chuàng)建多個(gè)虛擬的可信平臺(tái)模塊(TPM, trusted platform module)實(shí)例,與每個(gè)虛擬機(jī)一一對(duì)應(yīng),利用虛擬TPM管理器管理各個(gè)虛擬機(jī)中虛擬的TPM實(shí)例。硬件虛擬化在提供便利的同時(shí),也增加了被惡意攻擊的危險(xiǎn)。
劉川意等[10]采用可信審計(jì)技術(shù)和可信計(jì)算技術(shù)判定虛擬機(jī)的可信性,利用虛擬可信平臺(tái)模塊(vTPM, virtual trusted platform module)保證不變組件的可信性,利用可信審計(jì)技術(shù)保證可變組件的可信性。
Kursawe等[11]認(rèn)為現(xiàn)有 TPM 的可信鏈過長(zhǎng)、實(shí)現(xiàn)過于復(fù)雜,為此重新定義可信的邊界,基于硬件實(shí)現(xiàn)了更加靈活的uTPM,但是對(duì)遠(yuǎn)程認(rèn)證的數(shù)據(jù)做簽名,使uTPM的硬件信息存在暴露的威脅。
Stumpf等[12]對(duì)硬件TPM劃分多個(gè)控制模塊,每個(gè)控制模塊用于構(gòu)建一個(gè)虛擬機(jī)環(huán)境,使每個(gè)虛擬機(jī)的TPM狀態(tài)互不影響,從而達(dá)到復(fù)用TPM的目的。但是在這種機(jī)制下可信鏈過于復(fù)雜,傳遞非常耗時(shí)。
England等[13]基于虛擬機(jī)管理器,使用虛擬機(jī)共享TPM的技術(shù),為各個(gè)虛擬機(jī)應(yīng)用傳遞可信鏈,保證虛擬機(jī)應(yīng)用的可信性。不足之處:每次驗(yàn)證虛擬機(jī)應(yīng)用的可信性時(shí),可信鏈都要從物理TPM 經(jīng)過虛擬機(jī),最后到達(dá)虛擬機(jī)的應(yīng)用中,這樣會(huì)重復(fù)驗(yàn)證部分可信鏈,而且驗(yàn)證時(shí)間很長(zhǎng)。
林杰等[14]利用完整性度量架構(gòu)技術(shù)[15]可以度量虛擬機(jī)的部分信息,判斷虛擬機(jī)運(yùn)行時(shí)的完整性。不足之處:可以度量的虛擬機(jī)信息較少,使度量結(jié)果存在偏差。
杜瑞忠等[16]針對(duì)保護(hù)云存儲(chǔ)中用戶數(shù)據(jù)機(jī)密性的問題,提出了一種在云服務(wù)提供商加密數(shù)據(jù)的云存儲(chǔ)方案。通過虛擬機(jī)隔離技術(shù)來構(gòu)造封閉計(jì)算環(huán)境,可以阻止操作系統(tǒng)中不良應(yīng)用以及云管理員的攻擊,有效防范數(shù)據(jù)泄露。
郭曉勇等[17]提出了基于收斂密鑰的 BLS簽名算法,并利用可信第三方存儲(chǔ)審計(jì)公鑰和代理審計(jì),實(shí)現(xiàn)了對(duì)審計(jì)簽名和審計(jì)公鑰的去重,減輕了客戶端存儲(chǔ)和計(jì)算負(fù)擔(dān)。
采用決策法思想選取審計(jì)方案,利用審計(jì)方案解決相應(yīng)問題,相關(guān)學(xué)者也做了卓有成效的研究工作。
王惠峰等[18]提出了一種自適應(yīng)數(shù)據(jù)持有性證明方法,基于文件屬性和用戶需求動(dòng)態(tài)調(diào)整文件的審計(jì)方案,使文件的審計(jì)需求和審計(jì)方案的執(zhí)行強(qiáng)度高度匹配。
Kolhar等[19]提出利用密碼算法和第三方審計(jì)相結(jié)合來保護(hù)數(shù)據(jù)的完整性和隱私性,避免了數(shù)據(jù)在云計(jì)算存儲(chǔ)和第三方審計(jì)過程中造成的隱私泄露。
Rodríguez 等[20]提出了一種新的圖形矢量計(jì)算方法,通過修改直覺過程來適應(yīng)不同的管理決策。根據(jù)不同的需求,選擇最適合的 IT項(xiàng)目風(fēng)險(xiǎn)管理方法,該方法采用均值方差計(jì)算,通過對(duì)模糊層次分析法的圖解方法得到用于評(píng)價(jià)的權(quán)重。
上述方法中,利用可信審計(jì)思想解決云計(jì)算中虛擬機(jī)運(yùn)行環(huán)境可信性的問題,需要改動(dòng)用戶虛擬機(jī),在用戶虛擬機(jī)中安裝功能模塊和程序,不利于透明性;利用決策法思想選取審計(jì)方案解決相應(yīng)問題,具有存在可擴(kuò)展性差、資源浪費(fèi)的缺點(diǎn)。本文采用基于改進(jìn)期望值決策法的虛擬機(jī)可信審計(jì)方法來解決虛擬機(jī)運(yùn)行環(huán)境可信性的問題,不需要改動(dòng)虛擬機(jī);可以根據(jù)需求添加新的審計(jì)方案和審計(jì)策略,具有可擴(kuò)展性;可根據(jù)用戶對(duì)虛擬機(jī)不同的安全需求,選用相應(yīng)的審計(jì)方案,避免過度使用安全策略。根據(jù)用戶為虛擬機(jī)運(yùn)行選用的安全保護(hù)級(jí)別,為虛擬機(jī)用戶推薦符合其要求的最佳審計(jì)方案,合理地利用了用戶虛擬機(jī)的資源,避免了資源的浪費(fèi)。
在云計(jì)算的模式下,用戶的服務(wù)運(yùn)行在云端,以云提供商提供的物理服務(wù)器虛擬化出的虛擬機(jī)為載體。虛擬機(jī)可能會(huì)遭到安全威脅[21],諸如竊取服務(wù)攻擊、惡意代碼注入攻擊、交叉虛擬機(jī)側(cè)信道攻擊、定向共享內(nèi)存攻擊等。所以要保證云計(jì)算的可信,需要保證物理服務(wù)器和虛擬機(jī)在啟動(dòng)時(shí)的可信性以及云計(jì)算運(yùn)行環(huán)境的可信性。本文假設(shè)啟動(dòng)時(shí)云計(jì)算是可信的,用基于改進(jìn)期望值決策法的虛擬機(jī)可信審計(jì)方法來保證云計(jì)算運(yùn)行環(huán)境的可信性。
云服務(wù)提供商負(fù)責(zé)維護(hù)管理物理服務(wù)器,為了擴(kuò)大市場(chǎng)占有率,爭(zhēng)取潛在用戶,云服務(wù)提供商更傾向于為物理服務(wù)器和虛擬機(jī)的可信性提供支持和證據(jù),云服務(wù)提供商可以在物理服務(wù)器中安裝可信組件并以此為可信根,并且利用可信根來建立可信鏈,將可信鏈擴(kuò)展到虛擬機(jī)內(nèi)部,通過將虛擬機(jī)提供的虛擬可信模塊(如vTPM),作為虛擬機(jī)的可信任根來保證虛擬機(jī)啟動(dòng)時(shí)的可信性。
為討論方便,對(duì)相關(guān)術(shù)語(yǔ)解釋如下。
進(jìn)程審計(jì)策略:主要用于檢測(cè)和查看用戶態(tài)惡意程序的審計(jì)策略。
模塊審計(jì)策略:主要用于檢測(cè)內(nèi)核態(tài)驅(qū)動(dòng)程序和動(dòng)態(tài)鏈接庫(kù)是否遭到篡改的審計(jì)策略。
內(nèi)存審計(jì)策略:主要用于字符串搜索檢測(cè)內(nèi)存中特定數(shù)據(jù)的審計(jì)策略。
文件審計(jì)策略:主要用于檢測(cè)在用戶態(tài)下虛擬機(jī)運(yùn)行時(shí)對(duì)哪些文件進(jìn)行操作的審計(jì)策略。
網(wǎng)絡(luò)審計(jì)策略:主要用于檢測(cè)虛擬機(jī)運(yùn)行環(huán)境中網(wǎng)絡(luò)連接以及活動(dòng)狀態(tài)的審計(jì)策略。
基礎(chǔ)審計(jì)策略:為保護(hù)用戶虛擬機(jī)能夠檢測(cè)常規(guī)的安全威脅強(qiáng)制用戶采用的審計(jì)策略。例如,進(jìn)程審計(jì)策略、模塊審計(jì)策略等。
安全審計(jì)策略:除基礎(chǔ)審計(jì)策略外,檢測(cè)安全威脅效果好并且需要消耗很多計(jì)算機(jī)資源的審計(jì)策略。例如,網(wǎng)絡(luò)審計(jì)策略等。
其他審計(jì)策略:除基礎(chǔ)審計(jì)策略和安全審計(jì)策略之外的審計(jì)策略。例如,內(nèi)存審計(jì)策略、文件審計(jì)策略等。
安全保護(hù)級(jí)別 θj( j = 1,2,… , n ,n ≤5)根據(jù)虛擬機(jī)中運(yùn)行的系統(tǒng)對(duì)虛擬機(jī)用戶的收益、品牌信譽(yù)、存亡影響的重要程度以及其遭到破壞后對(duì)用戶的危害程度等因素確定。
底限級(jí)θ1:虛擬機(jī)中運(yùn)行的系統(tǒng)受到破壞后,會(huì)對(duì)用戶的收益造成影響,但損失的收益較提升安全保護(hù)等級(jí)需要的成本忽略不計(jì)。
低級(jí)θ2:虛擬機(jī)中運(yùn)行的系統(tǒng)受到破壞后,會(huì)對(duì)用戶的收益造成較嚴(yán)重的影響,損失的收益與提升安全保護(hù)等級(jí)需要的成本基本持平。
中級(jí)θ3:虛擬機(jī)中運(yùn)行的系統(tǒng)受到破壞后,會(huì)對(duì)用戶的收益造成嚴(yán)重的影響,損失的收益遠(yuǎn)遠(yuǎn)大于提升安全保護(hù)等級(jí)需要的成本,用戶品牌信譽(yù)基本無影響。
高級(jí)θ4:虛擬機(jī)中運(yùn)行的系統(tǒng)受到破壞后,會(huì)對(duì)用戶的收益造成嚴(yán)重的影響,損失的收益遠(yuǎn)遠(yuǎn)大于提升安全保護(hù)等級(jí)需要的成本,用戶品牌信譽(yù)受到影響。
頂級(jí)θ5:虛擬機(jī)中運(yùn)行的系統(tǒng)受到破壞后,會(huì)對(duì)用戶的收益造成嚴(yán)重的影響,損失無法估計(jì),用戶品牌信譽(yù)受到嚴(yán)重影響,危及用戶生存。
采用審計(jì)方案審計(jì)用戶虛擬機(jī),為用戶虛擬機(jī)提供幾種安全保護(hù)級(jí)別,安全保護(hù)級(jí)別越高,為虛擬機(jī)可信審計(jì)分配的資源越多,可信審計(jì)能夠選用的審計(jì)策略越多,能夠檢測(cè)虛擬機(jī)安全威脅的種類越多。當(dāng)選用的安全保護(hù)級(jí)別一定時(shí),為防止用戶盲目追求虛擬機(jī)的運(yùn)行速度和審計(jì)方案的收益,忽略適當(dāng)?shù)陌踩枨?,本文?guī)定了各種安全保護(hù)級(jí)別必須明確采用的審計(jì)策略:底限級(jí)θ1、低級(jí)θ2保護(hù)級(jí)別下為可信審計(jì)分配的資源較少,必須采用所有基礎(chǔ)審計(jì)策略;中級(jí)θ3、高級(jí)θ4保護(hù)級(jí)別下為可信審計(jì)分配的資源適中,必須采用所有基礎(chǔ)審計(jì)策略和一種其他審計(jì)策略;頂級(jí)θ5保護(hù)級(jí)別下為可信審計(jì)分配的資源較多,必須采用所有基礎(chǔ)審計(jì)策略和一種安全審計(jì)策略。
隨著安全保護(hù)級(jí)別的提升,審計(jì)方案能夠檢測(cè)出虛擬機(jī)安全威脅的種類是逐漸上升的。當(dāng)達(dá)到某個(gè)安全保護(hù)級(jí)別后,再提升安全保護(hù)級(jí)別,審計(jì)方案能夠檢測(cè)虛擬機(jī)安全威脅種類的增加量是逐漸下降的。所以,本文認(rèn)為隨著安全保護(hù)級(jí)別的提升,能夠檢測(cè)出虛擬機(jī)安全威脅種類的增加量是符合正態(tài)分布的。根據(jù)用戶為虛擬機(jī)選用的安全保護(hù)級(jí)別,利用正態(tài)分布公式[22]計(jì)算出各種安全狀態(tài)下的概率值以及審計(jì)方案耗費(fèi)的資源成本界限值。計(jì)算各審計(jì)方案在虛擬機(jī)不同安全狀況下的收益值與概率的乘積大小,其中,值最大的為符合虛擬機(jī)用戶安全要求的最佳審計(jì)方案。每種審計(jì)方案審計(jì)虛擬機(jī)的一部分內(nèi)容(如進(jìn)程、模塊、打開的文件、網(wǎng)絡(luò)以及內(nèi)存結(jié)構(gòu)數(shù)據(jù)),采用虛擬機(jī)自?。╒MI,virtual machine introspection)[23]技術(shù)獲取審計(jì)方案審計(jì)需要的數(shù)據(jù),根據(jù)這些數(shù)據(jù)與制定的安全規(guī)則判定用戶虛擬機(jī)是否可信。若不可信,通知虛擬機(jī)用戶采取措施。
本文提出的基于改進(jìn)期望值決策法的虛擬機(jī)可信審計(jì)方法,只需要將添加的模塊放在虛擬機(jī)的安全的區(qū)域即可,在 Xen、KVM、VMWare ESX/GSX/Workstation等都是適用的,以 Xen[24]為例,如圖1所示,設(shè)計(jì)了基于改進(jìn)期望值決策法的虛擬機(jī)可信審計(jì)方法的系統(tǒng)架構(gòu)。根據(jù)用戶對(duì)虛擬機(jī)的安全傾向,用戶將選中的安全狀態(tài),采用加密機(jī)制經(jīng)用戶模塊→加密模塊→管理模塊→可信審計(jì)模塊傳送到可信審計(jì)模塊得到為用戶虛擬機(jī)選擇的審計(jì)方案,利用 VMI模塊獲取審計(jì)需要的數(shù)據(jù),在可信審計(jì)模塊中根據(jù)選擇的審計(jì)方案判定虛擬機(jī)的可信性,并將審計(jì)用的數(shù)據(jù)存入可信證據(jù)模塊中用于事后追責(zé)。
系統(tǒng)主要由遠(yuǎn)程用戶模塊、可信代理模塊、虛擬機(jī)自省模塊3部分構(gòu)成??尚糯砟K(trusted agent module)包括vTPM管理器、可信審計(jì)模塊、可信證據(jù)模塊、可信協(xié)同模塊。其中,vTPM管理器(vTPM manager)主要負(fù)責(zé)vTPM實(shí)例、非對(duì)稱密鑰對(duì)、對(duì)稱密鑰對(duì)的創(chuàng)建與管理,為用戶虛擬機(jī)與vTPM實(shí)例間提供了通信信道。當(dāng)創(chuàng)建一個(gè)虛擬機(jī)時(shí),虛擬 TPM 管理器便會(huì)產(chǎn)生一個(gè)vTPM實(shí)例以及一對(duì)非對(duì)稱密鑰對(duì),并將其與新建的虛擬機(jī)關(guān)聯(lián),將密鑰信息傳送給可信審計(jì)模塊??尚艑徲?jì)模塊:根據(jù)用戶的輸入?yún)?shù)為用戶選擇符合其安全性要求的最佳審計(jì)方案,負(fù)責(zé)維護(hù)用戶的密鑰信息;可信證據(jù)模塊:存儲(chǔ)審計(jì)的證據(jù),用于事后追責(zé)和取證,可信協(xié)同模塊:用于交互各個(gè)虛擬機(jī)的安全信息。
圖1 基于改進(jìn)期望值決策法的虛擬機(jī)可信審計(jì)方法的系統(tǒng)架構(gòu)
虛擬機(jī)自省技術(shù)VMI:在一個(gè)虛擬機(jī)中監(jiān)控另一個(gè)虛擬機(jī)的內(nèi)部運(yùn)行狀態(tài),并且可以獲取該虛擬機(jī)底層的二進(jìn)制狀態(tài)數(shù)據(jù)。二進(jìn)制語(yǔ)義和高層語(yǔ)義存在語(yǔ)義鴻溝的問題,無法直接將二進(jìn)制語(yǔ)義信息轉(zhuǎn)換為高層語(yǔ)義信息,需要利用語(yǔ)義轉(zhuǎn)換工具LibVMI解決語(yǔ)義鴻溝問題,將二進(jìn)制語(yǔ)義翻譯為高層語(yǔ)義。
根據(jù)虛擬機(jī)用戶為虛擬機(jī)選用的安全保護(hù)級(jí)別,確定符合虛擬機(jī)用戶需求的最優(yōu)審計(jì)方案,根據(jù)審計(jì)方案中審計(jì)策略確定需要審計(jì)用戶虛擬機(jī)底層狀態(tài)數(shù)據(jù)的種類,利用虛擬機(jī)自省技術(shù)獲取該種類的二進(jìn)制信息。如圖2所示,利用VMI獲取用戶虛擬機(jī)信息的步驟如下。
1) 虛擬機(jī)自省應(yīng)用程序(VMI application)請(qǐng)求查看內(nèi)核符號(hào)。
2) LibVMI從監(jiān)控虛擬機(jī)內(nèi)核符號(hào)表中讀取需要被監(jiān)控虛擬機(jī)的虛擬地址信息,如果內(nèi)核符號(hào)表與被監(jiān)控虛擬機(jī)的內(nèi)核符號(hào)表不匹配,則通過網(wǎng)絡(luò)查找對(duì)應(yīng)的被監(jiān)控虛擬機(jī)的內(nèi)核符號(hào)表。
3) 根據(jù)審計(jì)方案中的審計(jì)策略確定需要獲取被監(jiān)控虛擬機(jī)底層數(shù)據(jù)的信息,首先查找虛擬地址對(duì)應(yīng)的內(nèi)核頁(yè)目錄信息獲取對(duì)應(yīng)的頁(yè)表,進(jìn)而查找到正確的數(shù)據(jù)頁(yè)。
4) 通過數(shù)據(jù)頁(yè)中物理地址,找到用戶虛擬機(jī)的內(nèi)存數(shù)據(jù),其中內(nèi)存數(shù)據(jù)是以二進(jìn)制的形式存在。
5) 將得到的二進(jìn)制形式的內(nèi)存數(shù)據(jù)返回給LibVMI模塊,由其解析出高層語(yǔ)義。
6) LibVMI模塊將數(shù)據(jù)返回給VMI Application。
為了討論方便,對(duì)相關(guān)術(shù)語(yǔ)解釋如下。
審計(jì)策略 bi(i = 1 ,2,… , m ):云計(jì)算環(huán)境中,根據(jù)虛擬機(jī)用戶的安全需求,采取相應(yīng)的方式、手段和技術(shù)來保護(hù)虛擬機(jī)安全的解決方案總稱。
審計(jì)方案 Bk(k = 1 ,2,…, l ):包含審計(jì)策略b1,b2,…,bm中的一種或多種。若包含審計(jì)策略bi(i = 1 ,2,… ,m ),則xi=1,反之xi=0。
審計(jì)策略收益值 aij:在安全保護(hù)級(jí)別θj( j = 1,2,… ,n ,n ≤5)下,采用審計(jì)策略 bi可以避免虛擬機(jī)用戶發(fā)生安全事件造成損失 lossi和降低用戶虛擬機(jī)發(fā)生安全事件的概率 pij的乘積,即aij=pijlossi。損失 lossi和降低安全事件的概率 pij可劃分為3個(gè)等級(jí):高、中、低,lossi選擇使用y1、y2、y3作為打分的范圍,pij選擇使用z1、z2、z3作為打分的范圍。
審計(jì)方案收益值:在用戶虛擬機(jī)中,各種審計(jì)策略之間可能會(huì)相互影響,審計(jì)方案收益值不僅包含單個(gè)審計(jì)策略收益值的累加和,而且還包含審計(jì)策略之間交互作用的額外收益值。
圖2 VMI模塊獲取虛擬機(jī)的內(nèi)存數(shù)據(jù)
審計(jì)策略額外收益值 ξ ( bibj):表現(xiàn)為協(xié)同、蠶食、無關(guān)性。其中,協(xié)同是2種審計(jì)策略組合的收益值大于2種審計(jì)策略單獨(dú)收益值之和。蠶食是2種審計(jì)策略組合的收益值小于2種審計(jì)策略單獨(dú)收益值之和。無關(guān)性是2種審計(jì)策略組合的收益值等于2種審計(jì)策略單獨(dú)收益值之和。因此,令協(xié)同 ξ ( bibj)=u1,蠶食 ξ (bibj)=u2,無關(guān)性ξ( bibj)=u3。
審計(jì)策略成本cost(bi):采用審計(jì)策略bi需要耗費(fèi)用戶虛擬機(jī)的資源成本值??梢岳眯阅軠y(cè)試工具獲得,具體是把虛擬機(jī)的內(nèi)存資源和CPU資源劃分成百分制的區(qū)間,利用性能測(cè)試工具測(cè)試采用審計(jì)策略bi后,它耗費(fèi)的資源值分別在內(nèi)存資源和CPU資源的哪個(gè)百分制區(qū)間,將其加和求平均值得到審計(jì)策略 bi耗費(fèi)的資源成本為cost(bi),它指的是用戶虛擬機(jī)資源的百分之一。
審計(jì)方案成本界限值cost(limit):審計(jì)方案耗費(fèi)用戶虛擬機(jī)資源成本的最大值。
3.3.1 期望值決策法
一個(gè)離散型的隨機(jī)變量X,它的數(shù)學(xué)期望為
其中, xi(i = 1 ,2,… , n )表示隨機(jī)變量 X的各個(gè)取值,pi表示 X=xi的概率,即 pi=P(xi)。隨機(jī)變量X在概率意義下的平均值可以用期望值表示。利用期望值決策法計(jì)算各方案的期望收益值,并以它為依據(jù),選擇平均收益最大的方案作為最佳決策方案。
假設(shè)某個(gè)關(guān)于風(fēng)險(xiǎn)型決策的問題,有m個(gè)方案b1,b2,…,bm,有n個(gè)狀態(tài) θ1, θ2,… ,θn,各狀態(tài)的概率分別為p1,p2,…,pn。如果在狀態(tài)θj下采取方案bi的收益值為aij(i=1,2,…,m, j=1,2,…,n),則方案bi的期望收益值為
其中,有
如果引入下述向量
3.3.2 改進(jìn)的期望值決策法
期望值決策法以期望收益值為依據(jù),在眾多風(fēng)險(xiǎn)處理方案中,選擇符合用戶需求的方案。期望值決策法沒有判斷虛擬機(jī)是否可信的手段,不能直接用于云計(jì)算環(huán)境下判斷虛擬機(jī)是否可信。將期望值決策法和可信審計(jì)結(jié)合起來,依據(jù)虛擬機(jī)用戶為虛擬機(jī)選用的安全保護(hù)級(jí)別,為虛擬機(jī)用戶選擇符合其安全要求的最佳審計(jì)方案,用于云計(jì)算環(huán)境下判斷虛擬機(jī)是否可信。根據(jù)上述提及的要點(diǎn),將風(fēng)險(xiǎn)決策方法中的期望值決策法加以改進(jìn),使它計(jì)算出的結(jié)果能夠作為審計(jì)方案的選取依據(jù)。
對(duì)期望值決策法的改進(jìn)如下。
1) 針對(duì)期望值決策法各種方案的成本、收益值不易計(jì)算的問題,重新定義了期望值決策法的使用場(chǎng)景,提出了審計(jì)方案成本和收益值的計(jì)算方法,將抽象的審計(jì)方案選取問題具體化,用戶根據(jù)此方法即可選取符合用戶需求的最佳審計(jì)方案。
2) 針對(duì)期望值決策法只是使用單一的方案計(jì)算收益值、適用性差的問題,將多種審計(jì)策略組成一個(gè)審計(jì)方案,并且考慮了審計(jì)策略間相互作用的問題,用審計(jì)策略額外收益值的大小來表示審計(jì)策略間的幾種關(guān)系,即協(xié)同、蠶食、無關(guān)性。
3) 針對(duì)期望值決策法各種狀態(tài)發(fā)生概率不易計(jì)算的問題,使用正態(tài)分布公式計(jì)算各個(gè)安全保護(hù)級(jí)別的概率,不僅著重突出了用戶對(duì)虛擬機(jī)選擇的安全保護(hù)級(jí)別,同時(shí)也兼顧了其他安全保護(hù)級(jí)別下審計(jì)方案選取的狀況,使選取的審計(jì)方案不僅符合用戶需求,而且更加安全高效。
改進(jìn)后的期望決策法為:假設(shè)審計(jì)方案選用問題有 l個(gè)審計(jì)方案 B1,B2,…,Bl,有 m 個(gè)審計(jì)策略b1,b2,…,bm,有n個(gè)供虛擬機(jī)用戶選用的安全保護(hù)級(jí)別 θ1, θ2,… ,θn,各個(gè)安全保護(hù)級(jí)別對(duì)應(yīng)的概率分別為p1,p2,…,pn。若在安全保護(hù)級(jí)別jθ下采用審計(jì)策略 bi的收益值為 aij(i=1,2,…,m,j=1,2,…,n),則審計(jì)方案Bk的期望收益值為
滿足條件
及收益值矩陣,其中
則矩陣運(yùn)算形式為
為了驗(yàn)證安全保護(hù)級(jí)別的概率采用正態(tài)分布公式計(jì)算是合理的,使用 Metasploit[25]模擬虛擬機(jī)安全威脅,采用基于改進(jìn)期望值決策法的虛擬機(jī)可信審計(jì)方法檢測(cè)虛擬機(jī)的安全威脅。具體做法為:改變安全保護(hù)級(jí)別,發(fā)現(xiàn)隨著安全保護(hù)級(jí)別的提升,能夠檢測(cè)的安全威脅種類是逐漸增加的;隨著安全保護(hù)級(jí)別的提升,能夠檢測(cè)的安全威脅種類的增加量呈現(xiàn)先增后減的趨勢(shì);描繪直方圖發(fā)現(xiàn)兩頭低、中間高、左右大致對(duì)稱,因此可近似認(rèn)為隨著安全保護(hù)級(jí)別的提升,檢測(cè)出安全威脅種類的增加量符合正態(tài)分布。
假設(shè)安全保護(hù)級(jí)別jθ處于眾多安全保護(hù)級(jí)別的中間位置。令T(jθ)=jθ,則正態(tài)分布式為
當(dāng) x = T ( θz)(z = 1,2,… ,j, … ,n)時(shí) , 計(jì) 算 得 到f(x),其中, u =T(θj),σ=1。將所有的f(x)加和,并計(jì)算出每個(gè)安全保護(hù)級(jí)別θz所占的比例,即每種安全保護(hù)級(jí)別對(duì)應(yīng)的概率pj。此外,令u=0,σ=1,當(dāng) x = T (θj)時(shí),耗費(fèi)資源成本的界限值 c ost(l i mit)=
針對(duì)耗費(fèi)資源成本界限值的問題,用戶往往希望用最小的投入獲得最大的收益,但這在實(shí)際情況中是不可能的,經(jīng)過多次實(shí)驗(yàn)分析發(fā)現(xiàn),當(dāng)耗費(fèi)資源成本的界限值cost(l i mit) = δcost(u nit中取δ = 20時(shí),往往能獲得較高的投入產(chǎn)出比,所以在4.2.1節(jié)中取δ=20。
3.3.3 審計(jì)方案的安全性保護(hù)
虛擬機(jī)用戶根據(jù)自己的需求為虛擬機(jī)選用某種安全保護(hù)級(jí)別,當(dāng)用戶選用的安全保護(hù)級(jí)別被竊取時(shí),可能會(huì)導(dǎo)致為用戶虛擬機(jī)選用的審計(jì)方案泄露,攻擊者會(huì)針對(duì)審計(jì)方案實(shí)施特定的攻擊,造成虛擬機(jī)的安全隱患。因此,采用加密機(jī)制保護(hù)用戶選用安全保護(hù)級(jí)別的安全性,從而保護(hù)審計(jì)方案的安全性。
每個(gè)用戶虛擬機(jī)都有一對(duì)非對(duì)稱密鑰和對(duì)稱密鑰,由vTPM管理器負(fù)責(zé)創(chuàng)建和管理。為了保護(hù)審計(jì)方案的安全性,需要保護(hù)用戶選用安全保護(hù)級(jí)別的安全性,本文采取公鑰加密對(duì)稱密鑰,對(duì)稱密鑰加密用戶命令的方式來保證用戶選用安全保護(hù)級(jí)別的安全性。將用戶為虛擬機(jī)選用的安全保護(hù)級(jí)別的標(biāo)識(shí)信息賦給cmd,其中,UUID表示本次加密傳輸?shù)奈ㄒ粯?biāo)識(shí),UNAME表示用戶名,VMIP表示虛擬機(jī)ip,SK表示對(duì)稱密鑰,PK表示公鑰,Result表示是否成功傳輸?shù)慕Y(jié)果,具體流程如圖 3所示。
1) 用戶將UNAME、VMIP、cmd傳送給加密模塊對(duì)cmd進(jìn)行加密。
2) 加密模塊為本次加密傳輸生成唯一標(biāo)識(shí)UUID,并將UUID、UNAME、VMIP、SK{cmd}、PK{SK}傳送給管理模塊。
3) 管理模塊利用UNAME、VMIP查找是否有匹配的虛擬機(jī),若有則將UUID、UNAME、VMIP、SK{cmd}、PK{SK}傳送給可信審計(jì)。
4) 可信審計(jì)利用UNAME、VMIP得到虛擬機(jī)的專屬私鑰,用私鑰解密公鑰,用公鑰解密對(duì)稱密鑰,用對(duì)稱密鑰解密出命令cmd,通過改進(jìn)的期望值決策法計(jì)算出為用戶選用的審計(jì)方案。若成功將Result設(shè)為YES,否則設(shè)為NO,將UUID、Result返回給用戶。
圖3 加密機(jī)制保護(hù)審計(jì)方案的安全性
下面,對(duì)審計(jì)方案的選取、有效性實(shí)驗(yàn)以及性能實(shí)驗(yàn)為目標(biāo)進(jìn)行分析。
本文的實(shí)驗(yàn)利用軟件libtpm模擬硬件TPM,作為整個(gè)系統(tǒng)的可信根,使用開源Xen平臺(tái)作為虛擬機(jī)管理器,實(shí)現(xiàn)vTPM對(duì)硬件TPM的仿真模擬。為每個(gè)虛擬機(jī)模擬一個(gè) vTPM,使虛擬機(jī)和 vTPM一一對(duì)應(yīng),用 vTPM 作為虛擬機(jī)的可信根。使用VMI開源工具 LibVMI采用旁路的方式獲取審計(jì)用戶虛擬機(jī)的底層數(shù)據(jù)信息。實(shí)驗(yàn)中采用的部署配置信息如表1所示。
表1 配置信息
4.2.1 審計(jì)方案的選取及分析
假設(shè)有 5種審計(jì)策略 b1,b2,…,b5,分別表示進(jìn)程審計(jì)、模塊審計(jì)、內(nèi)存審計(jì)、文件審計(jì)、網(wǎng)絡(luò)審計(jì)。審計(jì)方案Bi(i=1,2,…,8)包含一種或多種審計(jì)策略,具體為 B1(b1,b2)、B2(b1,b2,b3)、B3(b1,b2,b4)、B4(b1,b2,b5)、B5(b1,b2,b3,b4)、B6(b1,b2,b3,b5)、B7(b1,b2,b4,b5)、B8(b1,b2,b3,b4,b5)。為用戶虛擬機(jī)提供的安全保護(hù)級(jí)別有5種,依次為 θ1,θ2, … ,θ5,分別表示底限級(jí)、低級(jí)、中級(jí)、高級(jí)、頂級(jí)。u、u、u分別取 1、?1、1230時(shí),計(jì)算出的收益值體現(xiàn)出既保守又有較好區(qū)分度的特征。根據(jù)上述規(guī)則,各審計(jì)策略的成本值如表2所示,各審計(jì)策略在不同的安全保護(hù)級(jí)別下的收益值如表3所示。
審計(jì)策略占用的資源和檢測(cè)率是一定的,所以在不同的安全保護(hù)級(jí)別下,它的成本值和降低安全事件概率是一定的。虛擬機(jī)安全對(duì)用戶越重要,用戶選用的安全保護(hù)級(jí)別越高,為虛擬機(jī)可信審計(jì)分配的資源越多,避免的損失就越多。根據(jù)經(jīng)驗(yàn)[26],y1、y2、y3分別取 9、3、1,z1、z2、
表2 各審計(jì)策略的成本值
表3 各審計(jì)策略在不同的安全保護(hù)級(jí)別下的收益值(保留兩位)
假設(shè)虛擬機(jī)用戶為虛擬機(jī)選用的安全保護(hù)級(jí)別θ3,審計(jì)策略b1、b2、b3為協(xié)同關(guān)系。利用正態(tài)分布式得到各種安全保護(hù)級(jí)別對(duì)應(yīng)的概率值 p1, p2, … ,p5以及耗費(fèi)資源成本的界限值 c ost(l i mit) =14.04 c ost(u nit)。在該安全保護(hù)級(jí)別下,審計(jì)方案必須采用所有基礎(chǔ)審計(jì)策略和一種其他審計(jì)策略,并且審計(jì)方案的成本要小于耗費(fèi)資源成本的界限值。同時(shí)符合策略選擇要求和成本要求的審計(jì)方案有B2、B3、B5、B6、B7,計(jì)算這幾種審計(jì)方案在各種安全保護(hù)級(jí)別下的收益值。各個(gè)安全保護(hù)級(jí)別的概率及采用各個(gè)審計(jì)方案的收益如表4所示。
表4 各個(gè)安全保護(hù)級(jí)別的概率及采用各個(gè)審計(jì)方案的收益
4.2.2 有效性實(shí)驗(yàn)及分析
在云計(jì)算中,虛擬機(jī)用戶根據(jù)自身需求的不同會(huì)對(duì)虛擬機(jī)進(jìn)行不同的操作,例如,修改虛擬機(jī)配置,增刪軟件和應(yīng)用服務(wù)等。這些操作會(huì)使程序?qū)?yīng)的 Hash摘要值發(fā)生改變,因此不能通過固定所有程序比較其 Hash摘要值的方法來判定虛擬機(jī)的可信性。本文將風(fēng)險(xiǎn)決策和可信審計(jì)結(jié)合起來,利用可信計(jì)算技術(shù)保證虛擬機(jī)運(yùn)行環(huán)境中不變組件的可信性,利用審計(jì)技術(shù)保證虛擬機(jī)運(yùn)行環(huán)境中可變組件的可信性,利用風(fēng)險(xiǎn)決策法為用戶選用可信審計(jì)方案,判定虛擬機(jī)的可信性。
Metasploit是一款開源的安全漏洞檢測(cè)工具,它提供了通用的漏洞攻擊框架,集成了各平臺(tái)上常見的溢出漏洞和流行的shellcode。其主要原理是利用各種操作系統(tǒng)中存在的漏洞如本地緩沖區(qū)溢出、堆污染、整數(shù)溢出或格式串漏洞等進(jìn)行攻擊。攻擊成功后可以在目標(biāo)虛擬機(jī)中運(yùn)行各種惡意腳本程序。
用 Metasploit攻擊安裝 Windows系統(tǒng)的虛擬機(jī),攻擊成功后在虛擬機(jī)中運(yùn)行FUTo腳本程序。FUTo是FU rootkit的新版本,它是一種惡意的程序,可以隱藏自身進(jìn)程和惡意進(jìn)程避免被宿主機(jī)發(fā)現(xiàn),達(dá)到持續(xù)破壞的作用。FUTo增加了一些新的功能,它采用 DKOM 技術(shù)隱藏 PspCidTable中特定的對(duì)象。PspCidTable是一個(gè)指向HANDLE_TABLE結(jié)構(gòu)的指針,PspCidTable相當(dāng)于進(jìn)程和線程ID的句柄表,每一個(gè)進(jìn)程的PID都能在PspCidTable中找到它的對(duì)應(yīng)。主流的安全檢測(cè)工具,如IceSword,主要通過掃描 PspCidTable來獲取運(yùn)行環(huán)境的進(jìn)程列表信息,它無法檢測(cè)到FUTo隱藏的進(jìn)程信息。如圖4(a)所示,采用主流的安全檢測(cè)工具,不能發(fā)現(xiàn)FUTo創(chuàng)建的進(jìn)程。
在本次實(shí)驗(yàn)中為用戶選用的是審計(jì)方案B5,審計(jì)方案B5包含進(jìn)程審計(jì)和內(nèi)存審計(jì)。進(jìn)程審計(jì)可以通過判斷進(jìn)程內(nèi)存頁(yè)的使用情況檢測(cè)隱藏的進(jìn)程。進(jìn)程運(yùn)行時(shí)會(huì)在操作系統(tǒng)的內(nèi)存頁(yè)分配池中為進(jìn)程分配進(jìn)程內(nèi)存頁(yè),當(dāng)FUTo隱藏進(jìn)程信息時(shí),操作系統(tǒng)的內(nèi)存頁(yè)分配池中還有該進(jìn)程的信息,通過掃描操作系統(tǒng)的內(nèi)存頁(yè)分配池對(duì)比進(jìn)程列表可以發(fā)現(xiàn)隱藏的進(jìn)程,如圖4(b)所示。
圖4 使用主要安全檢測(cè)工具和本文可信審計(jì)方案對(duì)比
4.2.3 性能實(shí)驗(yàn)及分析
根據(jù)本文提出的虛擬機(jī)可信審計(jì)方法,把用戶選中的虛擬機(jī)安全保護(hù)級(jí)別的標(biāo)識(shí)信息加密傳送到可信審計(jì)模塊,在該模塊為用戶虛擬機(jī)選用審計(jì)方案,根據(jù)審計(jì)方案的需求利用虛擬機(jī)自省技術(shù)來進(jìn)行審計(jì)數(shù)據(jù)收集,通過審計(jì)方案制定的策略審計(jì)收集的數(shù)據(jù),判定虛擬機(jī)是否可信。這些機(jī)制會(huì)給虛擬機(jī)帶來額外的性能開銷。因此,性能實(shí)驗(yàn)的目的是:通過對(duì)比可信機(jī)制不同,采用其他軟件、硬件設(shè)施都相同的虛擬機(jī)來分析本文方法對(duì)用戶虛擬機(jī)運(yùn)行環(huán)境帶來的額外代價(jià)。為了更細(xì)致地分析各個(gè)機(jī)制的引入對(duì)性能的影響,把用戶虛擬機(jī)分成3種設(shè)置:采用審計(jì)方案的可信虛擬機(jī)、采用文獻(xiàn)[10]中可信機(jī)制的虛擬機(jī)、采用非可信機(jī)制的虛擬機(jī),并分析機(jī)器配置不同的虛擬機(jī)對(duì)審計(jì)方案中審計(jì)數(shù)據(jù)收集和審計(jì)的性能影響。其中,采用審計(jì)方案的可信(audit-trust)虛擬機(jī):引入可信鏈、加密機(jī)制、審計(jì)方案選擇、審計(jì)數(shù)據(jù)收集和審計(jì)這些可信機(jī)制;采用文獻(xiàn)[10]中可信機(jī)制的虛擬機(jī)(other-trust):引入可信鏈、審計(jì)數(shù)據(jù)收集和審計(jì)這些可信機(jī)制;采用非可信機(jī)制(none-trust)的虛擬機(jī):不引入任何可信機(jī)制。
審計(jì)數(shù)據(jù)的收集主要有2種方式:同步和異步。同步方式是先把需要審計(jì)虛擬機(jī)的內(nèi)存信息存儲(chǔ)到硬盤文件上,然后從文件中查找需要審計(jì)的信息,對(duì)虛擬機(jī)進(jìn)行可信性審計(jì);異步方式則不需要每次都把需要審計(jì)虛擬機(jī)的內(nèi)存信息存儲(chǔ)到硬盤上,可以細(xì)粒度地訪問和獲取特定虛擬機(jī)的內(nèi)存信息,同時(shí)根據(jù)這些信息對(duì)虛擬機(jī)進(jìn)行可信性審計(jì)。
虛擬機(jī)的配置對(duì)收集審計(jì)數(shù)據(jù)產(chǎn)生影響的因素主要有2種:虛擬機(jī)中內(nèi)存的大小,虛擬機(jī)的CPU的核數(shù),即單位時(shí)間內(nèi)CPU計(jì)算數(shù)據(jù)的能力。首先,分析虛擬機(jī)的 CPU核數(shù)對(duì)收集審計(jì)數(shù)據(jù)性能的影響。如圖 5所示,在虛擬機(jī)內(nèi)存和其他配置不變的情況下,改變CPU核數(shù),觀察CPU核數(shù)對(duì)同步方式下審計(jì)數(shù)據(jù)收集完成時(shí)間的影響,可以發(fā)現(xiàn),當(dāng)限定虛擬機(jī)的內(nèi)存大小、改變虛擬機(jī)CPU核數(shù)時(shí),其對(duì)審計(jì)數(shù)據(jù)收集完成的時(shí)間幾乎無影響。
圖5 用戶虛擬機(jī)CPU核數(shù)對(duì)審計(jì)數(shù)據(jù)收集消耗時(shí)間的影響
在同步方式下,統(tǒng)計(jì)了對(duì)虛擬機(jī)進(jìn)行一次數(shù)據(jù)收集和審計(jì)操作所需要的時(shí)間,如圖6所示。以4 GB、4核虛擬機(jī)配置為例,從圖5和圖6可以看到,審計(jì)數(shù)據(jù)收集花費(fèi)的時(shí)間為61.13 s,而進(jìn)程審計(jì)花費(fèi)的時(shí)間為1.37 s,占前者2.24%。由此可以說明圖6中的情況,即對(duì)虛擬機(jī)進(jìn)行可信數(shù)據(jù)收集和審計(jì)的完成時(shí)間與虛擬機(jī)中的內(nèi)存大小基本呈正比關(guān)系,這是因?yàn)樗枰臅r(shí)間絕大部分花費(fèi)在收集審計(jì)數(shù)據(jù)上。
圖6 同步方式下,一次審計(jì)方案審計(jì)數(shù)據(jù)收集和審計(jì)操作在不同虛擬機(jī)內(nèi)存配置下消耗的時(shí)間
審計(jì)操作主要對(duì)需要審計(jì)的數(shù)據(jù)進(jìn)行數(shù)據(jù)結(jié)構(gòu)和相關(guān)字符串搜索匹配,與需要存儲(chǔ)到硬盤上的內(nèi)存數(shù)據(jù)的大小沒有關(guān)系,所以審計(jì)操作的完成時(shí)間和內(nèi)存大小沒有呈現(xiàn)出線性關(guān)系。從圖7可以看出,異步方式下審計(jì)數(shù)據(jù)收集加上審計(jì)的總完成時(shí)間跟同步方式下審計(jì)的完成時(shí)間相差不多。這是因?yàn)楫惒椒绞娇梢灾苯蛹?xì)粒度地獲取需要審計(jì)的內(nèi)存數(shù)據(jù),不需要把它先存儲(chǔ)到硬盤上再進(jìn)行審計(jì),所以可以得出結(jié)論,即異步方式可以在很大程度上節(jié)省一次審計(jì)數(shù)據(jù)收集和審計(jì)的時(shí)間。
圖7 在異步方式下數(shù)據(jù)收集和審計(jì)的完成時(shí)間與同步方式下審計(jì)時(shí)間的對(duì)比
因?yàn)閷?duì)虛擬機(jī)的可信審計(jì)可以用異步方式對(duì)用戶虛擬機(jī)內(nèi)存數(shù)據(jù)進(jìn)行旁路操作,而審計(jì)方案的選用只是一個(gè)簡(jiǎn)單的計(jì)算問題,獲取審計(jì)數(shù)據(jù)、審計(jì)以及審計(jì)方案的選取時(shí)間都可以忽略不計(jì)。因此本文主要考慮可信鏈的引入和加密機(jī)制對(duì)虛擬機(jī)可信審計(jì)性能的影響。
采用多種不同側(cè)重的性能測(cè)試工具,對(duì)可信機(jī)制不同、其他配置都相同的虛擬機(jī)進(jìn)行性能測(cè)試。圖8是對(duì)虛擬機(jī)進(jìn)行性能測(cè)試和對(duì)比的情況,性能測(cè)試工具的說明如表5所示。
圖8 使用性能測(cè)試工具對(duì)不同類型的用戶虛擬機(jī)進(jìn)行性能對(duì)比
表5 性能測(cè)試工具的名稱和功能描述
使用3種測(cè)試工具測(cè)試不同類型虛擬機(jī)的性能狀況。其中,IOZone測(cè)試不同類型虛擬機(jī)的I/O性能;ByteMark測(cè)試不同指標(biāo)下虛擬機(jī)的計(jì)算能力;PostMark測(cè)試不同類型虛擬機(jī)處理文件事務(wù)的能力。audit-trust引入的額外性能代價(jià)在于加密機(jī)制和可信機(jī)制。對(duì)于可信機(jī)制,當(dāng)執(zhí)行某種操作時(shí)不僅需要計(jì)算 Hash值還需要將該值擴(kuò)展到vTPM的PCR寄存器中。因此每個(gè)操作的完成時(shí)間會(huì)有所增加,但是對(duì)處理相同的操作時(shí),可信機(jī)制不需要再次進(jìn)行 Hash、獲取摘要、存放到PCR寄存器中。而加密機(jī)制只是在首次為用戶虛擬機(jī)選用審計(jì)策略時(shí)使用。由圖8(a)可知,3種可信機(jī)制不同,其他配置相同的用戶虛擬機(jī),它的讀寫能力(吞吐率)基本是一致的。隨著測(cè)試文件大小的不斷增加,磁盤 I/O逐漸成為系統(tǒng)讀寫能力(吞吐率)的瓶頸后,加密機(jī)制和可信機(jī)制所產(chǎn)的性能開銷可以忽略不計(jì),運(yùn)行環(huán)境讀寫能力(吞吐率)表現(xiàn)為磁盤I/O的速度,3種類型虛擬機(jī)的讀寫能力(吞吐率)曲線基本一致。由圖8(b)可知,3種類型虛擬機(jī)的計(jì)算性能相差不大,性能損耗基本可以忽略不計(jì)。由圖 8(c)可知,未引入可信機(jī)制的虛擬機(jī)在每秒完成的事務(wù)數(shù)量高于引入可信機(jī)制的虛擬機(jī),隨著并發(fā)文件數(shù)的不斷增加,相同的事務(wù)操作變得越來越多,二者之間的差距不斷縮小。以上實(shí)驗(yàn)說明本文中的可信機(jī)制和加密機(jī)制不會(huì)引入過多額外代價(jià)。
虛擬機(jī)運(yùn)行環(huán)境的安全可信是云計(jì)算被廣泛應(yīng)用的重要前提,國(guó)內(nèi)外研究者對(duì)如何判定虛擬機(jī)運(yùn)行環(huán)境是否可信進(jìn)行了深入的研究,取得了重要的研究成果。本文針對(duì)現(xiàn)有研究方案中存在的問題,如過度使用安全策略浪費(fèi)資源、需要改動(dòng)虛擬機(jī)不利于推廣、可擴(kuò)展性差等,提出了基于改進(jìn)期望值決策法的
虛擬機(jī)可信審計(jì)方法,為上述問題提供了一種可行的解決方案。根據(jù)虛擬機(jī)用戶為虛擬機(jī)選用的安全保護(hù)級(jí)別,為用戶虛擬機(jī)選取符合其安全需求的最佳審計(jì)方案,通過審計(jì)方案判定虛擬機(jī)運(yùn)行環(huán)境的可信性,若用戶虛擬機(jī)運(yùn)行環(huán)境處于不可信狀態(tài),則及時(shí)通知用戶采取相應(yīng)措施。通過仿真實(shí)驗(yàn)的方法對(duì)審計(jì)方案的選取、有效性進(jìn)行分析,結(jié)果表明,采用風(fēng)險(xiǎn)決策法的思想和可信審計(jì)方法相結(jié)合的機(jī)制針對(duì)典型的安全威脅是有效的;在實(shí)際應(yīng)用中,只要虛擬機(jī)用戶可以根據(jù)本文的方法得出審計(jì)方案的成本和收益值,那么本文提出的方案對(duì)該用戶就適用。