本申請(qǐng)要求2014年9月22日提交的題為“Pre-Launch Process Vulnerability Assessment(啟動(dòng)前進(jìn)程漏洞評(píng)估)”的美國(guó)實(shí)用新型申請(qǐng)?zhí)?4/493,293的優(yōu)先權(quán),所述申請(qǐng)通過(guò)引用結(jié)合在此。
技術(shù)領(lǐng)域
本申請(qǐng)涉及計(jì)算機(jī)安全領(lǐng)域,并且更具體地涉及對(duì)可執(zhí)行對(duì)象的潛在漏洞進(jìn)行評(píng)估。
背景技術(shù):
計(jì)算機(jī)安全是一項(xiàng)重要問(wèn)題,并且其重要性隨著計(jì)算設(shè)備之間的互聯(lián)性的提高而提高。在傳統(tǒng)安全架構(gòu)的一個(gè)示例中,反病毒或反惡意軟件代理周期性地掃描計(jì)算機(jī)硬盤(pán)驅(qū)動(dòng)器來(lái)確定機(jī)器上是否安裝有與已知惡意對(duì)象的配置文件匹配的可執(zhí)行對(duì)象。用戶還可以在更新變得可用時(shí)手動(dòng)地為可執(zhí)行對(duì)象安裝這些更新,或者安全管理員可以在這些更新變得可用時(shí)“推(push)”出更新。
附圖說(shuō)明
當(dāng)與附圖一起閱讀時(shí),將從以下詳細(xì)描述中更好地理解本公開(kāi)。強(qiáng)調(diào)的是,根據(jù)行業(yè)中的標(biāo)準(zhǔn)實(shí)踐,不同特征未按比例繪制,并且僅用于說(shuō)明性目的。實(shí)際上,為了討論清楚,不同特征的尺寸可以被任意放大或減小。
圖1是根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的分布式計(jì)算網(wǎng)絡(luò)的網(wǎng)絡(luò)圖。
圖2是根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的計(jì)算設(shè)備的框圖。
圖3是根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的服務(wù)器計(jì)算設(shè)備的框圖。
圖4是根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的操作棧的框圖。
圖5是根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的一種安全方法的信號(hào)流程圖。
圖6是根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的由計(jì)算設(shè)備執(zhí)行的方法的流程圖。
圖7是根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的由服務(wù)器計(jì)算設(shè)備執(zhí)行的方法的流程圖。
具體實(shí)施方式
綜述
在示例中,公開(kāi)了一種漏洞評(píng)估引擎。所述漏洞評(píng)估引擎可以包括Shim應(yīng)用程序和Shim代理。所述Shim應(yīng)用程序在操作棧中位于相對(duì)較低層次,比如恰好在操作系統(tǒng)本身之上。它可以通過(guò)操作系統(tǒng)Hook(掛鉤)或其他手段攔截系統(tǒng)調(diào)用,以便確定是否應(yīng)該允許可執(zhí)行對(duì)象所采取的行動(dòng)。所述漏洞評(píng)估引擎向服務(wù)器發(fā)送標(biāo)識(shí)符,比如通用平臺(tái)列舉類(CPE)字符串,所述服務(wù)器查詢數(shù)據(jù)庫(kù)以確定針對(duì)所述動(dòng)作的響應(yīng)碼。所述響應(yīng)碼可以指示所述行動(dòng)應(yīng)當(dāng)被允許、阻止、利用警告而被允許、或其他有用動(dòng)作。還可以安裝Shim代理以便從所述服務(wù)器接收通知或向所述服務(wù)器查詢用于所述可執(zhí)行對(duì)象的可用更新或補(bǔ)丁。
本公開(kāi)的示例實(shí)施例
以下公開(kāi)內(nèi)容提供了用于實(shí)施本公開(kāi)的不同特征的許多不同實(shí)施例或示例。以下描述了部件和安排的具體示例以便簡(jiǎn)化本公開(kāi)。當(dāng)然,這些僅是示例并且并不旨在是限制性的。另外,本公開(kāi)在不同示例中可以重復(fù)參考標(biāo)號(hào)和/或字母。這種重復(fù)是出于簡(jiǎn)明性和清楚性的目的,并且本身并不決定所討論的不同實(shí)施例和/或配置之間的關(guān)系。
不同實(shí)施例可以具有不同優(yōu)點(diǎn),并且不一定需要任何實(shí)施例的任何特定優(yōu)點(diǎn)。。
本說(shuō)明書(shū)描述了一種漏洞評(píng)估引擎,所述漏洞評(píng)估引擎可操作用于:攔截可執(zhí)行對(duì)象所進(jìn)行的或與其相關(guān)聯(lián)的任何動(dòng)作,比如啟動(dòng)、讀取、寫(xiě)入、存儲(chǔ)器訪問(wèn);更新系統(tǒng)文件;刪除系統(tǒng)文件;讀取屬于另一應(yīng)用程序的文件;更改屬于另一應(yīng)用程序的文件;訪問(wèn)、讀取、寫(xiě)入、更新、或刪除注冊(cè)表項(xiàng)或配置文件;周期性地聯(lián)系遠(yuǎn)程服務(wù)器;向遠(yuǎn)程服務(wù)器提供系統(tǒng)相關(guān)信息;從遠(yuǎn)程服務(wù)器下載文件;對(duì)從遠(yuǎn)程服務(wù)器下載的文件進(jìn)行安裝;預(yù)加載;預(yù)取等。
在對(duì)動(dòng)作進(jìn)行攔截時(shí),漏洞評(píng)估引擎可以為所述動(dòng)作指定執(zhí)行所述動(dòng)作的可執(zhí)行對(duì)象特定的信譽(yù)。因而,例如,命名為“process.exe”的可執(zhí)行對(duì)象可能未被指定允許所有動(dòng)作或者阻止所有動(dòng)作的單個(gè)整體信譽(yù)。相反,“process.exe”所執(zhí)行的每個(gè)動(dòng)作可以具有獨(dú)立的信譽(yù)。
如果“process.exe”是僅執(zhí)行它被授權(quán)執(zhí)行的動(dòng)作的享有信譽(yù)的文件,漏洞評(píng)估引擎對(duì)最終用戶無(wú)縫地且不可見(jiàn)地運(yùn)行。允許可執(zhí)行對(duì)象完成其任務(wù),并且不需要打擾用戶。另一方面,如果“process.exe”是執(zhí)行一些合法功能而且禁止不期望行為的“灰色軟件”應(yīng)用程序,可以阻止某些動(dòng)作。例如,如果“process.exe”是移動(dòng)電話的閃光燈應(yīng)用程序,則它可以具有訪問(wèn)硬件和軟件(比如閃光)合法利益,并甚至可能合法地下載并顯示廣告以支持開(kāi)發(fā)。但如果所述進(jìn)程還禁止更加易出故障的行為,比如剔除移動(dòng)電話上的聯(lián)系人和個(gè)人信息并試圖將所述信息上傳至遠(yuǎn)程服務(wù)器,漏洞評(píng)估引擎會(huì)進(jìn)行干預(yù)。
每個(gè)行為可以具有以適合上下文的粒度落在光譜上的信譽(yù),比如,對(duì)于黑名單項(xiàng)的“紅色”(總是阻止)、對(duì)于灰名單項(xiàng)的“黃色”(只有在用戶許可下才允許)、對(duì)于白名單項(xiàng)的“綠色”(總是允許),或具有表示不同變量(比如,“阻止”、“允許”、“尋求用戶輸入”、“尋求管理員輸入”等)的多個(gè)維度的多方面數(shù)字評(píng)分。
白名單對(duì)應(yīng)用程序安裝會(huì)特別有用,其中,用戶空間應(yīng)用程序安裝在機(jī)器上。更一般地,如果已知一定的動(dòng)作集合(在可接受的確定度內(nèi))對(duì)于某些應(yīng)用程序是安全的,則可以將那些動(dòng)作對(duì)那些應(yīng)用程序列入白名單。這有助于避免對(duì)用戶輸入的不必要征求。相反,可以將更低層次的操作“列入灰名單”。例如,固件更新可能需要來(lái)自管理員的特別許可,從而使得甚至用戶不能夠單獨(dú)進(jìn)行固件更新。
在前述灰色軟件應(yīng)用程序中,漏洞評(píng)估引擎可以攔截進(jìn)程從用戶剔除聯(lián)系人和個(gè)人信息的嘗試,并將所嘗試動(dòng)作標(biāo)記為“黃色”。然后,漏洞評(píng)估引擎可以征求用戶輸入。如果用戶對(duì)所述動(dòng)作進(jìn)行驗(yàn)證,則允許進(jìn)程繼續(xù)進(jìn)行。如果用戶不允許所述動(dòng)作,則可以將其阻止。在這種情況下,可以采取適當(dāng)?shù)男袆?dòng),比如僅針對(duì)所述進(jìn)程暫時(shí)地或永久地使網(wǎng)絡(luò)連接失能,或建立模仿后端服務(wù)器的圓形緩沖器,從而使得進(jìn)程不被通知已經(jīng)阻止了所嘗試動(dòng)作。
通過(guò)非限制性示例,對(duì)于已安裝的應(yīng)用程序或新下載的文件兩者,行動(dòng)可以包括訪問(wèn)、讀取、更新、刪除系統(tǒng)文件或其他應(yīng)用程序文件,訪問(wèn)、讀取、更新、或刪除Windows機(jī)上的注冊(cè)表項(xiàng)或類Unix機(jī)上的配置文件,周期地使遠(yuǎn)程服務(wù)器聯(lián)系HTTP POST或發(fā)送系統(tǒng)相關(guān)信息,或下載并安裝來(lái)自遠(yuǎn)程服務(wù)器的文件??梢詫⑷魏芜@種動(dòng)作報(bào)告給后端服務(wù)器。然后,后端服務(wù)器可以咨詢?nèi)蛲{情報(bào)(GTI)或類似數(shù)據(jù)庫(kù)或?qū)⒖蓤?zhí)行對(duì)象提供給研究小組以進(jìn)行更加深入的分析。
有利的是,在此公開(kāi)的漏洞評(píng)估引擎可以避免否則可能發(fā)生的某些誤報(bào)。例如,如果將可執(zhí)行對(duì)象預(yù)取至存儲(chǔ)器中但尚未嘗試任何有用工作,追求用戶許可可能沒(méi)有好處。由于漏洞評(píng)估引擎向任務(wù)而非進(jìn)程en grosse指定信譽(yù),可以推遲干預(yù),直到進(jìn)程采取可疑行動(dòng)。
圖1是根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的分布式安全網(wǎng)絡(luò)100的網(wǎng)絡(luò)層次圖。在圖1的示例中,多個(gè)用戶120操作多個(gè)計(jì)算設(shè)備110。具體地,用戶120-1操作臺(tái)式計(jì)算機(jī)110-1。用戶120-2操作膝上型計(jì)算機(jī)110-2。最終用戶120-3操作移動(dòng)設(shè)備110-3。每臺(tái)計(jì)算設(shè)備可以包括適當(dāng)?shù)牟僮飨到y(tǒng),比如微軟Windows、Linux、安卓、Mac OSX、蘋(píng)果iOS、Unix等。相比一種類型的設(shè)備,可能在另一種類型的設(shè)備上更經(jīng)常地使用前述項(xiàng)中的一些項(xiàng)。例如,臺(tái)式計(jì)算機(jī)(也可以是工程工作站)可能更有可能使用微軟Windows、Linux、Unix或者M(jìn)ac OSX之一。膝上型計(jì)算機(jī)110-2(通常是具有最小定制化的更便攜的現(xiàn)成設(shè)備)更有可能運(yùn)行微軟Windows或者M(jìn)ac OSX。移動(dòng)設(shè)備110-3更有可能運(yùn)行安卓或者iOS。然而,這些示例并不旨在是限制性的。
計(jì)算設(shè)備110可以經(jīng)由網(wǎng)絡(luò)170而彼此通信地耦合以及耦合到其他網(wǎng)絡(luò)資源。網(wǎng)絡(luò)170可以是任何適當(dāng)?shù)木W(wǎng)絡(luò)或網(wǎng)絡(luò)的組合,通過(guò)非限制性示例的方式,包括例如局域網(wǎng)、廣域網(wǎng)、無(wú)線網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)或互聯(lián)網(wǎng)。同樣與網(wǎng)絡(luò)170連接的是一個(gè)或多個(gè)服務(wù)器140、應(yīng)用程序儲(chǔ)存庫(kù)160、以及通過(guò)各設(shè)備連接的人類參與者,包括例如安全管理員150、攻擊者190、和開(kāi)發(fā)者180。
服務(wù)器140可以被配置成用于提供適當(dāng)?shù)木W(wǎng)絡(luò)服務(wù),包括在本說(shuō)明書(shū)的一個(gè)或多個(gè)示例中公開(kāi)的某些服務(wù)。在某些實(shí)施例中,服務(wù)器140還可以包括通過(guò)一個(gè)或多個(gè)媒介連接的遠(yuǎn)程或“云”服務(wù)。
用戶120的目標(biāo)可以是在沒(méi)有來(lái)自攻擊者190和開(kāi)發(fā)者180的干擾的情況下成功地操作他們各自的計(jì)算設(shè)備110。在一個(gè)示例中,攻擊者190是惡意軟件作者,其目的是造成惡意傷害或損害。惡意傷害或損害可以采取以下形式:在計(jì)算設(shè)備110上安裝Rootkit或其他惡意軟件以便篡改系統(tǒng)、安裝間諜軟件或廣告軟件以便收集個(gè)人和商用數(shù)據(jù)、丑化網(wǎng)站、操作僵尸網(wǎng)絡(luò)、操作垃圾郵件服務(wù)器或僅打攪和騷擾用戶120。為了實(shí)現(xiàn)這些目標(biāo),攻擊者190可能期望將惡意軟件安裝在一個(gè)或多個(gè)計(jì)算設(shè)備110上。如貫穿本說(shuō)明書(shū)所使用的,惡意的軟件(“惡意軟件(malware)”)包括被設(shè)計(jì)成用于采取潛在不想要的行動(dòng)的任何病毒、木馬、僵尸、Rootkit、后門(mén)、蠕蟲(chóng)、間諜軟件、廣告軟件、勒索軟件、撥號(hào)器、有效載荷、惡意瀏覽器輔助對(duì)象、Cookie、登陸器等,通過(guò)非限制性示例包括數(shù)據(jù)銷毀、隱匿數(shù)據(jù)采集、瀏覽器劫持、網(wǎng)絡(luò)代理或重定向、隱匿追蹤、數(shù)據(jù)記錄、密鑰登陸、對(duì)移除的過(guò)度或蓄意阻礙、聯(lián)系收獲、以及未授權(quán)自傳播。
開(kāi)發(fā)者180也可以在網(wǎng)絡(luò)170上進(jìn)行操作。開(kāi)發(fā)者180可能沒(méi)有特定的惡意,但可能有對(duì)用戶120不利的利益,或者可能開(kāi)發(fā)造成安全風(fēng)險(xiǎn)的軟件。例如,眾所周知的且經(jīng)常被利用的安全缺陷是所謂的緩沖器溢出,其中,惡意用戶(比如攻擊者190)能夠?qū)⑦^(guò)長(zhǎng)的字符串輸入輸入表中并且由此獲得執(zhí)行任意指令或者使用提升的特權(quán)來(lái)操作計(jì)算設(shè)備110的能力。緩沖器溢出可以是例如不良輸入驗(yàn)證或未完成的垃圾收集的結(jié)果,并且在許多情況下,在非顯而易見(jiàn)的情境中出現(xiàn)。因此,盡管開(kāi)發(fā)者180本身不是惡意的,但是其可能為攻擊者190提供攻擊向量。開(kāi)發(fā)者180所開(kāi)發(fā)的應(yīng)用也可以引起固有問(wèn)題,比如崩潰、數(shù)據(jù)丟失或其他非期望的行為。在另一示例中,開(kāi)發(fā)者180開(kāi)發(fā)可以灰色軟件資格的軟件,其中,所述軟件本身提供有用的功能,但同樣例如對(duì)使來(lái)自用戶120的信息貨幣化過(guò)度侵入。
開(kāi)發(fā)者180可以自己托管軟件,或者可以將他的軟件上傳到應(yīng)用程序儲(chǔ)存庫(kù)160。因?yàn)閬?lái)自開(kāi)發(fā)者180的軟件本身可能是期望的,所以開(kāi)發(fā)者180在漏洞變得已知時(shí)偶爾提供修復(fù)漏洞的更新或補(bǔ)丁是有益的。
應(yīng)用程序儲(chǔ)存庫(kù)160可以表示“app商店”、軟件儲(chǔ)存庫(kù)(比如一般用于Unix和Linux環(huán)境的那些)、或?yàn)橛脩?20提供交互地或自動(dòng)地下載并將應(yīng)用程序安裝在計(jì)算設(shè)備110上的能力的其他網(wǎng)絡(luò)服務(wù)。在更廣泛的意義上,互聯(lián)網(wǎng)可以被視為非常大型的分布式應(yīng)用程序儲(chǔ)存庫(kù)160。因而,在一些實(shí)施例中,應(yīng)用程序儲(chǔ)存庫(kù)160可以被集中控制,在其他實(shí)施例中,所述應(yīng)用程序儲(chǔ)存庫(kù)可以是非集中式的,或所述應(yīng)用程序儲(chǔ)存庫(kù)可以是兩者的組合。開(kāi)發(fā)者180和攻擊者190都可以經(jīng)由應(yīng)用程序儲(chǔ)存庫(kù)160提供軟件。如果應(yīng)用程序儲(chǔ)存庫(kù)160具有適當(dāng)?shù)氖构粽?90難以分散明顯惡意的軟件的安全措施,那么攻擊者190反而可以暗中將漏洞插入到顯然有益的應(yīng)用中。
在一些情況下,一個(gè)或多個(gè)用戶120可以屬于企業(yè),所述企業(yè)可以包括企業(yè)服務(wù)器140。一個(gè)或多個(gè)安全管理員150可以管理企業(yè)服務(wù)器140,并且還可以負(fù)責(zé)通過(guò)網(wǎng)絡(luò)和軟件策略定義和/或?qū)嵤┢髽I(yè)計(jì)算策略。例如,所述企業(yè)可以提供策略指示,所述策略指示限制可以安裝在企業(yè)計(jì)算設(shè)備110上的應(yīng)用程序類型,并且可以禁止或限制來(lái)自應(yīng)用程序儲(chǔ)存庫(kù)160的應(yīng)用程序的安裝。因而,應(yīng)用程序儲(chǔ)存庫(kù)160可以包括并非無(wú)意被發(fā)開(kāi)且并非惡意軟件,但雖然如此仍違反策略的軟件。例如,一些企業(yè)限制對(duì)娛樂(lè)軟件(如媒體播放器和游戲)的安裝。因此,甚至安全的媒體播放器或游戲也可能不適合企業(yè)計(jì)算機(jī)。
在另一示例中,用戶120可以是小孩子的父母,并且希望保護(hù)小孩子不受非期望內(nèi)容(通過(guò)非限制性示例的方式,比如,色情作品、廣告軟件、間諜軟件、不符合年齡的內(nèi)容、對(duì)某些政治、宗教或社會(huì)運(yùn)動(dòng)的倡導(dǎo)、以及用于討論非法或者危險(xiǎn)活動(dòng)的論壇)的影響。在這種情況下,父母可以承擔(dān)安全管理員150的角色,并且可以為家庭定義并實(shí)施計(jì)算策略。
總的來(lái)說(shuō),惡意軟件、灰色軟件、違反策略的軟件、和上文所描述的其他內(nèi)容可以被稱為“潛在不想要的內(nèi)容”(PUC)。在示例中,用戶120的目的是在限制或去除PUC的同時(shí)配置并操作計(jì)算設(shè)備110,并且安全管理員150的目的是制作并實(shí)施防止PUC侵染網(wǎng)絡(luò)170并對(duì)其起作用的策略。為了這個(gè)目的,計(jì)算設(shè)備110可以包括用于標(biāo)識(shí)和去除PUC的服務(wù),并且服務(wù)器140可以提供基于附加網(wǎng)絡(luò)的服務(wù),這些服務(wù)被配置成用于實(shí)施策略并另外輔助計(jì)算設(shè)備110排除PUC。
在當(dāng)前架構(gòu)的示例中,計(jì)算設(shè)備110被規(guī)定具有與服務(wù)器140通信的Shim應(yīng)用程序。所述Shim應(yīng)用程序可以被特定地配置成用于通過(guò)攔截可執(zhí)行對(duì)象所做的API調(diào)用和系統(tǒng)調(diào)用來(lái)攔截新進(jìn)程的執(zhí)行以及具體新應(yīng)用程序的安裝。所述Shim應(yīng)用程序可以例如通過(guò)操作系統(tǒng)Hook而被嵌入操作棧,從而使得它對(duì)在應(yīng)用程序?qū)哟螆?zhí)行的應(yīng)用程序或進(jìn)程無(wú)縫地且不可見(jiàn)地運(yùn)行。當(dāng)用戶嘗試啟動(dòng)應(yīng)用程序(并且具體地安裝程序)時(shí),Shim應(yīng)用程序可以收集適當(dāng)?shù)亩攘縼?lái)確定是否應(yīng)該允許所述應(yīng)用程序。在一些情況下,那些度量還可以使得Shim應(yīng)用程序查詢服務(wù)器140來(lái)確定對(duì)應(yīng)用程序是否存在任何限制,比如企業(yè)策略限制、家庭限制、或基于被標(biāo)記為潛在不想要的內(nèi)容的應(yīng)用程序的限制。取決于對(duì)象的信譽(yù),同一應(yīng)用程序可以無(wú)縫地允許執(zhí)行,可以默默地阻止執(zhí)行,可以利用對(duì)用戶的警告來(lái)阻止執(zhí)行,或可以在許可繼續(xù)進(jìn)行執(zhí)行之前請(qǐng)求來(lái)自用戶的附加驗(yàn)證。Shim應(yīng)用程序還可以開(kāi)始監(jiān)控可執(zhí)行對(duì)象的活動(dòng),(通過(guò)非限制性示例)像訪問(wèn)/讀取/更新/刪除系統(tǒng)文件或其他應(yīng)用程序文件或訪問(wèn)/讀取/更新/刪除Windows機(jī)上的注冊(cè)表項(xiàng)或類Unix機(jī)上的系統(tǒng)文件,或它是否周期性地使遠(yuǎn)程服務(wù)器與POST聯(lián)系/發(fā)送系統(tǒng)相關(guān)信息或下載并安裝來(lái)自遠(yuǎn)程服務(wù)器的文件。將認(rèn)識(shí)到的是,還可以采取其他潛在行動(dòng),并且所有此類適當(dāng)行動(dòng)旨在被涵蓋在本說(shuō)明書(shū)的廣泛范圍內(nèi)。
圖2是根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的客戶端設(shè)備110的框圖??蛻舳嗽O(shè)備110可以是任何適當(dāng)?shù)挠?jì)算設(shè)備。在各種實(shí)施例中,通過(guò)非限制性示例的方式,“計(jì)算設(shè)備”可以是或可以包括:計(jì)算機(jī)、嵌入式計(jì)算機(jī)、嵌入式控制器、嵌入式傳感器、個(gè)人數(shù)字助理(PDA)、膝上型計(jì)算機(jī)、蜂窩電話、IP電話、智能電話、平板計(jì)算機(jī)、可轉(zhuǎn)換平板計(jì)算機(jī)、手持計(jì)算器或者用于處理和傳達(dá)數(shù)據(jù)的任何其他電子、微電子或者微機(jī)電設(shè)備。
客戶端設(shè)備110包括連接至存儲(chǔ)器220的處理器210,所述存儲(chǔ)器具有存儲(chǔ)在其中的用于提供操作系統(tǒng)222和漏洞評(píng)估引擎224的可執(zhí)行指令??蛻舳嗽O(shè)備110的其他部件包括存儲(chǔ)設(shè)備250、網(wǎng)絡(luò)接口260以及外圍接口240。
在示例中,處理器210經(jīng)由存儲(chǔ)器總線270-3通信地耦合至存儲(chǔ)器220,所述存儲(chǔ)器總線可以是例如直接存儲(chǔ)器訪問(wèn)(DMA)總線。處理器210可以經(jīng)由系統(tǒng)總線270-1通信地耦合至其他設(shè)備。如貫穿本說(shuō)明書(shū)所使用的,“總線”包括任何有線或無(wú)線互連線、網(wǎng)絡(luò)、連接、束、單條總線、多條總線、交叉式網(wǎng)絡(luò)、單級(jí)網(wǎng)絡(luò)、多級(jí)網(wǎng)絡(luò)或可操作用于在計(jì)算設(shè)備的各個(gè)部分之間或計(jì)算設(shè)備之間承載數(shù)據(jù)、信號(hào)或功率的其他傳導(dǎo)介質(zhì)。應(yīng)當(dāng)注意的是,這些使用僅僅通過(guò)非限制性示例的方式公開(kāi),并且一些實(shí)施例可以省略前述總線中的一種或多種總線,而其他實(shí)施例可以采用附加或不同總線。
在各個(gè)示例中,“處理器”可以包括硬件、軟件或提供可編程邏輯的固件的任何組合,通過(guò)非限制性示例的方式,包括微處理器、數(shù)字信號(hào)處理器、現(xiàn)場(chǎng)可編程門(mén)陣列、可編程邏輯陣列、專用集成電路或虛擬機(jī)處理器。
處理器210可以經(jīng)由DMA總線270-3連接至DMA配置中的存儲(chǔ)器220。為了簡(jiǎn)化本公開(kāi),存儲(chǔ)器220被公開(kāi)為單個(gè)邏輯塊,但是在物理實(shí)施例中可以包括任何合適的易失性或非易失性存儲(chǔ)器技術(shù)(或多項(xiàng)技術(shù))的一個(gè)或多個(gè)塊,包括例如DDR RAM、SRAM、DRAM、緩存、L1或L2存儲(chǔ)器、片上存儲(chǔ)器、寄存器、閃存、ROM、光介質(zhì)、虛擬存儲(chǔ)器區(qū)域、磁或磁帶存儲(chǔ)器或類似的存儲(chǔ)設(shè)備。在某些實(shí)施例中,存儲(chǔ)器220可以包括相對(duì)低延遲易失性主存儲(chǔ)器,而存儲(chǔ)設(shè)備250可以包括相對(duì)較高延遲非易失性存儲(chǔ)器。然而,存儲(chǔ)器220和存儲(chǔ)設(shè)備250不需要是物理上獨(dú)立的設(shè)備,并且在一些示例中,可能僅表示功能的邏輯分離。還應(yīng)注意的是,盡管通過(guò)非限制性示例的方式公開(kāi)了DMA,但是DMA不是與本說(shuō)明書(shū)相一致的唯一協(xié)議,并且其他存儲(chǔ)器架構(gòu)是可用的。
存儲(chǔ)設(shè)備250可以是任何種類的存儲(chǔ)器220,或者可以是分離的設(shè)備,如硬盤(pán)驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器、外部存儲(chǔ)設(shè)備、獨(dú)立磁盤(pán)冗余陣列(RAID)、網(wǎng)絡(luò)附接存儲(chǔ)設(shè)備、光學(xué)存儲(chǔ)設(shè)備、磁帶驅(qū)動(dòng)器、備份系統(tǒng)、云存儲(chǔ)設(shè)備、或前述任何組合。存儲(chǔ)設(shè)備250可以是或其中可以包括一個(gè)或多個(gè)數(shù)據(jù)庫(kù)或存儲(chǔ)在其他配置中的數(shù)據(jù),并且可以包括操作軟件的存儲(chǔ)副本,如操作系統(tǒng)222和漏洞評(píng)估引擎224的軟件部分。許多其他配置也是可能的,并且旨在被涵蓋在本說(shuō)明書(shū)的廣義范圍內(nèi)。
可以提供網(wǎng)絡(luò)接口260來(lái)將客戶端設(shè)備110與有線或無(wú)線網(wǎng)絡(luò)通信地耦合。如貫穿本說(shuō)明書(shū)所使用的“網(wǎng)絡(luò)”可以包括可操作用于在計(jì)算設(shè)備內(nèi)或在計(jì)算設(shè)備之間交換數(shù)據(jù)或信息的任何通信平臺(tái),通過(guò)非限制性示例的方式包括自組織本地網(wǎng)、提供具有電交互能力的通信設(shè)備的互聯(lián)網(wǎng)架構(gòu)、簡(jiǎn)易老式電話系統(tǒng)(POTS)(計(jì)算設(shè)備可以使用所述簡(jiǎn)易老式電話系統(tǒng)來(lái)執(zhí)行交易,在所述交易中它們可以由人類操作員來(lái)幫助或在所述交易中它們可以自動(dòng)地將數(shù)據(jù)鍵入到電話或其他合適的電子設(shè)備中)、提供通信接口或在系統(tǒng)中的任何兩個(gè)節(jié)點(diǎn)之間進(jìn)行交換的任何分組數(shù)據(jù)網(wǎng)絡(luò)(PDN)、或任何局域網(wǎng)(LAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN)、無(wú)線局域網(wǎng)(WLAN)、虛擬專用網(wǎng)(VPN)、內(nèi)聯(lián)網(wǎng)、或促進(jìn)網(wǎng)絡(luò)或電話環(huán)境中的通信的任何其他適當(dāng)?shù)募軜?gòu)或系統(tǒng)。
在一個(gè)示例中,漏洞評(píng)估引擎224是執(zhí)行方法(比如圖4的方法400)或根據(jù)本說(shuō)明書(shū)的其他方法的工具或程序。在各個(gè)實(shí)施例中,漏洞評(píng)估引擎224可以在硬件、軟件、固件或其一些組合中被具體化。例如,在一些情況下,漏洞評(píng)估引擎224可以包括被設(shè)計(jì)成用于執(zhí)行方法或其一部分的專用集成電路,并且還可以包括可操作用于指示處理器執(zhí)行所述方法的軟件指令。在一些情況下,漏洞評(píng)估引擎224可以作為具有提高的系統(tǒng)權(quán)限的“守護(hù)”進(jìn)程運(yùn)行?!笆刈o(hù)進(jìn)程”可以包括任何程序或一系列可執(zhí)行指令,無(wú)論在硬件、軟件、固件或其任何組合中實(shí)施與否,那些可執(zhí)行指令都作為后臺(tái)進(jìn)程、終止并駐留程序、服務(wù)、系統(tǒng)擴(kuò)展、控制面板、啟動(dòng)程序、BIOS子程序、或沒(méi)有直接用戶交互操作的任何類似程序的運(yùn)行。還應(yīng)注意的是,漏洞評(píng)估引擎224僅通過(guò)非限制性示例的方式被提供,并且包括交互式或用戶模式軟件的其他硬件和軟件還可以結(jié)合、除了或替代漏洞評(píng)估引擎224而被提供,以便執(zhí)行根據(jù)本說(shuō)明書(shū)的方法。
在一個(gè)示例中,漏洞評(píng)估引擎224包括存儲(chǔ)在可操作用于執(zhí)行圖4的方法400、或根據(jù)本說(shuō)明書(shū)的類似方法的非瞬態(tài)介質(zhì)上的可執(zhí)行指令。在適當(dāng)時(shí)間(如根據(jù)啟動(dòng)客戶端設(shè)備110或根據(jù)來(lái)自操作系統(tǒng)222或用戶120的命令),處理器210可以從存儲(chǔ)設(shè)備250中檢索漏洞評(píng)估引擎224(或其軟件部分)的副本并將其加載到存儲(chǔ)器220中。然后,處理器210可以迭代地執(zhí)行漏洞評(píng)估引擎224的指令。
外圍接口240可以被配置成用于與連接至客戶端設(shè)備110但不一定是客戶端設(shè)備110的核心架構(gòu)的一部分的任何輔助設(shè)備接合。外圍設(shè)備可以可操作用于向客戶端設(shè)備110提供擴(kuò)展功能,并且可以或可以不完全依賴于客戶端設(shè)備110。在一些情況下,外圍設(shè)備可以是其自身的計(jì)算設(shè)備。通過(guò)非限制性示例的方式,外圍設(shè)備可以包括輸入和輸出設(shè)備,如顯示器、終端、打印機(jī)、鍵盤(pán)、鼠標(biāo)、調(diào)制解調(diào)器、網(wǎng)絡(luò)控制器、傳感器、換能器、致動(dòng)器、控制器、數(shù)據(jù)采集總線、照相機(jī)、麥克風(fēng)、揚(yáng)聲器、或外部存儲(chǔ)設(shè)備。
圖3是根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的服務(wù)器140的框圖。服務(wù)器140可以是任何合適的計(jì)算設(shè)備,如聯(lián)系圖2所描述的。一般地,圖2的定義和示例可以被視為同等地適用于圖3,除非另外特別聲明。
服務(wù)器140包括連接至存儲(chǔ)器320的處理器310,所述存儲(chǔ)器具有存儲(chǔ)在其中的用于提供操作系統(tǒng)322和漏洞評(píng)估服務(wù)器引擎324的可執(zhí)行指令。服務(wù)器140的其他部件包括存儲(chǔ)設(shè)備350、網(wǎng)絡(luò)接口360和外圍設(shè)備接口340。
在示例中,處理器310經(jīng)由存儲(chǔ)器總線370-3通信地耦合至存儲(chǔ)器320,所述存儲(chǔ)器總線可以是例如直接存儲(chǔ)器訪問(wèn)(DMA)總線。處理器310可以經(jīng)由系統(tǒng)總線370-1通信地耦合至其他設(shè)備。
處理器310可以經(jīng)由DMA總線370-3連接至DMA配置中的存儲(chǔ)器320。為了簡(jiǎn)化本公開(kāi),存儲(chǔ)器320被公開(kāi)為單個(gè)邏輯塊,但是在物理實(shí)施例中可以包括任何合適的易失性或非易失性存儲(chǔ)器技術(shù)(或多項(xiàng)技術(shù))的一個(gè)或多個(gè)塊,如聯(lián)系圖2的存儲(chǔ)器220所描述的。在某些實(shí)施例中,存儲(chǔ)器320可以包括相對(duì)低延遲易失性主存儲(chǔ)器,而存儲(chǔ)設(shè)備350可以包括相對(duì)較高延遲非易失性存儲(chǔ)器。然而,存儲(chǔ)器320和存儲(chǔ)設(shè)備350不需要是物理上獨(dú)立的設(shè)備,如聯(lián)系圖2進(jìn)一步描述的。
存儲(chǔ)設(shè)備350可以是任何種類的存儲(chǔ)器220,或者可以是分離的設(shè)備,如聯(lián)系圖2的存儲(chǔ)設(shè)備250所描述的。存儲(chǔ)設(shè)備350可以是或者其中可以包括一個(gè)或多個(gè)數(shù)據(jù)庫(kù)或者存儲(chǔ)在其他配置中的數(shù)據(jù),并且可以包括操作軟件的存儲(chǔ)副本,如操作系統(tǒng)322以及漏洞評(píng)估服務(wù)器引擎324的軟件部分。許多其他配置也是可能的,并且旨在被涵蓋在本說(shuō)明書(shū)的廣義范圍內(nèi)。
可以提供網(wǎng)絡(luò)接口360來(lái)將服務(wù)器140與有線或無(wú)線網(wǎng)絡(luò)通信地耦合。如貫穿本說(shuō)明書(shū)所使用的“網(wǎng)絡(luò)”可以包括可操作用于在計(jì)算設(shè)備內(nèi)或在計(jì)算設(shè)備之間交換數(shù)據(jù)或信息的任何通信平臺(tái),通過(guò)非限制性示例的方式包括自組織本地網(wǎng)、提供具有電交互能力的通信設(shè)備的互聯(lián)網(wǎng)架構(gòu)、簡(jiǎn)易老式電話系統(tǒng)(POTS)(計(jì)算設(shè)備可以使用所述簡(jiǎn)易老式電話系統(tǒng)來(lái)執(zhí)行交易,在所述交易中它們可以由人類操作員來(lái)幫助或在所述交易中它們可以自動(dòng)地將數(shù)據(jù)鍵入到電話或其他合適的電子設(shè)備中)、提供通信接口或在系統(tǒng)中的任何兩個(gè)節(jié)點(diǎn)之間進(jìn)行交換的任何分組數(shù)據(jù)網(wǎng)絡(luò)(PDN)、或任何局域網(wǎng)(LAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN)、無(wú)線局域網(wǎng)(WLAN)、虛擬專用網(wǎng)(VPN)、內(nèi)聯(lián)網(wǎng)、或促進(jìn)網(wǎng)絡(luò)或電話環(huán)境中的通信的任何其他適當(dāng)?shù)募軜?gòu)或系統(tǒng)。
在一個(gè)示例中,漏洞評(píng)估服務(wù)器引擎324是執(zhí)行方法(比如圖5的方法500)或根據(jù)本說(shuō)明書(shū)的其他方法的工具或程序。在各個(gè)實(shí)施例中,漏洞評(píng)估服務(wù)器引擎324可以在硬件、軟件、固件或其一些組合中被具體化。例如,在一些情況下,漏洞評(píng)估服務(wù)器引擎324可以包括被設(shè)計(jì)成用于執(zhí)行方法或其一部分的專用集成電路,并且還可以包括可操作用于指示處理器執(zhí)行所述方法的軟件指令。在一些情況下,漏洞評(píng)估服務(wù)器引擎324可以作為守護(hù)進(jìn)程運(yùn)行,如上文所述。還應(yīng)注意的是,漏洞評(píng)估服務(wù)器引擎324僅通過(guò)非限制性示例的方式被提供,并且包括交互式或用戶模式軟件的其他硬件和軟件還可以結(jié)合、除了或替代漏洞評(píng)估服務(wù)器引擎324而被提供,以便執(zhí)行根據(jù)本說(shuō)明書(shū)的方法。
在一個(gè)示例中,漏洞評(píng)估服務(wù)器引擎324包括存儲(chǔ)在可操作用于執(zhí)行圖5的方法500、或根據(jù)本說(shuō)明書(shū)的類似方法的非瞬態(tài)介質(zhì)上的可執(zhí)行指令。在適當(dāng)時(shí)間上(如根據(jù)啟動(dòng)服務(wù)器140或根據(jù)來(lái)自操作系統(tǒng)322或用戶120的命令),處理器310可以從存儲(chǔ)設(shè)備350中檢索漏洞評(píng)估服務(wù)器引擎324(或其軟件部分)的副本并將其加載到存儲(chǔ)器320中。然后,處理器310可以迭代地執(zhí)行漏洞評(píng)估服務(wù)器引擎324的指令。
外圍接口340可以被配置成用于與連接至服務(wù)器140但不一定是服務(wù)器140的核心架構(gòu)的一部分的任何輔助設(shè)備接合。外圍設(shè)備可以可操作用于向服務(wù)器140提供擴(kuò)展功能,并且可以或可以不完全依賴于服務(wù)器140。在一些情況下,外圍設(shè)備可以是其自身的計(jì)算設(shè)備。通過(guò)非限制性示例的方式,外圍設(shè)備可以包括聯(lián)系圖2的外圍接口240所討論的設(shè)備中的任何一個(gè)。
圖4是公開(kāi)了根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的示例操作棧400的框圖。根據(jù)圖4的示例,操作棧400被劃分成多個(gè)分離的層,在本示例中,七個(gè)。應(yīng)當(dāng)注意的是,這七層僅僅是舉例提供的,并且在一些實(shí)施例中,可以提供多個(gè)附加層,同時(shí)在其他實(shí)施例中,可以移除多個(gè)層。還應(yīng)當(dāng)注意的是,所公開(kāi)的層僅提供了便于對(duì)計(jì)算機(jī)進(jìn)行編程和管理的功能邏輯分層。這些層不需要被設(shè)置在獨(dú)立地硬件和軟件中,并且在一些情況下,層之間的邊界多少會(huì)有些模糊。層之間還可以存在一些重疊并且在非連續(xù)層之間還可以存在互連。因而,應(yīng)該理解的是,此架構(gòu)僅出于便于討論的目的提供的,并且不旨在限制本說(shuō)明書(shū)或所附權(quán)利要求書(shū)的范圍。
在一個(gè)示例中,操作棧400中所顯露的層次分級(jí)表示逐漸降低的操作權(quán)限級(jí)別,從底部(硬件層402,最高權(quán)限)到頂部(用戶界面460,最低權(quán)限)。作為非限制性示例,每個(gè)層可以提供硬件和/或軟件接口,比如應(yīng)用程序編程接口,上面的層可以通過(guò)所述接口下發(fā)命令或指令。換言之,在硬件層402,設(shè)備被賦予執(zhí)行它們能夠執(zhí)行的任何操作的權(quán)限,并提供某些指令或信號(hào),固件410可以下發(fā)所述指令或信號(hào)以指示硬件層402執(zhí)行那些功能中的一些或全部。在用戶界面層460,軟件僅被賦予提供某些許可的指令的權(quán)限,比如通過(guò)向應(yīng)用程序?qū)?50發(fā)送信號(hào)或命令。如上文所討論的,操作棧400的分層僅作為示例提供,并且在一些情況下,具有權(quán)限的層可以重疊,比如在用戶界面460具有未授予給應(yīng)用程序?qū)?50的應(yīng)用程序的某些權(quán)限的情況下。
在本示例中,層402是硬件層。層402可以由物理硬件組成,比如微芯片、分離式設(shè)備、和相關(guān)互連件。硬件層402可以是模擬的、數(shù)字的、模數(shù)混合的、或任何其他適當(dāng)硬件架構(gòu)。
在層402以上是固件層。固件層410可以包括在非易失性存儲(chǔ)器(比如閃速存儲(chǔ)器、bios、或其他適當(dāng)?shù)牡蛯哟未鎯?chǔ)設(shè)備)上編碼的適當(dāng)?shù)目蓤?zhí)行指令。固件層410可以為硬件層402提供基礎(chǔ)操作指令,從而使得硬件能夠以某種靈活度執(zhí)行期望功能。在一個(gè)示例中,可以僅通過(guò)特殊操作更改固件層410,比如將物理設(shè)備嵌入計(jì)算機(jī)、或使存儲(chǔ)器閃現(xiàn)。
在固件層410以上的層上是操作系統(tǒng)420。操作系統(tǒng)420可以提供低層次服務(wù),比如固件驅(qū)動(dòng)器包括通用接口,從而使得用戶空間程序可能不了解或關(guān)心正在執(zhí)行的特定硬件。操作系統(tǒng)420還可以執(zhí)行調(diào)度,給進(jìn)程提供優(yōu)先權(quán),并另外提供有用的功能。
Shim應(yīng)用程序430可以例如通過(guò)操作系統(tǒng)Hook、在操作系統(tǒng)420的正上方并以提升的系統(tǒng)權(quán)限被嵌入。Shim應(yīng)用程序430可以利用操作系統(tǒng)420無(wú)縫地運(yùn)行,并且可以被配置成對(duì)用戶空間應(yīng)用程序完全不可見(jiàn)。因而,用戶120不需要關(guān)心Shim應(yīng)用程序430的運(yùn)行,并且需要來(lái)自用戶120的較少直接干預(yù),比如盡管操作可疑仍然確認(rèn)應(yīng)該執(zhí)行操作的輸入。Shim應(yīng)用程序430可以進(jìn)一步與被配置成用于提供與Shim應(yīng)用程序430的合作的更高層次服務(wù)交互。所述高層次服務(wù)可以運(yùn)行于服務(wù)層次440上。
在示例中,服務(wù)440包括作為上文所述的“守護(hù)”進(jìn)程運(yùn)行的程序。服務(wù)440可以提供有用操作,比如文件管理、數(shù)據(jù)庫(kù)管理、網(wǎng)絡(luò)管理、文件服務(wù)器、網(wǎng)站服務(wù)器、系統(tǒng)監(jiān)測(cè)、或用于提供給計(jì)算設(shè)備110的任何其他適當(dāng)背景服務(wù)。服務(wù)層次440以上是應(yīng)用程序?qū)?50。應(yīng)用程序?qū)?50提供用戶空間應(yīng)用程序,包括辦公室應(yīng)用程序、游戲、通信應(yīng)用程序、工程應(yīng)用程序、或用戶120可能期望運(yùn)行在計(jì)算設(shè)備110上的任何其他適當(dāng)應(yīng)用程序。
在應(yīng)用程序?qū)?50以上是用戶界面460,所述用戶界面提供用于與用戶120對(duì)接的交互工具。這可以包括例如圖形用戶界面、文本用戶界面、命令行界面、或其他適當(dāng)界面。在一些實(shí)施例中,人機(jī)界面設(shè)備可以通過(guò)與圖2的外圍設(shè)備接口240連接的外圍設(shè)備與計(jì)算設(shè)備110對(duì)接。
圖5是根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的Shim應(yīng)用程序430、Shim代理530、與服務(wù)器140之間的交互的信號(hào)流程圖500。應(yīng)當(dāng)注意的是,所述信號(hào)流程是聯(lián)系具體操作順序描述的。然而,在此所說(shuō)明的操作順序并不旨在為限制性的。在適當(dāng)?shù)那闆r下,可以按與在此所限定的不同順序執(zhí)行某些操作,并且在一些實(shí)施例中,可以酌情省略某些操作,同時(shí)其他操作可以在必要時(shí)插入。
貫穿本說(shuō)明書(shū)所提供的其他流程圖同樣并非只在為限制性的。
還應(yīng)當(dāng)注意的是,Shim代理530(如聯(lián)系圖4所描述的)可以在服務(wù)440層次(或以其權(quán)限)、或在某些實(shí)施例中在應(yīng)用程序?qū)訉哟?50運(yùn)行。這同樣旨在僅通過(guò)展示的方式提供,并且并非只在是限制性的。在本示例中,在操作1,Shim應(yīng)用程序430向服務(wù)器140發(fā)送應(yīng)用程序驗(yàn)證請(qǐng)求。
此應(yīng)用程序驗(yàn)證請(qǐng)求可以包括如在此所述的類CPE字符串。如在本說(shuō)明書(shū)中所使用的,“類CPE”字符串可以包括與工業(yè)標(biāo)準(zhǔn)CPE字符串類似、但具有適用于本說(shuō)明書(shū)的變化的格式。示例類CPE字符串可以是“唯一標(biāo)識(shí)符/供應(yīng)商名稱/(應(yīng)用程序或文件或OS)名稱/(應(yīng)用程序或文件或OS)版本/md5/shal/文件尺寸/(數(shù)字簽名細(xì)節(jié))”形式。例如,標(biāo)準(zhǔn)CPE字符串可以包括以下內(nèi)容:
cpe:/o:microsoft:windows_7:-:-:x64,cpe:/a:adobe:acrobat:9.3.3
cpe:/o:redhat:enterprise_linux:4:update5:ws,
cpe:/o:microsoft:windows_7:6.1:-:home_premium:en-us
cpe:/o:microsoft:windows_server_2008:r2:sp1:x64,
cpe:/a:microsoft:internet_explorer:9.0.8112.16421
cpe:/a:mozilla:thunderbird:0.7.3
cpe:/o:microsoft:windows_vista::sp1,cpe:/a:microsoft:internet-explorer:7.0.5730
本說(shuō)明書(shū)的類CPE字符串可以包括以下內(nèi)容:
(標(biāo)識(shí)符:SSWS112AS/供應(yīng)商:Adobe/應(yīng)用程序名稱:acrobat_reader/版本:10.0/md5:B01F5C6B23F5073228AA6D1E05579BE4/sha-1:4F956CE4FD4D9BC7AD7950699B01E5DD45C52A8D/文件尺寸:45056/(發(fā)布者:adobe))
(標(biāo)識(shí)符:SSWS112AS/供應(yīng)商:Oracle/應(yīng)用程序名稱:jre/版本:1.5.0:update_41/md5:B01F5C6B23F5073228AA6D1E05579BE4/sha-1:7F152BB66907E6F84BB77F0C29ClCCD12BE58C84/文件尺寸:225056/(發(fā)布者:Oracle))
前述的類CPE字符串僅僅是舉例提供的,并且可以被視為屬于更廣類別的平臺(tái)標(biāo)識(shí)字符串。可以使用其他類型的標(biāo)識(shí)字符串,比如軟件標(biāo)識(shí)(SWID)標(biāo)簽、或其他標(biāo)識(shí)類型。此外,所述標(biāo)識(shí)甚至不需要是字符串,但可以是所制作用來(lái)提供必要信息的任何的任意數(shù)據(jù)。
在操作2,服務(wù)器140從Shim應(yīng)用程序430接收應(yīng)用程序驗(yàn)證請(qǐng)求,并為所述應(yīng)用程序構(gòu)建信譽(yù)。構(gòu)建所述信譽(yù)可以包括例如探測(cè)CPE和/或漏洞數(shù)據(jù)庫(kù)510或520。進(jìn)一步在操作二中,服務(wù)器140可以從數(shù)據(jù)庫(kù)接收合適的漏洞和CPE數(shù)據(jù)。在操作三中,服務(wù)器140向Shim應(yīng)用程序430返回提供響應(yīng)碼??梢詳r截所述響應(yīng)碼來(lái)停止安裝、執(zhí)行、或有漏洞的應(yīng)用程序的任何其他適當(dāng)行動(dòng),允許所述行動(dòng),或警告用戶和/或征求附加驗(yàn)證。
在操作4,服務(wù)器140確定是否有任何更新或補(bǔ)丁可用于所請(qǐng)求的應(yīng)用程序。如果更新或補(bǔ)丁可用,則在操作4,服務(wù)器140向Shim代理530提供補(bǔ)丁或更新可用的通知。Shim代理530可以然后指定將補(bǔ)丁或更新下載并安裝至另一進(jìn)程的操作,或創(chuàng)建有待稍后執(zhí)行的工作項(xiàng),比如在下一次操作系統(tǒng)啟動(dòng)時(shí)間,或在選擇進(jìn)程之前。注意,在某些實(shí)施例中,Shim代理530還可以周期性地針對(duì)補(bǔ)丁或更新查詢服務(wù)器140。
在操作5,Shim代理530可以安裝合適的更新或補(bǔ)丁,并將已更新的類CPE字符串發(fā)送給服務(wù)器140。
在操作6,服務(wù)器140可以指示Shim代理530監(jiān)控某些可執(zhí)行對(duì)象。響應(yīng)于此指令,Shim代理530可以發(fā)起監(jiān)控,或者其本身,或者通過(guò)Shim應(yīng)用程序430。有利的是,如果Shim應(yīng)用程序430進(jìn)行監(jiān)控,則它可以用提高的權(quán)限如此做。
在操作7,Shim代理530還可以執(zhí)行向研究服務(wù)560的數(shù)據(jù)轉(zhuǎn)儲(chǔ),所述研究服務(wù)可以例如雇傭人類分析師來(lái)分析可執(zhí)行對(duì)象并根據(jù)分析師的經(jīng)驗(yàn)對(duì)其進(jìn)行分類。
圖6是對(duì)根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的計(jì)算設(shè)備110完成的方法600的流程圖。應(yīng)該注意的是,可以由Shim應(yīng)用程序430和Shim代理530之一或兩者全部或部分地執(zhí)行方法600。預(yù)期的是,在設(shè)計(jì)具體實(shí)施例時(shí),設(shè)計(jì)者將根據(jù)應(yīng)用程序的特定設(shè)計(jì)要求關(guān)于Shim應(yīng)用程序430與Shim代理530之間的責(zé)任劃分做出選擇。因而,并不旨在Shim應(yīng)用程序430與Shim代理530之間的在此所述的責(zé)任劃分是限制性的。相反,這些僅僅通過(guò)展示提供。
在方框610,Shim應(yīng)用程序430攔截并暫時(shí)阻止可執(zhí)行對(duì)象所采取的行動(dòng),比如啟動(dòng)、打開(kāi)、執(zhí)行、或在此所公開(kāi)的其他行動(dòng)。同樣,在方框610,計(jì)算設(shè)備110向服務(wù)器140發(fā)送針對(duì)進(jìn)程的驗(yàn)證請(qǐng)求,包括類CPE字符串。
在方框620,計(jì)算設(shè)備110從服務(wù)器140接收響應(yīng)碼,所述響應(yīng)碼可以例如指示與允許、警告、停止、或監(jiān)控之一相對(duì)應(yīng)的信譽(yù)。此響應(yīng)碼與可執(zhí)行對(duì)象的信譽(yù)相對(duì)應(yīng)。如果所述信譽(yù)為“高”或“好”,則響應(yīng)碼可以為“綠色”或“允許”。如果所述信譽(yù)為“低”或“差”,則響應(yīng)碼可以為“紅色”或“阻止”。中間響應(yīng)碼可以通過(guò)“警告”動(dòng)作接收比如“黃色”或“橙色”的值。信譽(yù)可以基于在企業(yè)環(huán)境下于可執(zhí)行對(duì)象的之前相遇。“警告”條件可以針對(duì)許多條件發(fā)生,比如服務(wù)器140是否不具有足以指定可靠信譽(yù)的數(shù)據(jù)。在這種情況下,響應(yīng)碼可以指示計(jì)算設(shè)備110運(yùn)行動(dòng)作,但指示Shim代理530使能監(jiān)控,從而使得活動(dòng)可以被監(jiān)控和報(bào)告。在另一種情況下,服務(wù)器140報(bào)告存在漏洞,但所述漏洞不嚴(yán)重。在這種情況下,可以允許執(zhí)行,但可以指示Shim代理530盡可能快地、或無(wú)論何時(shí)可用時(shí)下載并安裝補(bǔ)丁。
在另一示例中,服務(wù)器140可能不具有關(guān)于具體可執(zhí)行對(duì)象的信譽(yù)的足夠信息從而做出對(duì)其如何處理的有用決定。在這種情況下,響應(yīng)碼可以是“監(jiān)控”,在這種情況下,Shim代理530將開(kāi)始監(jiān)控可執(zhí)行對(duì)象的行為。在收集關(guān)于可執(zhí)行對(duì)象的行為的數(shù)據(jù)之后,Shim代理530可以將所述數(shù)據(jù)上傳至研究服務(wù)560以便進(jìn)一步分析和分類。在一些情況下,監(jiān)控可以是不問(wèn)斷的,并且Shim代理530可以不止一次上傳數(shù)據(jù)。
在方框630,計(jì)算設(shè)備110從服務(wù)器140接收如在此所述的可用補(bǔ)丁信息。
在方框640,計(jì)算設(shè)備110在必要時(shí)安裝更新。
在方框650,計(jì)算設(shè)備110向服務(wù)器140發(fā)送其已更新的類CPE字符串,從而反映補(bǔ)丁的安裝。
在方框690,所述方法完成。
圖7是由根據(jù)本說(shuō)明書(shū)的一個(gè)或多個(gè)示例的服務(wù)器140完成的方法700的流程圖。應(yīng)該注意的是,通過(guò)示例,本說(shuō)明書(shū)僅描述了對(duì)服務(wù)器140作用的一種漏洞評(píng)估服務(wù)器引擎324。然而,應(yīng)該注意的是,這僅僅是非限制性示例,并且其他的架構(gòu)是可用的。例如,方法700的操作可以跨多個(gè)服務(wù)器分布,其中,每個(gè)服務(wù)器僅執(zhí)行所述方法的一部分。預(yù)期的是,在設(shè)計(jì)時(shí)間,特定實(shí)施例的設(shè)計(jì)者將基于實(shí)施例的需求關(guān)于哪些服務(wù)器執(zhí)行哪些操作做決定。還應(yīng)該注意的是,僅通過(guò)示例,服務(wù)器140獨(dú)立于計(jì)算設(shè)備110運(yùn)行。在一些情況下,漏洞評(píng)估服務(wù)器引擎324可以與計(jì)算設(shè)備110設(shè)置在同一物理設(shè)備上。例如,漏洞評(píng)估服務(wù)器引擎324可以設(shè)置為附加硬件和/或軟件。在另一示例中,服務(wù)器140可以是與提供計(jì)算設(shè)備110的虛擬機(jī)作用于相同的物理硬件的虛擬機(jī)。因而,在此應(yīng)該注意的是,計(jì)算設(shè)備110與服務(wù)器140之間的責(zé)任劃分僅是舉例提供的,并且并非旨在為限制性的。
在方框710,服務(wù)器140從計(jì)算設(shè)備110接收驗(yàn)證請(qǐng)求和類CPE字符串。
在方框720,服務(wù)器140向合適的數(shù)據(jù)庫(kù)發(fā)送漏洞和類CPE數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)庫(kù)可以被布置在單獨(dú)的計(jì)算設(shè)備上,或所述數(shù)據(jù)庫(kù)可以是服務(wù)器140的一部分。
在方框730,服務(wù)器140從所述數(shù)據(jù)庫(kù)接收CPE和漏洞數(shù)據(jù)。
在方框740,服務(wù)器140計(jì)算針對(duì)所述類CPE字符串的響應(yīng)碼,并將所述響應(yīng)碼發(fā)送至計(jì)算設(shè)備110。所述響應(yīng)碼可以包括(通過(guò)非限制性示例的方式)用于允許、警告、或停止的示例。在其示例中,所述響應(yīng)碼不需要清楚地限定行動(dòng),但相反可以包含信譽(yù)分?jǐn)?shù),計(jì)算設(shè)備110可以由所述信譽(yù)分?jǐn)?shù)確定合適的行動(dòng)。
在方框750,服務(wù)器140例如通過(guò)查詢補(bǔ)丁或更新數(shù)據(jù)庫(kù)、或通過(guò)執(zhí)行針對(duì)可用補(bǔ)丁或更新的互聯(lián)網(wǎng)搜索標(biāo)識(shí)進(jìn)程的可用補(bǔ)丁。
在方框760,服務(wù)器140向計(jì)算設(shè)備110發(fā)送可用補(bǔ)丁數(shù)據(jù),所述可用補(bǔ)丁數(shù)據(jù)可以包括用于下載和安裝合適補(bǔ)丁的指令。
在方框770,服務(wù)器140從計(jì)算設(shè)備110接收用于補(bǔ)丁應(yīng)用程序的已更新的類CPE字符串。
在方框790,所述方法完成。
前述內(nèi)容概述了若干實(shí)施例的特征,從而使得本領(lǐng)域的技術(shù)人員可以更好地理解本公開(kāi)的方面。本領(lǐng)域的技術(shù)人員應(yīng)該認(rèn)識(shí)到,他們可以容易地將本公開(kāi)用作設(shè)計(jì)或修改其他過(guò)程以及結(jié)構(gòu)的基礎(chǔ),以便于實(shí)施相同的目的和/或?qū)崿F(xiàn)在此介紹的實(shí)施例的相同優(yōu)點(diǎn)。本領(lǐng)域的技術(shù)人員還應(yīng)意識(shí)到,這些等同構(gòu)造沒(méi)有背離本公開(kāi)的精神和范圍,并且在不背離本公開(kāi)的精神和范圍的情況下,可在此做出各種改變、替換和替代。
本公開(kāi)的特定實(shí)施例可以容易地包括片上系統(tǒng)(SOC)中央處理單元(CPU)封裝體。SOC表示將計(jì)算機(jī)或其他電子系統(tǒng)的部件整合到單個(gè)芯片中的集成電路(IC)。其可以包含數(shù)字、模擬、混合信號(hào)、以及射頻功能,所有這些功能都可以在單個(gè)芯片基底上提供。其他實(shí)施例可以包括多芯片模塊(MCM),多個(gè)芯片位于單個(gè)電子封裝體內(nèi)并且被配置成用于通過(guò)電子封裝體彼此密切交互。在各個(gè)其他實(shí)施例中,數(shù)字信號(hào)處理功能可以在專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)和其他半導(dǎo)體芯片中的一個(gè)或多個(gè)硅核中實(shí)施。
在示例實(shí)施方式中,在此概述的處理活動(dòng)的至少一些部分也可以在軟件中實(shí)施。在一些實(shí)施例中,這些特征中的一個(gè)或多個(gè)特征可以在所公開(kāi)的附圖的元件外部提供的或者采用任何適當(dāng)方式合并的硬件中實(shí)施,以便實(shí)現(xiàn)預(yù)期功能。各個(gè)元件可以包括可以協(xié)調(diào)以便實(shí)現(xiàn)如在此概述的操作的軟件(或往復(fù)式軟件)。在仍其他實(shí)施例中,這些元件可以包括促進(jìn)其操作的任何適合的算法、硬件、軟件、部件、模塊、接口或?qū)ο蟆?/p>
此外,可以移除或者以其他方式合并與所描述的微處理器相關(guān)聯(lián)的部件中的一些部件。在一般意義上,在附圖中描繪的安排在其表示上可以更合邏輯,而物理架構(gòu)可以包括各種排列、組合和/或這些元件的混合。必須注意,可以使用無(wú)數(shù)可能的設(shè)計(jì)配置來(lái)實(shí)現(xiàn)在此概述的操作目標(biāo)。相應(yīng)地,相關(guān)聯(lián)的基礎(chǔ)設(shè)施具有大量替代安排、設(shè)計(jì)選擇、設(shè)備可能性、硬件配置、軟件實(shí)施方式、設(shè)備選項(xiàng)等。
任何適當(dāng)配置的處理器部件可以執(zhí)行與數(shù)據(jù)相關(guān)聯(lián)的任何類型的指令以便實(shí)現(xiàn)在此詳細(xì)說(shuō)明的操作。在此公開(kāi)的任何處理器可以將元件或物品(例如,數(shù)據(jù))從一個(gè)狀態(tài)或一種東西轉(zhuǎn)換為另一個(gè)狀態(tài)或另一種東西。在另一個(gè)示例中,在此概述的一些活動(dòng)可以利用固定邏輯或可編程邏輯(例如,由處理器執(zhí)行的軟件和/或計(jì)算機(jī)指令)實(shí)現(xiàn),并且在此標(biāo)識(shí)的元件可以是某種類型的可編程處理器;可編程數(shù)字邏輯(例如,現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA);可擦除可編程只讀存儲(chǔ)器(EPROM);電可擦除可編程只讀存儲(chǔ)器(EEPROM);包括數(shù)字邏輯、軟件、代碼、電子指令、閃速存儲(chǔ)器、光盤(pán)、CD-ROM、DVD ROM、磁性或光學(xué)卡、適合于存儲(chǔ)電子指令的其他類型的機(jī)器可讀介質(zhì)、或其任何合適組合的ASIC。在操作中,處理器可以將信息存儲(chǔ)在任何合適類型的非瞬態(tài)存儲(chǔ)介質(zhì)(例如,隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、可擦除可編程只讀存儲(chǔ)器(EPROM)、電可擦除可編程ROM(EEPROM)等)、軟件、硬件中或者在適當(dāng)情況下并基于特定需要存儲(chǔ)在任何其他合適的部件、設(shè)備、元件或物體中。進(jìn)一步地,基于特定需要和實(shí)施方式,可以在任何數(shù)據(jù)庫(kù)、寄存器、表格、緩存器、隊(duì)列、控制列表、或存儲(chǔ)結(jié)構(gòu)(所有這些可以在任何合適的時(shí)間幀被引用)中提供在處理器中被跟蹤、發(fā)送、接收或存儲(chǔ)的信息。在此所討論的存儲(chǔ)器項(xiàng)中的任何存儲(chǔ)器項(xiàng)應(yīng)當(dāng)被解釋為涵蓋在寬泛術(shù)語(yǔ)‘存儲(chǔ)器’內(nèi)。類似地,在此所描述的可能的處理元件、模塊、和機(jī)器中的任何一者應(yīng)當(dāng)被解釋為涵蓋在寬泛術(shù)語(yǔ)‘微處理器’或‘處理器’內(nèi)。此外,在各個(gè)實(shí)施例中,在此描述的處理器、存儲(chǔ)器、網(wǎng)卡、總線、存儲(chǔ)設(shè)備、相關(guān)外圍設(shè)備、以及其他硬件元件可由軟件或固件配置來(lái)模仿或虛擬化這些硬件元件的功能的處理器、存儲(chǔ)器和其他相關(guān)設(shè)備來(lái)實(shí)現(xiàn)。
采用各種形式來(lái)具體化實(shí)施在此描述的功能中的所有或部分功能的計(jì)算機(jī)程序邏輯,包括但決不限于源代碼形式、計(jì)算機(jī)可執(zhí)行的形式、以及各種中間形式(例如,由匯編器、編輯器、鏈接器或定位器生成的形式)。在示例中,源代碼包括以各種編程語(yǔ)言實(shí)施的一系列計(jì)算機(jī)程序指令,如目標(biāo)代碼、匯編語(yǔ)言、或高級(jí)語(yǔ)言(比如,與各種操作系統(tǒng)或操作環(huán)境一起使用的OpenCL、Fortran、C、C++、JAVA或HTML)。源代碼可以限定并使用各種數(shù)據(jù)結(jié)構(gòu)和通信消息。源代碼可以采用計(jì)算機(jī)可執(zhí)行的形式(例如,經(jīng)由解釋器),或者源代碼可以被轉(zhuǎn)換(例如,經(jīng)由轉(zhuǎn)換器、匯編器、或編譯器)成計(jì)算機(jī)可執(zhí)行的形式。
在對(duì)以上實(shí)施例的討論中,可以容易地替換、替代或以其他方式修改電容器、緩沖器、圖形元件、互連板、時(shí)鐘、DDR、相機(jī)傳感器、除法器、電感器、電阻器、放大器、開(kāi)關(guān)、數(shù)字核、晶體管和/或其他部件,以便滿足特定電路需要。此外,應(yīng)當(dāng)注意的是,對(duì)互補(bǔ)電子設(shè)備、硬件、非瞬態(tài)軟件等的使用提供了同等可行的選項(xiàng),以便實(shí)施本公開(kāi)的教導(dǎo)。
在一個(gè)示例實(shí)施例中,可以在相關(guān)聯(lián)的電子設(shè)備的板上實(shí)施附圖的任何數(shù)量的電路。所述板可以是能夠容納電子設(shè)備的內(nèi)部電子系統(tǒng)的各個(gè)部件并進(jìn)一步為其他外圍設(shè)備提供連接器的一般電路板。更具體地,所述板可以提供電連接,系統(tǒng)的其他部件可以通過(guò)這些電連接來(lái)進(jìn)行電通信??梢曰谔囟ㄅ渲眯枰?、處理需求、計(jì)算機(jī)設(shè)計(jì)等來(lái)將任何合適的處理器(包括數(shù)字信號(hào)處理器、微處理器、支持芯片組等)、存儲(chǔ)器元件等適當(dāng)?shù)伛詈现了霭濉H缤獠看鎯?chǔ)設(shè)備、附加傳感器、用于音頻/視頻顯示的控制器、以及外圍設(shè)備等其他部件可以作為插入卡而經(jīng)由線纜附接至所述板,或者整合到所述板本身中。在另一個(gè)示例實(shí)施例中,附圖的電路可以被實(shí)施為獨(dú)立的模塊(例如,具有相關(guān)聯(lián)的部件的設(shè)備和被配置成用于執(zhí)行特定應(yīng)用程序或功能的電路),或者被實(shí)施為到電子設(shè)備的專用硬件的插入模塊。
注意,使用在此所提供的許多示例,可以關(guān)于兩個(gè)、三個(gè)、四個(gè)或更多個(gè)電氣部件來(lái)對(duì)交互進(jìn)行描述。然而,這樣做只是出于清楚和示例的目的。應(yīng)理解的是,可以采用任何合適方式來(lái)合并所述系統(tǒng)。根據(jù)類似的設(shè)計(jì)替代方案,可以在各個(gè)可能的配置中組合附圖中所展示的部件、模塊和元件中的任一者,所有這些配置在本說(shuō)明書(shū)的廣泛范圍內(nèi)。在某些情況下,通過(guò)僅參照有限數(shù)量的電氣元件,可能更容易描述一組給定流程的功能中的一個(gè)或多個(gè)功能。應(yīng)當(dāng)理解的是,附圖的電路及其教導(dǎo)是可容易擴(kuò)展的,并且可以容納大量部件以及更復(fù)雜/成熟的安排和配置。相應(yīng)地,所提供的示例不應(yīng)限制如潛在地應(yīng)用到無(wú)數(shù)其他架構(gòu)上的電路的范圍或抑制其寬泛教導(dǎo)。
許多其他的改變、替代、變更、改變、和修改對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)是確定的,并且旨在本公開(kāi)包含了落在所附權(quán)利要求書(shū)的范圍內(nèi)的所有的改變、替代、變更、改變、和修改。為了幫助美國(guó)專利及商標(biāo)局(USPTO)以及另外本申請(qǐng)發(fā)布的任何專利的任何讀者理解本申請(qǐng)所附權(quán)利要求書(shū),申請(qǐng)人希望注意本申請(qǐng)人:(a)并不旨在所附權(quán)利要求中的任一項(xiàng)因?yàn)樵诒旧暾?qǐng)的申請(qǐng)日存在而援引35U.S.C.第112章第(6)段,除非在特定權(quán)利要求中確切地使用了字詞“用于......的裝置”或“用于......的步驟”;并且(b)并不旨在通過(guò)本說(shuō)明書(shū)中未在所附權(quán)利要求書(shū)中反映出的任何陳述以任何方式限制本公開(kāi)。
示例實(shí)施例
示例1中公開(kāi)了一種被配置成用于對(duì)可執(zhí)行對(duì)象進(jìn)行啟動(dòng)前漏洞評(píng)估的計(jì)算設(shè)備,所述計(jì)算設(shè)備包括:網(wǎng)絡(luò)接口,所述網(wǎng)絡(luò)接口可操作用于將所述計(jì)算設(shè)備通信地耦合至服務(wù)器;以及漏洞評(píng)估引擎,可操作用于:通過(guò)所述網(wǎng)絡(luò)接口發(fā)送針對(duì)可由可執(zhí)行對(duì)象執(zhí)行的操作的驗(yàn)證請(qǐng)求;接收針對(duì)所述驗(yàn)證請(qǐng)求的響應(yīng)碼;以及根據(jù)所述響應(yīng)碼而行動(dòng),其中,行動(dòng)可操作用于影響可由所述可執(zhí)行對(duì)象執(zhí)行的所述操作。
示例2中公開(kāi)了如示例1所述的計(jì)算設(shè)備,其中,所述響應(yīng)碼包括針對(duì)允許、警告、停止、和監(jiān)控之一的標(biāo)記。
示例3中公開(kāi)了如示例1所述的計(jì)算設(shè)備,其中,根據(jù)所述響應(yīng)碼而行動(dòng)包括采取從由以下各項(xiàng)組成的組中所選擇的行動(dòng):允許所述操作;利用對(duì)最終用戶的警告來(lái)允許所述操作;利用對(duì)安全管理員的警告來(lái)允許所述操作;只有在從最終用戶處接收到確認(rèn)時(shí)才允許所述操作;只有在從安全管理員處接收到確認(rèn)時(shí)才允許所述操作;允許所述操作,除非從最終用戶處接收到拒絕;允許所述操作,除非從安全管理員處接收到的拒絕;阻止所述行動(dòng);向最終用戶提供警告;向安全管理員提供警告;創(chuàng)建日志條目;更新白名單;更新黑名單;更新灰名單;監(jiān)控所述可執(zhí)行對(duì)象;以及報(bào)告關(guān)于所述可執(zhí)行對(duì)象的行為的信息。
示例4中公開(kāi)了如示例1所述的計(jì)算設(shè)備,其中,發(fā)送所述驗(yàn)證請(qǐng)求包括提供用于所述計(jì)算設(shè)備和可執(zhí)行對(duì)象的標(biāo)識(shí)分組。
示例5中公開(kāi)了如示例4所述的計(jì)算設(shè)備,其中,所述標(biāo)識(shí)分組是類通用平臺(tái)列舉字符串。
示例6中公開(kāi)了如示例1所述的計(jì)算設(shè)備,其中,所述漏洞評(píng)估引擎包括可操作用于以提升的系統(tǒng)權(quán)限運(yùn)行的Shim應(yīng)用程序。
示例7中公開(kāi)了如示例6所述計(jì)算設(shè)備,其中,所述Shim應(yīng)用程序可操作用于對(duì)用戶空間應(yīng)用程序不可見(jiàn)地?cái)r截進(jìn)程啟動(dòng)。
示例8中公開(kāi)了如示例1所述的計(jì)算設(shè)備,其中,所述漏洞評(píng)估引擎包括可操作用于以提升的權(quán)限執(zhí)行并通過(guò)操作系統(tǒng)Hook攔截進(jìn)程啟動(dòng)的Shim應(yīng)用程序。
示例9中公開(kāi)了如示例1所述的計(jì)算設(shè)備,其中,所述漏洞評(píng)估引擎包括可操作用于以基本上用戶空間權(quán)限運(yùn)行的Shim代理。
示例10中公開(kāi)了如示例9所述的計(jì)算設(shè)備,其中,所述Shim代理可操作用于接收補(bǔ)丁或更新可用于所述可執(zhí)行對(duì)象的通知,并且用于調(diào)度對(duì)所述補(bǔ)丁或更新的應(yīng)用。
示例11中公開(kāi)了如示例10所述的計(jì)算設(shè)備,其中,所述Shim代理可操作用于通過(guò)所述網(wǎng)絡(luò)接口發(fā)送用于所述計(jì)算設(shè)備和可執(zhí)行對(duì)象的標(biāo)識(shí)分組。
示例12中公開(kāi)了如示例11所述的計(jì)算設(shè)備,其中,所述標(biāo)識(shí)分組是類通用平臺(tái)列舉字符串。
示例13中公開(kāi)了如示例1所述的計(jì)算設(shè)備,其中,所述漏洞評(píng)估引擎可操作用于標(biāo)識(shí)和引起用于所述可執(zhí)行對(duì)象的有待安裝的更新或補(bǔ)丁。
示例14中公開(kāi)了一種或多種計(jì)算機(jī)可讀介質(zhì),具有存儲(chǔ)在其上的可執(zhí)行指令,所述可執(zhí)行指令可操作用于指示處理器提供漏洞評(píng)估引擎,包括:通過(guò)所述網(wǎng)絡(luò)接口發(fā)送針對(duì)可由可執(zhí)行對(duì)象執(zhí)行的操作的驗(yàn)證請(qǐng)求;接收針對(duì)所述驗(yàn)證請(qǐng)求的響應(yīng)碼;以及根據(jù)所述響應(yīng)碼而行動(dòng),其中,行動(dòng)可操作用于影響可由所述可執(zhí)行對(duì)象執(zhí)行的所述操作。
示例15中公開(kāi)了如示例14所述的一種或多種計(jì)算機(jī)可讀介質(zhì),其中,所述響應(yīng)碼包括針對(duì)允許、警告、停止、和監(jiān)控之一的標(biāo)記。
示例16中公開(kāi)了如示例14所述的一種或多種計(jì)算機(jī)可讀介質(zhì),其中,根據(jù)所述響應(yīng)碼而行動(dòng)包括采取從由以下各項(xiàng)組成的組中所選擇的行動(dòng):允許所述操作;利用對(duì)最終用戶的警告來(lái)允許所述操作;利用對(duì)安全管理員的警告來(lái)允許所述操作;只有在從最終用戶處接收到確認(rèn)時(shí)才允許所述操作;只有在從安全管理員處接收到確認(rèn)時(shí)才允許所述操作;允許所述操作,除非從最終用戶處接收到拒絕;允許所述操作,除非從安全管理員處接收到拒絕;阻止所述行動(dòng);向最終用戶提供警告;向安全管理員提供警告;創(chuàng)建日志條目;更新白名單;更新黑名單;更新灰名單;監(jiān)控所述可執(zhí)行對(duì)象;以及報(bào)告關(guān)于所述可執(zhí)行對(duì)象的行為的信息。
示例17中公開(kāi)了如示例14所述的一種或多種計(jì)算機(jī)可讀介質(zhì),其中,發(fā)送所述驗(yàn)證請(qǐng)求包括提供用于所述計(jì)算設(shè)備和可執(zhí)行對(duì)象的標(biāo)識(shí)分組。
示例18中公開(kāi)了如示例17所述的一種或多種計(jì)算機(jī)可讀介質(zhì),其中,所述標(biāo)識(shí)分組是類通用平臺(tái)列舉字符串。
示例19中公開(kāi)了如示例14所述的一種或多種計(jì)算機(jī)可讀介質(zhì),其中,所述漏洞評(píng)估引擎包括可操作用于以提升的系統(tǒng)權(quán)限運(yùn)行的Shim應(yīng)用程序。
示例20中公開(kāi)了如示例19所述的一種或多種計(jì)算機(jī)可讀介質(zhì),其中,所述Shim應(yīng)用程序可操作用于對(duì)用戶空間應(yīng)用程序不可見(jiàn)地?cái)r截進(jìn)程啟動(dòng)。
示例21中公開(kāi)了如示例14所述的一種或多種計(jì)算機(jī)可讀介質(zhì),其中,所述漏洞評(píng)估引擎包括可操作用于以基本上用戶空間權(quán)限運(yùn)行的Shim代理。
示例22中公開(kāi)了如示例21所述的一種或多種計(jì)算機(jī)可讀介質(zhì),其中,所述Shim代理可操作用于接收補(bǔ)丁或更新可用于所述可執(zhí)行對(duì)象的通知,并且用于調(diào)度對(duì)所述補(bǔ)丁或更新的應(yīng)用。
示例23中公開(kāi)了如示例22所述的一種或多種計(jì)算機(jī)可讀介質(zhì),其中,所述Shim代理可操作用于通過(guò)所述網(wǎng)絡(luò)接口發(fā)送用于所述計(jì)算設(shè)備和可執(zhí)行對(duì)象的類通用平臺(tái)列舉字符串。
示例24中公開(kāi)了一種漏洞評(píng)估服務(wù)器,包括:網(wǎng)絡(luò)接口;以及漏洞評(píng)估服務(wù)器引擎,可操作用于:在所述網(wǎng)絡(luò)接口上接收針對(duì)可執(zhí)行對(duì)象的驗(yàn)證請(qǐng)求,所述驗(yàn)證請(qǐng)求包括對(duì)所述可執(zhí)行對(duì)象以及發(fā)起所述驗(yàn)證請(qǐng)求的計(jì)算設(shè)備進(jìn)行標(biāo)識(shí)的類通用平臺(tái)列舉字符串;查詢用于表征所述可執(zhí)行對(duì)象的漏洞數(shù)據(jù)庫(kù)和通用平臺(tái)列舉數(shù)據(jù)庫(kù);以及通過(guò)所述網(wǎng)絡(luò)接口發(fā)送對(duì)所述驗(yàn)證請(qǐng)求的響應(yīng)碼,所述響應(yīng)碼屬于從由以下各項(xiàng)組成的組中所選擇的類:允許、停止、警告、和監(jiān)控。
示例25中公開(kāi)了如示例24所述的漏洞評(píng)估服務(wù)器,其中,所述漏洞評(píng)估服務(wù)器引擎進(jìn)一步可操作用于:標(biāo)識(shí)用于所述可執(zhí)行對(duì)象的可用更新或補(bǔ)?。辉谒鼍W(wǎng)絡(luò)接口上發(fā)送所述可用更新或補(bǔ)丁的通知;以及接收用于所述可執(zhí)行對(duì)象的已更新類通用平臺(tái)列舉字符串,其中,所述已更新類通用平臺(tái)列舉字符串包括所述更新或補(bǔ)丁。
示例26中公開(kāi)了一種用于執(zhí)行如示例1至13中任一項(xiàng)所述的漏洞評(píng)估引擎的操作的方法。
示例27中公開(kāi)了一種用于執(zhí)行如示例14至23中任一項(xiàng)所述的指令的操作的方法。
示例28中公開(kāi)了用于指示處理器執(zhí)行如示例26所述的方法中任一項(xiàng)的一種或多種計(jì)算機(jī)可讀介質(zhì)。
示例29中公開(kāi)了一種裝置,所述裝置可操作以包括用于進(jìn)行如示例26、27、和28中任一項(xiàng)所述的方法或執(zhí)行指令的裝置。
示例30中公開(kāi)了如示例29所述的裝置,其中,裝置包括處理器和存儲(chǔ)器。