亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

從遠(yuǎn)程服務(wù)器對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備進(jìn)行安全掃描的方法和裝置與流程

文檔序號(hào):11865198閱讀:436來(lái)源:國(guó)知局
從遠(yuǎn)程服務(wù)器對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備進(jìn)行安全掃描的方法和裝置與流程



背景技術(shù):

位于諸如硬盤驅(qū)動(dòng)器和固態(tài)驅(qū)動(dòng)器的數(shù)據(jù)存儲(chǔ)設(shè)備上的數(shù)據(jù),例如,會(huì)遭受惡意的軟件(惡意軟件)的損壞和攻擊。獨(dú)立軟件開發(fā)商(ISV)已經(jīng)開發(fā)了防病毒和可管理性軟件包來(lái)掃描數(shù)據(jù)存儲(chǔ)設(shè)備以檢測(cè)損壞的數(shù)據(jù)或惡意軟件和/或提供數(shù)據(jù)的備份拷貝。一些存儲(chǔ)、安全和可管理性ISV例如通過(guò)互聯(lián)網(wǎng)實(shí)現(xiàn)諸如防病毒掃描、惡意軟件清除、系統(tǒng)修復(fù)和系統(tǒng)重映像等的服務(wù)。這些基于互聯(lián)網(wǎng)的服務(wù)通常仍然依賴于在本地計(jì)算設(shè)備上運(yùn)行的本地軟件代理。

然而,這些軟件解決方案自身會(huì)遭受根工具包(rootkits)、間諜軟件和以隱藏自身不被檢測(cè)到為前提進(jìn)行操作的其它類型的惡意軟件的攻擊。例如,當(dāng)請(qǐng)求數(shù)據(jù)存儲(chǔ)設(shè)備的掃描時(shí),在存儲(chǔ)堆棧中將其自身偽裝成過(guò)濾器驅(qū)動(dòng)程序的惡意軟件能夠?qū)⒉豢尚诺臄?shù)據(jù)提供到防病毒或可管理性軟件(由此對(duì)軟件隱藏真實(shí)的損壞的數(shù)據(jù))。換言之,由防病毒或可管理性軟件掃描的數(shù)據(jù)可能不是真正位于數(shù)據(jù)存儲(chǔ)設(shè)備上的數(shù)據(jù)。此外,一旦根工具包能夠在平臺(tái)上(例如,在主引導(dǎo)記錄中)隱藏自己,那么根工具包可以觀察所有用戶活動(dòng)、捕獲用戶數(shù)據(jù)、執(zhí)行對(duì)用戶動(dòng)作的繞過(guò)和其它惡意活動(dòng)。已經(jīng)發(fā)現(xiàn)了根工具包、間諜軟件和其它惡意軟件對(duì)用戶隱藏自身并且在計(jì)算機(jī)系統(tǒng)的后臺(tái)中進(jìn)行執(zhí)行、收集敏感信息并顯著地降低系統(tǒng)速度等日益增多的事件。

附圖說(shuō)明

在附圖中以示例而非限制的方式說(shuō)明了本文描述的系統(tǒng)、設(shè)備和方法。為了說(shuō)明的簡(jiǎn)單和清楚,附圖中說(shuō)明的元件未必按照比例繪制。例如,為了清楚,可以相對(duì)于其他元件放大一些元件的尺寸。在以下附圖中:

圖1是被配置為從遠(yuǎn)程服務(wù)器提供對(duì)計(jì)算設(shè)備的數(shù)據(jù)存儲(chǔ)設(shè)備的安全掃描的系統(tǒng)的一個(gè)實(shí)施例的簡(jiǎn)化框圖;

圖2是圖1的計(jì)算設(shè)備和遠(yuǎn)程服務(wù)器的軟件/固件環(huán)境的一個(gè)實(shí)施例的簡(jiǎn)化框圖;

圖3是用于使用圖1的系統(tǒng)和圖2的軟件環(huán)境從遠(yuǎn)程服務(wù)器提供對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備的安全掃描的方法的一個(gè)實(shí)施例的簡(jiǎn)化流程圖;

圖4是圖1的計(jì)算設(shè)備和遠(yuǎn)程服務(wù)器的軟件/固件環(huán)境的另一實(shí)施例的簡(jiǎn)化框圖;以及

圖5是用于使用圖1的系統(tǒng)和圖4的軟件環(huán)境從遠(yuǎn)程服務(wù)器提供對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備的安全掃描的方法的另一實(shí)施例的簡(jiǎn)化流程圖。

具體實(shí)施方式

盡管本公開的概念容易具有各種修改和替代形式,但是在附圖中以示例的方式示出了其具體的例示性實(shí)施例并且在本文中將會(huì)對(duì)其進(jìn)行詳細(xì)地描述。然而,應(yīng)當(dāng)理解,不意圖將本公開的概念限制到所公開的特定形式,而是相反,意圖覆蓋落在由所附權(quán)利要求定義的本發(fā)明的精神和范圍內(nèi)的所有修改、等效形式和替代。

在以下的描述中,可以闡述諸如邏輯實(shí)現(xiàn)、操作碼、用于指定操作數(shù)的方法、資源劃分/共享/復(fù)制實(shí)現(xiàn)、系統(tǒng)部件的類型和相互關(guān)系以及邏輯劃分/集成選擇的許多具體細(xì)節(jié),以便提供對(duì)本公開的更加透徹的理解。然而,本領(lǐng)域的技術(shù)人員將意識(shí)到,可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)現(xiàn)本公開的實(shí)施例。在其他的實(shí)例中,沒(méi)有詳細(xì)地示出控制結(jié)構(gòu)、門級(jí)電路和全部軟件指令序列,以免模糊本公開。本領(lǐng)域的普通技術(shù)人員結(jié)合所包含的描述將能夠在無(wú)需過(guò)度實(shí)驗(yàn)的情況下實(shí)現(xiàn)合適的功能。

說(shuō)明書中提及的“一個(gè)實(shí)施例”、“實(shí)施例”、“說(shuō)明性實(shí)施例”等指示所描述的實(shí)施例可以包括特定特征、結(jié)構(gòu)或特性,但是每個(gè)實(shí)施例可以不必都包括該特定的特征、結(jié)構(gòu)或特性。此外,這些短語(yǔ)未必都指代同一實(shí)施例。此外,當(dāng)結(jié)合實(shí)施例描述了特定特征、結(jié)構(gòu)或特性時(shí),認(rèn)為結(jié)合其他實(shí)施例實(shí)現(xiàn)這些特征、結(jié)構(gòu)或特性是在本領(lǐng)域技術(shù)人員的知識(shí)范圍內(nèi)的,無(wú)論是否進(jìn)行了明確描述。

可以將本公開的一些實(shí)施例實(shí)現(xiàn)為硬件、固件、軟件或它們的任意組合。計(jì)算設(shè)備中實(shí)現(xiàn)的本公開的實(shí)施例可以包括部件之間的一個(gè)或多個(gè)基于總線的互連和/或部件之間的一個(gè)或多個(gè)點(diǎn)到點(diǎn)互連。還可以將本發(fā)明的實(shí)施例實(shí)現(xiàn)為可以由一個(gè)或多個(gè)處理器讀取和執(zhí)行的、存儲(chǔ)在一個(gè)或多個(gè)有形的機(jī)器可讀介質(zhì)上的指令。有形的機(jī)器可讀介質(zhì)可以包括用于以機(jī)器(例如,計(jì)算設(shè)備)可讀的形式存儲(chǔ)或傳輸信息的任何有形機(jī)構(gòu)。例如,有形的機(jī)器可讀介質(zhì)可以包括只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、磁盤存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)、閃速存儲(chǔ)設(shè)備和其他有形介質(zhì)。

