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

從可信環(huán)境到不可信環(huán)境的可信性投影的制作方法

文檔序號:6412843閱讀:112來源:國知局
專利名稱:從可信環(huán)境到不可信環(huán)境的可信性投影的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及計算機安全領(lǐng)域,尤其涉及單個計算裝置上多執(zhí)行環(huán)境(如操作系統(tǒng))的使用,并提供支持這一操作系統(tǒng)或環(huán)境的可信性的技術(shù)。
背景技術(shù)
第一臺計算機僅能夠每次運行單個程序。然而,在現(xiàn)代,期望計算機能夠一次運行軟件的若干不同片段。例如,典型的多任務(wù)操作系統(tǒng)能夠在單個機器上一次運行若干個應(yīng)用程序。鑒于這一情況以及共享、開放網(wǎng)絡(luò)(即,因特網(wǎng))的發(fā)展,安全和私密性變?yōu)橛嬎銠C工業(yè)所面對的兩個重要且困難的問題。由于個人計算機對家庭、工作和學(xué)校來說變得更主要,消費者和商業(yè)客戶等越來越意識到私密性和安全問題。提高軟件和硬件的能力來保護數(shù)字信息的完整性和計算機用戶的私密性對軟件開發(fā)者和硬件制造商來說已經(jīng)成為一個關(guān)鍵性焦點。華盛頓州雷蒙德市的微軟公司引入了下一代安全計算基礎(chǔ)(NGSCB)個人計算機平臺,它在操作系統(tǒng)中提供了安全和私密性。
在計算機110內(nèi)的常規(guī)NGSCB中,如圖2所示,“右側(cè)”(RHS)安全系統(tǒng)與傳統(tǒng)的“左側(cè)”(LHS)系統(tǒng)和中央處理單元(CPU)一起工作。設(shè)計RHS以在保持操作系統(tǒng)的開放性的同時防止惡意軟件。使用NGSCB,應(yīng)用程序在高度防軟件篡改和干擾的保護的存儲器空間中運行。通常,在計算機110內(nèi)有一個芯片同時由LHS和RHS使用。LHS和RHS是計算機110的邏輯而物理實施的分部或分區(qū)。
LHS包括傳統(tǒng)應(yīng)用程序205、210,如MicrosoftWord和MicrosoftExcel,以及常規(guī)操作系統(tǒng)201,如MicrosoftWindows操作系統(tǒng)。盡管示出了兩個應(yīng)用程序,通常可以實現(xiàn)任意數(shù)量的應(yīng)用程序。
RHS包括可信代理255、260,以及“網(wǎng)絡(luò)點(nexus)”251。網(wǎng)絡(luò)點是“高保證”操作系統(tǒng),提供對于其行為的某一級別的保證,并可包括RHS上所有內(nèi)核模式代碼。例如,通過提供保證不向網(wǎng)絡(luò)點之外的世界泄漏信息的屏蔽存儲器(curtained memory),并通過僅許可某些已鑒定應(yīng)用程序在該網(wǎng)絡(luò)點下執(zhí)行并訪問屏蔽存儲器,可以使用網(wǎng)絡(luò)點來使用不應(yīng)泄露的機密信息(如,加密密鑰等等)工作。網(wǎng)絡(luò)點251不應(yīng)當(dāng)以允許在主操作系統(tǒng)201上發(fā)生的事件泄漏網(wǎng)絡(luò)點251的行為的任一方式與主操作系統(tǒng)交互。網(wǎng)絡(luò)點251可許可所有應(yīng)用程序運行,或者機器所有者可配置一機器策略,其中網(wǎng)絡(luò)點251僅許可某些代理運行。換言之,網(wǎng)絡(luò)點251運行機器所有者告訴它運行的任一代理。機器所有者也可以告訴網(wǎng)絡(luò)點不運行什么。
網(wǎng)絡(luò)點251隔離可信代理255、260,管理至和自可信代理255、260的通信,并使用加密地封裝儲存的數(shù)據(jù)(如儲存在硬盤驅(qū)動器上)。更具體地,網(wǎng)絡(luò)點251在可信空間中以內(nèi)核模式執(zhí)行,并向可信代理255、260提供基本服務(wù),如用于與可信代理和其它應(yīng)用程序的進行通信的進程機制的建立,以及特殊信任服務(wù),如硬件/軟件平臺或執(zhí)行環(huán)境的證明和機密的封裝和拆封。證明是代碼片段數(shù)字地簽名或向數(shù)據(jù)片段證明并進一步向接收者確保數(shù)據(jù)是由不可鍛(unforgeable)、使用密碼標識的軟件棧構(gòu)造的能力。
可信代理是在可信空間中以用戶模式運行的程序、程序的部分或服務(wù)。可信代理255、260調(diào)用網(wǎng)絡(luò)點251,用于安全相關(guān)服務(wù)和關(guān)鍵性一般服務(wù),如存儲器管理??尚糯砟軌蚴褂妹芊獾拇鎯韮Υ鏅C密,并使用網(wǎng)絡(luò)點的證明服務(wù)來驗證其本身。每一可信代理或?qū)嶓w控制其自己的可信域,并且它們不需要相互依賴。
RHS還包括使用公鑰基礎(chǔ)結(jié)構(gòu)(PKI)密鑰對的安全支持組件(SSC)253以及加密功能來提供安全狀態(tài)。
NGSCB提供諸如“證明”、“密封存儲”以及“強進程隔絕”等特征。證明令其它計算機知道一個計算機的確是它所聲稱的計算機,并且正在運行它所聲稱正在運行的軟件。由于NGSCB軟件和硬件對用戶和其它計算機、程序和服務(wù)是加密地可核實的,系統(tǒng)能夠在加入其它計算機和進程或共享信息之前核實它們是可信的。由此,證明允許用戶向外部請求者展現(xiàn)操作環(huán)境的所選擇的特征。
密封存儲允許用戶加密信息,使該信息僅能由可信應(yīng)用程序訪問。這可包括的確是首先創(chuàng)建該信息的應(yīng)用程序,或者被擁有該數(shù)據(jù)的應(yīng)用程序信任的任何應(yīng)用程序。因此,密封存儲允許程序儲存機密,該機密無法由不可信的程序,如病毒或特洛伊木馬檢索。
強進程隔絕通過開拓安全區(qū)域(RHS)提供了可信空間。運行在RHS上的操作被保護并從LHS隔離,這使它們顯著地更安全來免于被攻擊。
NGSCB也提供安全輸入和輸出。采用NGSCB,一旦按鍵到達RHS,在它們被軟件讀取并解密之前先對它們進行加密。這意味著無法使用惡意軟件來記錄、偷取或修改按鍵。安全輸出也類似。出現(xiàn)在屏幕上的信息可以向用戶呈現(xiàn),使得沒有其他人能夠截取并讀取該信息。同時采用兩者允許用戶高度信任地知道他的計算機中的軟件正在做它所應(yīng)該做的工作。
盡管對RHS有充分的可信資源可用,然而LHS仍是不可信的。本發(fā)明解決這一問題以及當(dāng)前可信計算系統(tǒng)的其它不足。

發(fā)明內(nèi)容
本發(fā)明提供了將可信環(huán)境中的實體的可信性投影到不可信環(huán)境中的實體的機制。
描述了提供不可信環(huán)境和可信環(huán)境的系統(tǒng)和方法?;颈O(jiān)控代理(agent)在可信環(huán)境中運行?;颈O(jiān)控代理監(jiān)控不可信環(huán)境。
依照一個實施例,監(jiān)控代理與應(yīng)用程序關(guān)聯(lián),并且監(jiān)控代理監(jiān)控其關(guān)聯(lián)的應(yīng)用程序的可能指示攻擊的事件或行為。監(jiān)控代理的可信特性允許可靠地檢測并報告這些事件/行為,借此將可信環(huán)境的可信性投影到不可信環(huán)境。基本監(jiān)控代理能夠批準、禁止或者修改由監(jiān)控代理報告或發(fā)現(xiàn)的不可信環(huán)境事件。例如,報告覆蓋了諸如硬件報告將GDT(全局描述符表)移動到進而將其向基本監(jiān)控代理報告的網(wǎng)絡(luò)點的嘗試的情況。例如,發(fā)現(xiàn)可以是基本監(jiān)控管理(對OS)或監(jiān)控管理(對某一應(yīng)用程序)通過掃描不可信應(yīng)用程序的存儲器發(fā)現(xiàn)問題的情況。
對于另一實施例,基本監(jiān)控代理響應(yīng)從安全輸入接收的輸入。例如,基本監(jiān)控代理可以在沒有通過安全輸入接收批準的情況下拒絕允許對不可信環(huán)境的變化。作為另一示例,基本監(jiān)控代理可以拒絕對不可信環(huán)境的變化,除非該變化由經(jīng)批準方簽署的包來描述。
對于再一實施例,監(jiān)控代理使用密封存儲來對駐留在不可信環(huán)境中的操作系統(tǒng)或應(yīng)用程序保守機密。監(jiān)控代理可拒絕向操作系統(tǒng)或應(yīng)用程序揭示該機密,除非該操作系統(tǒng)或應(yīng)用程序具有與該機密的所有者匹配的摘要。作為替代,監(jiān)控代理可拒絕向操作系統(tǒng)或應(yīng)用程序揭示機密,除非該操作系統(tǒng)或應(yīng)用程序在可讀取該機密的摘要列表上。
依照其它特點,監(jiān)控代理使用測試來確定合法實體是否請求機密。一個這樣的測試包括檢查該實體的棧并確保該棧具有合法棧內(nèi)容。此外,監(jiān)控代理可編輯不可信環(huán)境的狀態(tài)來令其變得安全或可接受。狀態(tài)可包括初始配置或錯誤報告選項。
結(jié)合附圖閱讀以下說明性實施例的詳細描述可以更清楚本發(fā)明的另外的特點和優(yōu)點。


