專(zhuān)利名稱(chēng):保護(hù)操作系統(tǒng)配置值的制作方法
保護(hù)操作系統(tǒng)配置值
背景技術(shù):
經(jīng)由各種網(wǎng)絡(luò),例如因特網(wǎng),計(jì)算機(jī)之間變得愈加互連。雖然這種連接性允許用戶(hù)訪問(wèn)各種不同的業(yè)務(wù)和數(shù)據(jù),但是這種連接性沒(méi)有擺脫它自身的問(wèn)題。ー個(gè)這種問(wèn)題就是這種連接性可以允許惡意程序在這些計(jì)算機(jī)上運(yùn)行。這些惡意程序可以執(zhí)行各種不希望的操作,例如發(fā)起對(duì)其他計(jì)算機(jī)的攻擊、發(fā)送私有數(shù)據(jù)給其他用戶(hù)的計(jì)算機(jī)、阻止用戶(hù)能夠使用他的或她的計(jì)算機(jī)等。當(dāng)前仍然難以保護(hù)計(jì)算機(jī)免受這樣的惡意程序。
發(fā)明內(nèi)容
提供本發(fā)明內(nèi)容而以簡(jiǎn)化形式對(duì)精選的觀點(diǎn)進(jìn)行介紹,在以下具體實(shí)施方式
中將進(jìn)ー步描述這些觀點(diǎn)。本發(fā)明內(nèi)容沒(méi)有打算標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特 征,也沒(méi)有打算用來(lái)限制所要求保護(hù)的主題的范圍。依據(jù)ー個(gè)或多個(gè)方面,在裝置上的預(yù)操作系統(tǒng)環(huán)境中,在將操作系統(tǒng)加載并運(yùn)行在所述裝置上之前,獲得識(shí)別至少ー個(gè)操作系統(tǒng)的配置設(shè)置的策略(policy)。阻止所述操作系統(tǒng)改變這個(gè)策略。將這個(gè)策略與由所述操作系統(tǒng)使用的配置值進(jìn)行比較,并且如果所述配置值滿(mǎn)足所述策略,則允許所述操作系統(tǒng)用所述配置值進(jìn)行引導(dǎo)(boot)。然而,如果所述配置沒(méi)有滿(mǎn)足所述策略,則采取響應(yīng)動(dòng)作。依據(jù)ー個(gè)或多個(gè)方面,接收識(shí)別配置設(shè)置的策略的改變,為了在裝置上執(zhí)行操作系統(tǒng)而由所述操作系統(tǒng)的配置值滿(mǎn)足所述配置設(shè)置。阻止所述操作系統(tǒng)本身改變這個(gè)策略。進(jìn)行關(guān)于所述策略的改變是否被預(yù)操作系統(tǒng)環(huán)境信賴(lài)的實(shí)體批準(zhǔn)的檢查,并且只有當(dāng)所述策略的改變被預(yù)操作系統(tǒng)環(huán)境批準(zhǔn)時(shí),才改變所述策略。
整個(gè)附圖中,相同的標(biāo)記用于引用相同的特征。圖I圖示了依據(jù)ー個(gè)或多個(gè)實(shí)施例的實(shí)現(xiàn)保護(hù)操作系統(tǒng)配置值的示例性裝置。圖2圖示了依據(jù)ー個(gè)或多個(gè)實(shí)施例的示例性策略。圖3是圖示依據(jù)ー個(gè)或多個(gè)實(shí)施例的用于保護(hù)操作系統(tǒng)配置值的示例性過(guò)程的流程圖。圖4是圖示依據(jù)ー個(gè)或多個(gè)實(shí)施例的用于改變裝置中策略的示例性過(guò)程的流程圖。圖5圖示了依據(jù)ー個(gè)或多個(gè)實(shí)施例的可以被配置為實(shí)現(xiàn)所述保護(hù)操作系統(tǒng)配置值的示例性計(jì)算裝置。
具體實(shí)施例方式本文討論了保護(hù)操作系統(tǒng)配置值。在引導(dǎo)裝置的過(guò)程期間,由所述裝置的ー個(gè)或多個(gè)操作系統(tǒng)的至少一部分使用的配置值的集合(以及可選地包括由所述裝置的預(yù)操作系統(tǒng)環(huán)境的部件使用的ー個(gè)或多個(gè)配置值)對(duì)照所述裝置的策略進(jìn)行檢查。如果所述配置值滿(mǎn)足所述策略,則允許所述操作系統(tǒng)在所述裝置上運(yùn)行,但是如果所述配置值沒(méi)有滿(mǎn)足所述策略,則采取一個(gè)或多個(gè)適當(dāng)?shù)膭?dòng)作(例如,不運(yùn)行所述操作系統(tǒng)、改變所述值等)。以防止由所述操作系統(tǒng)和在計(jì)算裝置上運(yùn)行的其他應(yīng)用進(jìn)行未授權(quán)修改的方式來(lái)存儲(chǔ)所述策略。然而,ー個(gè)或多個(gè)策略發(fā)行者可以更新所述策略,允許所述策略隨著時(shí)間而改變。本文參考對(duì)稱(chēng)密鑰密碼術(shù)、公開(kāi)密鑰密碼術(shù)和公開(kāi)/私有密鑰對(duì)。盡管這種密鑰密碼術(shù)對(duì)于那些本領(lǐng)域技術(shù)人員來(lái)說(shuō)是公知的,但是在此還是包括了這種密碼術(shù)的簡(jiǎn)短概述,以助于讀者理解。在公開(kāi)密鑰密碼術(shù)中,實(shí)體(例如用戶(hù)、硬件或軟件部件、裝置、域等)具有與它相關(guān)聯(lián)的公開(kāi)/私有密鑰對(duì)。將公開(kāi)密鑰設(shè)置為公開(kāi)可用的,但是所述實(shí)體對(duì)私有密鑰進(jìn)行保密。沒(méi)有所述私有密鑰,在計(jì)算上非常難以解密使用所述公開(kāi)密鑰加密的數(shù)據(jù)。因此,可以由任何實(shí)體使用所述公開(kāi)密鑰來(lái)加密數(shù)據(jù),但是卻只能由具有相應(yīng)私有密鑰的實(shí)體來(lái)解密數(shù)據(jù)。另外,可以通過(guò)使用所述數(shù)據(jù)和所述私有密鑰來(lái)生成數(shù)據(jù)的數(shù)字簽名。沒(méi)有所述私有密鑰,在計(jì)算上非常難以創(chuàng)建可使用所述公開(kāi)密鑰進(jìn)行驗(yàn)證的簽名。通過(guò)在所述公開(kāi)密鑰、所述簽名和已被簽名的數(shù)據(jù)上執(zhí)行適當(dāng)?shù)臄?shù)字簽名驗(yàn)證算法,具有所述公開(kāi)密鑰的任何實(shí)體都可以使用所述公開(kāi)密鑰驗(yàn)證所述數(shù)字簽名。
另ー方面,在對(duì)稱(chēng)密鑰密碼術(shù)中,由兩個(gè)實(shí)體知曉共享密鑰(也被稱(chēng)為對(duì)稱(chēng)密鑰),并由這兩個(gè)實(shí)體對(duì)其保密。典型地,具有所述共享密鑰的任何實(shí)體都能夠解密用共享密鑰加密的數(shù)據(jù)。沒(méi)有所述共享密鑰,在計(jì)算上非常難以解密用所述共享密鑰加密的數(shù)據(jù)。因此,如果兩個(gè)實(shí)體都知曉所述共享密鑰,則每個(gè)實(shí)體都可以加密可由另ー個(gè)實(shí)體解密的數(shù)據(jù),但是如果其他的實(shí)體不知曉所述共享密鑰,其他的實(shí)體就不能解密所述數(shù)據(jù)。同樣,具有共享密鑰的實(shí)體可以加密可由相同實(shí)體解密的數(shù)據(jù),但是,如果其他的實(shí)體不知曉所述共享密鑰,其他的實(shí)體不能解密該數(shù)據(jù)。另外,可以基于對(duì)稱(chēng)密鑰密碼術(shù)生成數(shù)字簽名,例如使用密鑰散列消息認(rèn)證碼機(jī)制。具有所述共享密鑰的任何實(shí)體都可以生成和驗(yàn)證所述數(shù)字簽名。例如,受信賴(lài)的第三方可以基于特定實(shí)體的身份生成對(duì)稱(chēng)密鑰,并且然后可以為所述特定實(shí)體生成數(shù)字簽名并且驗(yàn)證所述數(shù)字簽名(例如,通過(guò)使用所述對(duì)稱(chēng)密鑰加密或解密的數(shù)據(jù))。圖I圖示了依據(jù)ー個(gè)或多個(gè)實(shí)施例的實(shí)現(xiàn)保護(hù)操作系統(tǒng)配置值的示例性裝置100。裝置100包括固件102、操作系統(tǒng)加載器(loader)104和操作系統(tǒng)內(nèi)核106,上述每ー個(gè)都是允許裝置100執(zhí)行各種操作的一個(gè)或多個(gè)部件或模塊。這些部件或模塊包括典型地存儲(chǔ)在非易失性?xún)?nèi)存或存儲(chǔ)裝置(例如,閃速存儲(chǔ)器、只讀存儲(chǔ)器(ROM)、磁盤(pán)、光盤(pán)、經(jīng)由網(wǎng)絡(luò)訪問(wèn)的遠(yuǎn)程裝置或存儲(chǔ)器等)中的指令和/或數(shù)據(jù)。將這些部件或模塊從所述非易失性?xún)?nèi)存或存儲(chǔ)裝置加載到ー個(gè)或多個(gè)易失性存儲(chǔ)器(例如,隨機(jī)存取存儲(chǔ)器(RAM)),從中可以由一個(gè)或多個(gè)處理器重新獲得并且執(zhí)行這些部件或模塊。當(dāng)裝置100通電或重置時(shí),引導(dǎo)裝置100。裝置100的引導(dǎo)指的是裝置100的開(kāi)始操作,典型地,加載并且執(zhí)行裝置100的操作系統(tǒng)。典型地,裝置100的引導(dǎo)包括至少兩個(gè)階段。在第一階段中,在裝置100上加載并且運(yùn)行預(yù)操作系統(tǒng)環(huán)境的部件。在所述預(yù)操作系統(tǒng)環(huán)境中,運(yùn)行各種部件或模塊而執(zhí)行包括引導(dǎo)所述操作系統(tǒng)的各種操作。在第二階段,在裝置100上加載并且運(yùn)行所述操作系統(tǒng)環(huán)境的部件。在所述操作系統(tǒng)環(huán)境中,所述操作系統(tǒng)正在裝置100上運(yùn)行。部件的加載涉及將所述部件復(fù)制到易失性(或者另選地,非易失性)存儲(chǔ)器,并且可選地對(duì)其他部件或數(shù)據(jù)存儲(chǔ)執(zhí)行另外的配置。部件的執(zhí)行涉及通過(guò)裝置100的處理器或控制器運(yùn)行(執(zhí)行)所述部件的指令。在引導(dǎo)裝置100之后,可以通過(guò)所述操作系統(tǒng)在裝置100上運(yùn)行各種其他程序。裝置100可以是各種不同類(lèi)型的實(shí)際裝置。例如,裝置100可以是臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)或上網(wǎng)本計(jì)算機(jī)、筆記本或平板計(jì)算機(jī)、移動(dòng)站、娛樂(lè)設(shè)備、通信地耦合到顯示裝置上的機(jī)頂盒、電視機(jī)、蜂窩或其他無(wú)線電話,游戲控制臺(tái),汽車(chē)計(jì)算機(jī)等。裝置100還可以是虛擬裝置,例如在實(shí)際裝置上運(yùn)行的虛擬機(jī)??梢栽诟鞣N不同類(lèi)型的實(shí)際裝置的任意一個(gè)上運(yùn)行虛擬機(jī)。
在引導(dǎo)過(guò)程期間,由裝置100加載并且執(zhí)行固件102。固件102存儲(chǔ)在裝置100的非易失性存儲(chǔ)器中。固件102可以存儲(chǔ)在只讀存儲(chǔ)器中,或者備選地存儲(chǔ)在可寫(xiě)入的非易失性存儲(chǔ)器(例如,閃速存儲(chǔ)器)中。在固件102被存儲(chǔ)在可寫(xiě)入的非易失性存儲(chǔ)器中的實(shí)施例中,典型地,需要注意以確保不會(huì)篡改這種固件102 (并且因此,不會(huì)被惡意程序所改變)。例如,可以通過(guò)驗(yàn)證存儲(chǔ)在可寫(xiě)入的非易失性存儲(chǔ)器中的固件102上的簽名、將固件102存儲(chǔ)在僅能訪問(wèn)固件102的受保護(hù)的存儲(chǔ)器中、使用各種傳統(tǒng)受信賴(lài)的引導(dǎo)或安全引導(dǎo)技術(shù)等來(lái)加以注意。固件102開(kāi)始操作系統(tǒng)加載器104的執(zhí)行。典型地,在執(zhí)行前,由固件102加載并且驗(yàn)證操作系統(tǒng)加載器104。可以以不同方式驗(yàn)證操作系統(tǒng)加載器104,例如,通過(guò)驗(yàn)證操作系統(tǒng)加載器104的數(shù)字簽名(其由固件102被配置(例如,編程)為信賴(lài)的實(shí)體生成)。操作系統(tǒng)加載器104加載并且執(zhí)行操作系統(tǒng)內(nèi)核106。典型地,在執(zhí)行之前,由操作系統(tǒng)加載器104加載并且驗(yàn)證操作系統(tǒng)內(nèi)核106??梢砸圆煌绞津?yàn)證操作系統(tǒng)內(nèi)核106,例如,通過(guò)驗(yàn)證操作系統(tǒng)內(nèi)核106的數(shù)字簽名(其由將操作系統(tǒng)加載器104配置(例如,編程)為信賴(lài)的實(shí)體生成)。然后,操作系統(tǒng)內(nèi)核106可以著手于加載并且執(zhí)行各種不同的操作系統(tǒng)部件和/或用戶(hù)方式部件??梢皂憫?yīng)于執(zhí)行這種部件的用戶(hù)請(qǐng)求或者響應(yīng)于來(lái)自另ー個(gè)部件或模塊的請(qǐng)求而執(zhí)行這些操作系統(tǒng)部件和用戶(hù)方式部件。操作系統(tǒng)內(nèi)核106獲得各種操作系統(tǒng)配置值112并且根據(jù)各種操作系統(tǒng)配置值112操作。盡管圖示為可由操作系統(tǒng)內(nèi)核106進(jìn)行訪問(wèn),但是還可以由操作系統(tǒng)加載器104和/或裝置100的其他部件或模塊來(lái)訪問(wèn)操作系統(tǒng)配置值112。操作系統(tǒng)配置值112可以是用于確定操作系統(tǒng)內(nèi)核106 (和/或操作系統(tǒng)加載器104)如何操作、將要加載和執(zhí)行操作系統(tǒng)內(nèi)核106 (和/或操作系統(tǒng)加載器104)的什么部件、它們的組合等的各種不同信息的任意ー個(gè)。例如,操作系統(tǒng)配置值112可以是操作系統(tǒng)內(nèi)核106(和/或操作系統(tǒng)加載器104)是否允許在裝置100上執(zhí)行不可信賴(lài)程序或部件、或在裝置100上運(yùn)行程序或部件之前,操作系統(tǒng)內(nèi)核106 (和/或操作系統(tǒng)加載器104)是否認(rèn)證所述程序或部件的指示。作為另ー個(gè)示例,操作系統(tǒng)配置值112可以是反惡意軟件應(yīng)用(或特定的反惡意軟件應(yīng)用)是否要在裝置100上運(yùn)行的指示。作為另ー個(gè)示例,操作系統(tǒng)配置值112可以是用于管理運(yùn)行在裝置100上的虛擬機(jī)的虛擬機(jī)管理器的配置值或設(shè)置的指示。作為又ー個(gè)示例,操作系統(tǒng)配置值112可以是要使用的特定處理器或處理器內(nèi)核設(shè)置(例如,將被標(biāo)記為不可執(zhí)行的存儲(chǔ)器區(qū)域)的指示。在一個(gè)或多個(gè)實(shí)施例中,將固件102和操作系統(tǒng)加載器104實(shí)現(xiàn)為預(yù)執(zhí)行環(huán)境(也被稱(chēng)為預(yù)引導(dǎo)環(huán)境或預(yù)操作系統(tǒng)環(huán)境)的一部分,其涉及在結(jié)束引導(dǎo)所述操作系統(tǒng)以及運(yùn)行所述操作系統(tǒng)之前運(yùn)行在裝置100上的環(huán)境。在這樣的實(shí)施例中,固件102和操作系統(tǒng)加載器104可以存儲(chǔ)在裝置100的部件上(例如,存儲(chǔ)在只讀存儲(chǔ)器(ROM)或閃速存儲(chǔ)器中),例如在裝置100的網(wǎng)絡(luò)接ロ卡上。另選地,在所述預(yù)執(zhí)行環(huán)境期間,可以從另ー個(gè)裝置或業(yè)務(wù)獲得固件102和操作系統(tǒng)加載器104。例如,固件102和操作系統(tǒng)加載器104被包括作為從另ー個(gè)裝置或業(yè)務(wù)向裝置100提供的引導(dǎo)圖像的一部分??梢砸愿鞣N不同方式實(shí)現(xiàn)所述預(yù)執(zhí)行環(huán)境,并且所述預(yù)執(zhí)行環(huán)境可以以各種不同的傳統(tǒng)技術(shù)作為基礎(chǔ)。例如,可以依據(jù)預(yù)引導(dǎo)執(zhí)行環(huán)境(PXE)標(biāo)準(zhǔn)版本2. O或其他版本實(shí)現(xiàn)所述預(yù)執(zhí)行環(huán)境。作為另ー個(gè)示例,可以依據(jù)統(tǒng)ー的可擴(kuò)展固件接ロ(UEFI)標(biāo)準(zhǔn)版本2. 3或其他版本實(shí)現(xiàn)所述預(yù)執(zhí)行環(huán)境。作為又ー個(gè)示例,可以使用各種不同的個(gè)人計(jì)算機(jī)基本輸入/輸出系統(tǒng)(BIOS)版本實(shí)現(xiàn)所述預(yù)執(zhí)行環(huán)境。在所述引導(dǎo)過(guò)程期間,操作系統(tǒng)加載器104獲得策略記錄114,其是裝置100將遵照的ー個(gè)或多個(gè)策略的記錄。策略的這個(gè)記錄包括操作系統(tǒng)配置值112將滿(mǎn)足的配置設(shè)置 或值。操作系統(tǒng)加載器104將策略記錄114中的ー個(gè)或多個(gè)策略與操作系統(tǒng)配置值112進(jìn)行比較,并且,如果操作系統(tǒng)配置值112滿(mǎn)足策略記錄114中的ー個(gè)或多個(gè)策略繼續(xù)開(kāi)始操作系統(tǒng)內(nèi)核106部件的執(zhí)行。然而,如果ー個(gè)或多個(gè)操作系統(tǒng)配置值112沒(méi)有滿(mǎn)足策略記錄114中的策略,則采取適當(dāng)?shù)捻憫?yīng)動(dòng)作。可以采取各種不同的響應(yīng)動(dòng)作,例如不加載操作系統(tǒng)內(nèi)核106、改變操作系統(tǒng)配置值112等。以下將更加詳細(xì)地討論這些響應(yīng)動(dòng)作。因此,操作系統(tǒng)加載器104保護(hù)了操作系統(tǒng)配置值112,識(shí)別出惡意程序也許已經(jīng)改變操作系統(tǒng)配置值112的情況。在一個(gè)或多個(gè)實(shí)施例中,策略記錄114中的ー個(gè)或多個(gè)策略還包括所述裝置預(yù)操作系統(tǒng)環(huán)境的一個(gè)或多個(gè)部件將滿(mǎn)足的配置設(shè)置或值。這些將由所述預(yù)操作系統(tǒng)環(huán)境滿(mǎn)足的配置設(shè)置或值可以是所述預(yù)操作系統(tǒng)環(huán)境將如何操作、將加載和執(zhí)行所述預(yù)操作系統(tǒng)環(huán)境的什么部件、它們的組合等的各種不同指示的任意ー個(gè)。這些配置設(shè)置或值被包括作為操作系統(tǒng)配置值112的一部分,或者另選地,這些配置設(shè)置或值可以是其他設(shè)置或值。例如,這些配置設(shè)置或值可以指定僅將加載和執(zhí)行特定的操作系統(tǒng)。盡管圖I中圖示了單個(gè)操作系統(tǒng)內(nèi)核106,但是應(yīng)當(dāng)注意到,另選地,可以在裝置100上加載并執(zhí)行多個(gè)不同操作系統(tǒng)內(nèi)核106。這些不同的操作系統(tǒng)內(nèi)核的每ー個(gè)都可以具有它自己的操作系統(tǒng)配置值112和它自己的策略記錄114(或它自己的位于策略記錄114內(nèi)的策略),并且操作系統(tǒng)加載器104將適當(dāng)?shù)末`個(gè)或多個(gè)策略與正被引導(dǎo)的操作系統(tǒng)內(nèi)核106的適當(dāng)?shù)牟僮飨到y(tǒng)配置值進(jìn)行比較。另選地,這些不同的操作系統(tǒng)內(nèi)核的兩個(gè)或更多個(gè)可以共享操作系統(tǒng)配置值112和/或策略記錄114 (和/或位于策略記錄114內(nèi)的策略)的至少一部分。圖2圖示了依據(jù)ー個(gè)或多個(gè)實(shí)施例的示例性策略200。例如,策略200可以被包括作為圖I的策略記錄114中的策略。策略200包括策略標(biāo)識(shí)符202、策略祖先列表(ancestorIist )204和ー個(gè)或多個(gè)配置值和/或設(shè)置206。通過(guò)對(duì)策略標(biāo)識(shí)符202、策略祖先列表204和配置值/設(shè)置206的ー個(gè)或多個(gè)進(jìn)行數(shù)字簽名還生成策略200上的數(shù)字簽名208。策略標(biāo)識(shí)符202識(shí)別策略200,允許不同的策略彼此區(qū)分。例如,策略標(biāo)識(shí)符202可以是分配給策略200的全局唯一 ID (⑶ID)。策略祖先列表204是策略200替換的零個(gè)或多個(gè)其他策略的列表。策略祖先列表204便于阻止某些類(lèi)型的攻擊,如以下將更加詳細(xì)地討論的。配置值和/或設(shè)置206包括所述操作系統(tǒng)配置值(例如圖I的值112)將滿(mǎn)足的值。配置值和/或設(shè)置206還可以包括如果所述操作系統(tǒng)配置值沒(méi)有滿(mǎn)足策略200中的所述配置值的ー個(gè)或多個(gè)而采取的響應(yīng)動(dòng)作。可選地,可以通過(guò)操作系統(tǒng)加載器部件設(shè)置配置值和/或設(shè)置206的ー個(gè)或多個(gè),如以下將更加詳細(xì)地討論的。配置值和/或設(shè)置206還可以包括對(duì)ー個(gè)或多個(gè)其他策略的標(biāo)識(shí)符的引用。這些ー個(gè)或多個(gè)其他策略中的配置值和/或設(shè)置被包括作為策略200的一部分。因此,策略200可以有效地合并或者包括一個(gè)或多個(gè)其他策略。配置值和/或設(shè)置206還可以包括一個(gè)或多個(gè)受信賴(lài)的策略發(fā)行者的標(biāo)識(shí)符。因此,可以在策略200中識(shí)別出允許往策略記錄(例如,圖I的策略記錄114)増加策略的新的策略發(fā)行者。
返回圖I,操作系統(tǒng)加載器104檢查操作系統(tǒng)配置值112是否滿(mǎn)足策略記錄114中的ー個(gè)或多個(gè)策略。策略記錄114可以包括單個(gè)策略,如以下更加詳細(xì)討論的,其可以由ー個(gè)或多個(gè)不同的策略發(fā)行者進(jìn)行改變。另選地,策略記錄114可以包括多個(gè)策略,其每ー個(gè)都可以由ー個(gè)或多個(gè)策略發(fā)行者進(jìn)行改變。因此,例如,不同的策略發(fā)行者可以提供不同的策略(它們隨后可以改變)以包括在策略記錄114中??梢砸愿鞣N不同方式在所述策略中識(shí)別所述配置值。在一個(gè)或多個(gè)實(shí)施例中,策略識(shí)別名值對(duì)(name-value pair)中的值,所述名值對(duì)包括操作系統(tǒng)配置值的名(或其他標(biāo)識(shí)符)和所述操作系統(tǒng)配置值為了滿(mǎn)足所述策略而具有的一個(gè)或多個(gè)值。在其他實(shí)施例中,將值以相應(yīng)的操作系統(tǒng)配置值所固有的次序關(guān)系或其他結(jié)構(gòu)包括于策略中??梢砸圆煌绞綀?zhí)行操作系統(tǒng)配置值112是否滿(mǎn)足策略記錄114中的ー個(gè)或多個(gè)策略的確定。在一個(gè)或多個(gè)實(shí)施例中,將數(shù)學(xué)運(yùn)算符用來(lái)確定操作系統(tǒng)配置值是否滿(mǎn)足策略。可以使用各種不同的數(shù)學(xué)運(yùn)算符,例如等于、大于、小于等。在其他實(shí)施例中,將其他運(yùn)算符或邏輯式用來(lái)確定操作系統(tǒng)配置值是否滿(mǎn)足策略,例如,所述操作系統(tǒng)配置值是否被包括作為所述策略中的值的集合之一。在將多個(gè)策略包括于策略記錄114的情形中,確定操作系統(tǒng)配置值112是否滿(mǎn)足策略記錄114中的策略是確定操作系統(tǒng)配置值112是否滿(mǎn)足策略記錄114中的多個(gè)策略的每ー個(gè)。因此,可以把所述多個(gè)策略看作是組合的,以為了確定操作系統(tǒng)配置值112是否滿(mǎn)足策略記錄114中的策略。如果操作系統(tǒng)配置值112滿(mǎn)足策略記錄114,則操作系統(tǒng)加載器104繼續(xù)開(kāi)始操作系統(tǒng)內(nèi)核106的執(zhí)行。然而,如果ー個(gè)或多個(gè)操作系統(tǒng)配置值112沒(méi)有滿(mǎn)足策略記錄114,則響應(yīng)于ー個(gè)或多個(gè)操作系統(tǒng)配置值112沒(méi)有滿(mǎn)足策略記錄114而采取適當(dāng)?shù)膭?dòng)作??梢詾椴煌牟僮飨到y(tǒng)配置值采取不同的響應(yīng)動(dòng)作,或者可以為多個(gè)操作系統(tǒng)配置值采取相同的響應(yīng)動(dòng)作。這些響應(yīng)動(dòng)作可以包括停止所述引導(dǎo)過(guò)程的動(dòng)作,以便不在裝置100上加載和運(yùn)行所述操作系統(tǒng),以及允許所述引導(dǎo)過(guò)程繼續(xù)的動(dòng)作,以便在裝置100上加載和運(yùn)行所述操作系統(tǒng)。在一個(gè)或多個(gè)實(shí)施例中,把將要采取的響應(yīng)動(dòng)作包括于策略記錄114中。策略記錄114中的每個(gè)策略都可以包括如果沒(méi)有滿(mǎn)足所述策略的至少一部分(例如,特定的操作系統(tǒng)配置值112沒(méi)有滿(mǎn)足所述策略)則所要采取的響應(yīng)動(dòng)作的指示(例如,作為圖2的配置值/設(shè)置206的一部分)。在其他實(shí)施例中,把將要采取的響應(yīng)動(dòng)作包括于(例如,編程于或設(shè)置為配置值)操作系統(tǒng)加載器104中,或通過(guò)操作系統(tǒng)加載器104獲得所述將要采取的響應(yīng)動(dòng)作。所述響應(yīng)動(dòng)作可以是停止所述引導(dǎo)過(guò)程-操作系統(tǒng)加載器104不開(kāi)始操作系統(tǒng)內(nèi)核106的執(zhí)行,從而不在裝置100上加載和運(yùn)行所述操作系統(tǒng)。另選地,所述響應(yīng)動(dòng)作可以是忽視沒(méi)有滿(mǎn)足所述策略的操作系統(tǒng)配置值112,并替代地使用另ー個(gè)值(例如,包括在所述策略中的)。另選地,所述響應(yīng)動(dòng)作可以是用來(lái)自所述策略(或由其識(shí)別出)的值來(lái)重寫(xiě)操作系統(tǒng)配置值112,并且允許所述引導(dǎo)過(guò)程繼續(xù)。另選地,所述響應(yīng)動(dòng)作可以是使用操作系統(tǒng)配置值112并且允許所述引導(dǎo)過(guò)程繼續(xù),但是匯報(bào)ー個(gè)事件,例如記錄,或發(fā)送(例如,到另ー個(gè)部件,裝置或業(yè)務(wù))操作系統(tǒng)配置值112沒(méi)有滿(mǎn)足所述策略的通知(所述特定操作系統(tǒng)配置值和/或策略的指示可以包括于所述通知中)。
另選地,所述響應(yīng)動(dòng)作可以是提示裝置100的用戶(hù)(例如,接收用戶(hù)批準(zhǔn)以繼續(xù)進(jìn)行所述引導(dǎo)過(guò)程)。例如,這個(gè)提示可以包括請(qǐng)求所述用戶(hù)批準(zhǔn)當(dāng)前的操作系統(tǒng)配置值的提示。這個(gè)提示還可以包括為了滿(mǎn)足所述策略,所述配置值應(yīng)該是什么的指示。然后,所述用戶(hù)可以提供各種不同的輸入來(lái)批準(zhǔn)(或不批準(zhǔn))利用當(dāng)前的操作系統(tǒng)配置值繼續(xù),例如按壓按鈕或鍵、觸摸屏幕特定部分、提供可聽(tīng)得見(jiàn)的輸入、提供操作系統(tǒng)加載器104信賴(lài)的(或可以由其驗(yàn)證的)安全令牌等。操作系統(tǒng)加載器104務(wù)必驗(yàn)證所述輸入是接收自裝置100的用戶(hù)(例如,接收自裝置100的鍵盤(pán)、觸摸屏、麥克風(fēng)等),而不是遠(yuǎn)程裝置(例如,驗(yàn)證所述用戶(hù)輸入接收自鍵的按壓或本地麥克風(fēng),而不是從遠(yuǎn)程裝置接收的請(qǐng)求)。因此,在這樣的情形中,只有當(dāng)用戶(hù)出現(xiàn)于裝置100處并且用戶(hù)批準(zhǔn)繼續(xù)所述引導(dǎo)過(guò)程時(shí),才可以繼續(xù)所述引導(dǎo)過(guò)程-裝置100的惡意裝置或惡意部件無(wú)法批準(zhǔn)繼續(xù)所述引導(dǎo)過(guò)程。以安全方式保存策略記錄114,在這種安全方式中,操作系統(tǒng)加載器104可以改變策略記錄114,但是阻止在操作系統(tǒng)加載器104之后執(zhí)行的部件(在特定的操作系統(tǒng)內(nèi)核106以及其他操作系統(tǒng)部件和/或用戶(hù)方式部件)改變策略記錄114。將策略記錄114圖示為由虛線116包圍以反映出它的安全。可以以這個(gè)安全方式的各種不同方式保存策略記錄114。在一個(gè)或多個(gè)實(shí)施例中,將策略記錄114存儲(chǔ)在可寫(xiě)入的非易失性存儲(chǔ)器中,例如非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)。僅在一定條件下和/或在一定時(shí)間可以訪問(wèn)所述可寫(xiě)入的NVRAM。在一個(gè)或多個(gè)實(shí)施例中,經(jīng)由可信賴(lài)平臺(tái)模塊(TPM)訪問(wèn)所述可寫(xiě)入的NVRAM??梢詮亩砝諏莸谋确痤D(Beaverton)的可信賴(lài)計(jì)算機(jī)組中獲得關(guān)于TPM的附加信息。所述TPM允許所述可寫(xiě)入的NVRAM的讀取和寫(xiě)入,直到某一時(shí)間點(diǎn)或某一事件發(fā)生,在此之后,所述TPM允許讀取所述可寫(xiě)入的NVRAM而不允許寫(xiě)入。例如,這個(gè)某一時(shí)間點(diǎn)或事件可以是來(lái)自部件的關(guān)閉或鎖定所述可寫(xiě)入的NVRAM的請(qǐng)求。因此,操作系統(tǒng)加載器104可以在所述可寫(xiě)入的NVRAM中進(jìn)行策略記錄114的改變,并且然后鎖定所述可寫(xiě)入的NVRAM。因此,操作系統(tǒng)加載器104可以阻止惡意程序篡改策略記錄114,這是因?yàn)殒i定了所述可寫(xiě)入的NVRAM。所述可寫(xiě)入的NVRAM不會(huì)被解鎖,直到再次引導(dǎo)裝置100。下一次引導(dǎo)裝置100時(shí)解鎖所述可寫(xiě)入的NVRAM,但是在惡意程序?qū)⒛軋?zhí)行并且向所述可寫(xiě)入的NVRAM寫(xiě)入之前,操作系統(tǒng)加載器104再次鎖定所述可寫(xiě)入的NVRAM。同樣,可以實(shí)現(xiàn)其他類(lèi)型的存儲(chǔ)裝置(例如,磁盤(pán)驅(qū)動(dòng)器),以便僅在一定條件和/或在一定時(shí)間訪問(wèn)。另選地,可以以使用其他技術(shù)的安全方式保存策略記錄114,例如通過(guò)僅由受保護(hù)接ロ(例如,應(yīng)用編程接ロ(API))可以訪問(wèn)策略記錄114,只有當(dāng)由受信賴(lài)的實(shí)體對(duì)所述改變進(jìn)行簽名時(shí),受保護(hù)接口才允許策略記錄114的改變。這種受信賴(lài)的實(shí)體是受操作系統(tǒng)加載器104信賴(lài)的實(shí)體(例如,由操作系統(tǒng)加載器104認(rèn)為是可值得信賴(lài)的實(shí)體,并且操作系統(tǒng)加載器104具有它的公開(kāi)密鑰)。例如,可以將策略記錄114存儲(chǔ)為UEFI認(rèn)證變量,只有當(dāng)由受信賴(lài)的實(shí)體對(duì)所述改變進(jìn)行簽名時(shí),才可以改變所述UEFI認(rèn)證變量。將任何請(qǐng)求的策略記錄114的改變驗(yàn)證為由受信賴(lài)的實(shí)體進(jìn)行簽名,并且如果是由受信賴(lài)的實(shí)體進(jìn)行簽名,則進(jìn)行所請(qǐng)求的改變,并且如果沒(méi)有被受信賴(lài)的實(shí)體簽名,則不進(jìn)行所請(qǐng)求的改變。作為另ー個(gè)示例,在將裝置100實(shí)現(xiàn)為虛擬機(jī)的情形中,可以通過(guò)管理裝置上的一個(gè)或多個(gè)虛擬機(jī)操作的虛擬機(jī)管理器以安全的方式保存策略記錄114。所述虛擬機(jī)管理器可以允許操作系統(tǒng)加載器104,而不是其他部件,改變策略記錄114中的策略。策略記錄114的改變包括往策略記錄114增加策略,從策略記錄114移除策略,和/或用新的策略替換策略記錄114中的策略。在一個(gè)或多個(gè)實(shí)施例中,通過(guò)操作系統(tǒng)加載器104執(zhí)行策略記錄114的改變,如果這種改變接收自受信賴(lài)的策略發(fā)行者(例如,這些改 變被操作系統(tǒng)加載器104信賴(lài)的策略發(fā)行者實(shí)體數(shù)字簽名)。可以以不同方式將改變策略記錄114中的策略的請(qǐng)求提供給操作系統(tǒng)加載器104。在一個(gè)或多個(gè)實(shí)施例中,操作系統(tǒng)內(nèi)核106或在裝置100上運(yùn)行的另ー個(gè)部件在持久性位置中存儲(chǔ)所述策略的改變,在裝置100的下次引導(dǎo)時(shí),操作系統(tǒng)加載器104可以訪問(wèn)所述持久性位置。在裝置100下次引導(dǎo)時(shí),操作系統(tǒng)加載器104獲得所述改變,并且如果所述改變是適當(dāng)?shù)膭t實(shí)施所述改變。操作系統(tǒng)內(nèi)核106或在裝置100上運(yùn)行的其他部件還可以存儲(chǔ)針對(duì)特定類(lèi)型改變的請(qǐng)求以及這種改變(例如,特定策略將被移除或替換另ー個(gè)策略的指示)。另選地,針對(duì)特定類(lèi)型改變的請(qǐng)求可以是固有的(例如,操作系統(tǒng)加載器104將持久性位置中存在的存儲(chǔ)的策略視為往策略記錄114增加策略的請(qǐng)求)。響應(yīng)于移除策略的請(qǐng)求(來(lái)自策略發(fā)行者),操作系統(tǒng)加載器104可以從策略記錄114移除該策略。操作系統(tǒng)加載器104驗(yàn)證所述請(qǐng)求是否來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者,如果所述請(qǐng)求來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者,則移除所述策略,并且如果所述請(qǐng)求不是來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者,則不移除所述策略。類(lèi)似地,響應(yīng)于増加所述策略的請(qǐng)求(來(lái)自策略發(fā)行者),操作系統(tǒng)加載器104可以往策略記錄114増加新的策略。操作系統(tǒng)加載器104驗(yàn)證所述新的策略(以及,可選地,所述請(qǐng)求)是否來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者,并且如果所述新的策略(以及可選地,所述請(qǐng)求)來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者,則增加所述新的策略,并且如果所述新的策略(和/或可選地,所述請(qǐng)求)不是來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者,則不增加所述新的策略。另外,操作系統(tǒng)加載器104可以用新的策略(也被稱(chēng)為策略的新的版本)替換策略記錄114中的策略(也被稱(chēng)為策略的當(dāng)前版本)。當(dāng)接收到新的策略時(shí),操作系統(tǒng)加載器104驗(yàn)證所述新的策略(并且可選地,所述請(qǐng)求)是否來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者。如果所述新的策略(和/或可選地,所述請(qǐng)求)不是來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者,則操作系統(tǒng)加載器104不會(huì)用所述策略的新的版本替換所述策略的當(dāng)前版本。然而,如果所述新的策略(并且可選地,所述請(qǐng)求)來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者,則操作系統(tǒng)加載器104檢查所述策略的新的版本是否真正是所述策略當(dāng)前版本的更新的版本。操作系統(tǒng)加載器104可以通過(guò)檢查所述策略的當(dāng)前版本是否包括在所述策略新的版本的祖先列表中來(lái)檢查所述策略的新的版本是否真正是所述策略當(dāng)前版本的更新的版本。所述策略的新的版本包括策略祖先列表,所述策略祖先列表識(shí)別由相同策略發(fā)行者發(fā)布的、由所述策略的新的版本替換的零個(gè)或多個(gè)在前的策略。所述策略祖先列表可以通過(guò)它們的策略標(biāo)識(shí)符(例如,GUID)識(shí)別在前的策略。如果所述策略的新的版本來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者,并且所述策略的當(dāng)前版本被包括在所述策略的新的版本的策略祖先列表中,則操作系統(tǒng)加載器104用所述策略的新的版本替換所述策略的當(dāng)前版本。否則,操作系統(tǒng)加載器104不會(huì)用所述策略的新的版本替換所述策略的當(dāng)前版本。應(yīng)當(dāng)注意到,所述策略祖先列表的使用便于阻止惡意程序或用戶(hù)的回退(rollback)或重放攻擊。例如,惡意程序或用戶(hù)可能試圖用策略的較老版本(例如,其包括過(guò)期的安全相關(guān)的值或設(shè)置,所述值或設(shè)置將允許惡意程序或用戶(hù)獲得對(duì)裝置100的部件的不適當(dāng)?shù)脑L問(wèn))替換策略的當(dāng)前版本(例如,包括新的安全相關(guān)的值或設(shè)置)。通過(guò)只有當(dāng)策略的當(dāng)前版本被包括在所述策略的新的版本的策略祖先列表中時(shí)才用新的策略替換所述策略的當(dāng)前版本,操作系統(tǒng)加載器104確保所述策略的當(dāng)前版本不會(huì)被所述策略的較老版本替換。雖然作為受信賴(lài)的實(shí)體的策略發(fā)行者使得所述策略的較老版本可獲得,但是所述策略的較老版本不會(huì)具有包括所述策略當(dāng)前版本的祖先列表,并且因此操作系統(tǒng)加載器104將不會(huì)用策略的較老版本替換策略的當(dāng)前版本。另外,在一個(gè)或多個(gè)實(shí)施例中,只有當(dāng)由預(yù)操作系統(tǒng)環(huán)境信賴(lài)(例如,由操作系統(tǒng)加載器104和/或固件102信賴(lài))的實(shí)體(例如裝置100的用戶(hù)或其他受信賴(lài)的實(shí)體)批準(zhǔn)改變時(shí),才由操作系統(tǒng)加載器104執(zhí)行策略記錄114的改變。當(dāng)所述實(shí)體是裝置100的用戶(hù)時(shí),操作系統(tǒng)加載器104提示裝置100的用戶(hù)批準(zhǔn)所述改變,例如通過(guò)在裝置100 (或耦合到裝置100)的屏幕上顯示可視提示、在裝置100 (或耦合到裝置100)的揚(yáng)聲器上播放可聽(tīng)得見(jiàn)的提示等。所述用戶(hù)可以通過(guò)提供各種不同的輸入來(lái)批準(zhǔn)所述策略的改變,例如按壓按鈕或鍵、觸摸屏幕的特定部分、提供可聽(tīng)得見(jiàn)的輸入等。操作系統(tǒng)加載器104負(fù)責(zé)驗(yàn)證所述輸入是接收自裝置100的用戶(hù)(例如,接收自裝置100的鍵盤(pán)、觸摸屏、麥克風(fēng)等),而不是遠(yuǎn)程裝置(例如,驗(yàn)證所述用戶(hù)輸入接收自鍵的按壓或本地麥克風(fēng),而不是從遠(yuǎn)程裝置接收的請(qǐng)求)。因此,在這種情形中,只有當(dāng)用戶(hù)存在于裝置100處并且用戶(hù)批準(zhǔn)所述改變吋,才可以執(zhí)行策略記錄114的改變-裝置100的惡意裝置或惡意部件無(wú)法批準(zhǔn)這樣的改變。當(dāng)所述實(shí)體是由所述預(yù)操作系統(tǒng)環(huán)境信賴(lài)的另一個(gè)實(shí)體(而非用戶(hù))時(shí),通過(guò)所述實(shí)體對(duì)策略記錄114的改變進(jìn)行數(shù)字簽名。操作系統(tǒng)加載器104驗(yàn)證所述數(shù)字簽名,并且只有當(dāng)所述數(shù)字簽名被驗(yàn)證為來(lái)自所述預(yù)操作系統(tǒng)環(huán)境信賴(lài)(例如,操作系統(tǒng)加載器104信賴(lài))的實(shí)體時(shí),才執(zhí)行策略記錄114的改變。如果不驗(yàn)證所述數(shù)字簽名,則不進(jìn)行策略記錄114的改變。在一個(gè)或多個(gè)實(shí)施例中,策略記錄114中的策略具有關(guān)聯(lián)的時(shí)間戳(例如,日期和時(shí)間)。與策略相關(guān)聯(lián)的時(shí)間戳可以被包括作為所述策略的一部分,或者另選地,可以分別保存。例如,操作系統(tǒng)加載器104可以保存策略標(biāo)識(shí)符和時(shí)間戳的単獨(dú)記錄,并且以安全方式保存這個(gè)記錄(例如,以各種不同安全方式,其與以上關(guān)于以安全方式保存策略記錄114中的策略的那些討論類(lèi)似)。 操作系統(tǒng)加載器104可以在確定是否改變策略記錄114(例如,在確定所述策略的新的版本是否真正是所述策略當(dāng)前版本的更新的版本)中使用這些時(shí)間戳。策略發(fā)行者可能打算用策略的新的版本替換策略的ー個(gè)版本,對(duì)于所述策略的兩個(gè)版本使用相同的策略標(biāo)識(shí)符,但是使用不同的時(shí)間戳。操作系統(tǒng)加載器104檢查策略的新的版本(并且可選地,改變策略的請(qǐng)求)是否來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者,并且檢查策略的新的版本是否比策略的當(dāng)前版本具有更近的時(shí)間戳。如果策略的新的版本來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者,并且策略的新的版本比所述策略的當(dāng)前版本具有更近的時(shí)間戳,則操作系統(tǒng)加載器104用策略的新的版本替換策略的當(dāng)前版本。否則,操作系統(tǒng)加載器104不會(huì)用策略的新的版本替換策略的當(dāng)前版本。因?yàn)椴呗缘漠?dāng)前版本和策略的新的版本具有相同的策略標(biāo)識(shí)符,所以確定是否用策略的新的版本替換策略的當(dāng)前版本是根據(jù)各個(gè)策略版本的時(shí)間戳,而不是策略的新的版本的祖先列表。 同類(lèi)似地,策略記錄114中的策略可以具有由所述策略發(fā)行者分配的關(guān)聯(lián)的版本號(hào)。對(duì)于策略的每個(gè)新的版本遞增策略的版本號(hào)(或在集合中選擇下ー個(gè)版本號(hào))??梢耘c時(shí)間戳類(lèi)似地使用版本號(hào),但是它們只是號(hào)(和/或其他特征),而不是時(shí)間戳。另選地,操作系統(tǒng)加載器104在確定是否改變策略記錄114時(shí)無(wú)需使用時(shí)間戳和/或版本號(hào)。在這種情形中,如果策略發(fā)行者打算用策略的新的版本替換策略的版本,則策略發(fā)行者為所述策略的兩個(gè)版本使用不同的策略標(biāo)識(shí)符,并且將待替換的策略版本的策略標(biāo)識(shí)符包括在所述策略的新的版本的祖先列表中。在一個(gè)或多個(gè)實(shí)施例中,策略記錄114的改變還包括由操作系統(tǒng)加載器104在引導(dǎo)過(guò)程期間寫(xiě)入的值。對(duì)于策略中的特定配置設(shè)置,操作系統(tǒng)加載器104在所述引導(dǎo)過(guò)程期間捕獲裝置100中的一個(gè)或多個(gè)當(dāng)前值或設(shè)置。將這些捕獲的值或設(shè)置存儲(chǔ)為策略的一部分(或關(guān)聯(lián)到所述策略),并且視為裝置100后續(xù)引導(dǎo)時(shí)將滿(mǎn)足的策略的一部分。相應(yīng)地,在裝置100的后續(xù)引導(dǎo)時(shí),操作系統(tǒng)加載器104驗(yàn)證操作系統(tǒng)配置值112是否滿(mǎn)足這些捕獲的設(shè)置或值??梢砸圆煌绞阶R(shí)別出在引導(dǎo)過(guò)程期間要捕獲哪些設(shè)置的當(dāng)前值或設(shè)置。例如,策略可以包括設(shè)置,指示在所述引導(dǎo)過(guò)程期間由操作系統(tǒng)加載器104捕獲且存儲(chǔ)的特定值。作為另ー個(gè)示例,可以用在所述引導(dǎo)過(guò)程期間由操作系統(tǒng)加載器104捕獲且存儲(chǔ)的哪些特定值的指示來(lái)配置(或編程)操作系統(tǒng)加載器104,或者操作系統(tǒng)加載器104可以獲得所述指示。作為另ー個(gè)示例,操作系統(tǒng)加載器104可以檢測(cè)裝置100的安全性何時(shí)變得更穩(wěn)固或得到改進(jìn)(例如,何時(shí)安裝反惡意軟件程序,何時(shí)安裝隔火墻程序等),并且可以捕獲和存儲(chǔ)與更穩(wěn)固的或得到改進(jìn)的安全性相關(guān)聯(lián)的值或設(shè)置(例如,捕獲和存儲(chǔ)反惡意軟件程序的指示)。由于可以多次引導(dǎo)裝置100,可以以不同方式識(shí)別出這些多個(gè)引導(dǎo)過(guò)程的哪ー個(gè)是在其持續(xù)時(shí)間內(nèi)要捕獲并存儲(chǔ)值的那個(gè)引導(dǎo)過(guò)程??梢栽谘b置100第一次被引導(dǎo)期間捕獲和存儲(chǔ)這些值,而不需要該值已經(jīng)被捕獲和存儲(chǔ)(或者如果找不到任何值已經(jīng)被捕獲和存儲(chǔ))。另選地,可以用在裝置100的哪次引導(dǎo)時(shí)捕獲和存儲(chǔ)所述值的指示來(lái)配置(例如,編程)操作系統(tǒng)加載器104,或者操作系統(tǒng)加載器104可以獲得所述指示。另選地,策略記錄114中的策略可以包括要在裝置100的哪次引導(dǎo)時(shí)捕獲和存儲(chǔ)所述值的指示。另選地,可以接收用戶(hù)輸入,所述用戶(hù)輸入指示操作系統(tǒng)加載器104捕獲和存儲(chǔ)所述值(例如,在當(dāng)前引導(dǎo)過(guò)程期間或在裝置100的下次引導(dǎo)時(shí))??梢砸圆煌绞教峁┧鲇脩?hù)輸入,例如通過(guò)所述用戶(hù)按壓按鈕或鍵、觸摸屏幕的特定部分、提供可聽(tīng)得見(jiàn)的輸入等。操作系統(tǒng)加載器104負(fù)責(zé)驗(yàn)證所述輸入是接收自裝置100的用戶(hù)而不是遠(yuǎn)程裝置(例如,驗(yàn)證所述用戶(hù)輸入接收自鍵的按壓或本地麥克風(fēng),而不是從遠(yuǎn)程裝置接收的請(qǐng)求)。因此,在這種情形中,只有當(dāng)用戶(hù)存在于裝置100處并且用戶(hù)批準(zhǔn)這種捕獲和存儲(chǔ)時(shí),才可以執(zhí)行捕獲和存儲(chǔ)所述值的請(qǐng)求-裝置100的惡意裝置或惡意部件無(wú)法批準(zhǔn)這種值的捕獲和存儲(chǔ)。圖3是圖示依據(jù)ー個(gè)或多個(gè)實(shí)施例的用于保護(hù)操作系統(tǒng)配置值的示例性過(guò)程300的流程圖。由裝置(例如圖I的裝置100)執(zhí)行過(guò)程300,并且可以以軟件、固件、硬件或它們的組合來(lái)實(shí)現(xiàn)過(guò)程300。在將操作系統(tǒng)運(yùn)行在裝置上之前,將過(guò)程300作為所述裝置上的預(yù)操作系統(tǒng)環(huán)境的一部分而執(zhí)行。將過(guò)程300表示為動(dòng)作的集合,并且不局限于所示的執(zhí)行各種動(dòng)作的操作的次序。過(guò)程300是用于保護(hù)操作系統(tǒng)配置值的示例性過(guò)程;在本文中包括參照不同附圖對(duì)保護(hù)操作系統(tǒng)配置值的另外的討論。在過(guò)程300中,獲得識(shí)別操作系統(tǒng)的配置設(shè)置和/或值的策略(動(dòng)作302)??梢杂?操作系統(tǒng)加載器改變所述策略,但是如上所討論的,所述操作系統(tǒng)被阻止改變所述策略。將策略與由操作系統(tǒng)使用的配置值進(jìn)行比較(動(dòng)作304),并且進(jìn)行關(guān)于由所述操作系統(tǒng)使用的所述配置值是否滿(mǎn)足所述策略的檢查(動(dòng)作306)。如上所討論的,可以以各種不同方式確定由所述操作系統(tǒng)使用的配置值是否滿(mǎn)足所述策略。如果配置值滿(mǎn)足所述策略,則允許所述操作系統(tǒng)用這些配置值進(jìn)行引導(dǎo)(動(dòng)作308)。然而,如果所述配置值沒(méi)有滿(mǎn)足所述策略,則采取響應(yīng)動(dòng)作(動(dòng)作310)。如上所討論的,可以采取各種不同的響應(yīng)動(dòng)作。圖4是圖示依據(jù)ー個(gè)或多個(gè)實(shí)施例的用于改變裝置中的策略的示例性過(guò)程400的流程圖。由裝置(例如圖I的裝置100)執(zhí)行過(guò)程400,并且可以以軟件、固件、硬件或它們的組合來(lái)實(shí)現(xiàn)過(guò)程400。在將操作系統(tǒng)運(yùn)行在所述裝置上之前,將過(guò)程400作為所述裝置上的預(yù)操作系統(tǒng)環(huán)境的一部分而執(zhí)行。將過(guò)程400表示為動(dòng)作的集合,并且不局限于所示的執(zhí)行各種動(dòng)作的操作的次序。過(guò)程400是用于改變裝置中的策略的示例性過(guò)程;在本文中包括參照不同附圖對(duì)裝置中改變策略的另外的討論。在過(guò)程400中,接收識(shí)別操作系統(tǒng)的配置設(shè)置和/或值的策略的改變,為了執(zhí)行或運(yùn)行所述操作系統(tǒng)而將由所述操作系統(tǒng)的配置值滿(mǎn)足所述操作系統(tǒng)的配置設(shè)置和/或值(動(dòng)作402)。如上所討論的,阻止所述操作系統(tǒng)改變所述策略。進(jìn)行關(guān)于所述策略的改變是否被受信賴(lài)的實(shí)體批準(zhǔn)的檢查(動(dòng)作404)。如上所討論的,這種受信賴(lài)的實(shí)體是所述預(yù)操作系統(tǒng)環(huán)境(例如,操作系統(tǒng)加載器)信賴(lài)的實(shí)體,并且可以通過(guò)提示所述用戶(hù)批準(zhǔn)所述改變、或者驗(yàn)證所述改變是否被受信賴(lài)的實(shí)體進(jìn)行數(shù)字簽名來(lái)進(jìn)行這個(gè)檢查。如果改變未被受信賴(lài)的實(shí)體批準(zhǔn),則不改變所述策略。然而,如果改變被受信賴(lài)的實(shí)體批準(zhǔn),則依據(jù)在動(dòng)作402接收的所述改變來(lái)改變所述策略(動(dòng)作406)。如上所討論的,除了受信賴(lài)的實(shí)體的批準(zhǔn)之外,在改變所述策略之前,還可以執(zhí)行各種其他的驗(yàn)證或檢查,例如檢查時(shí)間戳、祖先列表等。本文討論的保護(hù)操作系統(tǒng)配置值技術(shù)支持各種使用場(chǎng)景。例如,操作系統(tǒng)配置值和策略可以指示來(lái)自多個(gè)制造商或開(kāi)發(fā)者之一的反惡意軟件程序?qū)⑦\(yùn)行在裝置上,并且將不會(huì)在所述裝置上加載和運(yùn)行所述操作系統(tǒng),除非這種反惡意軟件程序正在所述裝置上運(yùn)行。如果惡意程序試圖修改操作系統(tǒng)配置值以指示為了加載和運(yùn)行所述操作系統(tǒng)而沒(méi)有必要運(yùn)行反惡意軟件程序,則下次引導(dǎo)所述裝置時(shí),操作系統(tǒng)加載器部件將檢測(cè)到所述操作系統(tǒng)配置值沒(méi)有滿(mǎn)足所述策略,并且因此在沒(méi)有所述反惡意軟件程序的情況下就不加載和運(yùn)行所述操作系統(tǒng)。作為另ー個(gè)示例,可以從制造商或經(jīng)銷(xiāo)商用默認(rèn)的操作系統(tǒng)策略裝運(yùn)(ship)裝置。所述裝置的購(gòu)買(mǎi)方可能期望在企業(yè)環(huán)境中使用所述裝置(例如,作為公司網(wǎng)絡(luò)或家庭網(wǎng)絡(luò)的一部分),并且具有他或她期望代替所述默認(rèn)操作系統(tǒng)策略而被使用的企業(yè)策略。與所述默認(rèn)操作系統(tǒng)策略相比,這個(gè)企業(yè)策略可以具有不同的安全相關(guān)的設(shè)置等,并且所述企業(yè)策略具有包括所述默認(rèn)操作系統(tǒng)策略標(biāo)識(shí)符的祖先列表。企業(yè)環(huán)境的管理員可以是受信賴(lài)的實(shí)體,并且在所述企業(yè)策略上生成提供給所述操作系統(tǒng)加載器的數(shù)字簽名。由于由受信賴(lài)的實(shí)體對(duì)所述企業(yè)策略進(jìn)行簽名,并且在它的祖先列表上識(shí)別所述默認(rèn)操作系統(tǒng),所以所述企業(yè)策略替換策略記錄中的所述默認(rèn)操作系統(tǒng)策略。然而,隨后的默認(rèn)操作系統(tǒng)策略不會(huì)意外地替換所述企業(yè)策略,因?yàn)樗鲭S后的默認(rèn)操作系統(tǒng)策略不能在它祖先列表上識(shí)別所述企業(yè)策略。
圖5圖示了依據(jù)ー個(gè)或多個(gè)實(shí)施例的可以被配置為實(shí)現(xiàn)所述保護(hù)操作系統(tǒng)配置值的示例性計(jì)算裝置500。例如,計(jì)算裝置500可以是圖I的裝置100,或者運(yùn)行實(shí)現(xiàn)該裝置100的虛擬機(jī)。計(jì)算裝置500包括一個(gè)或多個(gè)處理器或處理單元502、可以包括一個(gè)或多個(gè)內(nèi)存和/或存儲(chǔ)部件506的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)504、一個(gè)或多個(gè)輸入/輸出(I/O)裝置508、以及允許各種部件和裝置彼此間通信的總線510。計(jì)算機(jī)可讀介質(zhì)504和/或ー個(gè)或多個(gè)I/O裝置508可以被包括作為計(jì)算裝置500的一部分,或者可選地可以耦合到計(jì)算裝置500??偩€510表示若干類(lèi)型總線結(jié)構(gòu)的ー個(gè)或多個(gè),包括使用各種不同總線體系結(jié)構(gòu)的存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、加速圖形端ロ、處理器或本地總線等。總線510可以包括有線和/或無(wú)線總線。內(nèi)存/存儲(chǔ)部件506表示一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)介質(zhì)。部件506可以包括易失性介質(zhì)(例如,隨機(jī)存取存儲(chǔ)器(RAM))和/或非易失性介質(zhì)(例如只讀存儲(chǔ)器(ROM)、閃速存儲(chǔ)器、光盤(pán)、磁盤(pán)等)。部件506可以包括固定介質(zhì)(例如,RAM、ROM、固定硬盤(pán)等)以及可拆卸介質(zhì)(例如,閃速存儲(chǔ)器驅(qū)動(dòng)器、可拆卸硬盤(pán)驅(qū)動(dòng)器、光盤(pán)等)??梢砸攒浖糜梢粋€(gè)或多個(gè)處理単元502執(zhí)行的指令實(shí)現(xiàn)本文所討論的技木。將意識(shí)到,可以將不同的指令存儲(chǔ)在計(jì)算裝置500的不同部件中,例如,存儲(chǔ)在處理單元502中、存儲(chǔ)在處理單元502的各種高速緩沖存儲(chǔ)器中、存儲(chǔ)在裝置500的高速緩沖存儲(chǔ)器(未示出)中、存儲(chǔ)在其他計(jì)算機(jī)可讀介質(zhì)上等。另外,將意識(shí)到,計(jì)算裝置500中存儲(chǔ)指令的位置可以隨著時(shí)間而改變?!獋€(gè)或多個(gè)輸入/輸出裝置508允許用戶(hù)將命令和信息輸入到計(jì)算裝置500,并且還允許將信息呈現(xiàn)給用戶(hù)和/或其他部件或裝置。輸入裝置的示例包括鍵盤(pán)、光標(biāo)控制裝置(例如,鼠標(biāo))、麥克風(fēng)、掃描儀等。輸出裝置的示例包括顯示裝置(例如,監(jiān)視器或投影儀)、揚(yáng)聲器、打印機(jī)、網(wǎng)卡等。本文可以在軟件或程序模塊的通常上下文中描述各種技術(shù)。通常,軟件包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、應(yīng)用、對(duì)象、部件、數(shù)據(jù)結(jié)構(gòu)等。這些模塊和技術(shù)的實(shí)現(xiàn)方式可以存儲(chǔ)在某種形式的計(jì)算機(jī)可讀介質(zhì)上,或者通過(guò)所述某種形式的計(jì)算機(jī)可讀介質(zhì)傳送。計(jì)算機(jī)可讀介質(zhì)可以是由計(jì)算裝置可以訪問(wèn)的任何可用的媒介或介質(zhì)。作為示例而不是限制,計(jì)算機(jī)可讀介質(zhì)可以包含“計(jì)算機(jī)存儲(chǔ)介質(zhì)”和“傳播介質(zhì)”?!坝?jì)算機(jī)存儲(chǔ)介質(zhì)”包括以任何用于存儲(chǔ)信息的方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性的、可拆卸和不可拆卸的介質(zhì),所述信息例如為,計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不局限干,RAM、R0M、EEPR0M、閃速存儲(chǔ)器或其他存儲(chǔ)技術(shù)、CD-ROM、數(shù)字多用光盤(pán)(DVD)或其他光存儲(chǔ)器、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)器或其他磁存儲(chǔ)裝置、或可用于存儲(chǔ)期望的信息并且可由計(jì)算機(jī)訪問(wèn)的任何其他介質(zhì)。典型地,“傳播介質(zhì)”具體化計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序 模塊、或已調(diào)數(shù)據(jù)信號(hào)中的其他數(shù)據(jù),例如載波或其他傳送機(jī)構(gòu)。傳播介質(zhì)還包括任何信息分發(fā)介質(zhì)。術(shù)語(yǔ)“已調(diào)數(shù)據(jù)信號(hào)”是指已經(jīng)設(shè)置或改變其一個(gè)或多個(gè)特征的信號(hào),用這種方式以將信息編碼到所述信號(hào)中。作為示例而不是限制,傳播介質(zhì)包括有線介質(zhì)(例如,有線網(wǎng)絡(luò)或直線連接)和無(wú)線介質(zhì)(例如,聲波、RF、紅外線、以及其他無(wú)線介質(zhì))。上述任意一個(gè)的組合也被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。通常,可使用軟件、固件、硬件(例如,固定邏輯電路)、手動(dòng)處理、或這些實(shí)施的組合來(lái)實(shí)現(xiàn)本文所描述的任一功能或技木。本文所使用的術(shù)語(yǔ)“模塊”和“部件”通常表示軟件、固件、硬件或它們的組合。在軟件實(shí)現(xiàn)方式的情況下,模塊或部件表示當(dāng)在處理器(例如,ー個(gè)或多個(gè)CPU)上執(zhí)行時(shí),執(zhí)行指定任務(wù)的程序代碼。所述程序代碼可以存儲(chǔ)在ー個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)裝置中,參照?qǐng)D5可以得到其進(jìn)ー步的描述。本文所描述的保護(hù)操作系統(tǒng)配置值技術(shù)的特征是平臺(tái)獨(dú)立的,這意味著可以在具有各種處理器的各種商業(yè)計(jì)算平臺(tái)上實(shí)現(xiàn)所述技木。雖然已經(jīng)以具體到結(jié)構(gòu)特征和/或方法動(dòng)作的表達(dá)方式描述了本主題,但是將理解的是,在附加的權(quán)利要求書(shū)中限定的主題沒(méi)有必要局限于以上所述的具體特征或動(dòng)作。相反,將以上描述的具體特征和動(dòng)作作為實(shí)現(xiàn)權(quán)利要求書(shū)的示例形式而公開(kāi)。
權(quán)利要求
1.ー種方法,包括 在裝置的預(yù)操作系統(tǒng)環(huán)境中,在將操作系統(tǒng)運(yùn)行在所述裝置上之前,獲得識(shí)別ー個(gè)或多個(gè)操作系統(tǒng)的配置設(shè)置的策略(302),所述操作系統(tǒng)被阻止改變所述策略; 在所述預(yù)操作系統(tǒng)環(huán)境中,將所述策略與由所述操作系統(tǒng)使用的配置值進(jìn)行比較(304); 在所述預(yù)操作系統(tǒng)環(huán)境中,如果所述配置值滿(mǎn)足所述策略,則允許所述操作系統(tǒng)用所述配置值進(jìn)行引導(dǎo)(308);以及 在所述預(yù)操作系統(tǒng)環(huán)境中,如果所述配置值沒(méi)有滿(mǎn)足所述策略,則采取響應(yīng)動(dòng)作(310)。
2.如權(quán)利要求I所述的方法,為了允許引導(dǎo)所述操作系統(tǒng),所述策略還識(shí)別所述預(yù)操作系統(tǒng)環(huán)境將滿(mǎn)足的配置設(shè)置。
3.如權(quán)利要求I所述的方法,所述方法還包括 在所述預(yù)操作系統(tǒng)環(huán)境中,捕獲所述策略的配置設(shè)置的值; 將所捕獲的值存儲(chǔ)為所述策略的一部分;以及 將所捕獲的值用作所述裝置隨后引導(dǎo)的策略的策略設(shè)置的一部分。
4.如權(quán)利要求I所述的方法,所述方法還包括只有當(dāng)策略的新的版本來(lái)自作為受信賴(lài)的實(shí)體的策略發(fā)行者并且當(dāng)策略的新的版本被確定為策略的更新的版本時(shí),才允許由所述策略的新的版本替換所述策略。
5.如權(quán)利要求4所述的方法,所述方法還包括如果所述策略的標(biāo)識(shí)符包括在所述策略的新的版本的祖先列表中,則確定所述策略的新的版本是所述策略的更新的版本。
6.如權(quán)利要求I所述的方法,其中,所述預(yù)操作系統(tǒng)環(huán)境是運(yùn)行在計(jì)算裝置上的虛擬機(jī)的預(yù)操作系統(tǒng)環(huán)境。
7.如權(quán)利要求I所述的方法,其中,以安全的方式保存所述策略,在所述安全的方式中,所述預(yù)操作系統(tǒng)環(huán)境的部件可以改變所述策略,但是所述操作系統(tǒng)被阻止改變所述策略。
8.如權(quán)利要求I所述的方法,所述策略還識(shí)別響應(yīng)動(dòng)作。
9.一種計(jì)算裝置,所述計(jì)算裝置包括 一個(gè)或多個(gè)處理器(502);以及 一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)(504),在其上存儲(chǔ)多個(gè)指令,當(dāng)由所述ー個(gè)或多個(gè)處理器執(zhí)行所述多個(gè)指令時(shí),使得所述ー個(gè)或多個(gè)處理器實(shí)施所述計(jì)算裝置的預(yù)操作系統(tǒng)環(huán)境,其執(zhí)行動(dòng)作,包括 接收識(shí)別配置設(shè)置的策略的改變,為了在所述計(jì)算裝置上執(zhí)行所述操作系統(tǒng)而由所述操作系統(tǒng)的配置值滿(mǎn)足所述配置設(shè)置(402),所述操作系統(tǒng)被阻止改變所述策略; 在所述計(jì)算裝置處,檢查對(duì)于策略的改變是否被所述預(yù)操作系統(tǒng)環(huán)境信賴(lài)的實(shí)體批準(zhǔn)(404);以及 只有對(duì)于策略的改變是被所述預(yù)操作系統(tǒng)環(huán)境信賴(lài)的所述實(shí)體批準(zhǔn)時(shí),才改變所述策略(406)。
10.如權(quán)利要求9所述的計(jì)算裝置,其中,以所述操作系統(tǒng)難以訪問(wèn)的安全方式保存所述策略。
全文摘要
在裝置的預(yù)操作系統(tǒng)環(huán)境中,在將操作系統(tǒng)加載和運(yùn)行在所述裝置上之前,獲得識(shí)別所述操作系統(tǒng)的配置設(shè)置的策略。阻止所述操作系統(tǒng)本身改變這個(gè)策略,但是在某種情況下可以由所述預(yù)操作系統(tǒng)環(huán)境的部件改變所述策略。將這個(gè)策略與由所述操作系統(tǒng)使用的配置值進(jìn)行比較,并且如果所述配置值滿(mǎn)足所述策略,則允許所述操作系統(tǒng)用所述配置值進(jìn)行引導(dǎo)。然而,如果所述配置沒(méi)有滿(mǎn)足所述策略,則采取響應(yīng)動(dòng)作。
文檔編號(hào)G06F21/00GK102693379SQ20121005120
公開(kāi)日2012年9月26日 申請(qǐng)日期2012年3月1日 優(yōu)先權(quán)日2011年3月1日
發(fā)明者D.J.林斯利, D.M.麥艾弗, M.B.G.奈斯特倫, R.K.斯皮格爾, S.D.安德森 申請(qǐng)人:微軟公司