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

硬化隨機(jī)訪問存儲器中的軟件執(zhí)行的方法和裝置的制作方法

文檔序號:6339613閱讀:217來源:國知局
專利名稱:硬化隨機(jī)訪問存儲器中的軟件執(zhí)行的方法和裝置的制作方法
技術(shù)領(lǐng)域
本申請涉及驗證計算機(jī)平臺的存儲器中執(zhí)行的受保護(hù)代碼的完整性。
背景技術(shù)
管理程序(hypervisor)(也即,虛擬機(jī)監(jiān)控器)管理硬件平臺在多個客戶系統(tǒng)之間的共享,并且其通常用作云計算中的基礎(chǔ)設(shè)施即服務(wù)(IaM)中的特權(quán)軟件。管理程序具有相對小的代碼庫以及與外部世界的有限交互,因此其被認(rèn)為是受到良好保護(hù)并且容易檢驗的。

發(fā)明內(nèi)容
本發(fā)明的示例實(shí)施方式涉及驗證計算機(jī)平臺的存儲器中執(zhí)行的受保護(hù)代碼的完整性的方法和裝置。該方法包括從計算機(jī)平臺接收存儲的受保護(hù)代碼的啟動時度量,從計算機(jī)平臺獲取執(zhí)行的受保護(hù)代碼的運(yùn)行時度量,以及從計算機(jī)平臺獲取該執(zhí)行的受保護(hù)代碼的活性(liveliness)指示符。繼而根據(jù)啟動時度量、運(yùn)行時度量以及活性指示符來驗證執(zhí)行的受保護(hù)代碼的完整性。其他示例實(shí)施方式涉及用于利用外部檢驗器來驗證存儲器中的執(zhí)行的受保護(hù)代碼的完整性的方法和裝置,包括向外部檢驗器提供存儲的受保護(hù)代碼的啟動時度量,響應(yīng)于來自外部檢驗器的針對運(yùn)行時度量的請求而向外部檢驗器提供執(zhí)行的受保護(hù)代碼的運(yùn)行時度量,以及響應(yīng)于來自外部檢驗器的針對活性指示符的請求而向外部檢驗器提供執(zhí)行的受保護(hù)代碼的活性指示符,其中如果在該外部檢驗器處比較啟動時度量和運(yùn)行時度量成功,則從該外部檢驗器發(fā)送針對活性指示符的請求。本發(fā)明的示例實(shí)施方式還包括用于執(zhí)行方法步驟的系統(tǒng)和計算機(jī)程序產(chǎn)品。