本公開總體上涉及從遠(yuǎn)程服務(wù)器提供對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備的安全掃描的方法和裝置。這些方法和裝置確保所掃描的數(shù)據(jù)實(shí)際上是從數(shù)據(jù)存儲(chǔ)設(shè)備檢索的數(shù)據(jù),而不是由一些惡意軟件(例如,隱藏在計(jì)算設(shè)備上的根工具包)虛假地提供的數(shù)據(jù)。根據(jù)本公開,帶外(out-of-band,OOB)代理用來(lái)實(shí)現(xiàn)遠(yuǎn)程服務(wù)器和數(shù)據(jù)存儲(chǔ)設(shè)備之間的塊讀取/寫入接口。OOB代理結(jié)合計(jì)算系統(tǒng)的主驅(qū)動(dòng)程序(host driver),以信任的方式從數(shù)據(jù)存儲(chǔ)設(shè)備檢索數(shù)據(jù)并且將該數(shù)據(jù)提供給遠(yuǎn)程服務(wù)器。由于OOB代理是防篡改的,所以可以向遠(yuǎn)程服務(wù)器確保數(shù)據(jù)未被一些惡意軟件偽造。在一些實(shí)施例中,OOB代理還可以檢索由數(shù)據(jù)存儲(chǔ)設(shè)備的加密引擎生成的認(rèn)證元數(shù)據(jù)。可以由OOB代理或遠(yuǎn)程服務(wù)器使用該認(rèn)證元數(shù)據(jù)來(lái)驗(yàn)證數(shù)據(jù)實(shí)際上是從數(shù)據(jù)存儲(chǔ)設(shè)備檢索的。首先,下文參考圖1描述了系統(tǒng)100的各個(gè)硬件部件。其次,下文參考圖2和圖3描述了系統(tǒng)100的可能的軟件/固件環(huán)境的一個(gè)實(shí)施例和用于提供安全掃描的相關(guān)聯(lián)的方法300。最后,下文參考圖4和圖5描述了系統(tǒng)100的可能的軟件/固件環(huán)境的另一實(shí)施例和用于提供安全掃描的相關(guān)聯(lián)的方法500。

現(xiàn)在參考圖1,被配置為從遠(yuǎn)程服務(wù)器104提供對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備120的安全掃描的說(shuō)明性的系統(tǒng)100包括計(jì)算設(shè)備102、遠(yuǎn)程服務(wù)器104和將計(jì)算設(shè)備102通信地耦合到遠(yuǎn)程服務(wù)器104的網(wǎng)絡(luò)106。盡管在圖1中僅說(shuō)明性地示出了一個(gè)計(jì)算設(shè)備102、一個(gè)遠(yuǎn)程服務(wù)器104和一個(gè)網(wǎng)絡(luò)106,但是系統(tǒng)100可以包括類似架構(gòu)或不類似架構(gòu)的任意數(shù)量的計(jì)算設(shè)備102、遠(yuǎn)程服務(wù)器104和網(wǎng)絡(luò)106。例如,計(jì)算設(shè)備102可以通過(guò)一個(gè)或多個(gè)網(wǎng)絡(luò)106與多個(gè)遠(yuǎn)程服務(wù)器104進(jìn)行通信,并且每一個(gè)遠(yuǎn)程服務(wù)器104可以通過(guò)一個(gè)或多個(gè)網(wǎng)絡(luò)106與多個(gè)計(jì)算設(shè)備102進(jìn)行通信。

計(jì)算設(shè)備102可以體現(xiàn)為能夠執(zhí)行本文描述的功能的任何類型的電子設(shè)備。以示例的方式,計(jì)算設(shè)備102可以體現(xiàn)為個(gè)人計(jì)算機(jī)、工作站、膝上型計(jì)算機(jī)、手持計(jì)算機(jī)、移動(dòng)互聯(lián)網(wǎng)設(shè)備、蜂窩電話、個(gè)人數(shù)據(jù)助理、電話設(shè)備、網(wǎng)絡(luò)裝置、虛擬化設(shè)備、存儲(chǔ)控制器或其他基于計(jì)算機(jī)的設(shè)備。在圖1中示出的說(shuō)明性的實(shí)施例中,計(jì)算設(shè)備102包括帶內(nèi)處理器110、芯片組112、系統(tǒng)存儲(chǔ)器114、通信電路116、一個(gè)或多個(gè)輸入/輸出設(shè)備118和數(shù)據(jù)存儲(chǔ)設(shè)備120。在一些實(shí)施例中,上述部件的若干可以包含在計(jì)算設(shè)備102的母板上,而其他部件可以經(jīng)由例如外圍端口通信地耦合到母板上。此外,應(yīng)當(dāng)意識(shí)到,計(jì)算設(shè)備102可以包括在計(jì)算機(jī)和/或計(jì)算設(shè)備中通常出現(xiàn)的其他部件、子部件和設(shè)備,為了描述的清楚沒(méi)有在圖1中對(duì)其進(jìn)行說(shuō)明。

計(jì)算設(shè)備102的帶內(nèi)處理器110可以是能夠執(zhí)行軟件/固件的任何類型的處理器,例如,微處理器、數(shù)字信號(hào)處理器、微控制器等。帶內(nèi)處理器110說(shuō)明性地體現(xiàn)為具有一個(gè)處理器核心122的單核處理器。然而,在其他實(shí)施例中,帶內(nèi)處理器110可以體現(xiàn)為具有多個(gè)處理器核心122的多核處理器。另外,計(jì)算設(shè)備102可以包括具有一個(gè)或多個(gè)處理器核心122的額外的帶內(nèi)處理器110。帶內(nèi)處理器110通常負(fù)責(zé)執(zhí)行軟件堆棧,其可以包括位于計(jì)算設(shè)備102上的操作系統(tǒng)200和各種應(yīng)用、程序、庫(kù)和驅(qū)動(dòng)程序202、204(如圖2和4示出的和下文所描述的)。

計(jì)算設(shè)備102的芯片組112可以包括存儲(chǔ)器控制器中心(MCH或“北橋”)、輸入/輸出控制器中心(ICH或“南橋”)和固件設(shè)備。芯片組112的固件設(shè)備可以體現(xiàn)為用于存儲(chǔ)基本輸入/輸出(BIOS)數(shù)據(jù)和/或指令和/或其他信息(例如,在計(jì)算設(shè)備102的引導(dǎo)期間使用的BIOS驅(qū)動(dòng)程序)的存儲(chǔ)設(shè)備。在其他實(shí)施例中,可以使用具有其他配置的芯片組。例如,在一些實(shí)施例中,芯片組112可以體現(xiàn)為平臺(tái)控制器中心(PCH)。在這種實(shí)施例中,存儲(chǔ)器控制器中心(MCH)可以包含在帶內(nèi)處理器110中或以其他方式與帶內(nèi)處理器110相關(guān)聯(lián),并且?guī)?nèi)處理器110可以與系統(tǒng)存儲(chǔ)器114直接地進(jìn)行通信(如由圖1中的虛線所示出的)。在任何這些配置中,芯片組112還包括將在下文中更詳細(xì)地進(jìn)行描述的帶外(OOB)處理器124。

