欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種響應Xen客戶硬件虛擬域可信計算TOCTOU攻擊的方法

文檔序號:6607267閱讀:322來源:國知局
專利名稱:一種響應Xen客戶硬件虛擬域可信計算TOCTOU攻擊的方法
技術領域
本發(fā)明涉及計算機信息安全可信計算領域,是一種在Xen硬件虛擬域環(huán)境下響應 TCG可信計算T0CT0U攻擊的有效方法。
背景技術
TCG體系結構利用固化在計算機主板上的TPM硬件芯片的PCR寄存器的內(nèi)容來判 定實際平臺的安全性。然而大多數(shù)商用操作系統(tǒng)的設計模式使得僅僅提供軟件加載驗證的 TCG體系結構容易遭受TOCTOU (time of check vs time of use)的攻擊,該攻擊被稱為可 信計算T0CT0U攻擊。Xen虛擬機是一個成熟的開放源代碼虛擬化產(chǎn)品,包括一個虛擬機監(jiān)控器、一個特 權域和多個客戶虛擬域。虛擬機監(jiān)控器位于系統(tǒng)硬件平臺與虛擬域操作系統(tǒng)軟件之間,負 責監(jiān)控下層硬件,并將硬件抽象成可管理調度的實體供上層計算域使用,還為上層虛擬域 提供有效的隔離機制,例如,所有內(nèi)存更新都要經(jīng)過虛擬機監(jiān)控器的確認,使得各個虛擬域 能實現(xiàn)資源隔離、性能隔離、故障隔離;一個Xen虛擬機至少要運行虛機監(jiān)控器和特權域, 即Xen虛擬機啟動后,特權域是必須而且首先進入的操作系統(tǒng),然后再根據(jù)用戶的指令啟 動客戶虛擬域;特權域具有最高的權限,可以利用虛擬域管理工具控制客戶虛擬域,包括創(chuàng) 建、刪除和訪問虛擬域的物理設備等。Xenstore是Xen提供的一個位于特權域的樹狀數(shù)據(jù)庫,存儲了所有正在運行的虛 擬域的配置信息,Xenstore提供一種“watch”監(jiān)聽機制,即當所監(jiān)聽的值發(fā)生改變的時候, 立即提醒監(jiān)聽方,由監(jiān)聽方去獲取變化后的值。Xen虛擬機有2種工作模式,包括完全虛擬化和半虛擬化,并在不同的工作模式 采用不同的虛擬設備模型。Xen虛擬機在完全虛擬化模式下,采用仿真設備模型,客戶虛 擬域需要特殊硬件的支持才能運行,因此完全虛擬化模式下的客戶虛擬域又稱為客戶硬件 虛擬域??蛻粲布摂M域是通過位于特權域用戶空間的設備仿真器來實現(xiàn)對硬件的訪問, 對于任何一個硬件設備,設備仿真器必須有該硬件設備的仿真設備模塊,否則客戶硬件虛 擬域將無法訪問該硬件設備。圖1給出了特權域處理一個來自客戶硬件虛擬域的TPM指 令的流程,其中可信仿真設備模塊是設備仿真器的一個模塊。特權域為每個客戶硬件虛擬 域提供一個獨立虛擬可信設備(一個虛擬可信設備就是特權域用戶空間的一個進程),每 一個虛擬可信設備都有惟一標識,用變量vID來表示;每個客戶硬件虛擬域都有一個標識 (DomID);任何來自客戶硬件虛擬域的TPM指令將經(jīng)過可信仿真設備模塊傳到相應虛擬可 信設備,虛擬可信設備將TPM指令的處理結果經(jīng)過可信仿真設備模塊傳回到客戶硬件虛擬 域。針對客戶虛擬域發(fā)生的可信計算T0CT0U攻擊,目前有許多基于虛機監(jiān)控器的檢 測方法,但是如何來響應檢測到的客戶虛擬域發(fā)生的可信計算T0CT0U攻擊,也就是如何 讓客戶虛擬域的虛擬可信設備正確地反映客戶虛擬域平臺狀態(tài),目前還沒有公開發(fā)表的方 法。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種響應Xen客戶硬件虛擬域可信計算T0CT0U攻擊的方法, 在有效防范攻擊的前提下充分考慮了系統(tǒng)的性能。該方法包括當虛擬機監(jiān)控器檢測到攻 擊時,立即通知可信仿真設備模塊;可信仿真設備模塊接到通知后,一方面?zhèn)卧霻PM指令對 被攻擊的客戶硬件虛擬域所使用的虛擬可信設備的PCR寄存器進行內(nèi)容更新,另一方面對 虛擬可信設備已經(jīng)處理的、但處理結果還沒有離開可信仿真設備模塊的TPM指令,做相應 的處理,保證這些TPM指令的處理結果能正確反映相應的客戶硬件虛擬域平臺狀態(tài)。本發(fā)明的具體實現(xiàn)方法為一種響應Xen客戶硬件虛擬域可信計算T0CT0U攻擊的方法,該方法的組件包括在 特權域可信仿真設備模塊中實現(xiàn)的轉發(fā)模塊PickM和攻擊信號處理模塊FpakM、在特權域 內(nèi)核空間實現(xiàn)的轉發(fā)模塊AgentM和在虛擬機監(jiān)控器中實現(xiàn)攻擊管理模塊VMMmon ;此外,在 特權域與虛擬機監(jiān)控器之間定義1個超級調用T_hyperCall和10個虛擬中斷T_vIRQ ;響 應方法的具體步驟如下步驟1,啟動計算機,運行帶有VMMmon模塊、T_hypercall和T_vIRQ的Xen虛擬機 監(jiān)控器,并運行帶有T_hypercall、T_vIRQ、FpakM和PickM的特權域系統(tǒng),然后加載AgentM 模塊,在AgentM模塊完成初始化過程后,接著在特權域執(zhí)行啟動客戶硬件虛擬域的命令; 在客戶硬件虛擬域的內(nèi)核啟動之前,該客戶硬件虛擬域所對應的可信仿真設備模塊將以線 程方式運行PickM模塊,PickM模塊在其初始化過程中將客戶硬件虛擬域的DomID傳遞給 AgentM模塊,然后AgentM模塊將DomID與T_vIRQ的綁定信息通過Tjiypercall發(fā)送給 VMMmon ;步驟2,VMMmon模塊接到AgentM模塊發(fā)送來的綁定信息,并從中獲取T_vIRQ,接 著判斷其維護的數(shù)據(jù)表是否有關于該T_vIRQ的信息,如果有,則用收到的綁定信息替代數(shù) 據(jù)表中原有的信息,然后保存;如果沒有,則直接保存收到的綁定信息;其中VMMmon所維護 的數(shù)據(jù)表是在Xen虛擬機監(jiān)控器剛運行時創(chuàng)建的;步驟3,Xen虛擬機監(jiān)控器檢測到客戶硬件虛擬域發(fā)生可信計算T0CT0U攻擊后, 立即通知VMMmon模塊,VMMmon模塊首先獲得被攻擊的客戶硬件虛擬域的DomID,然后在 其維護的數(shù)據(jù)表中獲得與DomID相對應的T_vIRQ,最后將攻擊信號通過該T_vIRQ發(fā)送給 AgentM 模塊;步驟4,AgentM模塊將接到攻擊信號轉發(fā)給PickM模塊,然后PickM模塊通過設置 變量forevar的值將攻擊信號傳遞給FpakM模塊,最后FpakM模塊偽造一個用于更新PCR的 TPM指令并發(fā)送給相應的虛擬可信設備,并等待虛擬可信設備的處理結果;其中forcevar 是在可信仿真設備模塊中定義的一個全局變量,該變量的初始值為O ;步驟5,F(xiàn)pakM模塊收到虛擬可信設備的處理結果后,首先刪除收到的處理結果, 然后修改仍保存在可信仿真設備模塊中的客戶硬件虛擬域尚未取走的TPM指令處理結果。所述步驟1的AgentM模塊的初始化過程的具體步驟如下步驟2. 1,AgentM模塊被加載到特權域內(nèi)核后,首先創(chuàng)建一個數(shù)據(jù)表,然后使用 XenStore 的 “watch” 監(jiān)聽機制監(jiān)視 XenStore 的 “/tool” 路徑。所述步驟1的PickM模塊的初始化過程的具體步驟如下
5
步驟3. 1,PickM模塊被加載到特權域內(nèi)核后,首先獲取其所對應的客戶硬件虛擬 域的DomID,然后在XenStore的“/tool”路徑下創(chuàng)建一個文件名為<DomID>的文件,同時將 該文件內(nèi)容設置為<DomID> ;其中<DomID>表示DomID的值;步驟3. 2,使用 XenStore 的"watch"監(jiān)聽機制監(jiān)視 XenStore 中的 “/local/ domain/0/backend/vtpm/<DomID>/0” 路徑下文件名為 “Attack” 的文件。所述步驟1中VMMmon獲得綁定信息的具體步驟如下步驟4. 1,AgentM模塊收到XenStore產(chǎn)生的關于“/tool”路徑的觸發(fā)消息后, AgentM模塊首先從觸發(fā)消息中獲取文件名,該文件名是一個客戶硬件虛擬域的DomID,然 后獲取該文件的內(nèi)容,如果該文件內(nèi)容為正數(shù),則在所定義的虛擬中斷中選取一個未被 分配的T_vIRQ,將該T_vIRQ和DomID綁定并記錄在數(shù)據(jù)表中,同時將綁定信息通過T_ hypercall發(fā)送給VMMmon ;如果文件內(nèi)容為負數(shù),則在數(shù)據(jù)表中刪除與DomID有關的綁定關 系,并釋放T_vIRQ。所述步驟4中PickM模塊獲得攻擊信號的具體步驟如下 步驟5. 1,AgentM模塊獲得VMMmon模塊發(fā)送的攻擊信號后,在XenStore的“ / local/domain/0/backend/vtpm/<DomID>/0” 路徑下創(chuàng)建文件名為 “Attack” 的文件;步驟5. 2,當PickM模塊收到XenStore的觸發(fā)消息后,PickM模塊首先去獲取 文件名為“Attack”文件的內(nèi)容,如果內(nèi)容不為1,則繼續(xù)監(jiān)視XenStore庫中的“/local/ domain/0/backend/vtpm/<DomID>/0"路徑下 “Attack” 文件,否則 PickM 模塊首先刪除 “/ local/domain/0/backend/vtpm/<DomID>/0"路徑下的名為 “Attack” 的文件,然后將變 量forcevar的值設置為2 ;最后PickM模塊將XenStore庫中的/t00l/<D0mID>的值設置 為-1。所述權利要求1的步驟4中FpakM模塊能夠響應攻擊信號的具體實現(xiàn)步驟如下步驟6. 1,修改特權域可信仿真設備模塊中的closejocalsocket函數(shù);其中 close_local_socket函數(shù)是Xen系統(tǒng)中特權域可信仿真設備模塊中的一個函數(shù),客戶硬件 虛擬域的TPM指令的處理結果都要經(jīng)過該函數(shù)再傳回到客戶硬件虛擬域;步驟6. 2,在特權域可信仿真設備模塊中,用第二個實參為變量forcevar的 close_local_socket函數(shù)調用代替第二個實參為零的close_local_socket函數(shù)調用。所述權利要求6所述的修改的closejocalsocket函數(shù)的工作具體步驟如下步驟7. 1,如果變量force的值為0,則返回O ;其中變量force是Xen系統(tǒng)中特權 域可信仿真設備模塊中的一個變量;步驟7. 2,如果變量force的值為1,則做一些處理工作,然后返回1 ;步驟7. 3,如果變量force的值既不是1也不是0,則執(zhí)行FpakM模塊,然后將變量 forcevar的值設置為O ;最后返回1。本發(fā)明相比現(xiàn)有技術具有如下優(yōu)點(1)安全性高。對于任何TPM指令,如果該指令是在可信仿真設備模塊收到T0CT0U 攻擊信號以后到達可信仿真設備模塊,那么該TPM指令的處理結果都能正確地反映客戶硬 件虛擬域平臺狀態(tài);如果該指令是在可信仿真設備模塊收到T0CT0U攻擊信號之前到達可 信仿真設備模塊,只要該指令處理結果在可信仿真設備模塊收到T0CT0U攻擊信號時還沒 有提交給客戶硬件虛擬域,那么該TPM指令的處理結果也能正確地反映客戶硬件虛擬域平臺狀態(tài)。(2)實用性強。在沒有收到攻擊信號的情況下,系統(tǒng)不因為實施了該發(fā)明提供的響 應方法而導致系統(tǒng)性能大幅度降低;此外該方法對原系統(tǒng)修改少,可擴展性強;適用于多 個客戶硬件虛擬域并行工作的環(huán)境。