當(dāng)結(jié)合附圖閱讀以上概述以及以下較佳實施例的詳細描述,可以獲得較好的理解。為說明本發(fā)明的目的,附圖中示出了本發(fā)明的示例性構(gòu)造;然而,本發(fā)明不局限于所揭示的特定方法和手段。附圖中圖1所示是可以實現(xiàn)本發(fā)明的各方面的示例性計算環(huán)境的結(jié)構(gòu)圖;圖2所示是具有可信和不可信環(huán)境的現(xiàn)有NGSCB系統(tǒng)的結(jié)構(gòu)圖;圖3所示是依照本發(fā)明的示例性投影系統(tǒng)的結(jié)構(gòu)圖;以及圖4所示是依照本發(fā)明的示例性投影方法的流程圖。
具體實施例方式
概述在具有運行在不可信環(huán)境中的實體和運行在可信環(huán)境中的實體的單個機器中,本發(fā)明提供了一種將可信環(huán)境中的實體的可信性投影到不可信環(huán)境中的實體的機制。本發(fā)明針對當(dāng)?shù)谝粓?zhí)行環(huán)境(如,操作系統(tǒng))主含第二執(zhí)行環(huán)境時所使用的機制。本發(fā)明應(yīng)用到諸如Microsoft的下一代安全計算基礎(chǔ)(NGSCB),其中,常規(guī)操作系統(tǒng)(如,Windows操作系統(tǒng))主含安全操作系統(tǒng)(如,網(wǎng)絡(luò)點)。描述了允許第二環(huán)境將其可信性投影到第一環(huán)境的各種機制。
示例計算環(huán)境圖1說明了適合在其中實現(xiàn)本發(fā)明的各方面的計算系統(tǒng)環(huán)境100的一個示例。計算系統(tǒng)環(huán)境100僅為合適的計算環(huán)境的一個示例,并非對本發(fā)明的使用或功能的范圍提出任何限制。也不應(yīng)將計算環(huán)境100解釋為對示例性操作環(huán)境100中說明的任一組件或其組合具有依賴或需求。
本發(fā)明可以使用眾多其它通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置來操作。適合使用本發(fā)明的眾所周知的計算系統(tǒng)、環(huán)境和/或配置包括但不限于個人計算機、服務(wù)器計算機、手持式或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、移動電話、可編程消費者電子設(shè)備、網(wǎng)絡(luò)PC、小型機、大型機、包括任一上述系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。
本發(fā)明可以在計算機可執(zhí)行指令的一般上下文中描述,計算機可執(zhí)行指令如程序模塊,由計算機執(zhí)行。一般而言,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。本發(fā)明也可以在分布式計算環(huán)境中實踐,其中,任務(wù)由通過通信網(wǎng)絡(luò)或其它數(shù)據(jù)傳輸媒質(zhì)連接的遠程處理設(shè)備來執(zhí)行。在分布式計算環(huán)境中,程序模塊和其它數(shù)據(jù)可以位于本地和遠程計算機存儲媒質(zhì)中,包括存儲器存儲設(shè)備。
參考圖1,用于實現(xiàn)本發(fā)明的示例性系統(tǒng)包括以計算機110形式的通用計算裝置。計算機110的組件可包括但不限于,處理單元120、系統(tǒng)存儲器130以及將各類系統(tǒng)組件包括系統(tǒng)存儲器耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干種總線結(jié)構(gòu)類型的任一種,包括存儲器總線或存儲器控制器、外圍總線以及使用各類總線結(jié)構(gòu)的本地總線。作為示例而非局限,這類結(jié)構(gòu)包括工業(yè)標準體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強ISA(EISA)總線、視頻電子標準協(xié)會(VESA)本地總線以及外圍部件互連(PCI)總線(也稱為Mezzanine總線)。
計算機110通常包括各種計算機可讀媒質(zhì)。計算機可讀媒質(zhì)可以是可由計算機110訪問的任一可用媒質(zhì),包括易失和非易失媒質(zhì)、可移動和不可移動媒質(zhì)。作為示例而非局限,計算機可讀媒質(zhì)包括計算機存儲媒質(zhì)和通信媒質(zhì)。計算機存儲媒質(zhì)包括以用于儲存信息的任一方法或技術(shù)實現(xiàn)的易失和非易失,可移動和不可移動媒質(zhì),信息如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。計算機存儲媒質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁帶盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或可以用來儲存所期望的信息并可由計算機110訪問的任一其它媒質(zhì)。通信媒質(zhì)通常在諸如載波或其它傳輸機制的已調(diào)制數(shù)據(jù)信號中包含計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任一信息傳送媒質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”指以對信號中的信息進行編碼的方式設(shè)置或改變其一個或多個特征的信號。作為示例而非局限,通信媒質(zhì)包括有線媒質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無線媒質(zhì),如聲學(xué)、RF、紅外和其它無線媒質(zhì)。上述任一的組合也應(yīng)當(dāng)包括在計算機可讀媒質(zhì)的范圍之內(nèi)。
系統(tǒng)存儲器130包括以易失和/或非易失存儲器形式的計算機存儲媒質(zhì),如只讀存儲器(ROM)131和隨機存取存儲器(RAM)132?;据斎?輸出系統(tǒng)133(BIOS)包括如在啟動時幫助在計算機110內(nèi)的元件之間傳輸信息的基本例程,通常儲存在ROM 131中。RAM 132通常包含處理單元120立即可訪問或者當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局限,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計算機110也可包括其它可移動/不可移動、易失/非易失計算機存儲媒質(zhì)。僅作示例,圖1說明了對不可移動、非易失磁媒質(zhì)進行讀寫的硬盤驅(qū)動器141、對可移動、非易失磁盤152進行讀寫的磁盤驅(qū)動器151以及對可移動、非易失光盤156,如CD ROM或其它光媒質(zhì)進行讀寫的光盤驅(qū)動器155??梢栽谑纠圆僮鳝h(huán)境中使用的其它可移動/不可移動、易失/非易失計算機存儲媒質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器141通常通過不可移動存儲器接口,如接口140連接到系統(tǒng)總線121,磁盤驅(qū)動器151和光盤驅(qū)動器155通常通過可移動存儲器接口,如接口150連接到系統(tǒng)總線121。還考慮本發(fā)明也可以在嵌入式微處理器中實現(xiàn),其中,CPU和所有存儲器都在單個包中的單個電路小片上。
圖1討論并說明的驅(qū)動器及其關(guān)聯(lián)的計算機存儲媒質(zhì)為計算機110提供了計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。例如,在圖1中,說明硬盤驅(qū)動器141儲存操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同,也可以與它們不同。這里對操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給予不同的標號來說明至少它們是不同的副本。用戶可以通過輸入設(shè)備和指向設(shè)備161(通常指鼠標、軌跡球或觸摸板)向計算機110輸入命令和信息。其它輸入設(shè)備(未示出)可包括麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備通常通過耦合至系統(tǒng)總線的用戶輸入接口160連接至處理單元120,但是也可以通過其它接口和總線結(jié)構(gòu)連接,如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器191或其它類型的顯示設(shè)備也通過接口,如視頻接口190連接至系統(tǒng)總線121。除監(jiān)視器之外,計算機也包括其它外圍輸出設(shè)備,如揚聲器197和打印機196,通過輸出外圍接口195連接。
計算機110可以在使用到一個或多個遠程計算機,如遠程計算機180的邏輯連接的網(wǎng)絡(luò)化環(huán)境中操作。遠程計算機180可以是個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它公用網(wǎng)絡(luò)節(jié)點,并通常包括許多或所有上述與計算機110相關(guān)的元件,盡管在圖1中僅示出了存儲器存儲設(shè)備181。圖1描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但是也可以包括其它網(wǎng)絡(luò)。這類網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)。
當(dāng)在局域網(wǎng)網(wǎng)絡(luò)環(huán)境中使用時,計算機110通過網(wǎng)絡(luò)接口或適配器170連接至LAN 171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時,計算機110通常包括調(diào)制解調(diào)器172或其它裝置,用于通過WAN 173,如因特網(wǎng)建立通信。調(diào)制解調(diào)器172可以是內(nèi)置或外置的,通過用戶輸入接口160或其它合適的機制連接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,描述的與計算機110相關(guān)的程序模塊或其部分可儲存在遠程存儲器存儲設(shè)備中。作為示例而非局限,圖1示出了遠程應(yīng)用程序185駐留在存儲器設(shè)備181中??梢岳斫猓境龅木W(wǎng)絡(luò)連接是示例性的,也可以使用在計算機之間建立通信鏈路的其它裝置。
示例實施例如上所述,本領(lǐng)域中已知計算機可配置成提供兩種不同的環(huán)境可信和不可信。其可信性尚未被核實的普通代碼(即,其行動尚未被核實的代碼,或者不能從可能達到惡意目的中排除的代碼)運行在不可信環(huán)境中。普通應(yīng)用軟件,如游戲、字處理、電子表格等等,以及普通操作系統(tǒng)、設(shè)備驅(qū)動器和調(diào)試器一般落入不可信分類中。以某一方式核實其可信性的代碼可運行在可信環(huán)境中。計算機的存儲器的某一部分(即,“隔離”或“屏蔽”存儲器)被設(shè)計成僅可由可信環(huán)境訪問。
對于以下討論,如果代理已依照被設(shè)計成保持其完整性或?qū)⑵渫暾缘娜我馄茐淖兊妹黠@的安全過程例示,則它是“可信”的。例如,可以通過核實代理的身份和其運行的環(huán)境的可信過程(證明)來例示代理,可以向其分配不可由其它可信或不可信代理訪問的安全存儲器位置(屏蔽存儲器),并且它能夠密封機密。這一可信代理可以被唯一且可靠地標識。
在可信環(huán)境中,限制了允許哪些代碼運行。例如,有較少的可信API(與典型LHS中大量豐富的API形成對比),運行在可信環(huán)境中的代理僅可以通過限制的正式進程間通信(IPC)機制來相互通信,并且代理可具有對用于向用戶呈現(xiàn)文本和圖像的更限制且原始API和服務(wù)組的訪問。這些限制降低了復(fù)雜性并因此降低了可信環(huán)境和在其中操作的可信代理的攻擊表面。另一方面,不可信環(huán)境類似于通常由“開放”計算系統(tǒng)(如,個人計算機、手持式計算機等等)上的操作系統(tǒng)創(chuàng)建的環(huán)境—即,在這一不可信環(huán)境中,幾乎任何代碼都被許可執(zhí)行,并且運行在標準環(huán)境中的代碼對大量且豐富的編程服務(wù)和接口組具有完全的訪問。不可信環(huán)境和可信環(huán)境可以被進一步劃分成子環(huán)境。例如,不可信環(huán)境可以被劃分成不可信用戶模式(其中,普通應(yīng)用程序執(zhí)行)和不可信內(nèi)核模式(其中,普通操作系統(tǒng)執(zhí)行)。類似地,可信環(huán)境可以被劃分成可信用戶模式(其中,特殊、可信的應(yīng)用程序執(zhí)行)和可信內(nèi)核模式(其中,對可信應(yīng)用程序創(chuàng)建可信環(huán)境的可信操作系統(tǒng)執(zhí)行)。
當(dāng)可信和不可信環(huán)境在同一計算機系統(tǒng)中共存時,可信環(huán)境可采取步驟來確保其可信性不被不可信環(huán)境中發(fā)生的任何事攻擊,或被可信環(huán)境中的任何用戶模式代碼攻擊。本發(fā)明的實施例提供了為不可信端的利益投影或使用可信端的可信性的機制。
圖3是依照本發(fā)明的投影系統(tǒng)的一個實施例的結(jié)構(gòu)圖,圖4是依照本發(fā)明的投影方法的一個實施例的流程圖。運行在計算機110上的系統(tǒng)的LHS類似于參考圖2所描述的。兩個應(yīng)用程序305、310與操作系統(tǒng)301一起運行。RHS的部分也類似于參考圖2所描述的。兩個可信代理355、360與網(wǎng)絡(luò)點351和SSC 353一起運行??紤]在LHS上可以運行任意數(shù)量的應(yīng)用程序,并且在RHS上可以運行任意數(shù)量的可信代理。
圖3示出了在其中操作系統(tǒng)301和網(wǎng)絡(luò)點351在單個計算機110上執(zhí)行的系統(tǒng)。操作系統(tǒng)301和網(wǎng)絡(luò)點351之間的邏輯分隔350準許出現(xiàn)某些通信,同時保護網(wǎng)絡(luò)點351免受操作系統(tǒng)301中起源的事件的影響。
在圖3所示的實施例中,操作系統(tǒng)301是主操作系統(tǒng),網(wǎng)絡(luò)點351是由OS 301主含的訪客。即,OS 301為網(wǎng)絡(luò)點351提供某些服務(wù)和資源,如,存儲器和處理器時間。對于一個實施例,邏輯分隔350允許網(wǎng)絡(luò)點351依賴于操作系統(tǒng)301的某些資源,而仍允許網(wǎng)絡(luò)點351保護其自身免受操作系統(tǒng)301中引起的并可能導(dǎo)致網(wǎng)絡(luò)點351以與其行為說明相反的方式表現(xiàn)的行動(無論惡意還是無意)的影響。例如,網(wǎng)絡(luò)點351及其關(guān)聯(lián)的可信資源,如,SSC 353,可管理邏輯分隔。然而,可以理解,本發(fā)明不局限在特定形式的網(wǎng)絡(luò)點351上??紤]那樣的機制,它允許構(gòu)造分隔350來允許交互和保護的這一平衡。
應(yīng)當(dāng)注意,圖3示出了操作系統(tǒng)301是“主”,而網(wǎng)絡(luò)點351是“客”。一般而言,這一表征指在這些實施例中,操作系統(tǒng)301提供由操作系統(tǒng)301和網(wǎng)絡(luò)點351使用的某些操作系統(tǒng)基礎(chǔ)結(jié)構(gòu)(如,設(shè)備驅(qū)動器、調(diào)度等等)。網(wǎng)絡(luò)點351是“客”指的是它可以依賴于操作系統(tǒng)301的某些基礎(chǔ)結(jié)構(gòu)資源而不是自己提供它們。然而,應(yīng)當(dāng)注意,令操作系統(tǒng)為“主”或“客”的參數(shù)是靈活的。應(yīng)當(dāng)理解,這里描述的技術(shù)可以應(yīng)用到運行在同一機器(或甚至在連接的機器上的同一組)上的任意兩個或多個操作系統(tǒng)的交互。運行在單個機器上的兩個或多個操作系統(tǒng)是可能需要在單個機器上彼此交互的“環(huán)境”的示例,盡管可以理解,本發(fā)明不局限于傳統(tǒng)的操作系統(tǒng)。
投影是可信代理(RHS上)的一些能力和特性能夠被擴充到LHS代碼的機制。依照一個示例,投影允許NGSCB個人計算機平臺的能力應(yīng)用到現(xiàn)有代碼。例如,不是將諸如MicrosoftExcel的應(yīng)用程序移植到RHS,依照本發(fā)明的投影允許對應(yīng)用程序(這里也稱為受保護者(mortal))構(gòu)造監(jiān)控代理(這里也稱為保護者(angel)),進而準許現(xiàn)有應(yīng)用程序作為可信代理帶著許多相同的有用特性運行。投影可以應(yīng)用到需要某一級別的可信操作的LHS操作系統(tǒng)(如,MicrosoftWindows)和任何操作LHS應(yīng)用程序(如,MicrosoftOffice)。投影也可以應(yīng)用到LHS設(shè)備驅(qū)動器。由此,如后文所描述的,投影允許可信代理保護、確保、證明并擴充LHS操作系統(tǒng)、服務(wù)和程序。
圖3示出了對應(yīng)于應(yīng)用程序305的監(jiān)控代理390以及對應(yīng)于應(yīng)用程序310的監(jiān)控代理395(圖4的步驟400)。每一監(jiān)控代理或保護者保護其關(guān)聯(lián)的應(yīng)用程序。
對于一個實施例,關(guān)注的LHS實體的創(chuàng)建者(如,應(yīng)用程序)也創(chuàng)建保護該LHS實體的保護者。這允許創(chuàng)建者向保護者提供它所監(jiān)控的應(yīng)用程序的深層知識。這一保護者可以對它所監(jiān)控的應(yīng)用程序中的異態(tài)更敏感,由此更有效地保護并確認它。例如,由操作系統(tǒng)開發(fā)者創(chuàng)建的基本監(jiān)控代理可結(jié)合關(guān)于操作系統(tǒng)存儲器管理的詳細知識,允許它快速地標識可疑的存儲器操作。
對于另一實施例,如果保護者在其關(guān)聯(lián)的應(yīng)用程序中檢測到反常或可疑活動,它可以采取糾正或預(yù)防行動。例如,保護者可檢測其關(guān)聯(lián)的應(yīng)用程序改變存儲器中應(yīng)用程序創(chuàng)建者認為是不變的關(guān)鍵字變量的嘗試,并截取對該變量的寫。這一寫行動可能至少指示應(yīng)用程序代碼的破壞,如果不是被惡意,如病毒代碼完全破壞的話。簡言之,保護者擔(dān)當(dāng)監(jiān)控代理的角色,監(jiān)視其關(guān)聯(lián)的應(yīng)用程序中的負面或可疑活動,并采取糾正或預(yù)防行動??梢韵拗破湫袆觼矸乐贡Wo者以免其關(guān)聯(lián)的應(yīng)用程序遭受破壞。例如,保護者可以掛連到特定的實體、程序或應(yīng)用程序,或一組這類實體、程序和/或應(yīng)用程序。
基本監(jiān)控代理(這里也稱為主保護者)380與基本操作系統(tǒng)(即,LHS OS 301)關(guān)聯(lián)(塊410)。對于一個實施例,基本監(jiān)控代理380由LHS操作系統(tǒng)的創(chuàng)建者寫入。這允許基本監(jiān)控代理380結(jié)合關(guān)于LHS操作系統(tǒng)的詳細知識,令它對關(guān)聯(lián)的操作系統(tǒng)的惡意行為更敏感。
例如,主保護者能夠知道虛擬地址數(shù)據(jù)庫、進程數(shù)據(jù)庫以及PFN(頁幀號)數(shù)據(jù)庫的格式,并基于此,檢測欺詐設(shè)備驅(qū)動器通過映射它們不應(yīng)具有的PFN作出到進程的非法映射的情況。由此,主保護者能夠檢測不由存儲器管理者作出(如,由欺詐設(shè)備驅(qū)動器作出)的映射,并能夠檢測不應(yīng)在那里的跨進程映射。
在這一情況下,主保護者能夠與改變的受保護者OS協(xié)作。例如,OS和主保護者可同意PFN數(shù)據(jù)庫應(yīng)當(dāng)總是一致,只要不持有特定的鎖,并且應(yīng)當(dāng)可通過校驗和(checksum)來表示該一致性。因此,以周期的間隔,主保護者這能夠檢查該鎖,并且如果發(fā)現(xiàn)它未鎖定(它是存儲器變量,因此很容易測試),則可以進行并對PFN數(shù)據(jù)庫求校驗和。如果主保護者發(fā)現(xiàn)校驗和不匹配,則它知道PRN數(shù)據(jù)庫被篡改。
此外,主保護者能夠知道內(nèi)核調(diào)試器的控制變量,并強迫該控制變量禁用內(nèi)核調(diào)試器。
另外的示例包括進程加載監(jiān)控加載器、高速緩存管理器、頁錯誤處理器等等,來確保正確的位被正確地加載到用戶模式進程(或系統(tǒng)中加載的任一其它模塊)中,或被正確地簽名,可能在主保護者所知的表內(nèi)保持的散列表中列出。主保護者能夠預(yù)期加載器、頁錯誤處理器等等何時需要將代碼/數(shù)據(jù)映射到/出進程中(分頁等等)。RHS能夠?qū)︽i定的進程保持LHS物理頁(甚至對LHS OS),除非OS正在執(zhí)行已知為好的功能。RHS對LHS進程控制頁表。由此,主保護者書寫者能夠在主保護者中融入多種機制來限制壞行為。
另一示例包括進程硬化(hardening)。對一個進程修改另一進程有已知并批準的機制。主保護者能夠確保所有共享的存儲器映射以及數(shù)據(jù)復(fù)制入/出不同的進程空間是受限制的。另一示例涉及只讀內(nèi)核,其中,內(nèi)核和設(shè)備驅(qū)動器的所有“文本”頁(代碼頁)被鎖定。
主保護者380也支持每進程(限制訪問)到保護者的投影。例如,這意味著那些保護者,它們類似于那些代理,其中該系統(tǒng)將運行用戶要求它運行的任何保護者(與用戶政策一致),并且不是如下文定義的證明矢量的一部分(即,主保護者實際上是機器的配置的部分)能夠施加嚴重損壞、侵入左側(cè)私密性、探查它們不應(yīng)當(dāng)應(yīng)用的受保護者的應(yīng)用程序。因此,需要保護者十分堅固地綁定在特定的應(yīng)用程序(受保護者)上。這最好通過準許保護者僅影響該保護者啟動的受保護者來完成,或通過允許保護者僅應(yīng)用到與保護者的清單中聲明的摘要匹配的受保護者來完成,摘要檢查由主保護者僅在受保護者應(yīng)用程序調(diào)用保護者的摘要來啟動之后完成。這一特性是期望的,因為它令允許任一應(yīng)用程序銷售商對其應(yīng)用程序書寫保護者并允許任一用戶使用它變得安全且實用,而沒有對其它所有東西作出嚴重損壞或破壞私密性的風(fēng)險。
由此,主保護者既是監(jiān)視LHS的代理,又是向其它保護者提供服務(wù)的代理。由于主保護者具有LHS進程結(jié)構(gòu)的最詳細知識,它可能是決定哪一保護者能夠被綁定到哪一LHS進程的主保護者。限制指的是保護者(不是網(wǎng)絡(luò)點證明矢量的一部分)僅能接觸它所啟動或調(diào)用它的進程,來保護它們。這防止保護者隨便地在LHS進程上起作用。這一劃分(主保護者獲得OS級能力并類似于網(wǎng)絡(luò)點被確認,保護者獲得限制的應(yīng)用級能力,并能夠類似于任一其它保護者自由運行)是期望的。
對于一個實施例,保護者可在其證明矢量中包括主保護者(并通過擴充LHS基本OS)。證明矢量是建立實體的安全相關(guān)配置的安全相關(guān)組件的摘要的列表。例如,代理的摘要可包括機器或主板其本身、網(wǎng)絡(luò)點和代理其本身,以及其它信息。這一數(shù)字棧是代理是什么以及該代理運行在什么環(huán)境中的強健、可靠指示符。它允許另一實體信任它是否正在處理“真正的代理”。證明矢量化了棧(因此該代理的摘要不是網(wǎng)絡(luò)節(jié)點矢量的部分,但是網(wǎng)絡(luò)節(jié)點的摘要是該代理的摘要的一部分)。因此,當(dāng)某一事物的證明矢量包括在另一事物中時,這指出它們都被綁定到可識別的安全配置中。證明的一個特性是它很強地標識了系統(tǒng)的安全相關(guān)配置。
考慮另一方式,證明矢量是定義RHS的軟件身份的摘要值的列表。較佳地,RHS上加載的軟件在被加載前被編入摘要,并且進程其本身被較好地隔離使它無法改變。這是歸納進程硬件對網(wǎng)絡(luò)點的摘要進行簽名(向網(wǎng)絡(luò)點的摘要證明),網(wǎng)絡(luò)點進而證明代理。以這一方式,外部方能夠?qū)σ阎斜泶_認這些摘要,來確定該外部方是否批準該軟件在系統(tǒng)上運行。由于保護者和主保護者運行在RHS上,它們具有較佳定義的代碼身份。鑒于此原因,這些代碼身份能夠在描述LHS代碼運行的環(huán)境的證明矢量中列出。由于保護者無法完全控制LHS代碼的執(zhí)行,這一代碼身份陳述不如RHS代理的代碼身份陳述有力,但是它的確意味著給定的LHS代碼片段在的確具有強代碼身份的保護者、主保護者和網(wǎng)絡(luò)點的限制下運行。
主保護者的實施例可向保護者展現(xiàn)某一組API來提供對保護者的一些功能和/或特點的支持。例如,對任一存儲器操作,主保護者是所需要的中間體。保護者可能期望檢查虛擬地址VA=100上的覆蓋應(yīng)用程序代碼。然而,它可能不知道那映射到什么物理地址。網(wǎng)絡(luò)點不知道這一結(jié)構(gòu)。因此,作為替代,主保護者(知道LHS OS如何工作)使用基本網(wǎng)絡(luò)點服務(wù)(只有主保護者可以調(diào)用)來讀取相關(guān)的LHS內(nèi)核存儲器。主保護者使用來自LHS OS存儲器的數(shù)據(jù)來對LHS應(yīng)用程序存儲器計算正確的映射。然后告知保護者哪一覆蓋應(yīng)用程序地址對應(yīng)于保護者地址,保護者然后可以檢查這些內(nèi)容并繼續(xù)處理。簡言之,對于進程綁定保護者(即,僅應(yīng)用到授權(quán)的進程而非在LHS狀態(tài)上隨便漫游的保護者),需要主保護者解釋LHS數(shù)據(jù)結(jié)構(gòu)。
另外的示例性功能包括提供僅允許LHS應(yīng)用程序和RHS保護者看見數(shù)據(jù)的保護的IPC通道。LHS內(nèi)核通常能夠看見通過LHS和RHS之間的IPC通道的所有頁,但是如果這些頁僅能夠在主保護者的注意視線下訪問,則提供了高保證,僅有關(guān)的進程(由給定保護者控制的進程)能夠看見該通道中的數(shù)據(jù)。另一示例性功能給予保護者控制哪些模塊(如,DLL)以及這些模塊的哪些版本能夠被加載到給定進程的進程空間的能力。
作為可信的實體,主保護者380具有對與LHS關(guān)聯(lián)的存儲器的訪問,并在LHS上發(fā)生事件的任一時刻被通知。主保護者380采用它用來檢測非一致性的知識體來預(yù)編程,以確定是否應(yīng)當(dāng)為了安全或保護采取行動。例如,主保護者380能夠俘獲某些LHS事件組。這些可以是被LHS允許的事件以及不被網(wǎng)絡(luò)點或它所管理的可信環(huán)境排除的事件。例如,主保護者380能夠檢測指示可能的攻擊或安全問題的LHS上的不正常映射(網(wǎng)絡(luò)點351在其它情況允許的)。主保護者380也能夠執(zhí)行一致性檢查。
對于圖3所示的實施例,每一保護者被界限或者被主保護者380和網(wǎng)絡(luò)點351監(jiān)管(塊420)。主保護者380實施保護者及其關(guān)聯(lián)的LHS代碼之間的綁定,限制了保護者例如在LHS上影響私密性和安全性的能力。
需要約束保護者的行為僅影響它們應(yīng)當(dāng)掛連的進程,因為依照用戶的策略,網(wǎng)絡(luò)點351和主保護者380將運行用戶指示它們運行的任一保護者。主保護者具有等同于網(wǎng)絡(luò)點的能力,并被細查至約同一級別。對于保護者,如同對任一其它代理一樣,網(wǎng)絡(luò)點運行用戶吩咐它們運行的一切。因此,盡管網(wǎng)絡(luò)點和主保護者是被約束的,普通保護者(類似于代理)不受拘束(盡管用戶能夠設(shè)置策略,例如,告訴網(wǎng)絡(luò)點運行或不運行由特定估算器簽名的代理或保護者)。
需要保護者是受限制的。例如,具有說明“對第一程序的保護者”的簽名塊的保護者不允許使用LHS基本OS存儲器,或使用其它程序的存儲器。允許這一使用將破壞許多用戶權(quán)限,并令保護者變得危險而非有益。因此,主保護者確保保護者僅獲得對它們應(yīng)當(dāng)能夠訪問的LHS程序的訪問。
可信代理較佳地沒有多于LHS程序的能力。具體而言,可信代理不能觀察LHSOS或控制或編輯LHS OS配置狀態(tài)。作為替代,保護者較佳地僅允許檢查或修改它們所應(yīng)用的受保護者的存儲器。此外,在一些實施例中,主保護者可以不允許保護者改變受保護者的代碼,限制保護者讀取其受保護者的用戶模式地址空間中的一切,并允許它寫受保護者的非共享讀寫存儲器空間。然而,一些機制需要允許受保護者對保護者的調(diào)用不是返回到調(diào)用點,而是返回到計算的返回點。這允許保護者強迫某些事件在受保護者中的已知的正確地址上啟動—一種對抗基于改變返回地址的破壞的棧的彈性攻擊(trampoline attacck)的強健的方法。
保護者僅能監(jiān)控其關(guān)聯(lián)的實體或?qū)嶓w組(塊430),并且不比任一其它代理更可信。保護者不能監(jiān)控或觀察非關(guān)聯(lián)的實體。具體而言,保護者具有以下一個或多個特性a.保護者僅能夠監(jiān)控它所掛連的一個或多個進程(即,受保護者)的用戶模式存儲器(不是由RHS代碼正常提供的能力-見上文)。
b.只有主保護者能夠看到它所掛連的LHS OS的內(nèi)核模式存儲器。
c.保護者僅能應(yīng)用到調(diào)用或要求它的那些LHS進程,或僅應(yīng)用到它啟動的LHS進程。
d.保護者可由聲明性實施來限制。例如,網(wǎng)絡(luò)點和/或主保護者可以約束保護者僅投影到包含與保護者清單中聲明的可執(zhí)行碼匹配的可執(zhí)行碼的進程。由此,例如,在沒有人改變保護者清單的情況下,“黑客工具”的保護者不能偶爾或惡意投影到LHS應(yīng)用程序。這一清單變化對政策工具是顯而易見的。
主保護者380可以實施上述限制(塊440和450)。為此目的可以給予主保護者對LHS的廣泛訪問,在這一情況下,它服從于與網(wǎng)絡(luò)點類似的細查級別(即,高強度細查)。例如,主保護者具有蓋過LHS OS的能力,并因此具有蓋過在LHS上運行的任何事物的能力。以另一方式,主保護者能夠讀取任一LHS存儲器,但是沒有特別的RHS能力,如對RHS內(nèi)核存儲器的訪問,或查看其它代理進程的能力,或?qū)W(wǎng)絡(luò)點或其它RHS代理的限制、添加、修改等等。保護者僅能讀取它所應(yīng)用的程序的地址空間(即,保護者具有僅應(yīng)用到它們所應(yīng)用的受保護者的特殊能力)。主保護者也可以讀取所有的LHS存儲器(步驟440),而提供進程特定服務(wù),使保護者僅能查看它們所監(jiān)控并保護的程序的地址空間。
保護者可至少以以下方式“投影”其被保護者(步驟430和450)a.它可能在與被保護者行為的協(xié)作下可以鎖定各種存儲器元件或?qū)⑵錁擞洖橹蛔x,來保護對被保護者的某些變化(如,病毒攻擊)。
b.它可以在其可信空間中對被保護者執(zhí)行某些關(guān)鍵操作。
c.它可以堅持被保護者特定保護,如限制可以作出何種配置變化,或如果由使用安全輸入機制的授權(quán)人批準則允許作出這類變化。
d.它可以以期望的間隔掃描被保護者的存儲器和狀態(tài),查找一致性錯誤、破壞等等,并在進一步破壞或無意識/非授權(quán)行動出現(xiàn)之前警告用戶或暫停被保護者。
e.它可以僅在需要時向被保護者釋放密封/加密數(shù)據(jù),以將在任一時刻可能被攻擊的這一數(shù)據(jù)量最小化。
1.它可以使用密封存儲來對LHS(或LHS應(yīng)用程序)保存密封的機密,并拒絕將這些機密給予不具有匹配機密所有者或被列出為機密所有者允許的摘要的任一LHS(或LHS應(yīng)用程序)。
f.給定正確的API,它可以改變被保護者的執(zhí)行狀態(tài);即,它能夠?qū)⒕€程定向到已知的執(zhí)行點,重定向目標應(yīng)用程序中的控制流程,或?qū)δ繕藨?yīng)用程序執(zhí)行分支計算和執(zhí)行。它也可以編輯配置狀態(tài)、啟動狀態(tài)等等,以將事物強制到對被保護者的安全/校正操作的可接受模式。
g.保護者可以調(diào)用主保護者并要求主保護者為了被保護者的利益執(zhí)行預(yù)防、保護、發(fā)現(xiàn)或反應(yīng)。
h.保護者可以從應(yīng)用程序中提取輸出數(shù)據(jù)(例如,通過調(diào)用或通過存儲器檢查),確認那些數(shù)據(jù)(如,求校驗和等等)然后使用安全輸出硬件呈現(xiàn)這一數(shù)據(jù)。
實體或應(yīng)用程序的部分功能可以移動到保護者中。類似地,LHS內(nèi)核的部分功能可以移動到主保護者中。應(yīng)用程序創(chuàng)建者可以在保護者中實現(xiàn)某些應(yīng)用程序功能。盡管這將增加RHS的負擔(dān),但是它允許在可信環(huán)境中執(zhí)行傳輸?shù)墓δ?。類似地,LHS OS 301的一部分可以移動到主保護者380中。
可以以若干種方式加載或調(diào)用保護者。LHS程序,如應(yīng)用程序305可以調(diào)用其保護者390。例如,以這一方式,在啟動應(yīng)用程序時,對應(yīng)的保護者被加載。作為替代,可以從RHS調(diào)用保護者,然后該保護者調(diào)用對應(yīng)的LHS進程或應(yīng)用程序。保護者使用主保護者來接通LHS并請求啟動該應(yīng)用程序。主保護者然后將保護者綁定到該應(yīng)用程序。對于一個實施例,網(wǎng)絡(luò)點和主保護者向應(yīng)用程序提供的API使它僅能看見它所創(chuàng)建的進程或者其子進程。
作為另一替代,可由清單調(diào)用LHS程序,然后轉(zhuǎn)到啟動保護者的RHS,從而調(diào)用回到LHS來開始對應(yīng)的LHS進程或應(yīng)用程序。通常,通過命名包含它的文件來啟動LHS程序(例如,API為“run c\somedir\sometherdir\someprogram.exe”)。對于RHS代碼(代理或保護者),通過命名清單來啟動,并且清單命名二進制。這是位置不相關(guān)的。同樣,例如,清單通常被簽名或證明,因此它們更難被欺騙。由此,示例性機制可以是向啟動LHS應(yīng)用程序和相關(guān)保護者并將其綁定在一起的RHS(網(wǎng)絡(luò)點)呈現(xiàn)組合的左/右清單。此外,保護者可以用來從LHS或RHS啟動應(yīng)用程序。
在本發(fā)明的一個實施例中,主保護者可以確認LHS進程的最初加載的代碼映象匹配與該保護者關(guān)聯(lián)的聲明的目標代碼映象。聲明的目標代碼映象可通過保護者的清單來提供。這防止聲明為對特定應(yīng)用程序的保護者替代地啟動另一應(yīng)用程序,從而提供了對攻擊的額外安全。
依照本發(fā)明的一些實施例,防止保護者編輯它所關(guān)聯(lián)的LHS應(yīng)用程序或進程的代碼映象。保護者能夠讀/寫數(shù)據(jù),但是僅能夠讀代碼。
可以采用這些和類似的政策來防止保護者在不受LHS監(jiān)控或限制的情況下運行,并且防止欺詐保護者使用LHS程序和應(yīng)用來欺騙。
除上述啟動機制以外,有其它方式來確保正確的保護者掛連到正確的LHS(或RHS)應(yīng)用程序并保持掛連在其上。在運行應(yīng)用程序作出對其保護者的調(diào)用之前可能被攻擊者改變,或者LHS病毒可能截取或置換其調(diào)用來定位到一些其它保護者。
本發(fā)明的實施例可以通過經(jīng)類似于主保護者或網(wǎng)絡(luò)點的可信權(quán)限處理從應(yīng)用程序到其保護者的調(diào)用來解決這一問題。例如,主保護者可以編制調(diào)用LHS應(yīng)用程序的摘要,并將該摘要與同RHS保護者關(guān)聯(lián)的“批準”摘要列表相比較。如果它們不匹配,或者由于LHS應(yīng)用程序被置換,或者由于該調(diào)用被修改來定位不同的保護者,則該調(diào)用失敗,系統(tǒng)能夠警告用戶,和/或采取任意其它數(shù)量的行動。
可以使用系統(tǒng)策略來指定哪一保護者掛連到哪一LHS應(yīng)用程序。使用強健的策略機制提供難以欺騙、難以誤初始化機制來設(shè)置這類依賴性。
在一些實施例中,保護者較佳地具有可調(diào)節(jié)或各種可編程檢查級別,以定位對關(guān)聯(lián)的應(yīng)用程序的威脅??梢哉{(diào)節(jié)保護者對覺察的威脅或攻擊的敏感度。
除向LHS OS或應(yīng)用程序提供投影(如,防御、保護、忠告)之外,保護者也可以應(yīng)用到在可信計算環(huán)境中運行的代理。在這一情況下,目標代理(通常為多疑(paranoid)實體)信任所掛連的保護者。這允許外部觀察進程攔截目標代理中的各種程序錯誤和不正當(dāng)利用。保護者能夠?qū)嵤┌踩蛔兞?,與掃描安全錯誤(例如,如常規(guī)防病毒技術(shù)中)和使用網(wǎng)絡(luò)點提供的硬性進程分隔和保護相反。
對于一個實施例,代理是虛擬機器,呈現(xiàn)某一真實機器的“有效相同復(fù)制品”,其中起動了OS映象。可信環(huán)境可允許代理訪問虛擬機器的進程存儲器。訪問代理可監(jiān)控進程存儲器來保護虛擬機器免遭來自它所包含的映象的攻擊??尚怒h(huán)境可允許保護者投影虛擬機器中的OS映象,并允許保護者投影虛擬機器中的應(yīng)用程序??梢钥紤],通常應(yīng)用到LHS應(yīng)用程序的同一機制也可以替代地應(yīng)用到虛擬機器環(huán)境。
對于本發(fā)明的一個實施例,網(wǎng)絡(luò)點向主保護者提供了用于存儲器檢查和改變(至少)的API。用于俘獲改變控制結(jié)構(gòu)的嘗試并對其反應(yīng)的API支持方便了投影。例如,在x86體系結(jié)構(gòu)中,可通過API提供對諸如GDT、LDT、IDT、調(diào)試寄存器、TR等的控制結(jié)構(gòu)的投影。GDT指的是全局描述符表,LDT指的是局部描述符表。鎖定GDTR(全局描述符表寄存器)停止了依賴于歪曲虛擬地址的意義的攻擊,以允許跳至攻擊者通常無法跳到的地方。IDT是中斷分派表,控制中斷的路由。IDT的位置由IDTR(中斷分派表寄存器)指示。鎖定IDTR通過停止攻擊者在其中使用IDT和公布出的中斷的攻擊以強迫將代碼分支到攻擊者不能達到的分支,從而令投影變得更有效。
需要可信環(huán)境(即,RHS)與開放環(huán)境(即,LHS)以某一方式連接。連接允許可信環(huán)境檢查狀態(tài)并且被通知開放環(huán)境中的事件。這里的教導(dǎo)為包括但不限于以下結(jié)構(gòu)的結(jié)構(gòu)工作1.RHS和LHS位于同一機器上,RHS能夠直接檢查LHS存儲器(而LHS未獲許可不能檢查RHS存儲器)。
2.RHS和LHS在不同的處理器上,可能具有不同的存儲器,但是總線、網(wǎng)絡(luò)、端口或其它互連允許RHS查看LHS存儲器。例如,ARM服務(wù)處理器能夠運行完全可信的棧,并且可信棧能夠檢查x86 MP系統(tǒng)的主存儲器。例如,可以有具有x86主處理器的機器,并且將ARM或PowerPc作為服務(wù)處理器,并使用本發(fā)明的機制來允許服務(wù)處理器監(jiān)視主處理器上的軟件。
3.如果RHS能夠接收LHS事件的通知(如,映射的變化),但是不改變或防止它們,或不能查看LHS存儲器,則投影的某一部分(如,微弱部分)仍是可能的。
4.RHS能夠隨意檢查LHS存儲器,能夠控制(即,防止或改變)到LHS存儲器映射和地址翻譯結(jié)構(gòu)的LHS編輯,控制中斷分派矢量指向何處(但是不需要控制中斷控制器,盡管如果提供了這一控制,在其中有調(diào)節(jié))??紤]到,確定RHS需要能夠完全控制的狀態(tài)/事件列表來支持強投影是要對每一處理器結(jié)構(gòu)完成的任務(wù),本領(lǐng)域的技術(shù)人員可以理解,該列表對不同的體系結(jié)構(gòu)不同。
5.在一個實施例中,x86 TR寄存器的變化和硬件調(diào)試寄存器的設(shè)置也可由RHS控制。
在當(dāng)前技術(shù)的硬件中,不保證可信環(huán)境的運行,因為它可以依賴于公用中斷硬件、LHS中斷分派表等等。
在以上列出的硬件中,能夠控制IDT(在x86上或等效的其它地方)允許RHS確保其所選擇的某一中斷將始終運行調(diào)用RHS的代碼。
然而,LHS攻擊者或錯誤可以破壞中斷控制器、關(guān)閉中斷等等??梢钥紤],使用ATC(地址翻譯控制)來確保RHS經(jīng)常獲得運行。如果RHS使用ATC,它能夠修改ATC來增加計數(shù)器。只要RHS調(diào)度主保護者,將計數(shù)器設(shè)置到某一值。如果計數(shù)器達到零,則ATC知道主保護者“很長時間”未運行,并調(diào)用強制運行主保護者的網(wǎng)絡(luò)點條目點。這一技術(shù)不保證主保護者在特定時刻運行,但是的確保證它在若干LHS存儲器編輯操作之后運行。由此,活動的LHS最終必須讓主保護者運行。
如果RHS能夠鎖定IDT,并且系統(tǒng)具有NMI(不可屏蔽中斷)的可靠源,則RHS能夠強迫NMI處理器調(diào)用權(quán)限。
在示例性實施例中,硬件具有定時器,在許多時間單位(tick)之后強迫對RHS的中斷。
本發(fā)明提供了允許一個計算環(huán)境的可信性投影到第二計算環(huán)境的機制。運行在單個機器上的兩個或多個操作系統(tǒng)是需要在單個機器上彼此交互的“環(huán)境”的示例,盡管可以理解,本發(fā)明不限于傳統(tǒng)的操作系統(tǒng)。此外,在一般情況下,可以使用至少一些這里描述的技術(shù)來將可信性從任一類型的可執(zhí)行實體(如,任一軟件片段)投影到任一其它類型的實體。
在兩個實體在單個機器上并排存在并且需要彼此交互的情況下,交互可以采取各種形式。例如,兩個實體可能需要相互來回傳遞數(shù)據(jù)。在實體為操作系統(tǒng)的情況下(或某些其它類型的執(zhí)行環(huán)境,如在虛擬機器上執(zhí)行腳本的腳本引擎),實體可能需要以某些其它方式彼此交互—如,共享存儲器。共享處理器上的時間、共享資源以及處理中斷。本發(fā)明提供了兩個實體能夠參與這些類型的彼此交互的技術(shù),同時允許一個實體將其可信性投影到另一實體。
以上描述的實施例著眼于作為被監(jiān)控的資源的存儲器,但是本發(fā)明不限于此。如果安全監(jiān)控程序?qū)Σ煌诖鎯ζ鞯馁Y源可用,基本監(jiān)控代理(如,主保護者)可以采用這一監(jiān)控程序作為可信委托方來擴充其可信范圍。例如,如果安全NIC可用,基本監(jiān)控代理可使用它來排除發(fā)送具有某些頭部的包。一般而言,這一可信委托方僅需要理解測量不變量,如匹配<regext>的頭部,并可靠地提醒監(jiān)控代理關(guān)于不變量的變化。
注意,僅為解釋目的提供上述示例,并且不應(yīng)構(gòu)成對本發(fā)明的限制。盡管參考各種實施例描述本發(fā)明,應(yīng)當(dāng)理解,這里使用的詞語是描述和說明的詞語,而非限制的詞語。此外,盡管這里參考特定裝置、材料和實施例描述本發(fā)明,本發(fā)明不局限于這里所解釋的細節(jié);相反,本發(fā)明延及所有如處于所附權(quán)利要求范圍之內(nèi)的功能上等效的結(jié)構(gòu)、方法和使用,。從本說明書的教導(dǎo)受益的本領(lǐng)域的技術(shù)人員可以對其作出各種修改,并且可以在不脫離本發(fā)明的各方面的范圍和精神的情況下作出變化。
權(quán)利要求
1.一種系統(tǒng),其特征在于,它包括一不可信環(huán)境;一可信環(huán)境;以及至少一個基本監(jiān)控代理,運行在所述可信環(huán)境中,監(jiān)控所述不可信環(huán)境。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,它還包括運行在所述可信環(huán)境中的多個監(jiān)控代理,每一監(jiān)控代理監(jiān)控運行在所述不可信環(huán)境中的至少一個應(yīng)用程序、擴充或組件。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,每一監(jiān)控代理與一應(yīng)用程序關(guān)聯(lián),并且其中,每一監(jiān)控代理監(jiān)控其關(guān)聯(lián)的應(yīng)用程序的攻擊和非一致性,由此將所述可信環(huán)境的可信性投影到所述不可信環(huán)境。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,每一監(jiān)控代理包括其所關(guān)聯(lián)的應(yīng)用程序的一部分。
5.如權(quán)利要求3所述的系統(tǒng),其特征在于,每一監(jiān)控代理具有可調(diào)節(jié)的檢查級別,以將威脅指向所述關(guān)聯(lián)的應(yīng)用程序。
6.如權(quán)利要求3所述的系統(tǒng),其特征在于,每一監(jiān)控代理能夠接收安全輸入并將所述安全輸入傳輸?shù)剿P(guān)聯(lián)的應(yīng)用程序。
7.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述監(jiān)控代理的至少一個監(jiān)控運行在所述可信環(huán)境中的應(yīng)用程序代理。
8.如權(quán)利要求2所述的系統(tǒng),其特征在于,它還包括運行在所述可信環(huán)境中的另一監(jiān)控代理,其中,所述監(jiān)控代理彼此間進行通信。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述基本監(jiān)控代理檢測所述不可信環(huán)境中的不一致性。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,它還包括檢測運行在所述不可信環(huán)境中的應(yīng)用程序中的不一致性的多個監(jiān)控代理。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,它還包括檢測運行在所述可信環(huán)境中的應(yīng)用程序中的不一致性的另外的監(jiān)控代理。
12.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述基本監(jiān)控代理的至少一個批準或否決不可信環(huán)境事件。
13.如權(quán)利要求12所述的系統(tǒng),其特征在于,所述至少一個基本監(jiān)控代理包括用于接收輸入的安全輸入,所述基本監(jiān)控代理基于所述接收的輸入批準或否決。
14.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述基本監(jiān)控代理的至少一個在未經(jīng)由安全輸入接收到批準的情況下拒絕允許對所述不可信環(huán)境的變化。
15.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述基本監(jiān)控代理的至少一個拒絕允許對所述不可信環(huán)境的變化,除非所述變化由經(jīng)批準方簽署的包描述。
16.如權(quán)利要求1所述的系統(tǒng),其特征在于,它還包括運行在所述可信環(huán)境中的一監(jiān)控代理,所述監(jiān)控代理監(jiān)控運行在所述不可信環(huán)境中的至少一個應(yīng)用程序、擴充或組件,其中,所述監(jiān)控代理使用密封存儲來對駐留在所述不可信環(huán)境中的操作系統(tǒng)或應(yīng)用程序保守機密。
17.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述監(jiān)控代理拒絕向所述操作系統(tǒng)或應(yīng)用程序揭示所述機密,除非所述操作系統(tǒng)或應(yīng)用程序具有與所述機密的所有者匹配的摘要。
18.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述監(jiān)控代理拒絕向所述操作系統(tǒng)或應(yīng)用程序揭示所述機密,除非所述操作系統(tǒng)或應(yīng)用程序在可讀取所述機密的摘要列表上。
19.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述監(jiān)控代理使用預(yù)定的測試來確定是否合法實體正在請求所述機密。
20.如權(quán)利要求19所述的系統(tǒng),其特征在于,所述預(yù)定測試包括檢查所述實體的棧并確保所述棧具有合法的棧內(nèi)容。
21.如權(quán)利要求1所述的系統(tǒng),其特征在于,它還包括運行在所述可信環(huán)境中的一監(jiān)控代理,所述監(jiān)控代理監(jiān)控運行在所述不可信環(huán)境中的至少一個應(yīng)用程序、擴充或組件,其中,所述監(jiān)控代理編輯所述不可信環(huán)境的狀態(tài)以將其變?yōu)榘踩蛞云渌绞娇山邮堋?br> 22.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述狀態(tài)包括初始配置或錯誤報告選項。
23.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述基本監(jiān)控代理以零值代表不屬于所述不可信環(huán)境中已知為好的配置或所述可信環(huán)境的物理存儲器。
24.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述不可信環(huán)境包括一基本輸入輸出系統(tǒng)(BIOS)、固件或加載器。
25.如權(quán)利要求1所述的系統(tǒng),其特征在于,它還包括用于在啟動時運行所述基本監(jiān)控代理的網(wǎng)絡(luò)點。
26.如權(quán)利要求1所述的系統(tǒng),其特征在于,它還包括所述可信環(huán)境中的一計數(shù)器,所述計數(shù)器用于確定是否應(yīng)當(dāng)運行所述基本監(jiān)控代理。
27.如權(quán)利要求26所述的系統(tǒng),其特征在于,所述計數(shù)器對不可信存儲器編輯操作的數(shù)量進行計數(shù)。
28.一種監(jiān)控不可信環(huán)境的方法,其特征在于,它包括提供所述不可信環(huán)境;在所述可信環(huán)境中提供至少一個基本監(jiān)控代理;以及監(jiān)控所述不可信環(huán)境的攻擊和不一致性以將所述可信環(huán)境的可信性投影到所述不可信環(huán)境。
29.如權(quán)利要求28所述的方法,其特征在于,它還包括提供運行在所述可信環(huán)境中的多個監(jiān)控代理;以及監(jiān)控運行在所述不可信環(huán)境中的至少一個應(yīng)用程序、擴充或組件。
30.如權(quán)利要求29所述的方法,其特征在于,它還包括將每一監(jiān)控代理與一應(yīng)用程序關(guān)聯(lián);以及監(jiān)控每一關(guān)聯(lián)的應(yīng)用程序的攻擊和不一致性。
31.如權(quán)利要求29所述的方法,其特征在于,它還包括把應(yīng)用程序與所述監(jiān)控代理之一相關(guān)聯(lián),并將所述應(yīng)用程序的一部分傳輸?shù)剿霰O(jiān)控代理使所述部分駐留在所述可信環(huán)境中。
32.如權(quán)利要求29所述的方法,其特征在于,它還包括將應(yīng)用程序與所述監(jiān)控代理相關(guān)聯(lián),并調(diào)節(jié)所述監(jiān)控代理中的檢查等級,以將威脅指向所述關(guān)聯(lián)的應(yīng)用程序。
33.如權(quán)利要求29所述的方法,其特征在于,它還包括將應(yīng)用程序與所述監(jiān)控代理關(guān)聯(lián),并在所述監(jiān)控代理上接收安全輸入并將所述安全輸入傳輸?shù)剿鰬?yīng)用程序。
34.如權(quán)利要求29所述的方法,其特征在于,所述監(jiān)控代理彼此進行通信。
35.如權(quán)利要求28所述的方法,其特征在于,它還包括所述基本監(jiān)控代理批準或否決不可信環(huán)境事件。
36.如權(quán)利要求35所述的方法,其特征在于,它還包括所述基本監(jiān)控代理從安全輸入接收輸入。
37.如權(quán)利要求28所述的方法,其特征在于,它還包括所述基本監(jiān)控代理在未經(jīng)由安全輸入接收批準的情況下拒絕允許對所述不可信環(huán)境的變化。
38.如權(quán)利要求28所述的方法,其特征在于,它還包括所述基本監(jiān)控代理拒絕允許對所述不可信環(huán)境的變化,除非所述變化由經(jīng)批準方簽署的包描述。
39.如權(quán)利要求28所述的方法,其特征在于,它還包括提供運行在所述可信環(huán)境中的多個監(jiān)控代理;以及所述監(jiān)控代理之一使用密封存儲來對駐留在所述不可信環(huán)境中的操作系統(tǒng)或應(yīng)用程序保守機密。
40.如權(quán)利要求39所述的方法,其特征在于,所述監(jiān)控代理拒絕向所述操作系統(tǒng)或應(yīng)用程序揭示所述機密,除非所述操作系統(tǒng)或應(yīng)用程序具有與所述機密的所有者匹配的摘要。
41.如權(quán)利要求39所述的方法,其特征在于,所述監(jiān)控代理拒絕向所述操作系統(tǒng)或應(yīng)用程序揭示所述機密,除非所述操作系統(tǒng)或應(yīng)用程序在可讀取所述機密的摘要列表上。
42.如權(quán)利要求39所述的方法,其特征在于,它還包括使用預(yù)定測試來確定是否合法實體正在請求所述機密。
43.如權(quán)利要求42所述的方法,其特征在于,所述預(yù)定測試包括檢查所述實體的棧并確保所述棧具有合法的棧內(nèi)容。
44.如權(quán)利要求28所述的方法,其特征在于,它還包括提供運行在所述可信環(huán)境中的多個監(jiān)控代理;以及所述監(jiān)控代理之一編輯所述不可信環(huán)境的狀態(tài)以將其變?yōu)榘踩蛞云渌绞娇山邮堋?br> 45.如權(quán)利要求44所述的方法,其特征在于,所述狀態(tài)包括初始配置或錯誤報告選項。
46.如權(quán)利要求28所述的方法,其特征在于,它還包括所述基本監(jiān)控代理以零值代表不屬于所述不可信環(huán)境的已知為好的配置或所述可信環(huán)境的物理存儲器。
47.如權(quán)利要求28所述的方法,其特征在于,所述不可信環(huán)境包括一基本輸入/輸出系統(tǒng)(BIOS)、固件或加載器。
48.如權(quán)利要求28所述的方法,其特征在于,它還包括在啟動時通過網(wǎng)絡(luò)點運行所述基本監(jiān)控代理。
49.如權(quán)利要求28所述的方法,其特征在于,它還包括確定響應(yīng)于計數(shù)器是否應(yīng)當(dāng)運行所述基本監(jiān)控代理。
50.如權(quán)利要求49所述的方法,其特征在于,所述計數(shù)器對不可信存儲器編輯操作的數(shù)量進行計數(shù)。
51.如權(quán)利要求28所述的方法,其特征在于,它還包括提供檢測運行在所述不可信環(huán)境中的應(yīng)用程序中的不一致性的多個監(jiān)控代理。
52.如權(quán)利要求51所述的方法,其特征在于,它還包括提供檢測運行在所述可信環(huán)境中的應(yīng)用程序中的不一致性的另外的監(jiān)控代理。
53.一種系統(tǒng),其特征在于,它包括一可信環(huán)境,具有操作系統(tǒng)、固件和基本輸入/輸出系統(tǒng)(BIOS)的至少一個;一不可信環(huán)境;以及運行在所述可信環(huán)境中并與運行在所述不可信環(huán)境中的操作系統(tǒng)、固件、BIOS和應(yīng)用程序之一關(guān)聯(lián)的至少一個監(jiān)控代理。
54.如權(quán)利要求53所述的系統(tǒng),其特征在于,所述至少一個監(jiān)控代理包括多個監(jiān)控代理,每一監(jiān)控代理具有相關(guān)聯(lián)的權(quán)力。
55.如權(quán)利要求53所述的系統(tǒng),其特征在于,所述可信環(huán)境在第一處理器體系結(jié)構(gòu)上運行,并且所述不可信環(huán)境在第二處理器體系結(jié)構(gòu)上運行,它還包括運行在所述第一處理器上的一基本監(jiān)控代理。
56.如權(quán)利要求53所述的系統(tǒng),其特征在于,所述可信環(huán)境和不可信環(huán)境運行在同一處理器上,它還包括運行在所述可信環(huán)境中的一基本監(jiān)控代理。
57.如權(quán)利要求53所述的系統(tǒng),其特征在于,所述可信環(huán)境運行在第一處理器上,所述不可信環(huán)境運行在第二處理器上,所述第一和第二處理器能夠在可信模式或不可信模式中運行。
58.如權(quán)利要求53所述的系統(tǒng),其特征在于,它還包括駐留在所述可信環(huán)境中的一網(wǎng)絡(luò)點和一基本監(jiān)控代理,所述基本監(jiān)控代理被綁定、連接或編譯到所述網(wǎng)絡(luò)點。
59.如權(quán)利要求53所述的系統(tǒng),其特征在于,它還包括駐留在所述可信環(huán)境中的一網(wǎng)絡(luò)點和一基本監(jiān)控代理,其中,所述基本監(jiān)控代理是運行在所述網(wǎng)絡(luò)點上的用戶模式處理器。
60.如權(quán)利要求53所述的系統(tǒng),其特征在于,它還包括的一基本監(jiān)控代理,該基本監(jiān)控代理駐留在所述可信環(huán)境中,并根據(jù)且使用且在一構(gòu)建環(huán)境中開發(fā),該構(gòu)建環(huán)境與所述不可信環(huán)境的操作系統(tǒng)相同或相關(guān)。
61.如權(quán)利要求53所述的系統(tǒng),其特征在于,它還包括駐留在所述可信環(huán)境中的一基本監(jiān)控代理,所述基本監(jiān)控代理是用于安全評估的可信計算基礎(chǔ)的一部分。
62.如權(quán)利要求53所述的系統(tǒng),其特征在于,它還包括一基本監(jiān)控代理,所述基本監(jiān)控代理的第一部分駐留在所述可信環(huán)境中,并且所述基本監(jiān)控代理的第二部分駐留在物理遠程機器上,所述第一和第二部分由安全鏈路連接。
63.一種系統(tǒng),其特征在于,它包括一運行在可信環(huán)境中的代理;一運行在所述可信環(huán)境中并提供到所述代理的投影的監(jiān)控代理;以及一運行在所述可信環(huán)境中監(jiān)控所述監(jiān)控代理的基本監(jiān)控代理。
64.如權(quán)利要求63所述的系統(tǒng),其特征在于,所述代理是虛擬機器代理,并且所述監(jiān)控代理是虛擬機器監(jiān)控代理。
65.如權(quán)利要求64所述的系統(tǒng),其特征在于,所述基本監(jiān)控代理是虛擬機器基本監(jiān)控代理,并投影所述虛擬機器代理中的操作系統(tǒng)映象。
66.如權(quán)利要求64所述的系統(tǒng),其特征在于,它還包括與所述虛擬機器監(jiān)控代理關(guān)聯(lián)的應(yīng)用程序,其中,所述基本監(jiān)控代理是虛擬機器基本監(jiān)控代理并提供到所述應(yīng)用程序的投影。
全文摘要
在具有運行在不可信環(huán)境中的實體和運行在可信環(huán)境中的實體的單個機器上,可信環(huán)境中的實體的可信性被投影到不可信環(huán)境中的實體。例如,這可以應(yīng)用到Microsoft的下一代安全計算基礎(chǔ)(NGSCB),其中,常規(guī)操作系統(tǒng)(如,Windows操作系統(tǒng))主含安全操作系統(tǒng)(如,網(wǎng)絡(luò)點)。
文檔編號G06F21/00GK1581073SQ20041005642
公開日2005年2月16日 申請日期2004年8月6日 優(yōu)先權(quán)日2003年8月7日
發(fā)明者B·M·維爾曼, P·英格蘭德, K·D·雷, K·卡普蘭, V·庫里恩, M·D·馬爾 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宝兴县| 扶沟县| 宣武区| 赤水市| 卓尼县| 阜城县| 板桥市| 孟津县| 遵义县| 玛沁县| 方城县| 江达县| 桂东县| 虎林市| 鄂托克旗| 佛冈县| 孝昌县| 齐齐哈尔市| 灯塔市| 朔州市| 富蕴县| 墨竹工卡县| 安图县| 南安市| 津南区| 酒泉市| 天等县| 阿图什市| 二手房| 南通市| 徐汇区| 盐津县| 定边县| 通渭县| 新兴县| 武陟县| 吉林省| 六安市| 佳木斯市| 鄱阳县| 昌都县|