帶內(nèi)處理器110經(jīng)由多個(gè)信號(hào)路徑通信地耦合到芯片組112。這些信號(hào)路徑(和圖1中說(shuō)明的其他信號(hào)路徑)可以體現(xiàn)為能夠促成計(jì)算設(shè)備102的部件之間的通信的任何類型的信號(hào)路徑。例如,信號(hào)路徑可以體現(xiàn)為任意數(shù)量的導(dǎo)線、線纜、光引導(dǎo)、印刷電路板跡線、通路、總線、中間設(shè)備等。

計(jì)算設(shè)備102的系統(tǒng)存儲(chǔ)器114還可以經(jīng)由多個(gè)信號(hào)路徑通信地耦合到芯片組112。系統(tǒng)存儲(chǔ)器114可以體現(xiàn)為一個(gè)或多個(gè)存儲(chǔ)設(shè)備或數(shù)據(jù)存儲(chǔ)單元,包括例如,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)設(shè)備(DRAM)、同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)設(shè)備(SDRAM)、雙倍數(shù)據(jù)速率同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)設(shè)備(DDR SDRAM)、閃速存儲(chǔ)設(shè)備和/或其他易失性存儲(chǔ)設(shè)備。另外,盡管在圖1中僅說(shuō)明了單個(gè)系統(tǒng)存儲(chǔ)設(shè)備114,但是在其他實(shí)施例中,計(jì)算設(shè)備102可以包括另外的系統(tǒng)存儲(chǔ)設(shè)備。組成由帶內(nèi)處理器110執(zhí)行的軟件堆棧的操作系統(tǒng)200、應(yīng)用、程序、庫(kù)和驅(qū)動(dòng)程序202、204在執(zhí)行期間可以位于系統(tǒng)存儲(chǔ)器114中。此外,作為存儲(chǔ)器管理操作的一部分,在系統(tǒng)存儲(chǔ)器114和數(shù)據(jù)存儲(chǔ)設(shè)備120之間可以交換存儲(chǔ)在系統(tǒng)存儲(chǔ)器114中的軟件和數(shù)據(jù)。

計(jì)算設(shè)備102的通信電路116可以體現(xiàn)為用于使得能夠通過(guò)網(wǎng)絡(luò)106在計(jì)算設(shè)備102和遠(yuǎn)程服務(wù)器104之間進(jìn)行通信的任意數(shù)量的設(shè)備和電路。網(wǎng)絡(luò)106可以體現(xiàn)為任意類型的有線和/或無(wú)線網(wǎng)絡(luò),例如局域網(wǎng)、廣域網(wǎng)、可公共使用的全球網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))或其的任何組合。此外,網(wǎng)絡(luò)106可以包括用于促成計(jì)算設(shè)備102和遠(yuǎn)程服務(wù)器104之間的通信的任意數(shù)量的附加設(shè)備,例如,路由器、交換機(jī)、中間計(jì)算機(jī)等。通信電路116可以包括用于促成通過(guò)網(wǎng)絡(luò)106的有線和/或無(wú)線部分進(jìn)行的通信的一個(gè)或多個(gè)有線和/或無(wú)線網(wǎng)絡(luò)接口。通信電路116還經(jīng)由多個(gè)信號(hào)路徑通信地耦合到芯片組112,這允許帶內(nèi)處理器110和OOB處理器124二者獨(dú)立地訪問(wèn)網(wǎng)絡(luò)106。

計(jì)算設(shè)備102的輸入/輸出設(shè)備118可以包括任意數(shù)量的外圍或接口設(shè)備。以說(shuō)明性的示例的方式,輸入/輸出設(shè)備118可以包括計(jì)算設(shè)備102的顯示器、鼠標(biāo)、鍵盤和/或一個(gè)或多個(gè)外部揚(yáng)聲器。包括在輸入/輸出設(shè)備118中的特定設(shè)備可以依賴于例如計(jì)算設(shè)備102的預(yù)期用途。在一些實(shí)施例中,輸入/輸出設(shè)備118經(jīng)由多個(gè)信號(hào)路徑通信地耦合到芯片組112,這允許芯片組112和/或帶內(nèi)處理器110接收來(lái)自輸入/輸出設(shè)備118的輸入和將輸出發(fā)送到輸入/輸出設(shè)備118。

計(jì)算設(shè)備102還包括數(shù)據(jù)存儲(chǔ)設(shè)備(DSD)120,其可以說(shuō)明性地體現(xiàn)為被配置用于數(shù)據(jù)的短期或長(zhǎng)期存儲(chǔ)的任何類型的設(shè)備,例如,存儲(chǔ)設(shè)備和電路、存儲(chǔ)卡、硬盤驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器或其他數(shù)據(jù)存儲(chǔ)設(shè)備。在一些實(shí)施例中,DSD 120可以包括即使在DSD 120沒(méi)有通電時(shí)仍然能夠保存所存儲(chǔ)的數(shù)據(jù)的非易失性存儲(chǔ)器。另外,盡管在圖1中僅說(shuō)明了單個(gè)DSD 120,但是在其他實(shí)施例中,計(jì)算設(shè)備102可以包括額外的數(shù)據(jù)存儲(chǔ)設(shè)備。DSD 120還可以經(jīng)由多個(gè)信號(hào)路徑通信地耦合到芯片組112。在一些實(shí)施例中,DSD 120可以經(jīng)由諸如外圍部件快速互連(PCIe)接口或串行AT附件(SATA)接口之類的高速串行鏈路耦合到芯片組112。將意識(shí)到,可以考慮在DSD 120和芯片組112之間的其他類型的接口(例如,并行信號(hào)路徑)。在圖1的說(shuō)明性的實(shí)施例中,DSD 120包括加密電路126,其為DSD 120提供基于硬件的加密引擎212(如圖2中所示)。如下文進(jìn)一步描述的,加密電路126(和與其一起實(shí)現(xiàn)的加密引擎212)允許DSD 120為從該DSD 120檢索的數(shù)據(jù)本地地生成認(rèn)證元數(shù)據(jù)。

芯片組112包括帶外(OOB)處理器124,其與帶內(nèi)處理器110不同并且一般獨(dú)立于帶內(nèi)處理器110進(jìn)行操作。OOB處理器124可以體現(xiàn)為能夠執(zhí)行軟件/固件的任何類型的處理器,例如微處理器、數(shù)字信號(hào)處理器、微控制器等,包括具有一個(gè)或多個(gè)處理器核心(未示出)的一個(gè)或多個(gè)處理器。盡管在圖1中將OOB處理器124說(shuō)明為集成在芯片組112中,但是在其他實(shí)施例中,OOB處理器124可以體現(xiàn)為布置在經(jīng)由多個(gè)信號(hào)路徑通信地耦合到芯片組112的擴(kuò)展板上的一個(gè)或多個(gè)分離的集成電路。在一些實(shí)施例中,OOB處理器124可以經(jīng)由多個(gè)信號(hào)路徑獨(dú)立地通信地耦合到計(jì)算設(shè)備102的各個(gè)部件上(例如,系統(tǒng)存儲(chǔ)器114和通信電路116)。可替換地或附加地,OOB處理器124可以包括具有類似功能的內(nèi)置部件,例如專用存儲(chǔ)器和/或?qū)S猛ㄐ烹娐?未示出)。

