專利名稱:向經(jīng)過認(rèn)證的防病毒代理提供掃描存儲(chǔ)器的直接訪問權(quán)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及向經(jīng)過認(rèn)證的防病毒代理提供掃描存儲(chǔ)器的直接訪問權(quán)。
背景技術(shù):
最近的惡意軟件攻擊以安全軟件為目標(biāo)并且因而危及主機(jī)操作系統(tǒng)。不幸的是, 諸如“Conficker”的計(jì)算機(jī)蠕蟲可成功危及安全軟件并且因而防止訪問提供防病毒軟件以 供下載的網(wǎng)站。獨(dú)立軟件供應(yīng)商(ISV)可提供使防病毒軟件可供下載的網(wǎng)站。其它惡意軟 件攻擊可填補(bǔ)(shim)或隱匿(rootkit)本地防病毒代理以防止它們執(zhí)行諸如針對(duì)病毒簽 名掃描盤或存儲(chǔ)器的功能。
發(fā)明內(nèi)容
本發(fā)明涉及一種在計(jì)算機(jī)平臺(tái)中的方法,包括允許將防病毒代理下載到平臺(tái)硬件空間,所述平臺(tái)硬件空間與耦合到所述計(jì)算機(jī) 平臺(tái)的操作系統(tǒng)隔離;認(rèn)證所述防病毒代理;以及為所述防病毒代理提供直接掃描耦合到所述計(jì)算機(jī)平臺(tái)的存儲(chǔ)器的訪問權(quán)。本發(fā)明涉及一種設(shè)備,包括包括可管理性引擎的平臺(tái)控制集線器,其中所述可管理性引擎用于存儲(chǔ)下載到平臺(tái)硬件空間的防病毒代理,所述平臺(tái)硬件空間與耦合到所述計(jì)算機(jī) 平臺(tái)的操作系統(tǒng)隔離,認(rèn)證所述防病毒代理,以及向所述防病毒代理提供直接掃描耦合到所述平臺(tái)硬件的存儲(chǔ)器的訪問權(quán)。
附圖中舉例而非限制性地示出本文描述的發(fā)明。為了簡(jiǎn)單且清楚地進(jìn)行說(shuō)明,附 圖中示出的元件不一定按比例繪制。例如,為了清楚起見,一些元件的尺寸可能相對(duì)于其它 元件有所夸大。此外,在認(rèn)為合適的情況下,附圖中重復(fù)使用附圖標(biāo)記來(lái)指示對(duì)應(yīng)或類似的 元件。圖1示出根據(jù)一個(gè)實(shí)施例的計(jì)算機(jī)平臺(tái)100,它支持向經(jīng)過認(rèn)證的防病毒代理提 供掃描存儲(chǔ)器和存儲(chǔ)設(shè)備的直接訪問權(quán)的技術(shù)。圖2是示出根據(jù)一個(gè)實(shí)施例用于向經(jīng)過認(rèn)證的防病毒代理提供掃描存儲(chǔ)器和存 儲(chǔ)設(shè)備的直接訪問權(quán)的流程圖。圖3示出根據(jù)一個(gè)實(shí)施例的基于平臺(tái)的體系結(jié)構(gòu),它可支持向經(jīng)過認(rèn)證的防病毒 代理提供掃描存儲(chǔ)器和存儲(chǔ)設(shè)備的直接訪問權(quán)。圖4是示出根據(jù)一個(gè)實(shí)施例的技術(shù)的流程圖,在該技術(shù)中,圖3中的組件共同向經(jīng) 過認(rèn)證的防病毒代理提供掃描存儲(chǔ)器和存儲(chǔ)設(shè)備的直接訪問權(quán)。
圖5示出根據(jù)一個(gè)實(shí)施例的系統(tǒng)500,它向經(jīng)過認(rèn)證的防病毒代理提供掃描存儲(chǔ) 器和存儲(chǔ)設(shè)備的直接訪問權(quán)。
具體實(shí)施例方式以下說(shuō)明描述根據(jù)一個(gè)實(shí)施例向經(jīng)過認(rèn)證的防病毒代理提供掃描存儲(chǔ)器和存儲(chǔ) 設(shè)備的直接訪問權(quán)的計(jì)算機(jī)平臺(tái)的實(shí)施例。在以下描述中,闡述了眾多具體細(xì)節(jié),例如邏輯 實(shí)現(xiàn)、資源分區(qū)、或共享、或復(fù)制實(shí)現(xiàn)、系統(tǒng)組件的類型和相互關(guān)系、以及邏輯分區(qū)或集成選 擇,以便更充分地了解本發(fā)明。但是,本領(lǐng)域技術(shù)人員將明白,沒有這些具體細(xì)節(jié)也可實(shí)現(xiàn) 本發(fā)明。在其它情況下,沒有詳細(xì)示出控制結(jié)構(gòu)、門級(jí)電路和全軟件指令序列,以免使本發(fā) 明晦澀難懂。通過所包含的描述,本領(lǐng)域技術(shù)人員將能夠無(wú)需過多試驗(yàn)而實(shí)現(xiàn)合適的功能 性。本說(shuō)明書中提到“一個(gè)實(shí)施例”、“實(shí)施例”、“示范實(shí)施例”時(shí)表示,所描述的實(shí)施例 可包括特定特征、結(jié)構(gòu)或特性,但不是每個(gè)實(shí)施例都一定包含該特定特征、結(jié)構(gòu)或特性。而 且,這些短語(yǔ)不一定指相同的實(shí)施例。此外,當(dāng)結(jié)合一個(gè)實(shí)施例描述特定特征、結(jié)構(gòu)或特性 時(shí),認(rèn)為本領(lǐng)域技術(shù)人員知道,不管是否明確描述,都可結(jié)合其它實(shí)施例影響這些特征、結(jié) 構(gòu)或特性。本發(fā)明的實(shí)施例能以硬件、固件、軟件或其任意組合來(lái)實(shí)現(xiàn)。本發(fā)明的實(shí)施例也可 作為存儲(chǔ)在機(jī)器可讀介質(zhì)上的指令來(lái)實(shí)現(xiàn),這些指令可由一個(gè)或多個(gè)處理器讀取和執(zhí)行。 機(jī)器可讀介質(zhì)可包括用于存儲(chǔ)或傳送可供機(jī)器(如計(jì)算裝置)讀取的形式的信息的任何機(jī) 制。例如,機(jī)器可讀介質(zhì)可包括只讀存儲(chǔ)器(ROM);隨機(jī)存取存儲(chǔ)器(RAM);磁盤存儲(chǔ) 介質(zhì);光存儲(chǔ)介質(zhì);閃速存儲(chǔ)器裝置;電、光、聲或其它類似信號(hào)。此外,本文可將固件、軟 件、例行程序和指令作為執(zhí)行某些動(dòng)作進(jìn)行描述。但是,應(yīng)明白,這些描述只是為了方便起 見,并且這些動(dòng)作實(shí)際上源自計(jì)算裝置、處理器、控制器和用于執(zhí)行這些固件、軟件、例行程 序和指令的其它裝置。在一個(gè)實(shí)施例中,可利用計(jì)算機(jī)平臺(tái)的硬件邏輯來(lái)安全地執(zhí)行經(jīng)過認(rèn)證的防病毒 代理,同時(shí)向經(jīng)過認(rèn)證的防病毒代理提供掃描存儲(chǔ)器和存儲(chǔ)設(shè)備的直接訪問權(quán)。該方法可 允許經(jīng)過認(rèn)證的防病毒代理掃描主機(jī)操作系統(tǒng)。在一個(gè)實(shí)施例中,可將一個(gè)或多個(gè)防病毒 代理下載到與平臺(tái)硬件相關(guān)聯(lián)的第三方數(shù)據(jù)源(3pds)或擴(kuò)展型第三方數(shù)據(jù)源(e3pds)。在 一個(gè)實(shí)施例中,可在本地通過HECI或在遠(yuǎn)程通過帶外機(jī)制下載防病毒代理,以確保安裝不 會(huì)因在操作系統(tǒng)上運(yùn)行的惡意軟件而中斷。在下載防病毒代理之后,在將例如防病毒代理的字節(jié)代碼加載到解釋器并執(zhí)行之 前,平臺(tái)硬件的固件可認(rèn)證防病毒代理,并驗(yàn)證防病毒代理是否是來(lái)自可信供應(yīng)商。因?yàn)榉?病毒代理經(jīng)過驗(yàn)證,平臺(tái)硬件可允許防病毒代理訪問應(yīng)用可編程接口(API)和MECI。在一 個(gè)實(shí)施例中,對(duì)API的訪問可使得能夠通過DMA引擎直接掃描存儲(chǔ)器,而對(duì)HECI的訪問可 允許防病毒代理通過虛擬引擎(VE)掃描存儲(chǔ)設(shè)備。因此,在一個(gè)實(shí)施例中,可允許經(jīng)過認(rèn)證的防病毒代理訪問計(jì)算機(jī)系統(tǒng)本地的存 儲(chǔ)設(shè)備和存儲(chǔ)器,同時(shí)防病毒代理可得到防篡改平臺(tái)硬件的支持。而且,可允許提供防病毒 解決方案的ISV直接下載帶有病毒的數(shù)據(jù)文件并將病毒簽名列入白名單,并且防病毒代理5可生成所識(shí)別和/或清理的病毒的示例的日志。圖1中示出可支持向防病毒代理提供掃描存儲(chǔ)器和存儲(chǔ)設(shè)備的直接訪問權(quán)的技 術(shù)的計(jì)算機(jī)平臺(tái)100的實(shí)施例。在一個(gè)實(shí)施例中,計(jì)算機(jī)平臺(tái)100可包括應(yīng)用110、主機(jī)操 作系統(tǒng)(OS) 120、平臺(tái)硬件150和I/O裝置190。在一個(gè)實(shí)施例中,應(yīng)用110可包括得到主 機(jī)OS 120和平臺(tái)硬件150支持的一個(gè)或多個(gè)應(yīng)用。在一個(gè)實(shí)施例中,平臺(tái)硬件150可包括一個(gè)或多個(gè)處理核、芯片組、存儲(chǔ)器和其它 這樣類似的硬件組件。在一個(gè)實(shí)施例中,平臺(tái)硬件150可支持諸如固件、可管理性引擎(ME) 和虛擬器引擎(VE)的組件。在一個(gè)實(shí)施例中,平臺(tái)硬件150可認(rèn)證本地或遠(yuǎn)程下載的防病 毒代理,然后安全地執(zhí)行經(jīng)過認(rèn)證的防病毒代理,同時(shí)向經(jīng)過認(rèn)證的防病毒代理提供掃描 存儲(chǔ)器和存儲(chǔ)裝置的直接訪問權(quán)。該方法可允許經(jīng)過認(rèn)證的防病毒代理掃描主機(jī)操作系統(tǒng)。在一個(gè)實(shí)施例中,I/O裝 置190-A至190-N之一可包括諸如硬盤、基于通用串行總線(USB)的裝置的存儲(chǔ)裝置。而 且,諸如網(wǎng)絡(luò)接口卡(NIC)的I/O裝置190-A至190-N之一可支持帶外通信機(jī)制。圖2的流程圖中示出可支持向防病毒代理提供掃描存儲(chǔ)器和存儲(chǔ)設(shè)備的直接訪 問權(quán)的技術(shù)的計(jì)算機(jī)平臺(tái)100的操作的實(shí)施例。在方框210,平臺(tái)硬件150可認(rèn)證可下載到計(jì)算機(jī)平臺(tái)150的防病毒代理。在一個(gè) 實(shí)施例中,計(jì)算機(jī)平臺(tái)150可根據(jù)簽名驗(yàn)證或基于行為的驗(yàn)證來(lái)認(rèn)證防病毒代理。在方框250,平臺(tái)硬件150可安全地執(zhí)行經(jīng)過認(rèn)證的防病毒代理,同時(shí)向防病毒代 理提供掃描主機(jī)存儲(chǔ)器和存儲(chǔ)設(shè)備的直接訪問權(quán)。在一個(gè)實(shí)施例中,因?yàn)樵趫?zhí)行防病毒代 理的字節(jié)代碼之前防病毒代理經(jīng)過認(rèn)證,平臺(tái)硬件150可允許防病毒代理直接掃描主機(jī)存 儲(chǔ)器和存儲(chǔ)設(shè)備。圖3中示出平臺(tái)體系結(jié)構(gòu)300的實(shí)施例,平臺(tái)體系結(jié)構(gòu)300包括支持向防病毒代 理提供掃描存儲(chǔ)器和存儲(chǔ)設(shè)備的直接訪問權(quán)的技術(shù)的硬件和固件組件。在一個(gè)實(shí)施例中, 平臺(tái)硬件150可包括中央處理單元320和芯片組325,芯片組325可支持平臺(tái)控制集線器 (PCH) 330ο在一個(gè)實(shí)施例中,CPU 320可支持主機(jī)OS 305,主機(jī)OS 305可管理可在平臺(tái)硬 件150中使用的資源。在一個(gè)實(shí)施例中,平臺(tái)控制器集線器PCH 330可包括可管理性引擎ME 340、虛擬 器引擎VE 350、I/O控制器360、DMA引擎365和存儲(chǔ)器370。在一個(gè)實(shí)施例中,存儲(chǔ)裝置 390和遠(yuǎn)程服務(wù)器392可耦合到平臺(tái)硬件150。在一個(gè)實(shí)施例中,可管理性引擎(ME) 340可 包括ME接口 ;341、ME控制器;342、數(shù)據(jù)存儲(chǔ)塊;343、認(rèn)證引擎;345、解釋器;346、掃描至DMA接 口 347和帶外(OOB)通信塊348。在一個(gè)實(shí)施例中,虛擬器引擎350可包括虛擬器引擎(VE) 控制器邪4和VE接口 355。在一個(gè)實(shí)施例中,虛擬器引擎VE 350可包括虛擬器引擎(VE)控制器邪4和虛擬 器引擎(VE)接口 355。在一個(gè)實(shí)施例中,VE接口 355可支持VE 350、ME 340和I/O控制器 360之間的信息交換。在一個(gè)實(shí)施例中,VE接口 355可支持防病毒代理的下載,而VE控制 器邪4可通過可管理性引擎控制接口(MECI)向ME 340發(fā)送表示防病毒代理的字節(jié)代碼。 在一個(gè)實(shí)施例中,VE控制器邪4和VE接口 355可允許通過主機(jī)嵌入式控制接口(HECI)下 載本地存儲(chǔ)在諸如USB存儲(chǔ)裝置的裝置上的防病毒代理。在其它實(shí)施例中,可通過受到OOB 塊348支持的帶外通信通道將受到遠(yuǎn)程服務(wù)器390支持的防病毒代理遠(yuǎn)程下載到ME 340。
在一個(gè)實(shí)施例中,ME接口 341可接收表示防病毒代理的字節(jié)代碼,并將這些字節(jié) 代碼存儲(chǔ)在數(shù)據(jù)存儲(chǔ)設(shè)備343中。在一個(gè)實(shí)施例中,ME接口 341可從VE 360或從OOB塊 348接收防病毒代理的字節(jié)代碼。在一個(gè)實(shí)施例中,字節(jié)代碼可表示java字節(jié)代碼。在一 個(gè)實(shí)施例中,ME接口 341可在將字節(jié)代碼存儲(chǔ)在數(shù)據(jù)存儲(chǔ)塊343中之后向ME控制器342提 供第一信號(hào)。在一個(gè)實(shí)施例中,ME接口 341可接收掃描主機(jī)OS 305的請(qǐng)求,該請(qǐng)求可由遠(yuǎn) 程服務(wù)器392生成并通過OOB塊348發(fā)送。在一個(gè)實(shí)施例中,ME接口 341可響應(yīng)接收到來(lái) 自遠(yuǎn)程服務(wù)器392的請(qǐng)求而向ME控制器342提供第二信號(hào)。在一個(gè)實(shí)施例中,數(shù)據(jù)存儲(chǔ)塊343可表示第三方數(shù)據(jù)存儲(chǔ)設(shè)備(3pds)或擴(kuò)展型第 三方數(shù)據(jù)存儲(chǔ)設(shè)備。在一個(gè)實(shí)施例中,存儲(chǔ)在數(shù)據(jù)存儲(chǔ)塊343中的字節(jié)代碼可用于認(rèn)證防 病毒代理。在一個(gè)實(shí)施例中,獨(dú)立軟件供應(yīng)商(ISV)可利用數(shù)據(jù)存儲(chǔ)塊343和OOB通信塊 348來(lái)直接下載帶有病毒的數(shù)據(jù)文件并將可供防病毒代理用來(lái)掃描數(shù)據(jù)文件并提供所識(shí)別 或清理的示例的日志的簽名列入白名單。在一個(gè)實(shí)施例中,可將防病毒代理下載到可能被 虛擬器引擎350侵占的硬盤空間。在一個(gè)實(shí)施例中,認(rèn)證引擎345可通過利用一個(gè)或多個(gè)認(rèn)證標(biāo)準(zhǔn)來(lái)認(rèn)證防病毒代 理,并確認(rèn)腳本引擎(例如受ME控制器342支持的腳本引擎334)的有效性。在一個(gè)實(shí)施 例中,認(rèn)證引擎345可在執(zhí)行存儲(chǔ)在可管理性引擎340的存儲(chǔ)器(如SRAM)中的腳本引擎 334之前確認(rèn)腳本引擎334的有效性。在一個(gè)實(shí)施例中,認(rèn)證引擎345可將腳本引擎334的 簽名與可存儲(chǔ)在可管理性引擎閃速存儲(chǔ)器349中的密鑰進(jìn)行比較,該密鑰可在制造期間熔 合或由主機(jī)驅(qū)動(dòng)器加載在可選ROM中。在一個(gè)實(shí)施例中,確認(rèn)腳本引擎334的有效性可防 止惡意代碼在可管理性引擎340的隔離環(huán)境中得到執(zhí)行。在一個(gè)實(shí)施例中,在成功驗(yàn)證腳 本引擎334之后,認(rèn)證引擎345可根據(jù)防病毒代理的指示執(zhí)行掃描操作以檢測(cè)通過網(wǎng)絡(luò)OOB 發(fā)送的未識(shí)別的或惡意的簽名。在一個(gè)實(shí)施例中,認(rèn)證引擎345用來(lái)認(rèn)證防病毒代理的認(rèn)證標(biāo)準(zhǔn)可包括檢查防病 毒代理是否是得到許可的代理,并檢查這些防病毒代理的來(lái)源。在一個(gè)實(shí)施例中,認(rèn)證引擎 345可包括固件棧,并且在一個(gè)實(shí)施例中,固件??蓹z查防病毒代理以確定所下載的防病毒 代理是否來(lái)自可信獨(dú)立軟件供應(yīng)商,并且防病毒代理是否與有效許可證相關(guān)聯(lián)。在一個(gè)實(shí) 施例中,認(rèn)證引擎345可認(rèn)證防病毒代理以確定防病毒代理是否通過認(rèn)證標(biāo)準(zhǔn)。在一個(gè)實(shí) 施例中,認(rèn)證引擎345可在確定防病毒代理經(jīng)過認(rèn)證之后生成第一指示,并且如果防病毒 代理沒有通過認(rèn)證,則可生成第二指示。在一個(gè)實(shí)施例中,可響應(yīng)第一指示的生成向解釋器346提供經(jīng)過認(rèn)證的字節(jié)代 碼。在一個(gè)實(shí)施例中,解釋器346可翻譯表示防病毒代理的經(jīng)過認(rèn)證的字節(jié)代碼,并可執(zhí)行 這些防病毒代理。在一個(gè)實(shí)施例中,解釋器346可在完成表示防病毒代理的字節(jié)代碼的執(zhí) 行之后向ME控制器342發(fā)送信號(hào)。在一個(gè)實(shí)施例中,ME控制器342可包括腳本引擎334、控制邏輯335和處理器狀態(tài) 提供器344。在一個(gè)實(shí)施例中,腳本引擎334可提供用于獨(dú)立于操作系統(tǒng)的狀態(tài)處理防病毒 代理的隔離環(huán)境。在一個(gè)實(shí)施例中,可利用Java Applet來(lái)實(shí)現(xiàn)腳本引擎334,它可通過認(rèn) 證引擎345進(jìn)行驗(yàn)證。一個(gè)實(shí)施例中,如果腳本引擎334沒有通過由認(rèn)證引擎345執(zhí)行的 認(rèn)證,則控制邏輯335可從SRAM刪除腳本引擎334。一個(gè)實(shí)施例中,為了啟動(dòng)防病毒代理的認(rèn)證,控制邏輯335可向認(rèn)證引擎345發(fā)送信號(hào)。在一個(gè)實(shí)施例中,控制邏輯335可響應(yīng)從ME接口 341接收到第一信號(hào)而將防病毒代 理存儲(chǔ)在數(shù)據(jù)存儲(chǔ)塊343中。在一個(gè)實(shí)施例中,控制邏輯335可利用由認(rèn)證引擎345生成的 指示,然后處理由解釋器346生成的字節(jié)代碼的解釋版本。在一個(gè)實(shí)施例中,控制邏輯335 可響應(yīng)接收到第一指示而向解釋器346提供字節(jié)代碼。在接收到第一指示并將字節(jié)代碼提供給解釋器346之后,在一個(gè)實(shí)施例中,控制 邏輯335可處理由解釋器346解釋的字節(jié)代碼。在一個(gè)實(shí)施例中,控制邏輯335可處理防 病毒代理的經(jīng)過認(rèn)證的字節(jié)代碼,并可允許防病毒代理訪問掃描至DMA引擎接口 347。在 一個(gè)實(shí)施例中,控制邏輯335可響應(yīng)從認(rèn)證引擎345接收到第二指示而禁止或不向解釋器 346提供字節(jié)代碼。在一個(gè)實(shí)施例中,控制邏輯335可響應(yīng)從ME接口 341接收到第二信號(hào)而啟動(dòng)處理 器狀態(tài)提供器344。在一個(gè)實(shí)施例中,可響應(yīng)從遠(yuǎn)程服務(wù)器392接收到掃描主機(jī)OS 305的 請(qǐng)求而生成第二信號(hào)。在一個(gè)實(shí)施例中,如果ME 340的計(jì)算能力有限,則可由遠(yuǎn)程服務(wù)器 392生成掃描主機(jī)OS 305的請(qǐng)求。但是,在其它實(shí)施例中,如果ME 340包括足以支持本地 掃描引擎的計(jì)算資源,則本地掃描引擎可利用CPU320的處理器狀態(tài)來(lái)執(zhí)行對(duì)主機(jī)OS 305 的掃描。在一個(gè)實(shí)施例中,不管是在ME 340的本地內(nèi)得到支持還是得到遠(yuǎn)程服務(wù)器392的 支持,掃描引擎都需要處理器狀態(tài)以執(zhí)行對(duì)主機(jī)OS 305的掃描。在一個(gè)實(shí)施例中,處理器狀態(tài)提供器344可通過直接訪問CPU寄存器322來(lái)收 集處理器狀態(tài)。在其它實(shí)施例中,處理器狀態(tài)提供器344可通過訪問可存儲(chǔ)處理器狀態(tài) 的存儲(chǔ)器位置來(lái)收集處理器狀態(tài),并且可通過掃描至DMA接口 347檢索處理器狀態(tài)信息。 例如,在一個(gè)實(shí)施例中,處理器狀態(tài)可包括CPU控制寄存器CR0-CR4、中斷描述符表寄存器 (IDTR)、全局描述符表寄存器(GDTR)和擴(kuò)展型頁(yè)表指針(EPTP)。在一個(gè)實(shí)施例中,控制寄 存器可指向虛擬/線性存儲(chǔ)器映射/頁(yè)目錄的訪客物理地址,IDTR可指向中斷描述符表的 線性地址,⑶TR和EPTP可指向保存訪客物理到物理存儲(chǔ)器映射的根目錄的物理地址。在一 個(gè)實(shí)施例中,處理器狀態(tài)提供器344可將處理器狀態(tài)提供給控制邏輯335,而控制邏輯335 可提供掃描引擎,掃描引擎可在本地得到ME 340的支持,或者得到遠(yuǎn)程服務(wù)器392的支持, 以使得掃描引擎能夠掃描主機(jī)OS 305。在一個(gè)實(shí)施例中,掃描至DMA引擎接口 347可允許防病毒代理利用直接存儲(chǔ)器訪 問(DMA)通道365掃描存儲(chǔ)器370。在一個(gè)實(shí)施例中,掃描至DMA引擎接口 347可允許防病 毒代理獲得存儲(chǔ)器370的無(wú)阻視圖。在一個(gè)實(shí)施例中,掃描至DMA引擎接口 347可在給定地 址讀取物理存儲(chǔ)器,并在給定簽名模式下,可允許直接掃描物理存儲(chǔ)頁(yè)。在一個(gè)實(shí)施例中, 掃描至DMA引擎接口 347可作為Java虛擬機(jī)(JVM)環(huán)境內(nèi)的基類來(lái)實(shí)現(xiàn)。在一個(gè)實(shí)施例 中,掃描至DMA引擎接口 347也可允許防病毒代理利用虛擬器引擎350掃描存儲(chǔ)裝置390。 在一個(gè)實(shí)施例中,掃描至DMA引擎接口 347可提供訪問DMA通道365或虛擬器引擎350的 接口。在一個(gè)實(shí)施例中,DMA引擎365可提供對(duì)存儲(chǔ)器370的直接且無(wú)阻的訪問。在一 個(gè)實(shí)施例中,DMA引擎365可表示ME內(nèi)核中的驅(qū)動(dòng)器。在一個(gè)實(shí)施例中,DMA引擎365可在 PCI-e請(qǐng)求業(yè)務(wù)中設(shè)置“翻譯位”,可訪問存儲(chǔ)器370,并且不受直接I/O虛擬化技術(shù)(VT_d) 的阻礙。在一個(gè)實(shí)施例中,遠(yuǎn)程服務(wù)器392可包括防病毒服務(wù)395和黑名單病毒數(shù)據(jù)庫(kù)396。在一個(gè)實(shí)施例中,防病毒服務(wù)395可支持用于認(rèn)證防病毒代理的精巧掃描算法和多個(gè) 掃描引擎。運(yùn)行這些精巧掃描算法以檢測(cè)可能存在的惡意代碼的存在。在一個(gè)實(shí)施例中, 黑名單病毒數(shù)據(jù)庫(kù)396可包括可供防病毒服務(wù)395用來(lái)認(rèn)證掃描引擎的病毒的簽名。在一 個(gè)實(shí)施例中,遠(yuǎn)程服務(wù)器392可響應(yīng)在遠(yuǎn)程服務(wù)器392上支持掃描引擎時(shí)向ME 340發(fā)送掃 描主機(jī)OS 305的請(qǐng)求而接收處理器狀態(tài)。在一個(gè)實(shí)施例中,遠(yuǎn)程服務(wù)器392可利用處理器 狀態(tài)來(lái)掃描主機(jī)OS 305。圖4中示出流程圖,該流程圖示出支持向防病毒代理提供掃描存儲(chǔ)器和存儲(chǔ)設(shè)備 的直接訪問權(quán)的技術(shù)的圖3中的平臺(tái)組件的操作。在方框410,平臺(tái)硬件150可允許將可解釋的防病毒代理下載到第三方或擴(kuò)展型 第三方數(shù)據(jù)存儲(chǔ)區(qū)或被侵占的硬盤空間(stolen hard-disk space)。在一個(gè)實(shí)施例中,平 臺(tái)硬件150可支持通過VE 350從本地裝置或通過OOB通信通道348下載防病毒代理。在方框420,平臺(tái)硬件150可確保防病毒代理的下載不會(huì)被在0S305中運(yùn)行的惡意 軟件中斷。在一個(gè)實(shí)施例中,平臺(tái)硬件150可允許將防病毒代理存儲(chǔ)在不會(huì)被在OS 305中 運(yùn)行的惡意軟件影響的隔離的ME環(huán)境中。在方框430,平臺(tái)硬件150可認(rèn)證可解釋的防病毒代理和掃描引擎。在一個(gè)實(shí)施 例中,在認(rèn)證防病毒代理和掃描引擎之前,可管理引擎340的認(rèn)證引擎345可驗(yàn)證或檢查來(lái) 源、許可證以及其它類似這樣的認(rèn)證標(biāo)準(zhǔn)。在方框440,平臺(tái)硬件150可檢查防病毒代理和掃描引擎是否通過認(rèn)證,并且如果 防病毒代理和掃描引擎通過認(rèn)證測(cè)試,則控制轉(zhuǎn)到方框450。在方框450,平臺(tái)硬件150可允許將防病毒代理加載到解釋器396。在方框460,平 臺(tái)硬件150可執(zhí)行防病毒代理。在一個(gè)實(shí)施例中,ME控制器342可處理經(jīng)過解釋的防病毒 代理。在一個(gè)實(shí)施例中,ME控制器342可允許防病毒代理訪問掃描至DMA接口 347的API, 這些API可允許防病毒代理直接掃描存儲(chǔ)器370和存儲(chǔ)裝置390。參考圖5,計(jì)算機(jī)系統(tǒng)500可包括通用處理器502和圖形處理器單元(GPU)505,通 用處理器502包括單指令多數(shù)據(jù)(SIMD)處理器。在一個(gè)實(shí)施例中,除了執(zhí)行各種其它任務(wù) 或存儲(chǔ)指令序列之外,處理器502還可執(zhí)行增強(qiáng)操作,以在機(jī)器可讀存儲(chǔ)介質(zhì)525中提供增 強(qiáng)操作。但是,指令序列也可存儲(chǔ)在存儲(chǔ)器520或任何其它合適的存儲(chǔ)介質(zhì)中。盡管圖5中描繪了獨(dú)立的圖形處理器單元505,但在一些實(shí)施例中,作為另一實(shí) 例,圖形處理器單元505可用于執(zhí)行增強(qiáng)操作。操作計(jì)算機(jī)系統(tǒng)500的處理器502可以是 耦合到邏輯530的一個(gè)或多個(gè)處理器核。邏輯530可耦合到可提供到計(jì)算機(jī)系統(tǒng)500的接 口的一個(gè)或多個(gè)I/O裝置560。例如,在一個(gè)實(shí)施例中,邏輯530可以是芯片組邏輯。邏輯 530耦合到存儲(chǔ)器520,存儲(chǔ)器520可以是任何種類的存儲(chǔ)設(shè)備,包括光、磁或半導(dǎo)體存儲(chǔ)設(shè) 備。圖形處理器單元505通過幀緩沖器510耦合到顯示器M0。邏輯530可支持可管理性引擎ME 532和虛擬器引擎VE 536。在一個(gè)實(shí)施例中, ME 532可類似于上文參考圖3描述的ME 340,而VE 536可類似于上文參考圖3描述的VE 350。在一個(gè)實(shí)施例中,邏輯530可接收來(lái)自獨(dú)立軟件供應(yīng)商的防病毒代理,在允許防病毒 代理直接掃描存儲(chǔ)器或存儲(chǔ)裝置之前認(rèn)證防病毒代理。在一個(gè)實(shí)施例中,邏輯530可支持 防病毒代理的下載,認(rèn)證所下載的防病毒代理,并允許防病毒代理在獨(dú)立于主機(jī)操作系統(tǒng) 503的ME 532的隔離環(huán)境中直接掃描存儲(chǔ)器和存儲(chǔ)裝置。在一個(gè)實(shí)施例中,可在本地從諸9如USB裝置的裝置或在遠(yuǎn)程通過帶外通信通道從遠(yuǎn)程服務(wù)器下載防病毒代理。在一個(gè)實(shí)施例中,遠(yuǎn)程控制臺(tái)580可發(fā)送掃描主機(jī)OS 503的請(qǐng)求,并且邏輯530 上的ME 532可收集CPU控制寄存器504的處理器狀態(tài)信息,然后將處理器狀態(tài)信息提供給 遠(yuǎn)程控制臺(tái)580。在一個(gè)實(shí)施例中,遠(yuǎn)程控制臺(tái)580可利用處理器狀態(tài)信息來(lái)掃描主機(jī)OS 503。參考示范實(shí)施例描述了本發(fā)明的某些特征。但是,不希望以限制意義解釋本描述。 對(duì)于本發(fā)明所屬領(lǐng)域技術(shù)人員來(lái)說(shuō)顯而易見的示范實(shí)施例的各種修改以及本發(fā)明的其它 實(shí)施例被視為落在本發(fā)明的精神和范圍內(nèi)。
權(quán)利要求
1.一種在計(jì)算機(jī)平臺(tái)中的方法,包括允許將防病毒代理下載到平臺(tái)硬件空間,所述平臺(tái)硬件空間與耦合到所述計(jì)算機(jī)平臺(tái) 的操作系統(tǒng)隔離;認(rèn)證所述防病毒代理;以及為所述防病毒代理提供直接掃描耦合到所述計(jì)算機(jī)平臺(tái)的存儲(chǔ)器的訪問權(quán)。
2.如權(quán)利要求1所述的方法,其中通過驗(yàn)證下載所述防病毒代理的來(lái)源來(lái)認(rèn)證所述防 病毒代理,其中將所述防病毒代理下載到在所述平臺(tái)硬件內(nèi)提供的第三方數(shù)據(jù)存儲(chǔ)設(shè)備。
3.如權(quán)利要求2所述的方法,其中如果所述防病毒代理的所述認(rèn)證失敗,則禁止處理 所述防病毒代理。
4.如權(quán)利要求2所述的方法,其中如果所述防病毒代理的所述認(rèn)證成功,則向所述防 病毒代理提供掃描耦合到所述計(jì)算機(jī)平臺(tái)的存儲(chǔ)裝置的直接訪問權(quán)。
5.如權(quán)利要求4所述的方法,其中如果所述防病毒代理的所述認(rèn)證成功,則向所述防 病毒代理提供通過直接存儲(chǔ)器訪問引擎掃描所述存儲(chǔ)器的直接訪問權(quán)。
6.如權(quán)利要求1所述的方法,包括在利用腳本引擎來(lái)支持所述防病毒代理通過所述 直接存儲(chǔ)器訪問弓I擎掃描所述存儲(chǔ)器之前認(rèn)證所述腳本弓I擎。
7.如權(quán)利要求6所述的方法,包括通過利用密鑰驗(yàn)證所述腳本引擎的簽名來(lái)認(rèn)證所述 腳本引擎,其中所述密鑰存儲(chǔ)在閃速裝置中。
8.如權(quán)利要求7所述的方法,其中如果所述腳本引擎的簽名與存儲(chǔ)在所述閃速裝置中 的所述密鑰不匹配,則從靜態(tài)隨機(jī)存取存儲(chǔ)器刪除所述腳本引擎。
9.如權(quán)利要求2所述的方法,其中向所述防病毒代理提供通過虛擬器引擎掃描所述存 儲(chǔ)裝置的直接訪問權(quán)。
10.如權(quán)利要求1所述的方法,還包括利用處理器狀態(tài)信息來(lái)掃描所述操作系統(tǒng),其中 遠(yuǎn)程服務(wù)器響應(yīng)接收到所述處理器狀態(tài)信息執(zhí)行所述掃描。
11.一種設(shè)備,包括包括可管理性引擎的平臺(tái)控制集線器,其中所述可管理性引擎用于存儲(chǔ)下載到平臺(tái)硬件空間的防病毒代理,所述平臺(tái)硬件空間與耦合到所述計(jì)算機(jī)平臺(tái) 的操作系統(tǒng)隔離,認(rèn)證所述防病毒代理,以及向所述防病毒代理提供直接掃描耦合到所述平臺(tái)硬件的存儲(chǔ)器的訪問權(quán)。
12.如權(quán)利要求11所述的設(shè)備,所述可管理性引擎還包括認(rèn)證引擎,其中所述認(rèn)證引 擎通過驗(yàn)證下載所述防病毒代理的來(lái)源來(lái)認(rèn)證所述防病毒代理,其中將所述防病毒代理下 載到在所述平臺(tái)硬件內(nèi)提供的第三方數(shù)據(jù)存儲(chǔ)設(shè)備。
13.如權(quán)利要求12所述的設(shè)備,所述可管理性引擎還包括控制器塊,其中所述控制器 塊在所述防病毒代理的所述認(rèn)證失敗時(shí)禁止所述防病毒代理得到處理。
14.如權(quán)利要求12所述的設(shè)備,其中所述控制器在所述防病毒代理的所述認(rèn)證成功時(shí) 向所述防病毒代理提供掃描耦合到所述計(jì)算機(jī)平臺(tái)的存儲(chǔ)裝置的直接訪問權(quán)。
15.如權(quán)利要求14所述的設(shè)備,所述可管理性引擎還包括直接存儲(chǔ)器訪問引擎,其中 如果所述防病毒代理的所述認(rèn)證成功,則所述直接存儲(chǔ)器訪問引擎支持所述防病毒代理直 接掃描所述存儲(chǔ)器。
16.如權(quán)利要求10所述的設(shè)備,其中所述控制器支持腳本引擎,其中所述認(rèn)證引擎在 利用所述腳本引擎來(lái)支持所述防病毒代理通過所述直接存儲(chǔ)器訪問引擎掃描所述存儲(chǔ)器 之前認(rèn)證所述腳本引擎。
17.如權(quán)利要求16所述的設(shè)備,其中所述認(rèn)證引擎通過利用密鑰驗(yàn)證所述腳本引擎的 簽名來(lái)認(rèn)證所述腳本引擎,其中所述密鑰存儲(chǔ)在閃速裝置中。
18.如權(quán)利要求17所述的設(shè)備,其中如果所述腳本引擎的簽名與存儲(chǔ)在所述閃速裝置 中的所述密鑰不匹配,則所述控制器從靜態(tài)隨機(jī)存取存儲(chǔ)器刪除所述腳本引擎。
19.如權(quán)利要求12所述的設(shè)備,還包括虛擬器引擎,其中所述虛擬器引擎向所述防病 毒代理提供通過所述虛擬器引擎掃描所述存儲(chǔ)裝置的直接訪問權(quán)。
20.如權(quán)利要求11所述的設(shè)備,所述可管理性引擎向遠(yuǎn)程服務(wù)器提供用于掃描所述操 作系統(tǒng)的處理器狀態(tài)信息。
全文摘要
一種計(jì)算機(jī)平臺(tái)可支持防病毒代理,可向這些防病毒代理提供直接掃描存儲(chǔ)器的訪問權(quán)。該計(jì)算機(jī)平臺(tái)可包括平臺(tái)控制集線器,平臺(tái)控制集線器可包括可管理性引擎和虛擬器引擎,其中可管理性引擎可允許將防病毒代理下載到與操作系統(tǒng)隔離的平臺(tái)硬件空間??晒芾硇砸婵烧J(rèn)證防病毒代理,并為防病毒代理提供直接掃描耦合到平臺(tái)硬件的存儲(chǔ)器或存儲(chǔ)裝置的訪問權(quán)。
文檔編號(hào)G06F13/28GK102054138SQ201010538430
公開日2011年5月11日 申請(qǐng)日期2010年10月29日 優(yōu)先權(quán)日2009年10月30日
發(fā)明者D·M·德哈姆, 森德 D·N·科拉, H·M·霍斯拉維 申請(qǐng)人:英特爾公司