通過參考下面結(jié)合附圖的描述,可以更好地理解本發(fā)明的上述以及其他優(yōu)勢,附圖中圖1是示出了可以在其中采用本發(fā)明的示例實(shí)施方式的示例環(huán)境的圖示;圖2是示出了本發(fā)明的示例實(shí)施方式的系統(tǒng)和裝置的框圖,該系統(tǒng)和裝置用于驗證計算機(jī)平臺的存儲器中的執(zhí)行的受保護(hù)代碼的完整性;圖3A-圖;3B是示出了本發(fā)明的示例實(shí)施方式的方法的流程圖,該方法在計算機(jī)平臺處執(zhí)行以用于利用外部檢驗器來驗證存儲器中的執(zhí)行的受保護(hù)代碼的完整性;圖4A-圖4B是示出了本發(fā)明的示例實(shí)施方式的方法的流程圖,該方法在外部檢驗器處執(zhí)行以用于驗證計算機(jī)平臺的存儲器中的執(zhí)行的受保護(hù)代碼的完整性;圖5是示出了實(shí)施為程序代碼或程序產(chǎn)品的本發(fā)明的示例實(shí)施方式的方法的圖
7J\ ο
具體實(shí)施例方式管理程序并不是完全安全的,其易于受到多種攻擊,諸如管理程序代碼和數(shù)據(jù)在運(yùn)行時被修改。管理程序面臨與傳統(tǒng)操作系統(tǒng)類似的完整性威脅,因此它們需要保護(hù)、測量和檢驗其完整性。在系統(tǒng)引導(dǎo)時檢驗管理程序的完整性可以通過諸如可信引導(dǎo)之類的傳統(tǒng)技術(shù)來完成。同樣地,已經(jīng)開發(fā)了用于在運(yùn)行時檢驗管理程序的完整性的傳統(tǒng)技術(shù)。然而, 這些傳統(tǒng)技術(shù)無法在計算機(jī)平臺的隨機(jī)訪問存儲器(RAM)中執(zhí)行期間檢驗管理程序的完整性。例如,這種傳統(tǒng)技術(shù)僅保護(hù)軟件版本,并且不能阻止“檢查時間到使用時間”(T0C2T0U)攻擊。在T0C2T0U攻擊中,代碼的完整性可能在從檢查代碼完整性的時刻到使用該代碼時刻的攻擊窗口期間遭到損壞。在很多情形下,攻擊窗口可以是擴(kuò)展的時段。而且,這種傳統(tǒng)技術(shù)不適于在服務(wù)器可被網(wǎng)絡(luò)引導(dǎo)的數(shù)據(jù)中心中使用。網(wǎng)絡(luò)引導(dǎo)是從網(wǎng)絡(luò)而不是從本地驅(qū)動引導(dǎo)計算機(jī)的過程。在沒有檢驗網(wǎng)絡(luò)引導(dǎo)源的情況下,無法可靠地假定網(wǎng)絡(luò)引導(dǎo)源的完整性,因此不是所有被引導(dǎo)的服務(wù)器都是可信的。圖1是示出了可以在其中采用本發(fā)明的示例實(shí)施方式的示例環(huán)境100的圖示。環(huán)境100可以是用于基礎(chǔ)設(shè)施即服務(wù)(IaM)的云計算環(huán)境。環(huán)境100包括通過網(wǎng)絡(luò)130(諸如因特網(wǎng))連接的多個服務(wù)器110-1到110-N(統(tǒng)稱110)和多個客戶端120-1到120-N(統(tǒng)稱120)。每個服務(wù)器110可以是運(yùn)行管理程序(也即,虛擬機(jī)監(jiān)控器)的計算機(jī)平臺,其中管理程序管理硬件平臺在多個客戶系統(tǒng)(例如,客戶端120)之間的共享。在某些場合中,可能期望在支持多個客戶端120的虛擬機(jī)的服務(wù)器110之間對多個進(jìn)程執(zhí)行自動負(fù)載平衡(也即,優(yōu)選實(shí)施方式中的管理程序)。發(fā)明人敏銳地認(rèn)識到,虛擬機(jī)可能在多個管理程序上分布得不均勻或不利。為此,期望調(diào)整管理程序的利用以便更有效地平衡正運(yùn)行的管理程序和虛擬機(jī)的負(fù)載。管理程序不是完全安全的,并且易于受到多種攻擊,諸如管理程序代碼和數(shù)據(jù)在運(yùn)行時被修改。因此,在將虛擬機(jī)的進(jìn)程從一個服務(wù)器傳送到另一服務(wù)器之前;同樣地,在從管理該虛擬機(jī)的一個管理程序到另一管理程序之前,有利的是檢驗管理程序的狀態(tài)以及檢驗自從管理程序開始運(yùn)行以來其服務(wù)條件尚未變化。圖2是示出了本發(fā)明的示例實(shí)施方式的系統(tǒng)200的框圖,該系統(tǒng)用于驗證計算機(jī)平臺的存儲器中的執(zhí)行的受保護(hù)代碼的完整性。系統(tǒng)200包括通過網(wǎng)絡(luò)205 (諸如因特網(wǎng)) 連接的計算機(jī)平臺210和外部檢驗器M5。計算機(jī)平臺210可以包括開放式體系結(jié)構(gòu)計算硬件(例如,htelX86體系結(jié)構(gòu)) 和軟件部件。計算機(jī)平臺210包括用于存儲已存儲的受保護(hù)代碼217的存儲設(shè)備215,用于存儲執(zhí)行的受保護(hù)代碼222和程序邏輯223的存儲器220,其中程序邏輯223用于利用外部檢驗器245來驗證存儲器220中的執(zhí)行的受保護(hù)代碼222的完整性,以及用于將存儲的受保護(hù)代碼217加載到存儲器220中并且執(zhí)行該執(zhí)行的受保護(hù)代碼222和程序邏輯223的處理器225。
計算機(jī)平臺210還包括啟動時單元230、運(yùn)行時單元235和活性單元M0。外部檢驗器245包括比較器單元250和檢驗單元255。啟動時單元230可以是可信機(jī)制,包括物理上受保護(hù)的環(huán)境,諸如可信計算組織 (TCG)技術(shù)或可信執(zhí)行技術(shù)(TXT)。在計算機(jī)平臺210的啟動時刻,啟動時單元230測量存儲的受保護(hù)代碼217。測量結(jié)果稱為啟動時度量232,其可以是存儲在存儲設(shè)備215中的存儲的受保護(hù)代碼217的哈希。啟動時單元230在啟動時單元處安全地存儲啟動時度量232 以供將來證明。在備選實(shí)施方式中,諸如網(wǎng)絡(luò)引導(dǎo)服務(wù)器,啟動時度量232可以存儲在物理上安全的網(wǎng)絡(luò)存儲設(shè)備中,諸如存儲在存儲區(qū)域網(wǎng)絡(luò)(SAN)(未示出)中。運(yùn)行時單元235可以是可信機(jī)制,包括物理上受保護(hù)的環(huán)境,諸如具有設(shè)備上信息完整性保護(hù)能力并且能夠進(jìn)行直接存儲器訪問(DMA)的設(shè)備。運(yùn)行時單元235可以在計算機(jī)平臺210啟動之后讀取存儲器220中的位置內(nèi)容。在執(zhí)行的受保護(hù)代碼222的運(yùn)行時間,運(yùn)行時單元235讀取存儲執(zhí)行的受保護(hù)代碼222的存儲器220中的位置,以及響應(yīng)于授權(quán)的指令而測量該執(zhí)行的受保護(hù)代碼222。測量結(jié)果稱為運(yùn)行時度量237,其可以是存儲在存儲器220中的執(zhí)行的受保護(hù)代碼222的哈希。使得運(yùn)行時單元235測量執(zhí)行的受保護(hù)代碼222以及生成運(yùn)行時度量237的該授權(quán)的指令可以是由外部檢驗器M5的比較器單元250發(fā)送的、針對運(yùn)行時度量的請求252。 比較器單元250還配置用于比較啟動時度量232和運(yùn)行時度量237,以確定在計算機(jī)平臺 210的啟動與執(zhí)行的受保護(hù)代碼222的運(yùn)行時之間的時刻,是否損壞了存儲的受保護(hù)代碼 217的完整性?;钚詥卧?40管理計算機(jī)平臺210與外部檢驗器245之間的活性協(xié)議機(jī)制, 在一個優(yōu)選實(shí)施方式中,諸如是來自馬薩諸塞州Bedford的EMC的安全部門,RSA的 RSASecurelD ?;钚詥卧狹O以如下方式初始化計算機(jī)平臺210和外部檢驗器245共享某個秘密,諸如初始化種子242 (也即,令牌)。所共享的秘密與可靠事件(諸如,時間值) 一起被編碼到單向函數(shù)中,該可靠事件對于計算機(jī)平臺210和外部檢驗器245 二者而言都是可靠已知的。在執(zhí)行的受保護(hù)代碼222處于執(zhí)行中的任何時刻,外部檢驗器245可以請求計算機(jī)平臺210按照活性協(xié)議來生成活性指示符M3,以便檢測執(zhí)行的受保護(hù)代碼222是否與相互已知的可靠事件處于活性同步中(也即,執(zhí)行的受保護(hù)代碼222尚未停止或改變)。外部檢驗器M5的比較器單元250接收啟動時度量232,并且響應(yīng)于向計算機(jī)平臺210發(fā)送針對運(yùn)行時度量的請求252而從計算機(jī)平臺210接收運(yùn)行時度量237。比較器單元250還將啟動時度量232與運(yùn)行時度量237進(jìn)行比較,以及確定啟動時度量232與運(yùn)行時度量237是否匹配。外部檢驗器245的檢驗單元255可以發(fā)送針對活性指示符的請求 257。檢驗單元255還配置用于接收由活性單元240發(fā)送的初始化種子M2以及由活性單元240發(fā)送的活性指示符M3,以及確定活性指示符243是否符合編碼有初始化種子242的單向函數(shù)所制定的活性協(xié)議。外部檢驗器245還包括用于存儲程序邏輯沈2的存儲器沈0 以及用于執(zhí)行程序邏輯262的處理器沈5,其中程序邏輯262用于驗證計算機(jī)平臺210的存儲器220中的執(zhí)行的受保護(hù)代碼222的完整性。當(dāng)程序邏輯223、262被加載到存儲器220、226中并且由機(jī)器(例如,計算機(jī)平臺 210或外部檢驗器M5)執(zhí)行時,該機(jī)器成為用于實(shí)踐本發(fā)明的裝置。當(dāng)在一個或多個通用處理器(例如,分別是處理器225和沈幻上實(shí)施時,程序邏輯223、262與這種處理器進(jìn)行
9組合以提供唯一裝置,其與專用邏輯電路類似地進(jìn)行操作。這樣,通用數(shù)字機(jī)器可以轉(zhuǎn)換成專用數(shù)字機(jī)器。進(jìn)一步地,運(yùn)行程序邏輯223 J65的處理器225、265支持用于執(zhí)行本發(fā)明的示例實(shí)施方式的新的計算機(jī)進(jìn)程。圖3A-圖:3B以及圖4A-圖4B是示出了分別在計算機(jī)平臺(例如,圖2的計算機(jī)平臺210)和在外部檢驗器(例如,圖2的外部檢驗器對幻處執(zhí)行的本發(fā)明示例實(shí)施方式的方法的流程圖。將對圖3A-圖;3B以及圖4A-圖4B —起描述,同時參考圖3A和圖4A中的元素,以及類似地同時參考圖3B和圖4B中的元素,例如以便示出在計算機(jī)平臺210處執(zhí)行的方法(也即,圖3A-圖3B)與在外部檢驗器245處執(zhí)行的方法(也即,圖4A-圖4B)之間的交互。還參考圖2中的元素,例如以便示出在用于驗證計算機(jī)平臺210的存儲器220 中的執(zhí)行的受保護(hù)代碼222的完整性的示例實(shí)施方式的系統(tǒng)200中,計算機(jī)平臺210與外部檢驗器245之間進(jìn)行的通信222、對2、洸2、洸3、252、四7。在計算機(jī)平臺210的啟動時刻,啟動時單元230測量存儲的受保護(hù)代碼217 (300)。 測量結(jié)果稱為啟動時度量232,其可以是存儲的受保護(hù)代碼217的哈希。啟動時單元230在啟動時單元230處安全地存儲啟動時度量232以供將來證明。啟動時單元230還向外部檢驗器245發(fā)送啟動時度量232 (305)?;钚詥卧?40繼而向外部檢驗器245發(fā)送初始化種子 242 (310),并且初始化計算機(jī)平臺210處的活性協(xié)議(315)。外部檢驗器245從計算機(jī)平臺210接收啟動時度量232 (405)。外部檢驗器245還從計算機(jī)平臺210接收初始化種子242 (410),并且對外部檢驗器245的活性協(xié)議進(jìn)行初始化(41 。因此,計算機(jī)平臺210處和外部檢驗器245處的活性協(xié)議按如下方式被初始化 計算機(jī)平臺210和外部檢驗器245共享秘密,諸如初始化種子242 (也即,令牌)。如下文將進(jìn)一步描述的,所共享的秘密可以與可靠事件(諸如時間值)一起被編碼到單向函數(shù)中,該可靠事件對于計算機(jī)平臺210和外部檢驗器245 二者而言都是可靠已知的。存儲的受保護(hù)代碼217在其被執(zhí)行之前可以在計算機(jī)平臺210的存儲設(shè)備215中駐留一段時間。因此,計算機(jī)平臺210確定存儲的受保護(hù)代碼217是否已運(yùn)行(320)。如果存儲的受保護(hù)代碼217尚未運(yùn)行(322),則計算機(jī)平臺210繼續(xù)等待。然而,如果存儲的受保護(hù)代碼217已經(jīng)運(yùn)行(323),則方法繼續(xù)等待發(fā)送自外部檢驗器的、針對運(yùn)行時度量的請求252(42 。當(dāng)計算機(jī)平臺210從外部檢驗器245接收到針對運(yùn)行時度量的請求252時(325),運(yùn)行時單元235讀取存儲執(zhí)行的受保護(hù)代碼222的存儲器220中的位置內(nèi)容,并且測量執(zhí)行的受保護(hù)代碼222(330)以作為運(yùn)行時度量237。運(yùn)行時單元235繼而向外部檢驗器245發(fā)送該運(yùn)行時度量237 (335)。運(yùn)行時度量237可以是執(zhí)行的受保護(hù)代碼222的哈希。比較器單元250繼而從計算機(jī)平臺210接收運(yùn)行時度量237 (435),并且確定啟動時度量232與運(yùn)行時度量237是否匹配(440)。如果啟動時度量232與運(yùn)行時度量237不匹配042),則比較器單元250報告警報并且掛起075)。例如,所報告的警報可以被外部檢驗器245或外部檢驗器M5向其報告該警報的管理服務(wù)器(未示出)的操作者查看,以檢查計算機(jī)平臺210的狀態(tài)。然而,如果啟動時度量232與運(yùn)行時度量237匹配043),則外部檢驗器245在稍后繼續(xù)驗證執(zhí)行的受保護(hù)代碼222的完整性G45),如下文所描述的。在執(zhí)行的受保護(hù)代碼222在計算機(jī)平臺210處處于執(zhí)行中的任何時刻,外部檢驗器245可以確定其應(yīng)當(dāng)驗證計算機(jī)平臺210處執(zhí)行的受保護(hù)代碼222的完整性(440)。如果驗證不是必需的047),則外部檢驗器245繼續(xù)等待其應(yīng)當(dāng)驗證執(zhí)行的受保護(hù)代碼222的完整性的指示。例如,外部檢驗器245可以定義完整性驗證規(guī)則,諸如要求計算機(jī)平臺210 以某個間隔(例如,5秒)報告受保護(hù)代碼的狀態(tài)。如果外部檢驗器245確定其應(yīng)當(dāng)驗證執(zhí)行的受保護(hù)代碼222的完整性048),則檢驗單元255發(fā)送針對來自計算機(jī)平臺210的活性指示符(其由活性單元240按照活性協(xié)議而生成)的請求257(450),以檢測執(zhí)行的受保護(hù)代碼222是否與相互已知的可靠事件處于活性同步中(也即,執(zhí)行的受保護(hù)代碼222尚未停止)。因此,計算機(jī)平臺210確定其是否接收到針對活性指示符的請求257(350)。如果尚未接收到針對活性指示符的請求257(352),則計算機(jī)平臺210繼續(xù)等待。 然而,如果接收到針對活性指示符的請求257(35 ,則活性單元240計算所請求的活性指示符243 (355),并且向外部檢驗器245發(fā)送所請求的活性指示符243 (355)。檢驗單元255繼而從計算機(jī)平臺210接收活性指示符243 (460),以及檢查活性指示符M3以確定接收的活性指示符243是否符合活性協(xié)議(46 。如上文所描述的,活性單元240以如下方式進(jìn)行初始化計算機(jī)平臺210和外部檢驗器245共享秘密,諸如初始化種子對2(也即,令牌)。因此,所共享的秘密與可靠事件一起在計算機(jī)平臺210處編碼在單向函數(shù)中的結(jié)果,作為活性指示符243向外部檢驗器245發(fā)送,其應(yīng)當(dāng)對應(yīng)于所共享的秘密與可靠事件一起在外部檢驗器245處編碼在單向函數(shù)中的結(jié)果。因此,如果接收到的活性指示符243不符合活性協(xié)議(467),則檢驗單元255報告警報并且掛起075)。然而,如果接收到的活性指示符M3確實(shí)符合活性協(xié)議068),則檢驗單元255報告成功驗證計算機(jī)平臺210的存儲器220中的執(zhí)行的受保護(hù)代碼222,并且繼續(xù) 070)。例如,外部檢驗器M5可以等待其應(yīng)當(dāng)驗證受保護(hù)代碼的完整性(44 的另一指示, 或者接收指示執(zhí)行的受保護(hù)代碼222已經(jīng)停止并且已經(jīng)重啟的另一運(yùn)行時度量237(435)。本發(fā)明的方法和裝置可以至少部分地采取具體化在有形的非瞬態(tài)介質(zhì)中的程序代碼(也即,指令)的形式,這些介質(zhì)諸如軟盤、CD-ROM、硬驅(qū)、隨機(jī)訪問存儲器或只讀存儲器,或者任何其他機(jī)器可讀存儲介質(zhì)。圖5示出了具體化在所示計算機(jī)可讀介質(zhì)510上的程序邏輯520,并且其中程序邏輯520以計算機(jī)可執(zhí)行代碼進(jìn)行編碼,其配置用于執(zhí)行圖1-圖4所示出的方法,由此構(gòu)成計算機(jī)程序產(chǎn)品500。用于執(zhí)行該方法的邏輯可以具體化為上述系統(tǒng)的一部分,這對于執(zhí)行例如參考圖 1-圖4所示的實(shí)施方式描述的方法非常有用。出于示例說明本發(fā)明的目的,將本發(fā)明描述為具體化在特定配置中并且使用專用邏輯布置,但是本領(lǐng)域技術(shù)人員將會理解,設(shè)備不限于特定配置,而是僅由包括在此說明書中的權(quán)利要求來限定。盡管出于清楚理解的目的已經(jīng)相當(dāng)詳細(xì)地描述了前述發(fā)明,但是很顯然,可以在所附權(quán)利要求的范圍內(nèi)實(shí)踐某些改變和修改。相應(yīng)地,此處的實(shí)施應(yīng)視為示意性而非限制性的,并且本發(fā)明不局限于此處給出的細(xì)節(jié),而是可以在所附權(quán)利要求的范圍和等價物內(nèi)進(jìn)行修改。當(dāng)閱讀上述描述時,本領(lǐng)域技術(shù)人員將認(rèn)識到,可以存在很多可以應(yīng)用于所述方法和系統(tǒng)的明顯的變形。在前述說明書中,已經(jīng)參考其具體示例性實(shí)施方式對本發(fā)明進(jìn)行了描述。然而,很明顯的是,在不偏離所附權(quán)利要求中闡述的本發(fā)明的寬泛精神和范圍的情況下,可以對具體示例性實(shí)施方式做出各種修改和改變。相應(yīng)地,說明書和附圖應(yīng)當(dāng)從示例性方面而不是限制性方面進(jìn)行考慮。
權(quán)利要求
1.一種用于驗證計算機(jī)平臺的存儲器中執(zhí)行的受保護(hù)代碼的完整性的方法,所述方法包括從所述計算機(jī)平臺接收存儲的受保護(hù)代碼的啟動時度量; 從所述計算機(jī)平臺獲取所述執(zhí)行的受保護(hù)代碼的運(yùn)行時度量; 從所述計算機(jī)平臺獲取所述執(zhí)行的受保護(hù)代碼的活性指示符;以及根據(jù)所述啟動時度量、所述運(yùn)行時度量以及所述活性指示符來驗證所述執(zhí)行的受保護(hù)代碼的完整性。
2.如權(quán)利要求1的方法,其中根據(jù)所述啟動時度量、所述運(yùn)行時度量以及所述活性指示符來驗證所述執(zhí)行的受保護(hù)代碼的完整性包括確定所述啟動時度量和所述運(yùn)行時度量是否等效;如果所述啟動時度量與所述運(yùn)行時度量不等效,則報告指示所述存儲的受保護(hù)代碼的損壞的警報;如果所述啟動時度量與所述運(yùn)行時度量等效,則確定所述執(zhí)行的受保護(hù)代碼是否處于活性狀態(tài)。
3.如權(quán)利要求2的方法,其中如果所述啟動時度量與所述運(yùn)行時度量等效則確定所述執(zhí)行的受保護(hù)代碼是否處于活性狀態(tài)包括確定所述活性指示符是否符合活性協(xié)議;如果所述活性指示符不符合所述活性協(xié)議,則報告指示所述執(zhí)行的受保護(hù)代碼的損壞的警報;以及如果所述活性指示符確實(shí)符合所述活性協(xié)議,則報告所述執(zhí)行的受保護(hù)代碼的驗證。
4.如權(quán)利要求3的方法,其中從所述計算機(jī)平臺獲取所述執(zhí)行的受保護(hù)代碼的活性指示符包括從所述計算機(jī)平臺接收初始化種子;根據(jù)所述初始化種子對所述活性協(xié)議的單向函數(shù)進(jìn)行初始化; 如果所述啟動時度量與所述運(yùn)行時度量等效,則請求來自所述計算機(jī)平臺的所述活性指示符;以及接收所述活性指示符。
5.如權(quán)利要求4的方法,其中從所述計算機(jī)平臺獲取所述執(zhí)行的受保護(hù)代碼的運(yùn)行時度量包括向所述計算機(jī)平臺發(fā)送針對所述運(yùn)行時度量的請求;以及從所述計算機(jī)平臺接收所述運(yùn)行時度量,其中所述計算機(jī)平臺響應(yīng)于接收針對所述運(yùn)行時度量的請求,通過在所述執(zhí)行的受保護(hù)代碼的運(yùn)行時間測量所述執(zhí)行的受保護(hù)代碼來生成所述運(yùn)行時度量。
6.一種用于利用外部檢驗器來驗證存儲器中的執(zhí)行的受保護(hù)代碼的完整性的方法,所述方法包括向所述外部檢驗器提供存儲的受保護(hù)代碼的啟動時度量; 向所述外部檢驗器提供執(zhí)行的受保護(hù)代碼的運(yùn)行時度量;以及向所述外部檢驗器提供所述執(zhí)行的受保護(hù)代碼的活性指示符。
7.如權(quán)利要求6的方法,其中向所述外部檢驗器提供所述執(zhí)行的受保護(hù)代碼的活性指示符包括向所述外部檢驗器提供初始化種子;以及根據(jù)所述初始化種子對活性協(xié)議的單向函數(shù)進(jìn)行初始化。
8.如權(quán)利要求7的方法,其中向所述外部檢驗器提供存儲的受保護(hù)代碼的啟動時度量包括測量所述存儲的受保護(hù)代碼以生成所述啟動時度量; 將所述啟動時度量存儲在物理上受保護(hù)的環(huán)境中;以及向所述外部檢驗器發(fā)送所述啟動時度量;其中向所述外部檢驗器提供執(zhí)行的受保護(hù)代碼的運(yùn)行時度量包括 從所述外部檢驗器接收針對所述運(yùn)行時度量的請求; 測量所述執(zhí)行的受保護(hù)代碼以生成所述運(yùn)行時度量;以及向所述外部檢驗器發(fā)送所述運(yùn)行時度量;以及其中向所述外部檢驗器提供所述執(zhí)行的受保護(hù)代碼的活性指示符進(jìn)一步包括 如果在所述外部檢驗器處比較所述啟動時度量與所述運(yùn)行時度量成功,則從所述外部檢驗器接收針對所述活性指示符的請求;根據(jù)所述活性協(xié)議計算所述活性指示符;以及向所述外部檢驗器發(fā)送所述活性指示符。
9.一種用于驗證計算機(jī)平臺的存儲器中的執(zhí)行的受保護(hù)代碼的完整性的裝置,所述裝置包括比較器單元,用于從所述計算機(jī)平臺接收存儲的受保護(hù)代碼的啟動時度量,從所述計算機(jī)平臺獲取所述執(zhí)行的受保護(hù)代碼的運(yùn)行時度量,以及比較所述啟動時度量和所述運(yùn)行時度量;以及檢驗單元,用于從所述計算機(jī)平臺獲取所述執(zhí)行的受保護(hù)代碼的活性指示符,以及根據(jù)所述啟動時度量、所述運(yùn)行時度量和所述活性指示符來驗證所述執(zhí)行的受保護(hù)代碼的完整性。
10.如權(quán)利要求9的裝置,其中所述比較器單元配置用于確定所述啟動時度量和所述運(yùn)行時度量是否等效,以及如果所述啟動時度量與所述運(yùn)行時度量不等效,則報告指示所述存儲的受保護(hù)代碼的損壞的警報;以及其中所述檢驗單元配置用于確定所述活性指示符是否符合活性協(xié)議,如果所述活性指示符不符合所述活性協(xié)議,則報告指示所述執(zhí)行的受保護(hù)代碼的損壞的警報;以及如果所述活性指示符確實(shí)符合所述活性協(xié)議,則報告所述執(zhí)行的受保護(hù)代碼的驗證。
11.如權(quán)利要求10的裝置,其中所述檢驗單元進(jìn)一步配置用于從所述計算機(jī)平臺接收初始化種子,根據(jù)所述初始化種子對所述活性協(xié)議的單向函數(shù)進(jìn)行初始化,如果所述啟動時度量與所述運(yùn)行時度量等效,則請求來自所述計算機(jī)平臺的所述活性指示符,以及接收所述活性指示符。
12.一種用于利用外部檢驗器來驗證存儲器中的執(zhí)行的受保護(hù)代碼的完整性的裝置, 所述裝置包括啟動時單元,用于向所述外部檢驗器提供存儲的受保護(hù)代碼的啟動時度量; 運(yùn)行時單元,用于響應(yīng)于來自所述外部檢驗器的、針對運(yùn)行時度量的請求,向所述外部CN 102542185 A檢驗器提供執(zhí)行的受保護(hù)代碼的所述運(yùn)行時度量;以及活性單元,用于響應(yīng)于來自所述外部檢驗器的、針對活性指示符的請求,向所述外部檢驗器提供所述執(zhí)行的受保護(hù)代碼的所述活性指示符,其中,如果在所述外部檢驗器處比較所述啟動時度量和運(yùn)行時度量成功,則從所述外部檢驗器發(fā)送所述針對活性指示符的請求。
13.如權(quán)利要求12的裝置,其中所述啟動時單元配置用于測量所述存儲的受保護(hù)代碼以生成所述啟動時度量,將所述啟動時度量存儲在物理上受保護(hù)的環(huán)境中,以及向所述外部檢驗器發(fā)送所述啟動時度量;其中所述運(yùn)行時單元配置用于從所述外部檢驗器接收針對所述運(yùn)行時度量的請求,測量所述執(zhí)行的受保護(hù)代碼以生成所述運(yùn)行時度量,以及向所述外部檢驗器發(fā)送所述運(yùn)行時度量;以及其中所述活性單元配置用于向所述外部檢驗器提供初始化種子,根據(jù)所述初始化種子對活性協(xié)議的單向函數(shù)進(jìn)行初始化,如果在所述外部檢驗器的所述啟動時度量與所述運(yùn)行時度量的比較成功,則從所述外部檢驗器接收針對所述活性指示符的請求,根據(jù)通過所述初始化種子初始化的所述活性協(xié)議的單向函數(shù)來計算所述活性指示符,以及向所述外部檢驗器發(fā)送所述活性指示符。
14.一種用于驗證存儲器中的執(zhí)行的受保護(hù)代碼的完整性的系統(tǒng),所述系統(tǒng)包括計算機(jī)平臺,包括啟動時單元、運(yùn)行時單元和活性單元;以及外部檢驗器,包括比較器單元和檢驗單元;其中所述啟動時單元配置用于向所述外部檢驗器提供存儲的受保護(hù)代碼的啟動時度量;其中所述運(yùn)行時單元配置用于響應(yīng)于來自所述外部檢驗器的、針對運(yùn)行時度量的請求,向所述外部檢驗器提供執(zhí)行的受保護(hù)代碼的所述運(yùn)行時度量;其中所述活性單元配置用于響應(yīng)于來自所述外部檢驗器的、針對活性指示符的請求, 向所述外部檢驗器提供所述執(zhí)行的受保護(hù)代碼的所述活性指示符,其中,如果在所述外部檢驗器處比較所述啟動時度量和運(yùn)行時度量成功,則從所述外部檢驗器發(fā)送所述針對活性指示符的請求;其中所述比較器單元配置用于將從所述計算機(jī)平臺接收的存儲的受保護(hù)代碼的啟動時度量與從所述計算機(jī)平臺獲取的所述執(zhí)行的受保護(hù)代碼的運(yùn)行時度量進(jìn)行比較;以及其中所述檢驗單元配置用于如果所述比較器單元執(zhí)行的比較成功,則根據(jù)從所述計算機(jī)平臺獲取的活性指示符來驗證所述執(zhí)行的受保護(hù)代碼的完整性。
15.如權(quán)利要求14的系統(tǒng),其中所述啟動時單元配置用于測量所述存儲的受保護(hù)代碼以生成所述啟動時度量,將所述啟動時度量存儲在物理上受保護(hù)的環(huán)境中,以及向所述外部檢驗器發(fā)送所述啟動時度量;其中所述運(yùn)行時單元配置用于從所述外部檢驗器接收針對所述運(yùn)行時度量的請求,測量所述執(zhí)行的受保護(hù)代碼以生成所述運(yùn)行時度量,以及向所述外部檢驗器發(fā)送所述運(yùn)行時度量;以及其中所述活性單元配置用于向所述外部檢驗器提供初始化種子,根據(jù)所述初始化種子對活性協(xié)議的單向函數(shù)進(jìn)行初始化,如果在所述外部檢驗器處比較所述啟動時度量與所述運(yùn)行時度量成功,則從所述外部檢驗器接收針對所述活性指示符的請求,根據(jù)通過所述初始化種子初始化的所述活性協(xié)議的單向函數(shù)來計算所述活性指示符,以及向所述外部檢驗器提供所述活性指示符。
16.如權(quán)利要求15的系統(tǒng),其中所述比較器單元配置用于確定所述啟動時度量和所述運(yùn)行時度量是否等效,如果所述啟動時度量與所述運(yùn)行時度量不等效,則報告指示所述存儲的受保護(hù)代碼的損壞的警報,以及如果所述啟動時度量與所述運(yùn)行時度量等效,則請求所述活性指示符;以及其中所述檢驗單元配置用于從所述計算機(jī)平臺接收初始化種子,根據(jù)所述初始化種子對活性協(xié)議的單向函數(shù)進(jìn)行初始化,根據(jù)所述活性協(xié)議從所述計算機(jī)平臺接收對所述執(zhí)行的受保護(hù)代碼的活性指示符,確定所述活性指示符是否符合根據(jù)所述初始化種子初始化的活性協(xié)議的單向函數(shù),如果所述活性指示符不符合所述活性協(xié)議,則報告指示所述執(zhí)行的受保護(hù)代碼的損壞的警報,以及如果所述活性指示符確實(shí)符合所述活性協(xié)議,則報告所述執(zhí)行的受保護(hù)代碼的驗證。
17.一種具有非瞬態(tài)計算機(jī)可讀存儲介質(zhì)的計算機(jī)程序產(chǎn)品,所述介質(zhì)可操作以存儲具體化為編碼于其上的計算機(jī)程序代碼的計算機(jī)程序邏輯,所述計算機(jī)程序代碼用于驗證計算機(jī)平臺的存儲器中的執(zhí)行的受保護(hù)代碼的完整性,包括用于從所述計算機(jī)平臺接收存儲的受保護(hù)代碼的啟動時度量的計算機(jī)程序代碼; 用于從所述計算機(jī)平臺獲取所述執(zhí)行的受保護(hù)代碼的運(yùn)行時度量的計算機(jī)程序代碼;用于從所述計算機(jī)平臺獲取所述執(zhí)行的受保護(hù)代碼的活性指示符的計算機(jī)程序代碼;以及用于根據(jù)所述啟動時度量、所述運(yùn)行時度量以及所述活性指示符來驗證所述執(zhí)行的受保護(hù)代碼的完整性的計算機(jī)程序代碼。
18.如權(quán)利要求17的計算機(jī)程序產(chǎn)品,其中用于根據(jù)所述啟動時度量、所述運(yùn)行時度量以及所述活性指示符來驗證所述執(zhí)行的受保護(hù)代碼的完整性的計算機(jī)程序代碼包括用于確定所述啟動時度量和所述運(yùn)行時度量是否等效的計算機(jī)程序代碼; 用于如果所述啟動時度量與所述運(yùn)行時度量不等效,則報告指示所述存儲的受保護(hù)代碼的損壞的警報的計算機(jī)程序代碼;用于如果所述啟動時度量與所述運(yùn)行時度量等效,則確定所述執(zhí)行的受保護(hù)代碼是否處于活性狀態(tài)的計算機(jī)程序代碼。
19.如權(quán)利要求18的計算機(jī)程序產(chǎn)品,其中用于如果所述啟動時度量與所述運(yùn)行時度量等效則確定所述執(zhí)行的受保護(hù)代碼是否處于活性狀態(tài)的計算機(jī)程序代碼包括用于確定所述活性指示符是否符合活性協(xié)議的計算機(jī)程序代碼; 用于如果所述活性指示符不符合所述活性協(xié)議,則報告指示所述執(zhí)行的受保護(hù)代碼的損壞的警報的計算機(jī)程序代碼;以及用于如果所述活性指示符確實(shí)符合所述活性協(xié)議,則報告所述執(zhí)行的受保護(hù)代碼的驗證的計算機(jī)程序代碼。
20.如權(quán)利要求19的計算機(jī)程序產(chǎn)品,其中用于從所述計算機(jī)平臺獲取所述執(zhí)行的受保護(hù)代碼的活性指示符的計算機(jī)程序代碼包括用于從所述計算機(jī)平臺接收初始化種子的計算機(jī)程序代碼;用于根據(jù)所述初始化種子對所述活性協(xié)議的單向函數(shù)進(jìn)行初始化的計算機(jī)程序代碼;用于如果所述啟動時度量與所述運(yùn)行時度量等效,則請求來自所述計算機(jī)平臺的所述活性指示符的計算機(jī)程序代碼;以及用于接收所述活性指示符的計算機(jī)程序代碼。
21.如權(quán)利要求20的計算機(jī)程序產(chǎn)品,其中用于從所述計算機(jī)平臺獲取所述執(zhí)行的受保護(hù)代碼的運(yùn)行時度量的計算機(jī)程序代碼包括用于向所述計算機(jī)平臺發(fā)送針對所述運(yùn)行時度量的請求的計算機(jī)程序代碼;以及用于從所述計算機(jī)平臺接收所述運(yùn)行時度量的計算機(jī)程序代碼,其中所述計算機(jī)平臺響應(yīng)于接收到針對所述運(yùn)行時度量的請求,通過在所述執(zhí)行的受保護(hù)代碼的運(yùn)行時間測量所述執(zhí)行的受保護(hù)代碼來生成所述運(yùn)行時度量。
22.—種具有非瞬態(tài)計算機(jī)可讀存儲介質(zhì)的計算機(jī)程序產(chǎn)品,所述介質(zhì)可操作以存儲具體化為編碼于其上的計算機(jī)程序代碼的計算機(jī)程序邏輯,所述計算機(jī)程序代碼用于利用外部檢驗器來驗證存儲器中的執(zhí)行的受保護(hù)代碼的完整性,包括用于向所述外部檢驗器提供存儲的受保護(hù)代碼的啟動時度量的計算機(jī)程序代碼; 用于向所述外部檢驗器提供執(zhí)行的受保護(hù)代碼的運(yùn)行時度量的計算機(jī)程序代碼;以及用于向所述外部檢驗器提供所述執(zhí)行的受保護(hù)代碼的活性指示符的計算機(jī)程序代碼。
23.如權(quán)利要求22的計算機(jī)程序產(chǎn)品,其中用于向所述外部檢驗器提供所述執(zhí)行的受保護(hù)代碼的活性指示符的計算機(jī)程序代碼包括用于向所述外部檢驗器提供初始化種子的計算機(jī)程序代碼;以及用于根據(jù)所述初始化種子對活性協(xié)議的單向函數(shù)進(jìn)行初始化的計算機(jī)程序代碼。
24.如權(quán)利要求23的計算機(jī)程序產(chǎn)品,其中用于向所述外部檢驗器提供存儲的受保護(hù)代碼的啟動時度量的計算機(jī)程序代碼包括用于測量所述存儲的受保護(hù)代碼以生成所述啟動時度量的計算機(jī)程序代碼; 用于將所述啟動時度量存儲在物理上受保護(hù)的環(huán)境中的計算機(jī)程序代碼;以及用于向所述外部檢驗器發(fā)送所述啟動時度量的計算機(jī)程序代碼; 其中用于向所述外部檢驗器提供執(zhí)行的受保護(hù)代碼的運(yùn)行時度量的計算機(jī)程序代碼包括用于從所述外部檢驗器接收針對所述運(yùn)行時度量的請求的計算機(jī)程序代碼; 用于測量所述執(zhí)行的受保護(hù)代碼以生成所述運(yùn)行時度量的計算機(jī)程序代碼;以及用于向所述外部檢驗器發(fā)送所述運(yùn)行時度量的計算機(jī)程序代碼;以及其中用于向所述外部檢驗器提供所述執(zhí)行的受保護(hù)代碼的活性指示符的計算機(jī)程序代碼進(jìn)一步包括用于如果在所述外部檢驗器的所述啟動時度量與所述運(yùn)行時度量的比較成功,則從所述外部檢驗器接收針對所述活性指示符的請求的計算機(jī)程序代碼;用于根據(jù)所述活性協(xié)議計算所述活性指示符的計算機(jī)程序代碼;以及用于向所述外部檢驗器發(fā)送所述活性指示符的計算機(jī)程序代碼。
全文摘要
本發(fā)明的示例實(shí)施方式涉及硬化隨機(jī)訪問存儲器中的軟件執(zhí)行的方法和裝置。具體地,涉及一種系統(tǒng)、裝置和方法,用于在代碼在計算機(jī)平臺的RAM中處于執(zhí)行中時,保護(hù)該代碼的完整性以防止其被惡意或意外地修改。該方法還可以稱為代碼硬化。在本發(fā)明的示例實(shí)施方式中,待硬化的代碼可以稱為受保護(hù)代碼。本發(fā)明的示例實(shí)施方式能夠從外部檢測管理程序的未授權(quán)停止,其通過采用(1)受保護(hù)代碼的啟動時度量;(2)受保護(hù)代碼的運(yùn)行時度量;以及(3)受保護(hù)代碼的活性指示符來實(shí)現(xiàn)。
文檔編號G06F21/00GK102542185SQ20101060149
公開日2012年7月4日 申請日期2010年12月23日 優(yōu)先權(quán)日2010年12月23日
發(fā)明者楊子夜, 毛文波 申請人:伊姆西公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
云南省| 宁武县| 宣武区| 汽车| 和田县| 南充市| 延边| 新余市| 肇庆市| 德化县| 平塘县| 桂平市| 泸水县| 佳木斯市| 黔江区| 洛浦县| 丹棱县| 白城市| 南昌县| 昭觉县| 北流市| 东乌珠穆沁旗| 平山县| 滦平县| 鸡西市| 潢川县| 镇巴县| 沙雅县| 仁怀市| 德昌县| 涡阳县| 凤台县| 建平县| 中西区| 绵竹市| 沽源县| 葫芦岛市| 凌源市| 沐川县| 兴隆县| 安徽省|