OOB處理器124被配置為用于管理計(jì)算設(shè)備102的特定功能,而不考慮計(jì)算設(shè)備102的帶內(nèi)處理器110或操作系統(tǒng)200的操作狀態(tài)。為了促成這些獨(dú)立操作,可以為OOB處理器124提供到計(jì)算設(shè)備102的電能電路(未示出)的獨(dú)立連接,以允許OOB處理器124即使在計(jì)算設(shè)備102的其他部件被斷電或關(guān)閉時(shí)仍然能夠保存電能。此外,可以為OOB處理器124提供經(jīng)由通信電路116的一個(gè)或多個(gè)獨(dú)立的網(wǎng)絡(luò)接口,也為其提供到電能電路(未示出)的獨(dú)立的連接,以允許通過(guò)網(wǎng)絡(luò)106進(jìn)行帶外通信。換言之,OOB處理器124能夠在運(yùn)行在帶內(nèi)處理器110上的操作系統(tǒng)200之外與網(wǎng)絡(luò)106上的設(shè)備(例如,遠(yuǎn)程服務(wù)器104)直接地進(jìn)行通信。事實(shí)上,可以在用戶不知道的情況下進(jìn)行該通信。OOB處理器124還能夠使得計(jì)算設(shè)備102返回到全功率操作狀態(tài),包括引導(dǎo)操作系統(tǒng)200。總之,無(wú)論帶內(nèi)處理器110被關(guān)閉、在等待狀態(tài)下運(yùn)行、正在被初始化或處于正常的操作中以及無(wú)論操作系統(tǒng)200在引導(dǎo)、運(yùn)行、崩潰或其他,OOB處理器124可以基于到來(lái)的請(qǐng)求/命令智能地進(jìn)行操作并通過(guò)網(wǎng)絡(luò)106進(jìn)行通信。

在一些說(shuō)明性的實(shí)施例中,可以使用主動(dòng)管理技術(shù)(AMT)、使用AMT的一部分或使用管理引擎(ME)來(lái)實(shí)現(xiàn)OOB處理器124,它們?nèi)靠蓮募永D醽喼菔タ死挠⑻貭柟精@得和/或在由英特爾公司銷售的芯片組中。Intel嵌入式平臺(tái)技術(shù)使得能夠?qū)γ恳粋€(gè)終端設(shè)備上的非易失性存儲(chǔ)器中存儲(chǔ)的硬件和軟件信息進(jìn)行帶外訪問(wèn),從而消除對(duì)正在運(yùn)行的操作系統(tǒng)和在其他管理工具中出現(xiàn)的許多軟件代理的需要。

遠(yuǎn)程服務(wù)器104可以體現(xiàn)為與計(jì)算設(shè)備102分離的任何類型的計(jì)算設(shè)備。以示例的方式,遠(yuǎn)程服務(wù)器104可以體現(xiàn)為個(gè)人計(jì)算機(jī)、工作站、膝上型計(jì)算機(jī)、手持計(jì)算機(jī)、移動(dòng)互聯(lián)網(wǎng)設(shè)備、蜂窩電話、個(gè)人數(shù)據(jù)助理、電話設(shè)備、網(wǎng)絡(luò)裝置、虛擬化設(shè)備、存儲(chǔ)控制器或被配置為通過(guò)網(wǎng)絡(luò)106與計(jì)算設(shè)備102進(jìn)行通信的其他基于計(jì)算機(jī)的設(shè)備。在圖1中示出的說(shuō)明性的實(shí)施例中,遠(yuǎn)程服務(wù)器104包括處理器130、芯片組132、系統(tǒng)存儲(chǔ)器134、通信電路136和一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備138(其每一個(gè)在配置和操作方面可以分別類似于計(jì)算設(shè)備102的帶內(nèi)處理器110、芯片組112、系統(tǒng)存儲(chǔ)器114、通信電路116和數(shù)據(jù)存儲(chǔ)設(shè)備120)。應(yīng)預(yù)期到,遠(yuǎn)程服務(wù)器104可以具有其他配置和/或包括沒(méi)有在圖1中示出的其他部件(例如,一個(gè)或多個(gè)輸入/輸出設(shè)備)。

現(xiàn)在參考圖2,用簡(jiǎn)化框圖示出了在系統(tǒng)100的計(jì)算設(shè)備102和遠(yuǎn)程服務(wù)器104上運(yùn)行的軟件/固件環(huán)境的一個(gè)說(shuō)明性的實(shí)施例。計(jì)算設(shè)備102的軟件堆棧包括操作系統(tǒng)(OS)200、高級(jí)主機(jī)控制器接口(AHCI)驅(qū)動(dòng)程序202和文件系統(tǒng)以及其他過(guò)濾器驅(qū)動(dòng)程序204(其中的每一個(gè)可以由帶內(nèi)處理器110執(zhí)行和/或存儲(chǔ)在系統(tǒng)存儲(chǔ)器114中或DSD 120上)。OS 200位于用戶空間(環(huán)3)中并且作為計(jì)算設(shè)備102的用戶通常與之進(jìn)行交互的更高層應(yīng)用的宿主(host)。OS 200訪問(wèn)位于內(nèi)核(環(huán)0)中的文件系統(tǒng)和包括AHCI驅(qū)動(dòng)程序202的過(guò)濾器驅(qū)動(dòng)程序204,以訪問(wèn)計(jì)算設(shè)備102的硬件部件(例如,DSD 120)。將意識(shí)到,在一些實(shí)施例中,還可以部分地或完全地以固件或硬件的形式實(shí)現(xiàn)這些軟件模塊的任何模塊,包括OS 200和/或驅(qū)動(dòng)程序202、204。

在圖2中將AHCI驅(qū)動(dòng)程序202示出為與文件系統(tǒng)和其它過(guò)濾器驅(qū)動(dòng)程序204是分離的,因?yàn)锳HCI驅(qū)動(dòng)程序202被配置為與DSD 120的接口模塊210進(jìn)行交互以執(zhí)行各種讀取/寫入操作。具體地說(shuō),AHCI驅(qū)動(dòng)程序202包括可以由AHCI驅(qū)動(dòng)程序202發(fā)送到DSD接口模塊210的存儲(chǔ)命令的庫(kù)206。庫(kù)206中的這些存儲(chǔ)命令是使DSD 120執(zhí)行一些動(dòng)作的請(qǐng)求和/或指令。例如,在DSD 120是經(jīng)由PCIe接口連接的NAND閃速存儲(chǔ)設(shè)備的情況下,AHCI驅(qū)動(dòng)程序202可以包含使得DSD 120來(lái)執(zhí)行各種讀取/寫入操作的存儲(chǔ)命令的NAND命令庫(kù)206。如另一示例,在DSD 120是經(jīng)由SATA接口連接的固態(tài)驅(qū)動(dòng)器的情況下,AHCI驅(qū)動(dòng)程序202可以包含使得DSD 120來(lái)執(zhí)行各種讀取/寫入操作的存儲(chǔ)命令的ATA命令庫(kù)206。因此,當(dāng)(例如,由OS 200)請(qǐng)求AHCI驅(qū)動(dòng)程序202檢索位于DSD 120中的某個(gè)邏輯塊地址(LBA)處的數(shù)據(jù)時(shí),AHCI驅(qū)動(dòng)程序202從庫(kù)206選擇合適的存儲(chǔ)命令并且將該存儲(chǔ)命令發(fā)送到DSD 120。盡管在圖2中示出的說(shuō)明性的實(shí)施例使用AHCI驅(qū)動(dòng)程序202來(lái)實(shí)現(xiàn)對(duì)DSD接口模塊210的接口,但是可以預(yù)期,對(duì)于AHCI驅(qū)動(dòng)程序202,可以附加地或可替換地使用能夠訪問(wèn)DSD 120(即,具有合適的存儲(chǔ)命令庫(kù)206)的計(jì)算設(shè)備102的任何主驅(qū)動(dòng)程序。例如,在一些實(shí)施例中,可以使用可從加利福尼亞州圣克拉拉的英特爾公司獲得的快速存儲(chǔ)技術(shù)(RST)驅(qū)動(dòng)程序。

