專利名稱:用于虛擬機(jī)系統(tǒng)的可信計(jì)算基裁剪方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)信息安全技術(shù)領(lǐng)域,主要涉及用于虛擬機(jī)系統(tǒng)的可信計(jì) 算基防泄露裁剪方法。
技術(shù)背景國(guó)家信息安全測(cè)評(píng)認(rèn)證中心的調(diào)査結(jié)果表明在眾多的攻擊行為和事件中, 信息泄漏事件是主要的安全事故,已給企業(yè)帶來了巨大的經(jīng)濟(jì)損失。現(xiàn)有的數(shù) 據(jù)防泄漏系統(tǒng)主要在操作系統(tǒng)內(nèi)嵌入一定的安全模塊或通過限制網(wǎng)絡(luò)邊界的方 法加以實(shí)現(xiàn),但操作系統(tǒng)的可信性無法確保以及各種惡意軟件對(duì)敏感數(shù)據(jù)計(jì)算 系統(tǒng)的侵害,故而現(xiàn)有防泄漏機(jī)制的可用性受到嚴(yán)重影響,從而危害敏感數(shù)據(jù) 安全。基于虛擬機(jī)監(jiān)視器 (Virtual Machine Monitor, VMM)的虛擬機(jī)系統(tǒng)通過 系統(tǒng)隔離特性可以解決以上威脅。參見圖1,虛擬機(jī)系統(tǒng)的VMM層直接運(yùn)行于 硬件層之上,通過虛擬化技術(shù)為客戶操作系統(tǒng)提供硬件環(huán)境一致的運(yùn)行條件, 各客戶操作系統(tǒng)運(yùn)行于VMM層(VMM層)之上,形成了多個(gè)客戶機(jī)l、客戶 機(jī)2…客戶機(jī)n,每個(gè)客戶機(jī)都包括自己的應(yīng)用和內(nèi)核。客戶機(jī)l、客戶機(jī)2... 客戶機(jī)n分別處于自己的用戶域,即域l、域2、...域n。從技術(shù)層面上講,就 是通過系統(tǒng)軟件技術(shù)虛擬出多個(gè)和底層硬件系統(tǒng)一致的虛擬計(jì)算機(jī)接口,在一 臺(tái)物理機(jī)器上可以同時(shí)運(yùn)行多個(gè)操作系統(tǒng)實(shí)例,這層運(yùn)行在硬件層(包括CPU、 內(nèi)存、外設(shè))上的系統(tǒng)軟件就是VMM層。該體系結(jié)構(gòu)下,有且僅有一個(gè)特權(quán)域,標(biāo)記為域0。特權(quán)域負(fù)責(zé)創(chuàng)建、管理和銷毀其他用戶域,因此其中設(shè)有域創(chuàng)建模塊(Domain Builder)oVMM虛擬化技術(shù)確保了每個(gè)虛擬機(jī)實(shí)例都處于完全隔離保護(hù)狀態(tài),允許用 戶自由隔離不受信任的程序代碼,從而降低惡意代碼給系統(tǒng)帶來的危害和損失。 因此,利用VMM提供的域之間的隔離特性,對(duì)敏感數(shù)據(jù)防泄漏提供了新的思 路??蓞⒁姀埆I(xiàn)濤.系統(tǒng)虛擬機(jī)關(guān)鍵技術(shù)及相關(guān)安全問題研究[D].武漢:武漢大學(xué), 2008。 以及Derek G.M, Grzegorz M, Steven H. Improving Xen Security through Disaggregation[C]. Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments. March 05-07, 2008, Seattle, WA, USA, 2008:151-160。此外,可信平臺(tái)模塊(Trusted Platform Module, TPM)整個(gè)可信虛擬機(jī)系統(tǒng) 的度量驗(yàn)證的可信根的安全功能,能提供諸如平臺(tái)身份證明、平臺(tái)完整性證明、 密鑰管理、密封存儲(chǔ)等各項(xiàng)安全服務(wù),從硬件層次保證平臺(tái)的安全性和可靠性。 可信平臺(tái)模塊作為虛擬機(jī)系統(tǒng)的度量驗(yàn)證的可信根。在虛擬機(jī)系統(tǒng)中,可以在 虛擬機(jī)的特權(quán)域中設(shè)置虛擬可信平臺(tái)模塊管理器(vTPM管理器),通過虛擬TPM 管理器為每個(gè)客戶機(jī)分別建立虛擬TPM實(shí)例并且管理這些虛擬TPM實(shí)例。所 建立的虛擬TPM實(shí)例模擬物理TPM,為客戶機(jī)提供物理TPM的功能,實(shí)現(xiàn)虛 擬TPM。參見圖2,在這種虛擬機(jī)系統(tǒng)的半虛擬化體系結(jié)構(gòu)下,安全模型通常 視可信計(jì)算基(Trusted Computing Base, TCB)的范圍包涵整個(gè)域0,即包括域 0內(nèi)的vTPM管理器、域創(chuàng)建模塊(Domain Builder)、內(nèi)核(Kernel)、敏感數(shù) 據(jù)訪問策略等。然而可信計(jì)算基過大將導(dǎo)致特區(qū)域內(nèi)惡意行為給具有敏感數(shù)據(jù) 的虛擬機(jī)構(gòu)成泄漏威脅,故需進(jìn)行特權(quán)域的特權(quán)功能的分解,降低特權(quán)域內(nèi)惡 意行為對(duì)客戶虛擬機(jī)的影響程度。此外,特權(quán)域用戶或管理程序的更新變化, 不利于現(xiàn)有的靜態(tài)信任鏈的構(gòu)建,從而影響對(duì)具有敏感數(shù)據(jù)的虛擬機(jī)環(huán)境(虛 擬機(jī)及可信計(jì)算基)的可信驗(yàn)證實(shí)施。發(fā)明內(nèi)容本發(fā)明目的在于解決現(xiàn)有技術(shù)不足,提供實(shí)現(xiàn)虛擬機(jī)系統(tǒng)數(shù)據(jù)防泄露的可 信計(jì)算基裁剪方法。本發(fā)明技術(shù)方案為一種用于虛擬機(jī)系統(tǒng)的可信計(jì)算基裁剪方法,所述虛擬 機(jī)系統(tǒng)中包括有硬件層、虛擬機(jī)監(jiān)視器層、虛擬可信平臺(tái)模塊管理器、域創(chuàng)建 模塊、內(nèi)核和敏感數(shù)據(jù)訪問策略;虛擬可信平臺(tái)模塊管理器、域創(chuàng)建模塊、內(nèi) 核和敏感數(shù)據(jù)訪問策略處于特權(quán)域;建立一個(gè)與特權(quán)域隔離的特殊用戶域,將 虛擬可信平臺(tái)模塊管理器、域創(chuàng)建模塊和敏感數(shù)據(jù)訪問策略遷置于特殊用戶域 中,內(nèi)核保留丁特權(quán)域中;特權(quán)域與特殊用戶域之間建立通信;硬件層、虛擬 機(jī)監(jiān)視器層、虛擬可信平臺(tái)模塊管理器、域創(chuàng)建模塊和敏感數(shù)據(jù)訪問策略構(gòu)成 可信計(jì)算基。而且,將域創(chuàng)建模塊遷置于特殊用戶域中的實(shí)現(xiàn)方式為,連接特殊用戶域 的操作系統(tǒng)到特權(quán)域中包含域創(chuàng)建模塊代碼的庫(kù),通過該連接將域創(chuàng)建模塊代 碼遷移到特殊用戶域中。本發(fā)明提供了一種可信計(jì)算基裁剪方案,不僅保留了傳統(tǒng)可信計(jì)算基方案 的優(yōu)勢(shì),而且增強(qiáng)了可信虛擬機(jī)系統(tǒng)的安全性和啟動(dòng)速度。據(jù)此分解方法, Domain0的kernel可以排除在TCB之外,實(shí)現(xiàn)了 TCB的最小化,不僅提供了 Domain Builder、 vTPM和敏感數(shù)據(jù)訪問策略的隔離保護(hù),防止特權(quán)域Domain0 管理員惡意或無意的操作對(duì)其造成篡改或破壞,降低了敏感數(shù)據(jù)泄漏風(fēng)險(xiǎn),此 外,高可信的敏感數(shù)據(jù)計(jì)算環(huán)境是泄漏防范的必要條件,該方法降低可信計(jì)算 機(jī)安全啟動(dòng)時(shí)硬件可信計(jì)算平臺(tái)模塊(Hardware Trusted Platform Module, HW-TPM)度量的吋間,從而改善了可信計(jì)算環(huán)境構(gòu)建方法
圖1現(xiàn)有基于VMM模型的虛擬機(jī)系統(tǒng)的結(jié)構(gòu)示意圖;圖2現(xiàn)有可信計(jì)算基結(jié)構(gòu)示意圖;圖3本發(fā)明的可信計(jì)算基結(jié)構(gòu)示意圖;圖4本發(fā)明實(shí)施例的信任鏈建立過程示意圖;圖5本發(fā)明實(shí)施例中特殊用戶域和特權(quán)域的通信機(jī)制示意圖;圖6本發(fā)明實(shí)施例中物理TPM與虛擬TPM的調(diào)用關(guān)系示意圖。
具體實(shí)施方式
本發(fā)明提出了一種用于虛擬機(jī)系統(tǒng)的可信計(jì)算基裁剪方法。現(xiàn)有技術(shù)中的可信計(jì)算基包括有硬件層(包括CPU、 BIOS等)、VMM層、vTPM管理器、 Domain Builder、內(nèi)核和敏感數(shù)據(jù)訪問策略。本發(fā)明將vTPM管理器、Domain Builder和敏感數(shù)據(jù)訪問策略置于'個(gè)與域0相隔離的域中。按照虛擬機(jī)技術(shù), 特權(quán)域以外的域都屬于用戶域,但本發(fā)明建立的域是為了安全防泄露目的,因 此稱為特殊用戶域,實(shí)施例中記為域B。為了支持Domain Builder的工作,需要 實(shí)現(xiàn)Domain Builder所在域B和域0的通信機(jī)制。參見圖3,在本發(fā)明的裁剪方 案卜,可信計(jì)算基包含5個(gè)部分硬件層、VMM層、vTPM管理器、Domain Builder 和敏感數(shù)據(jù)訪問策略。域B以某個(gè)操作系統(tǒng)為基礎(chǔ),加入Domain Builder。除此 之外,將原本在域0中的vTPM管理器和敏感數(shù)據(jù)訪問策略也放入Domain Builder所在的域中。這樣,在特權(quán)域中的管理員就無法直接訪問到vTPM管理 器和敏感數(shù)據(jù)訪問策略,保證了這兩個(gè)關(guān)鍵模塊對(duì)管理員的隔離,進(jìn)而保證了 它們的安全。這五個(gè)部分均由物理TPM進(jìn)行度量驗(yàn)證,保證它們的安全可信??尚庞?jì)算基主要由vTPM管理器、Domain Builder和敏感數(shù)據(jù)訪問策略組成。 為了便于實(shí)施參考,本發(fā)明提供實(shí)施例的主要實(shí)施步驟說明(1) 將MiniOS作為域B的操作系統(tǒng),通過將MiniOS連接上libxc,實(shí)現(xiàn) 把Domain Builder從域0中遷移出來。MiniOS是實(shí)現(xiàn)了事件通道等半虛擬化特征的簡(jiǎn)單操作系統(tǒng)實(shí)例,屬于現(xiàn)有 技術(shù),實(shí)施例直接將其作為域B的操作系統(tǒng)?,F(xiàn)有技術(shù)中,Domain Builder通過 特權(quán)域中包括Domain Builder代碼的庫(kù)Libxc實(shí)現(xiàn)。通過將Domain Builder代碼 轉(zhuǎn)移到域B中并使MiniOS連接上libxc,就可以使用libxc屮已經(jīng)提供的函數(shù)來 實(shí)施創(chuàng)建、銷毀域等操作。這樣MiniOS就可以直接使用libxc的函數(shù),從而不 需要重新在域B中重寫代碼。vTPM管理器和敏感數(shù)據(jù)訪問策略可以作為MiniOS的內(nèi)核模塊,其代碼也 可以作為MiniOS內(nèi)核源碼的一部分,因此同樣可以通過連接從域0中遷移到域 B。(2) 在MiniOS和域0中實(shí)現(xiàn)事件通道機(jī)制,用于域0和域B之間的通信。 利用在域0中的xend即可控制Domain Builder。 Xend是特權(quán)域?qū)ζ渌蜻M(jìn)行管 理的工具,屬于現(xiàn)有技術(shù)。在Domain Builder分解出來后,域0對(duì)域B要進(jìn)行控制和操作就需要進(jìn)行 通信。在本實(shí)施例中采取事件通道機(jī)制,具體實(shí)施時(shí)還可以用共享內(nèi)存等其他 機(jī)制。事件通道就是在兩個(gè)域之間建立的一條通信途徑,通道兩端分別連接兩 個(gè)域的端口, 一個(gè)域可以在本地端U發(fā)送一個(gè)信號(hào),另一個(gè)域便可以在自己的 本地端口接收信號(hào)。接收信號(hào)有同步和異步兩種方式,采用任一方式均可。(3) 在MiniOS和域0中實(shí)現(xiàn)授權(quán)表共享內(nèi)存機(jī)制,用于傳輸新建的其他用戶域中所需操作系統(tǒng)kernel鏡像、RAMDisk (內(nèi)存盤,其中包含了 Linux啟動(dòng)所需的驅(qū)動(dòng)程序)等。(4) 域B中加入原來處于域0的物理TPM驅(qū)動(dòng)和vTPM管理器。在現(xiàn)有 可信計(jì)算基中,為了給客戶機(jī)提供虛擬TPM,可以設(shè)定虛擬TPM實(shí)例通過vTPM 管理器與物理TPM交互,因此在域0中設(shè)置物理TPM驅(qū)動(dòng),以實(shí)現(xiàn)VTPM管 理器與硬件層中物理TPM的通信。本發(fā)明實(shí)施例將物理TPM驅(qū)動(dòng)也隨vTPM 管理器置入域B。參見圖6,在虛擬機(jī)環(huán)境下,虛擬TPM實(shí)例由vTPM管理器創(chuàng)建。當(dāng)新的 用戶域創(chuàng)建好之后,新域調(diào)用在域B中的vTPM管理器創(chuàng)建虛擬TPM實(shí)例。度 量的時(shí)候,vTPM管理器調(diào)用物理TPM驅(qū)動(dòng),物理TPM驅(qū)動(dòng)直接與TPM交互, 調(diào)用物理TPM來完成度量過程。(5) 修改信任鏈,加入vTPM管理器度量域0的kernel這一環(huán)節(jié)。 參見圖4,在本發(fā)明的裁剪方案下,實(shí)施例中信任鏈的建立過程如下1) 虛擬機(jī)系統(tǒng)啟動(dòng)時(shí),由物理TPM度量圖4中粗線黑框所包括的部分, 即本發(fā)明中的可信訃算基,度量驗(yàn)證通過后啟動(dòng)VMM和MiniOS;2) 域B的MiniOS調(diào)用域0屮的vTPM管理器代碼,用vTPM管理器度量 域0的kernel,度量驗(yàn)證通過后啟動(dòng)域0的kernel;3) 域0的kernel度量域0用戶空間(User)中的各個(gè)進(jìn)程(app),如xend; 度量驗(yàn)證通過后啟動(dòng)xend進(jìn)程;4) 此時(shí)信任鏈建立完畢,特權(quán)域管理員可以應(yīng)用域0中的xend工具對(duì)虛 擬機(jī)進(jìn)行操作。在本發(fā)明所提供的裁剪方案下,建立-一個(gè)新虛擬機(jī)的過程將發(fā)生一定的改變,為了便于實(shí)施參考,提供實(shí)施例的具體建立過程參見圖5:1 ) xend向Domain Builder發(fā)出 一 個(gè)IVMC call (IVMC : Inter-VM Communication虛擬機(jī)間通信,IVMC call:請(qǐng)求信號(hào)),請(qǐng)求建立一個(gè)新虛擬機(jī);2) Domain Builder向域0的vfsback (虛擬文件系統(tǒng)的后臺(tái)管理程序)發(fā)送 File request (請(qǐng)求發(fā)送文件的信號(hào))請(qǐng)求獲得一個(gè)kernel鏡像;3 )域0的vfsback向Domain Builder分發(fā)kernel的鏡像(即圖中的File data 傳輸文件數(shù)據(jù));4) DomainBuilder為新的用戶域分配物理內(nèi)存;5 ) Domain Builder將kernel鏡像拷貝到新的客戶機(jī)中;6) Domain Builder為新的客戶機(jī)安裝并初始化頁(yè)表;7 ) Domain Builder啟動(dòng)新的客戶機(jī);8) DomainBuilder通過向域O發(fā)回IVMC return (返回信號(hào))將新客戶機(jī)的 控制權(quán)交給域。以上過程中,主要是域B中的Domain Builder進(jìn)行作用。
權(quán)利要求
1.一種用于虛擬機(jī)系統(tǒng)的可信計(jì)算基裁剪方法,所述虛擬機(jī)系統(tǒng)中包括有硬件層、虛擬機(jī)監(jiān)視器層、虛擬可信平臺(tái)模塊管理器、域創(chuàng)建模塊、內(nèi)核和敏感數(shù)據(jù)訪問策略;虛擬可信平臺(tái)模塊管理器、域創(chuàng)建模塊、內(nèi)核和敏感數(shù)據(jù)訪問策略處于特權(quán)域;其特征在于建立一個(gè)與特權(quán)域隔離的特殊用戶域,將虛擬可信平臺(tái)模塊管理器、域創(chuàng)建模塊和敏感數(shù)據(jù)訪問策略遷置于特殊用戶域中,內(nèi)核保留于特權(quán)域中;特權(quán)域與特殊用戶域之間建立通信;硬件層、虛擬機(jī)監(jiān)視器層、虛擬可信平臺(tái)模塊管理器、域創(chuàng)建模塊和敏感數(shù)據(jù)訪問策略構(gòu)成可信計(jì)算基。
2.如權(quán)利要求1所述的可信計(jì)算基裁剪方法,其特征在于將域創(chuàng)建模塊遷置 于特殊用戶域中的實(shí)現(xiàn)方式為,連接特殊用戶域的操作系統(tǒng)到特權(quán)域中包含域 創(chuàng)建模塊代碼的庫(kù),通過該連接將域創(chuàng)建模塊代碼遷移到特殊用戶域中。
全文摘要
本發(fā)明公開了用于虛擬機(jī)系統(tǒng)的可信計(jì)算基防泄露裁剪方法。所述虛擬機(jī)系統(tǒng)中包括有硬件層、虛擬機(jī)監(jiān)視器層、虛擬可信平臺(tái)模塊管理器、域創(chuàng)建模塊、內(nèi)核和敏感數(shù)據(jù)訪問策略;虛擬可信平臺(tái)模塊管理器、域創(chuàng)建模塊、內(nèi)核和敏感數(shù)據(jù)訪問策略處于特權(quán)域;其特征在于建立一個(gè)與特權(quán)域隔離的特殊用戶域,將虛擬可信平臺(tái)模塊管理器、域創(chuàng)建模塊和敏感數(shù)據(jù)訪問策略遷置于特殊用戶域中,內(nèi)核保留于特權(quán)域中;特權(quán)域與特殊用戶域之間建立通信;硬件層、虛擬機(jī)監(jiān)視器層、虛擬可信平臺(tái)模塊管理器、域創(chuàng)建模塊和敏感數(shù)據(jù)訪問策略構(gòu)成可信計(jì)算基。本發(fā)明提供了一種可信計(jì)算基裁剪方案,不僅保留了傳統(tǒng)可信計(jì)算基方案的優(yōu)勢(shì),而且增強(qiáng)了可信虛擬機(jī)系統(tǒng)的安全性和啟動(dòng)速度。
文檔編號(hào)G06F9/445GK101599022SQ20091006308
公開日2009年12月9日 申請(qǐng)日期2009年7月7日 優(yōu)先權(quán)日2009年7月7日
發(fā)明者余榮威, 波 匡, 凱 周, 鵬 寇, 帆 尹, 磊 尹, 晉 柯, 王麗娜 申請(qǐng)人:武漢大學(xué)