圖1.客戶硬件虛擬域通過設備仿真器中的可信仿真設備模塊來訪問虛擬可信設 備的流程;圖2.本發(fā)明所提供的響應可信T0CT0U攻擊的流程圖。
具體實施例方式在本發(fā)明提供的方法中,特權域與虛擬機監(jiān)控器之間額外定義了 1個超級調用, 用變量T_hyperCall表示,用于特權域向虛擬機監(jiān)控器傳遞信息,定義10個虛擬中斷(T_ vIRQ),用于虛擬機監(jiān)控器向特權域傳遞關于某個客戶硬件虛擬域的信息,每個虛擬中斷對 應一個運行的客戶硬件虛擬域。響應方法的組件包括在特權域可信仿真設備模塊中實現(xiàn)的 轉發(fā)模塊PickM和攻擊信號處理模塊FpakM、在特權域內(nèi)核空間實現(xiàn)的轉發(fā)模塊AgentM以 及在虛擬機監(jiān)控器中實現(xiàn)攻擊管理模塊VMMmon。其中AgentM模塊實現(xiàn)DomID、T_vIRQ之 間的綁定并將綁定信息傳遞給VMMmon,此外AgentM模塊負責將VMMmon檢測到的攻擊信息 傳遞PickM模塊;PickM模塊負責將剛啟動的客戶硬件虛擬域的DomID信息通知給AgentM 模塊,并將AgentM發(fā)送的攻擊信號信息通知給FpakM模塊;FpakM模塊負責偽造TPM指令 并發(fā)送給虛擬可信設備。下面根據(jù)圖2講述本發(fā)明響應方法的實施步驟步驟1,在Xen虛擬機監(jiān)控器實現(xiàn)VMMmon模塊、T_hypercall和T_vIRQ ;步驟2,在特權域系統(tǒng)實現(xiàn) T_hypercall、T_vIRQ、FpakM、PickM 和 AgentM 模塊;下面結合圖2給出本發(fā)明所提供的響應方法的具體步驟步驟1,啟動計算機,運行帶有VMMmon模塊、T_hypercall和T_vIRQ的Xen虛擬機 監(jiān)控器,并運行帶有T_hypercall、T_vIRQ、FpakM和PickM的特權域系統(tǒng),然后加載AgentM 模塊,在AgentM模塊完成初始化過程后,接著在特權域執(zhí)行啟動客戶硬件虛擬域的命令; 在客戶硬件虛擬域的內(nèi)核啟動之前,該客戶硬件虛擬域所對應的可信仿真設備模塊將以線 程方式運行PickM模塊,PickM模塊在其初始化過程中將客戶硬件虛擬域的DomID傳遞給 AgentM模塊,然后AgentM模塊將DomID與T_vIRQ的綁定信息通過Tjiypercall發(fā)送給 VMMmon0步驟2,VMMmon模塊接到AgentM模塊發(fā)送來的綁定信息,并從中獲取T_vIRQ,接 著判斷其維護的數(shù)據(jù)表是否有關于該T_vIRQ的信息,如果有,則用收到的綁定信息替代數(shù) 據(jù)表中原有的信息,然后保存;如果沒有,則直接保存收到的綁定信息;其中VMMmon所維護 的數(shù)據(jù)表是在Xen虛擬機監(jiān)控器剛運行時創(chuàng)建的。步驟3,Xen虛擬機監(jiān)控器檢測到客戶硬件虛擬域發(fā)生可信計算T0CT0U攻擊后, 立即通知VMMmon模塊,VMMmon模塊首先獲得被攻擊的客戶硬件虛擬域的DomID,然后在 其維護的數(shù)據(jù)表中獲得與DomID相對應的T_vIRQ,最后將攻擊信號通過該T_vIRQ發(fā)送給AgentM 模塊。步驟4,AgentM模塊將接到攻擊信號轉發(fā)給PickM模塊,然后PickM模塊通過設置 變量forevar的值將攻擊信號傳遞給FpakM模塊,最后FpakM模塊偽造一個用于更新PCR的 TPM指令并發(fā)送給相應的虛擬可信設備,并等待虛擬可信設備的處理結果;其中forcevar 是本發(fā)明在可信仿真設備模塊中定義的一個全局變量,該變量的初始值為0。步驟5,F(xiàn)pakM模塊收到虛擬可信設備的處理結果后,首先刪除收到的處理結果, 然后修改還保存在可信仿真設備模塊中的客戶硬件虛擬域尚未取走的TPM指令處理結果。下面詳述AgentM模塊的初始化過程的具體步驟步驟1,AgentM模塊被加載到特權域內(nèi)核后,首先創(chuàng)建一個數(shù)據(jù)表。步驟2,AgentM 模塊使用 XenStore 的“watch”監(jiān)聽機制監(jiān)視 XenStore 的“/tool” 路徑。下面詳述PickM模塊的初始化過程的具體步驟步驟1,PickM模塊被加載到特權域內(nèi)核后,首先獲取其所對應的客戶硬件虛擬域 的DomID,然后在XenStore的“/tool”路徑下創(chuàng)建一個文件名為<DomID>的文件,同時將該 文件內(nèi)容設置為<DomID> ;其中<DomID>表示DomID的值;步驟2,使用XenStore的“watch”監(jiān)聽機制監(jiān)視XenStore中的“/local/ domain/0/backend/vtpm/<DomID>/0” 路徑下文件名為 “Attack” 的文件;下面詳述VMMmon獲得綁定信息的具體步驟步驟l,AgentM模塊收到XenStore產(chǎn)生的關于“/tool”路徑的觸發(fā)消息后,AgentM 模塊首先從觸發(fā)消息中獲取文件名(該文件名是一個客戶硬件虛擬域的DomID),然后獲取 該文件的內(nèi)容,如果該文件內(nèi)容為正數(shù),則在所定義的虛擬中斷中選取一個未被分配的T_ vIRQ,將該T_vIRQ和DomID綁定并記錄在數(shù)據(jù)表中,同時將綁定信息通過Tjiypercall發(fā) 送給VMMmon;如果文件內(nèi)容為負數(shù),則在數(shù)據(jù)表中刪除與DomID有關的綁定關系,并釋放T_ vIRQ。下面詳述PickM模塊獲得攻擊信號的具體步驟步驟1,AgentM模塊獲得VMMmon模塊發(fā)送的攻擊信號后,在XenStore的“/local/ domain/0/backend/vtpm/<DomID>/0"路徑下創(chuàng)建文件名為 “Attack” 的文件。步驟2,當PickM模塊收到XenStore的觸發(fā)消息后,PickM模塊首先去獲取文 件名為”Attack”文件的內(nèi)容,如果內(nèi)容不為1,則繼續(xù)監(jiān)視XenStore庫中的"/local/ domain/0/backend/vtpm/<DomID>/0"路徑下 “Attack” 文件,否則 PickM 模塊首先刪除 “/ local/domain/0/backend/vtpm/<DomID>/0"路徑下的名為 “Attack” 的文件,然后將變 量forcevar的值設置為2 ;最后PickM模塊將XenStore庫中的/t00l/<D0mID>的值設置 為-1。下面詳述FpakM模塊能夠響應攻擊信號的具體實現(xiàn)步驟步驟1,修改特權域可信仿真設備模塊中的closejocalsocket函數(shù);其中 close_local_socket函數(shù)是Xen系統(tǒng)中特權域可信仿真設備模塊中的一個函數(shù),客戶硬件 虛擬域的TPM指令的處理結果都要經(jīng)過該函數(shù)再傳回到客戶硬件虛擬域。步驟2,在特權域可信仿真設備模塊中,用第二個實參為變量forcevar的cl0Se_ local_socket函數(shù)調用代替第二個實參為零的close_local_socket函數(shù)調用。
8
下面詳述修改后的close_local_socket函數(shù)工作的具體步驟步驟1,如果變量force的值為0,則返回0 ;其中變量force是Xen系統(tǒng)中特權域 可信仿真設備模塊中的一個變量。步驟2,如果變量force的值為1,則做一些處理工作,然后返回1。步驟3,如果變量force的值既不是1也不是0,則執(zhí)行FpakM模塊,然后將變量 forcevar的值設置為0 ;最后返回1。通過上述方法,在多客戶硬件虛擬域并行運行的環(huán)境下,在安全方面屬于下面情 況的TPM指令都將能正確地反映客戶硬件虛擬域平臺當前狀態(tài)(1)如果該TPM指令,是在 可信仿真設備模塊收到T0CT0U攻擊信號以后到達可信仿真設備模塊,那么該TPM指令的處 理結果能正確地反映客戶硬件虛擬域平臺狀態(tài);(2)如果該TPM指令是在可信仿真設備模 塊收到T0CT0U攻擊信號之前到達可信仿真設備模塊,但只要該指令處理結果在可信仿真 設備模塊收到T0CT0U攻擊信號時還沒有提交給客戶硬件虛擬域,那么該TPM指令的處理結 果也能正確地反映客戶硬件虛擬域平臺狀態(tài)。在實用性方面,在沒有收到攻擊信號的情況 下,系統(tǒng)不因為實施了該發(fā)明提供的響應方法而出現(xiàn)性能大幅度降低;此外該方法對原有 系統(tǒng)修改少,可擴展性強。
權利要求
一種響應Xen客戶硬件虛擬域可信計算TOCTOU攻擊的方法,其特征在于該方法的組件包括在特權域可信仿真設備模塊中實現(xiàn)的轉發(fā)模塊PickM和攻擊信號處理模塊FpakM、在特權域內(nèi)核空間實現(xiàn)的轉發(fā)模塊AgentM和在虛擬機監(jiān)控器中實現(xiàn)攻擊管理模塊VMMmon;此外,在特權域與虛擬機監(jiān)控器之間定義1個超級調用T_hypercall和10個虛擬中斷T_vIRQ;響應方法的具體步驟如下步驟1,啟動計算機,運行帶有VMMmon模塊、T_hypercall和T_vIRQ的Xen虛擬機監(jiān)控器,并運行帶有T_hypercall、T_vIRQ、FpakM和PickM的特權域系統(tǒng),然后加載AgentM模塊,在AgentM模塊完成初始化過程后,接著在特權域執(zhí)行啟動客戶硬件虛擬域的命令;在客戶硬件虛擬域的內(nèi)核啟動之前,該客戶硬件虛擬域所對應的可信仿真設備模塊將以線程方式運行PickM模塊,PickM模塊在其初始化過程中將客戶硬件虛擬域的DomID傳遞給AgentM模塊,然后AgentM模塊將DomID與T_vIRQ的綁定信息通過T_hypercall發(fā)送給VMMmon;步驟2,VMMmon模塊接到AgentM模塊發(fā)送來的綁定信息,并從中獲取T_vIRQ,接著判斷其維護的數(shù)據(jù)表是否有關于該T_vIRQ的信息,如果有,則用收到的綁定信息替代數(shù)據(jù)表中原有的信息,然后保存;如果沒有,則直接保存收到的綁定信息;其中VMMmon所維護的數(shù)據(jù)表是在Xen虛擬機監(jiān)控器剛運行時創(chuàng)建的;步驟3,Xen虛擬機監(jiān)控器檢測到客戶硬件虛擬域發(fā)生可信計算TOCTOU攻擊后,立即通知VMMmon模塊,VMMmon模塊首先獲得被攻擊的客戶硬件虛擬域的DomID,然后在其維護的數(shù)據(jù)表中獲得與DomID相對應的T_vIRQ,最后將攻擊信號通過該T_vIRQ發(fā)送給AgentM模塊;步驟4,AgentM模塊將接到攻擊信號轉發(fā)給PickM模塊,然后PickM模塊通過設置變量forevar的值將攻擊信號傳遞給FpakM模塊,最后FpakM模塊偽造一個用于更新PCR的TPM指令并發(fā)送給相應的虛擬可信設備,并等待虛擬可信設備的處理結果;其中forcevar是在可信仿真設備模塊中定義的一個全局變量,該變量的初始值為0;步驟5,F(xiàn)pakM模塊收到虛擬可信設備的處理結果后,首先刪除收到的處理結果,然后修改仍保存在可信仿真設備模塊中的客戶硬件虛擬域尚未取走的TPM指令處理結果。
2.基于權利要求1所述的一種響應Xen客戶硬件虛擬域可信計算T0CT0U攻擊的方法, 其特征在于所述步驟1的AgentM模塊的初始化過程的具體步驟如下步驟2. 1,AgentM模塊被加載到特權域內(nèi)核后,首先創(chuàng)建一個數(shù)據(jù)表,然后使用 XenStore 的 “watch” 監(jiān)聽機制監(jiān)視 XenStore 的 “/tool” 路徑。
3.基于權利要求1所述的一種響應Xen客戶硬件虛擬域可信計算TOCTOU攻擊的方法, 其特征在于步驟1的PickM模塊的初始化過程的具體步驟如下步驟3. 1,PickM模塊被加載到特權域內(nèi)核后,首先獲取其所對應的客戶硬件虛擬域的 DomID,然后在XenStore的“/tool”路徑下創(chuàng)建一個文件名為<DomID>的文件,同時將該文 件內(nèi)容設置為<DomID> ;其中<DomID>表示DomID的值;步驟 3. 2,使用 XenStore 的“watch” 監(jiān)聽機制監(jiān)視 XenStore 中的“/local/domain/O/ backend/vtpm/<DomID>/0” 路徑下文件名為 “Attack” 的文件。
4.基于權利要求1所述的一種響應Xen客戶硬件虛擬域可信計算TOCTOU攻擊的方法, 其特征在于步驟1中VMMmon獲得綁定信息的具體步驟如下步驟4. 1,AgentM模塊收到XenStore產(chǎn)生的關于“/tool ”路徑的觸發(fā)消息后,AgentM 模塊首先從觸發(fā)消息中獲取文件名,該文件名是一個客戶硬件虛擬域的DomID,然后獲取 該文件的內(nèi)容,如果該文件內(nèi)容為正數(shù),則在所定義的虛擬中斷中選取一個未被分配的T_ vIRQ,將該T_vIRQ和DomID綁定并記錄在數(shù)據(jù)表中,同時將綁定信息通過Tjiypercall發(fā) 送給VMMmon;如果文件內(nèi)容為負數(shù),則在數(shù)據(jù)表中刪除與DomID有關的綁定關系,并釋放T_ vIRQ。
5.基于權利要求1所述的一種響應Xen客戶硬件虛擬域可信計算T0CT0U攻擊的方法, 其特征在于權利要求1的步驟4中PickM模塊獲得攻擊信號的具體步驟如下步驟5. 1,AgentM模塊獲得VMMmon模塊發(fā)送的攻擊信號后,在XenStore的“/local/ domain/0/backend/vtpm/<DomID>/0” 路徑下創(chuàng)建文件名為 “Attack” 的文件;步驟5. 2,當PickM模塊收到XenStore的觸發(fā)消息后,PickM模塊首先去獲取文 件名為"Attack"文件的內(nèi)容,如果內(nèi)容不為1,則繼續(xù)監(jiān)視XenStore庫中的"/local/ domain/0/backend/vtpm/<DomID>/0"路徑下 “Attack” 文件,否則 PickM 模塊首先刪除 “/ local/domain/0/backend/vtpm/<DomID>/0"路徑下的名為 “Attack” 的文件,然后將變 量forcevar的值設置為2 ;最后PickM模塊將XenStore庫中的/t00l/<D0mID>的值設置 為-1。
6.基于權利要求1所述的一種響應Xen客戶硬件虛擬域可信計算T0CT0U攻擊的方法, 其特征在于權利要求1的步驟4中FpakM模塊能夠響應攻擊信號的具體實現(xiàn)步驟如下步驟6. 1,修改特權域可信仿真設備模塊中的cl0se_l0cal_s0cket函數(shù);其中cloSe_ local_socket函數(shù)是Xen系統(tǒng)中特權域可信仿真設備模塊中的一個函數(shù),客戶硬件虛擬域 的TPM指令的處理結果都要經(jīng)過該函數(shù)再傳回到客戶硬件虛擬域;步驟6. 2,在特權域可信仿真設備模塊中,用第二個實參為變量forcevar的cloSe_ local_socket函數(shù)調用代替第二個實參為零的close_local_socket函數(shù)調用。
7.基于權利要求1所述的一種響應Xen客戶硬件虛擬域可信計算T0CT0U攻擊的方法, 其特征在于權利要求6所述的修改的closejocalsocket函數(shù)的工作具體步驟如下步驟7. 1,如果變量force的值為0,則返回O ;其中變量force是Xen系統(tǒng)中特權域可 信仿真設備模塊中的一個變量;步驟7. 2,如果變量force的值為1,則做一些處理工作,然后返回1 ;步驟7. 3,如果變量force的值既不是1也不是0,則執(zhí)行FpakM模塊,然后將變量 forcevar的值設置為O ;最后返回1。
全文摘要
本發(fā)明涉及一種響應Xen客戶硬件虛擬域可信計算TOCTOU攻擊的方法,該方法在有效防范攻擊的前提下充分考慮系統(tǒng)性能。方法中,Xen特權域與虛擬機監(jiān)控器之間定義了1個超級調用和10個虛擬中斷,用于虛擬機監(jiān)控器與特權域之間傳遞與本發(fā)明相關的信息;響應方法的組件包括在特權域可信仿真設備模塊中實現(xiàn)的轉發(fā)模塊和攻擊信號處理模塊、在特權域內(nèi)核空間實現(xiàn)的轉發(fā)模塊以及在虛擬機監(jiān)控器中實現(xiàn)的攻擊管理模塊。實施了本發(fā)明的系統(tǒng)能有效地響應硬件虛擬域的可信計算TOCTOU攻擊;而且本發(fā)明的響應方法實用性強,在沒有收到攻擊信號的情況下,該響應方法對系統(tǒng)性能影響非常??;此外該方法對原有系統(tǒng)修改少,可擴展性強,適用于多個可信客戶硬件虛擬域并行工作環(huán)境。
文檔編號G06F21/00GK101950333SQ20101024603
公開日2011年1月19日 申請日期2010年8月5日 優(yōu)先權日2010年8月5日
發(fā)明者劉吉強, 左向暉, 常曉林, 竇招輝, 邢彬, 韓臻 申請人:北京交通大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
兰溪市| 华宁县| 砚山县| 巴塘县| 凤阳县| 鄂伦春自治旗| 竹山县| 阿鲁科尔沁旗| 岗巴县| 恩平市| 二连浩特市| 涞水县| 三门县| 固始县| 红原县| 瓮安县| 甘孜县| 高州市| 威宁| 安康市| 普安县| 泾源县| 拉萨市| 宾阳县| 开平市| 犍为县| 嘉祥县| 平谷区| 旺苍县| 太和县| 惠州市| 同心县| 蒙自县| 林州市| 沅陵县| 兰西县| 德江县| 嘉兴市| 宾川县| 永嘉县| 永康市|