圖2的計(jì)算設(shè)備102還包括若干固件模塊,例如可以在DSD 120上執(zhí)行的DSD接口模塊210以及可以在OOB處理器124上執(zhí)行的OOB代理214。盡管示出為分別地位于DSD 120固件和芯片組112固件中,但是可以意識(shí)到,附加地或可替換地,DSD接口模塊210和OOB代理214可以每一個(gè)體現(xiàn)為一個(gè)或多個(gè)硬件和/或軟件模塊。如上文所描述的,DSD接口模塊210通常被配置為從AHCI驅(qū)動(dòng)程序202(或其他主驅(qū)動(dòng)程序)接收存儲(chǔ)命令,以及控制DSD 120來(lái)執(zhí)行各種動(dòng)作(例如,讀取/寫入操作)。

DSD接口模塊210包括基于硬件的加密引擎212,其可以包括由DSD 120的加密電路126執(zhí)行的固件或軟件。在一些實(shí)施例中,DSD接口模塊210可以被配置為響應(yīng)于來(lái)自AHCI驅(qū)動(dòng)程序202的特定存儲(chǔ)命令(或存儲(chǔ)命令的特定類別或種類)利用加密引擎212來(lái)為從DSD 120檢索的數(shù)據(jù)生成認(rèn)證元數(shù)據(jù)。在其他實(shí)施例中,加密引擎212可以響應(yīng)于DSD接口模塊210接收的任何存儲(chǔ)命令來(lái)為從DSD 120檢索的數(shù)據(jù)生成認(rèn)證元數(shù)據(jù)。以說(shuō)明性的示例的方式,加密引擎212可以體現(xiàn)在符合Opal安全子系統(tǒng)類別標(biāo)準(zhǔn)(由可信計(jì)算組發(fā)布)的固件中。

由DSD 120的加密引擎212生成的認(rèn)證元數(shù)據(jù)可以采取可用來(lái)驗(yàn)證相關(guān)聯(lián)數(shù)據(jù)的可靠性的任何形式。在一些實(shí)施例中,加密引擎212可以通過(guò)將使用共享秘密密鑰的帶密鑰散列函數(shù)應(yīng)用到從DSD 120檢索的數(shù)據(jù),來(lái)生成要包括在認(rèn)證元數(shù)據(jù)中的消息認(rèn)證代碼(MAC)。然后,也擁有所述共享秘密密鑰的任何其他部件、設(shè)備或用戶可以將帶密鑰散列函數(shù)重新應(yīng)用到數(shù)據(jù)并且將輸出與包括在認(rèn)證元數(shù)據(jù)中的MAC進(jìn)行比較。附加地或可替換地,加密引擎212可以生成要包括在認(rèn)證元數(shù)據(jù)中的計(jì)數(shù)器值(例如,表明數(shù)據(jù)從DSD 120檢索出來(lái)的時(shí)間的時(shí)間戳或其他標(biāo)記)。然后,任何其他部件、設(shè)備或用戶可以比較數(shù)據(jù)預(yù)期從DSD 120中被檢索的時(shí)間,以保護(hù)不受重放(replay)攻擊(涉及過(guò)期數(shù)據(jù))。在其他實(shí)施例中,加密引擎212可以通過(guò)將使用私鑰的簽名算法應(yīng)用到從DSD 120檢索的數(shù)據(jù)來(lái)生成要包括在認(rèn)證元數(shù)據(jù)中的數(shù)字簽名。然后,擁有對(duì)應(yīng)于該私鑰的公鑰的任何其他部件、設(shè)備或用戶可以通過(guò)使用認(rèn)證元數(shù)據(jù)來(lái)應(yīng)用簽名驗(yàn)證算法。在其他的實(shí)施例中,加密引擎212可以利用任意數(shù)量的加密散列函數(shù)來(lái)生成認(rèn)證元數(shù)據(jù)。

OOB代理214被說(shuō)明為在圖2的實(shí)施例中的OOB處理器124上執(zhí)行的固件模塊(盡管在其他實(shí)施例中,OOB代理214可以體現(xiàn)在硬件、固件、軟件或它們的任意組合中),其中,所述OOB代理214為遠(yuǎn)程服務(wù)器104提供經(jīng)由主驅(qū)動(dòng)程序到DSD 120的訪問(wèn)。由于上文描述的OOB處理器124的屬性,OOB代理214通常對(duì)遠(yuǎn)程服務(wù)器104總是可用的并且針對(duì)惡意軟件是防篡改的。OOB代理214包括遠(yuǎn)程塊讀取/寫入模塊216、OOB通信模塊218和(在一些實(shí)施例中的)驗(yàn)證模塊220。OOB通信模塊218允許OOB代理214控制計(jì)算設(shè)備102的通信電路116的各個(gè)部分以通過(guò)網(wǎng)絡(luò)106發(fā)送和接收去往和來(lái)自遠(yuǎn)程服務(wù)器104的各種網(wǎng)絡(luò)消息。遠(yuǎn)程塊讀取/寫入模塊216為遠(yuǎn)程服務(wù)器提供接口來(lái)請(qǐng)求在DSD 120上的特定LBA處的數(shù)據(jù)。當(dāng)經(jīng)由OOB通信模塊218接收到從DSD 120讀取數(shù)據(jù)的請(qǐng)求時(shí),遠(yuǎn)程塊讀取/寫入模塊216將請(qǐng)求轉(zhuǎn)發(fā)到在帶內(nèi)處理器110上執(zhí)行的AHCI驅(qū)動(dòng)程序202??梢允褂弥鳈C(jī)嵌入式控制器接口(HECI)或在OOB代理214和OS 200之間共享的任何其他存儲(chǔ)器信道來(lái)發(fā)送在遠(yuǎn)程塊讀取/寫入模塊216和AHCI驅(qū)動(dòng)程序202之間的該消息。AHCI驅(qū)動(dòng)程序202還可以包括應(yīng)用程序編程接口(API)208,其被配置為從OOB代理214接收這種消息并且指示AHCI 202從庫(kù)206中選擇和發(fā)送合適的存儲(chǔ)命令。下文將更詳細(xì)地描述包括在OOB代理214的一些實(shí)施例中的驗(yàn)證模塊220。

遠(yuǎn)程服務(wù)器104的軟件堆棧包括OS(未示出)、一個(gè)或多個(gè)ISV應(yīng)用222、遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224以及文件系統(tǒng)和其它過(guò)濾器驅(qū)動(dòng)程序226(其中的每一個(gè)可以由處理器130執(zhí)行和/或存儲(chǔ)在系統(tǒng)存儲(chǔ)器132中或大容量存儲(chǔ)設(shè)備138上)。如圖2中所說(shuō)明的,遠(yuǎn)程服務(wù)器104還包括DSD 120的一個(gè)或多個(gè)盤映像228(存儲(chǔ)在大容量存儲(chǔ)設(shè)備138上)。類似于計(jì)算設(shè)備102,遠(yuǎn)程服務(wù)器104的OS(位于用戶空間中)作為更高層應(yīng)用的宿主,例如ISV應(yīng)用222。一個(gè)或多個(gè)ISV應(yīng)用222可以體現(xiàn)為要求DSD 120的安全掃描的存儲(chǔ)、安全和/或可管理性應(yīng)用。一個(gè)或多個(gè)ISV應(yīng)用222可以(經(jīng)由OS)訪問(wèn)(位于內(nèi)核中的)文件系統(tǒng)和過(guò)濾器驅(qū)動(dòng)程序226,以訪問(wèn)遠(yuǎn)程服務(wù)器104的硬件部件(例如,大容量存儲(chǔ)設(shè)備138)。例如,ISV應(yīng)用222可以經(jīng)由文件系統(tǒng)和其它過(guò)濾器驅(qū)動(dòng)程序226來(lái)訪問(wèn)存儲(chǔ)在大容量存儲(chǔ)設(shè)備138上的盤映像228。將意識(shí)到,在一些實(shí)施例中,還可以部分地或完全地將這些軟件模塊中的任意模塊(包括OS、ISV應(yīng)用222和/或驅(qū)動(dòng)程序226)實(shí)現(xiàn)在固件或硬件中。

遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224允許遠(yuǎn)程服務(wù)器104來(lái)遠(yuǎn)程地掛載(mount)計(jì)算設(shè)備102的DSD 120。換言之,遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224結(jié)合在計(jì)算設(shè)備102上執(zhí)行的OOB代理214,允許遠(yuǎn)程服務(wù)器104來(lái)映射并隨后訪問(wèn)DSD 120,如同DSD 120是遠(yuǎn)程服務(wù)器104的本地存儲(chǔ)設(shè)備一樣。一旦由遠(yuǎn)程服務(wù)器104掛載了DSD 120,那么遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224可以將讀取在DSD 120上的特定LBA處的數(shù)據(jù)的請(qǐng)求發(fā)送到OOB代理(如上文所描述的,然后將該請(qǐng)求轉(zhuǎn)發(fā)給AHCI驅(qū)動(dòng)程序202)。一旦返回了所請(qǐng)求的數(shù)據(jù),那么OOB代理214可以使用OOB通信模塊218將該數(shù)據(jù)(與任何相關(guān)聯(lián)的認(rèn)證元數(shù)據(jù)一起)傳輸?shù)竭h(yuǎn)程服務(wù)器104的遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224。然后遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224可以將所請(qǐng)求的數(shù)據(jù)提供給ISV應(yīng)用222或?qū)⒃摂?shù)據(jù)存儲(chǔ)為盤映像228的一部分。

遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224還包括用于使用相關(guān)聯(lián)的認(rèn)證元數(shù)據(jù)來(lái)驗(yàn)證從DSD 120檢索的數(shù)據(jù)的可靠性的驗(yàn)證模塊230。如上文所描述的,在認(rèn)證元數(shù)據(jù)包括MAC的情況下,驗(yàn)證模塊230可以將散列函數(shù)重新應(yīng)用到數(shù)據(jù)(假設(shè)驗(yàn)證模塊230擁有由加密引擎212使用的共享秘密密鑰)并且將輸出與包括在認(rèn)證元數(shù)據(jù)中的MAC進(jìn)行比較。附加地或可替換地,驗(yàn)證模塊230可以將認(rèn)證元數(shù)據(jù)中的計(jì)數(shù)器值與數(shù)據(jù)預(yù)期從DSD 120中被檢索的時(shí)間進(jìn)行比較,以保護(hù)不受重放攻擊。在認(rèn)證元數(shù)據(jù)包括數(shù)字簽名的情況下,驗(yàn)證模塊230可以通過(guò)使用認(rèn)證元數(shù)據(jù)來(lái)應(yīng)用簽名驗(yàn)證算法(假設(shè)驗(yàn)證模塊230擁有對(duì)應(yīng)于由加密引擎212所使用的私鑰的公鑰)。在一些實(shí)施例中,可以包括在OOB代理214中的驗(yàn)證模塊220可以在將數(shù)據(jù)傳輸?shù)竭h(yuǎn)程服務(wù)器104之前,以大體相同的方式進(jìn)行操作以驗(yàn)證從DSD 120檢索的數(shù)據(jù)的可靠性。在使用驗(yàn)證模塊220的實(shí)施例中,可以從遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224省略驗(yàn)證模塊230,并且OOB代理214可以放棄將認(rèn)證元數(shù)據(jù)傳輸?shù)竭h(yuǎn)程服務(wù)器104(因?yàn)橐呀?jīng)驗(yàn)證了數(shù)據(jù)的可靠性)。

在OOB處理器124上運(yùn)行的OOB代理214和在DSD 120上運(yùn)行的加密引擎212的若干特征允許系統(tǒng)100從遠(yuǎn)程服務(wù)器104提供對(duì)計(jì)算設(shè)備102的DSD 120的安全掃描。為此,如圖3中所說(shuō)明的,計(jì)算設(shè)備102可以被配置為執(zhí)行用于提供通過(guò)網(wǎng)絡(luò)106的安全掃描的方法300。大體上,方法300涉及從DSD 120檢索認(rèn)證元數(shù)據(jù),該認(rèn)證元數(shù)據(jù)可以由OOB代理214或遠(yuǎn)程服務(wù)器104的遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224使用來(lái)驗(yàn)證從DSD 120檢索的數(shù)據(jù)的可靠性??梢杂衫鏞OB處理器124、帶內(nèi)處理器110和DSD 120的硬件,并結(jié)合可以與系統(tǒng)100的其他部件進(jìn)行交互的計(jì)算設(shè)備102的其他部件,來(lái)執(zhí)行方法300。方法300可以允許為了任何目的從遠(yuǎn)程服務(wù)器104對(duì)DSD 120進(jìn)行安全掃描,包括但不限于:防病毒掃描、惡意軟件清除、系統(tǒng)修復(fù)、系統(tǒng)重映像和安全文件/文件夾訪問(wèn)。

方法300從框203開始,其中,OOB代理214建立由遠(yuǎn)程服務(wù)器104對(duì)DSD 120的遠(yuǎn)程掛載??梢杂捎?jì)算設(shè)備102或遠(yuǎn)程服務(wù)器104發(fā)起對(duì)DSD 120的遠(yuǎn)程掛載。在2009年5月29日提交的并且分配給本申請(qǐng)的受讓人的序列號(hào)為NO.12/475,216的當(dāng)前未決的美國(guó)專利申請(qǐng)中公開了可以在方法300的框302中使用的用于使用遠(yuǎn)程服務(wù)器遠(yuǎn)程地掛載數(shù)據(jù)存儲(chǔ)設(shè)備的一個(gè)過(guò)程。如其中所描述的,遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224可以請(qǐng)求并且OOB代理214可以傳輸DSD 120的主引導(dǎo)記錄(MBR)、一個(gè)或多個(gè)引導(dǎo)扇區(qū)和/或一個(gè)或多個(gè)主文件表(MFT)。該數(shù)據(jù)(其可以作為盤映像228的一部分存儲(chǔ)在大容量存儲(chǔ)設(shè)備138上)可以允許遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224來(lái)映射DSD 120。只要由一個(gè)或多個(gè)ISV應(yīng)用222向DSD 120請(qǐng)求數(shù)據(jù),那么遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224就可以使用DSD 120的MBR、引導(dǎo)扇區(qū)和/或MFT來(lái)確定LBA以向OOB代理214進(jìn)行請(qǐng)求。

在方法300的框304中,OOB代理214通過(guò)網(wǎng)絡(luò)106接收來(lái)自遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224的塊讀取請(qǐng)求。OOB代理214使用OOB通信模塊218接收該請(qǐng)求。應(yīng)當(dāng)意識(shí)到,由于OOB處理器124和通信電路116維護(hù)的持久的電能和帶外通信信道,即使在計(jì)算設(shè)備102的帶內(nèi)處理器110沒(méi)有執(zhí)行OS 200或處于降低的功率狀態(tài)或被關(guān)閉時(shí),OOB代理214仍然可用于從遠(yuǎn)程服務(wù)器104接收這種請(qǐng)求。盡管說(shuō)明性的實(shí)施例描述了遠(yuǎn)程服務(wù)器104和OOB處理器124之間(經(jīng)由通信電路116、136)的直接通信,但是還可以考慮到,遠(yuǎn)程服務(wù)器104可以經(jīng)由一個(gè)或多個(gè)基于主機(jī)的信道(例如,也涉及帶內(nèi)處理器110和OS 200)與OOB處理器124進(jìn)行通信。

在框306中,OOB代理214將通過(guò)使用遠(yuǎn)程塊讀取/寫入模塊216來(lái)將接收到的塊讀取請(qǐng)求轉(zhuǎn)發(fā)到在計(jì)算設(shè)備102的帶內(nèi)處理器110上執(zhí)行的合適的主驅(qū)動(dòng)程序。當(dāng)帶內(nèi)處理器110正在執(zhí)行OS 200(即,已經(jīng)引導(dǎo)了OS 200)時(shí),如上文所描述的,OOB代理214可以將塊讀取請(qǐng)求轉(zhuǎn)發(fā)到AHCI驅(qū)動(dòng)程序202。然而,當(dāng)帶內(nèi)處理器110處于降低的功率狀態(tài)或被關(guān)閉,或OS 200還沒(méi)有被引導(dǎo)時(shí),遠(yuǎn)程塊讀取/寫入模塊216可以替代地將塊讀取請(qǐng)求引導(dǎo)到計(jì)算設(shè)備102的BIOS驅(qū)動(dòng)程序(如果必須提供對(duì)BIOS驅(qū)動(dòng)程序的訪問(wèn),那么可以由OOB處理器124為計(jì)算設(shè)備102供電)。在該實(shí)施例中,OOB代理214可以為遠(yuǎn)程服務(wù)器104提供對(duì)DSD 120的訪問(wèn),而不考慮計(jì)算設(shè)備102的OS 200的狀態(tài)。

在框308中,AHCI驅(qū)動(dòng)程序202(或其他主驅(qū)動(dòng)程序)將認(rèn)證存儲(chǔ)命令發(fā)送到DSD接口模塊210。當(dāng)它從OOB代理214接收轉(zhuǎn)發(fā)的塊讀取請(qǐng)求時(shí),AHCI驅(qū)動(dòng)程序202從庫(kù)206中選擇合適的IOTCL消息。在圖2和3的說(shuō)明性的實(shí)施例中,只要AHCI驅(qū)動(dòng)程序經(jīng)由OOB API 208接收讀取請(qǐng)求,它選擇和發(fā)送將使得DSD 120生成認(rèn)證元數(shù)據(jù)以及檢索所請(qǐng)求的數(shù)據(jù)的存儲(chǔ)命令。因此,來(lái)自于遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224的所有請(qǐng)求將使得生成認(rèn)證元數(shù)據(jù),其可以用來(lái)驗(yàn)證從DSD 120檢索的數(shù)據(jù)的可靠性。

在框310,響應(yīng)于從AHCI 202接收到認(rèn)證存儲(chǔ)命令,DSD接口模塊210從DSD 120檢索所請(qǐng)求的數(shù)據(jù)并且使用加密引擎212生成認(rèn)證元數(shù)據(jù)。認(rèn)證元數(shù)據(jù)可以包括上文描述的任何類型,例如MAC、計(jì)數(shù)器值、數(shù)字簽名和加密散列值等。在框312中,DSD接口模塊210將從DSD 120檢索的數(shù)據(jù)和由DSD 120生成的認(rèn)證元數(shù)據(jù)返回到AHCI 202。在框314,AHCI 202將數(shù)據(jù)和認(rèn)證元數(shù)據(jù)轉(zhuǎn)發(fā)到OOB代理214的遠(yuǎn)程塊讀取/寫入模塊216。

在使用驗(yàn)證模塊220的實(shí)施例中,方法300進(jìn)行到可選框316,其中,OOB代理214使用由DSD 120生成的認(rèn)證元數(shù)據(jù)驗(yàn)證從DSD 120檢索的數(shù)據(jù)??梢允褂蒙衔拿枋龅娜魏畏椒▉?lái)執(zhí)行對(duì)從DSD 120檢索的數(shù)據(jù)的可靠性的該驗(yàn)證。在可選框316之后(或在缺少驗(yàn)證模塊220的實(shí)施例中,在框314之后),方法300進(jìn)行到框318,其中,OOB代理214使用OOB通信模塊218通過(guò)網(wǎng)絡(luò)106將數(shù)據(jù)和認(rèn)證元數(shù)據(jù)傳輸?shù)竭h(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224。

在框320,遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224可以使用驗(yàn)證模塊230來(lái)通過(guò)使用認(rèn)證元數(shù)據(jù)對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證(盡管在使用可選框316的實(shí)施例中可以跳過(guò)框320)??梢允褂蒙衔拿枋龅娜魏畏椒▉?lái)執(zhí)行對(duì)從DSD 120檢索的數(shù)據(jù)的可靠性的該驗(yàn)證。一旦驗(yàn)證了數(shù)據(jù),遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224可以將請(qǐng)求的數(shù)據(jù)提供給ISV應(yīng)用222和/或?qū)⒃摂?shù)據(jù)存儲(chǔ)為盤映像228的一部分。當(dāng)遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224將另一個(gè)塊讀取請(qǐng)求通過(guò)網(wǎng)絡(luò)106傳輸?shù)絆OB代理214時(shí),方法300可以返回到框304(不需要在每次循環(huán)中重復(fù)框302)。

現(xiàn)在參考圖4,用簡(jiǎn)化框圖示出了在系統(tǒng)100的計(jì)算設(shè)備102和遠(yuǎn)程服務(wù)器104上運(yùn)行的軟件/固件環(huán)境的另一說(shuō)明性的實(shí)施例。圖4的實(shí)施例包括使用相似標(biāo)號(hào)進(jìn)行標(biāo)記的與圖2類似的許多部件和模塊。除了下文所解釋的,這些部件和模塊的操作可以與上文參考圖2所描述的操作大體上類似。例如,DSD接口模塊210、OOB代理214和遠(yuǎn)程服務(wù)器104的軟件堆棧(包括OS、一個(gè)或多個(gè)ISV應(yīng)用222、遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224和文件系統(tǒng)以及其他過(guò)濾器驅(qū)動(dòng)程序226)的操作大體上類似,除了這些模塊不包括加密引擎212、驗(yàn)證模塊220或驗(yàn)證模塊230之外。在該說(shuō)明性的實(shí)施例中,可以確保從DSD 120檢索的數(shù)據(jù)的可靠性,而不需要認(rèn)證元數(shù)據(jù)。

如圖4中所示,計(jì)算設(shè)備102的軟件堆棧包括OS 200、AHCI驅(qū)動(dòng)程序202以及文件系統(tǒng)和其它過(guò)濾器驅(qū)動(dòng)程序204(它們中的每一個(gè)可以由帶內(nèi)處理器110執(zhí)行和/或被存儲(chǔ)在系統(tǒng)存儲(chǔ)器114中或DSD 120上)。此外,軟件堆棧還包括在帶內(nèi)處理器110上執(zhí)行的安全容器400。安全容器400可以體現(xiàn)為與OS 200和相關(guān)聯(lián)的驅(qū)動(dòng)程序202、204分離地進(jìn)行維護(hù)、并且對(duì)這些軟件模塊而言是不可直接訪問(wèn)的安全存儲(chǔ)器和/或執(zhí)行空間(由此,維護(hù)安全容器400的安全)。在圖4的說(shuō)明性的實(shí)施例中,在安全容器中執(zhí)行的主驅(qū)動(dòng)程序,而非AHCI驅(qū)動(dòng)程序202,直接地負(fù)責(zé)訪問(wèn)DSD 120。OS 200仍然通過(guò)AHCI驅(qū)動(dòng)程序202間接地訪問(wèn)DSD 120,但是AHCI驅(qū)動(dòng)程序202依賴于芯片組固件中的一個(gè)或多個(gè)固件鉤子(hook)402來(lái)將請(qǐng)求傳遞到在安全容器400中執(zhí)行的驅(qū)動(dòng)程序。

在安全容器400中執(zhí)行的驅(qū)動(dòng)程序包括存儲(chǔ)命令庫(kù)206和OBB API 208(類似于在圖2的說(shuō)明性實(shí)施例中的AHCI驅(qū)動(dòng)程序202的那些部件)。在該實(shí)施例中,OOB代理214為遠(yuǎn)程服務(wù)器104提供經(jīng)由在安全容器400中執(zhí)行的主驅(qū)動(dòng)程序?qū)SD 120的訪問(wèn)。遠(yuǎn)程塊讀取/寫入模塊216和OOB通信模塊218大體上如上文所描述的那樣運(yùn)行,除了遠(yuǎn)程塊讀取/寫入模塊216將塊讀取請(qǐng)求轉(zhuǎn)發(fā)到在安全容器400中執(zhí)行的驅(qū)動(dòng)程序的OOB API 208(而非AHCI 202)。OOB API 208被配置為從OOB代理214接收消息并且指示驅(qū)動(dòng)程序從庫(kù)206中選擇和發(fā)送合適的存儲(chǔ)命令。然后將從DSD 120檢索的數(shù)據(jù)返回到驅(qū)動(dòng)程序并且直接地轉(zhuǎn)發(fā)到OOB代理214。因?yàn)樵谠摂?shù)據(jù)傳送期間可以避免OS 200和相關(guān)聯(lián)的驅(qū)動(dòng)程序202、204,所以消除了該安全憂慮并且不需要由DSD 120生成認(rèn)證元數(shù)據(jù)。

在帶內(nèi)處理器110上運(yùn)行的安全容器400和在OOB處理器124上運(yùn)行的OOB代理214的若干特征允許系統(tǒng)100從遠(yuǎn)程服務(wù)器104提供對(duì)計(jì)算設(shè)備102的安全掃描。為此,如圖5中所說(shuō)明的,計(jì)算設(shè)備102可以被配置為執(zhí)行用于提供通過(guò)網(wǎng)絡(luò)106的安全掃描的方法500。大體上,方法500涉及OOB代理214與在安全容器400中執(zhí)行的主驅(qū)動(dòng)程序的交互以確保從DSD 120檢索的數(shù)據(jù)的可靠性??梢杂衫鏞OB處理器124、帶內(nèi)處理器110和DSD 120的硬件,并結(jié)合可以與系統(tǒng)100的其他部件進(jìn)行交互的計(jì)算設(shè)備102的其他部件,來(lái)執(zhí)行方法500。方法500還可以允許為了任何目的從遠(yuǎn)程服務(wù)器104對(duì)DSD 120進(jìn)行安全掃描,包括但不限于:防病毒掃描、惡意軟件清除、系統(tǒng)修復(fù)、系統(tǒng)重映像和安全文件/文件夾訪問(wèn)。

方法500從框502開始,其中OOB代理214建立遠(yuǎn)程服務(wù)器104對(duì)DSD 120的遠(yuǎn)程掛載。在框504,OOB代理214通過(guò)網(wǎng)絡(luò)106從遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224接收塊讀取請(qǐng)求??梢源篌w上如上文參考圖3的框302和304所描述的那樣執(zhí)行建立DSD 120的遠(yuǎn)程掛載和接收塊讀取請(qǐng)求。

在框506,OOB代理214將使用遠(yuǎn)程塊讀取/寫入模塊216將接收到的塊讀取請(qǐng)求轉(zhuǎn)發(fā)到在計(jì)算設(shè)備102的帶內(nèi)處理器110上的安全容器400中執(zhí)行的主驅(qū)動(dòng)程序。在框508,在安全容器400中執(zhí)行的驅(qū)動(dòng)程序?qū)⒋鎯?chǔ)命令發(fā)送到DSD接口模塊210。當(dāng)它從OOB代理214接收轉(zhuǎn)發(fā)的塊讀取請(qǐng)求時(shí),在安全容器400中執(zhí)行的驅(qū)動(dòng)程序從庫(kù)206中選擇合適的IOTCL消息。

在框510,響應(yīng)于從在安全容器400中執(zhí)行的驅(qū)動(dòng)程序接收存儲(chǔ)命令,DSD接口模塊210從DSD 120檢索所請(qǐng)求的數(shù)據(jù)。在框512,DSD接口模塊210將從DSD 120檢索的數(shù)據(jù)返回到驅(qū)動(dòng)程序。在框514,在安全容器400中執(zhí)行的驅(qū)動(dòng)程序?qū)?shù)據(jù)和認(rèn)證元數(shù)據(jù)轉(zhuǎn)發(fā)到OOB代理214的遠(yuǎn)程塊讀取/寫入模塊216。方法300在框516結(jié)束,其中,OOB代理214使用OOB通信模塊218通過(guò)網(wǎng)絡(luò)106將數(shù)據(jù)傳輸?shù)竭h(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224。當(dāng)遠(yuǎn)程塊讀取/寫入驅(qū)動(dòng)程序224通過(guò)網(wǎng)絡(luò)106將另一個(gè)塊讀取請(qǐng)求傳輸?shù)絆OB代理214時(shí),方法500可以返回到框504(不需要在每一個(gè)循環(huán)期間重復(fù)框502)。

盡管在附圖和上述描述中詳細(xì)地說(shuō)明和描述了本公開,但是這些說(shuō)明和描述應(yīng)當(dāng)認(rèn)為是例示性的而非限制性的特征,應(yīng)當(dāng)理解,僅示出和描述了說(shuō)明性的實(shí)施例,并且期望保護(hù)落在本公開和所附權(quán)利要求的精神內(nèi)的所有改變和修改。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1