專(zhuān)利名稱(chēng):易受攻擊文件的自動(dòng)檢測(cè)和修復(fù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及文件的修復(fù),尤其涉及在分布式、不同的計(jì)算環(huán)境中為易受攻擊二進(jìn)制程序文件提供安全修復(fù)的自動(dòng)、綜合、可靠和無(wú)回歸的方式。
背景技術(shù):
軟件開(kāi)發(fā)是一正在進(jìn)行的過(guò)程,其中最初向公眾發(fā)布的軟件產(chǎn)品可以通過(guò)軟件開(kāi)發(fā)者/廠(chǎng)商的修訂而被持續(xù)更新。軟件修訂一般由軟件廠(chǎng)商支付,其中可以從廠(chǎng)商下載或訂購(gòu)“服務(wù)包”以便安裝在用戶(hù)的計(jì)算機(jī)上。服務(wù)包一般包含程序修復(fù)(例如用于操作系統(tǒng)、應(yīng)用程序等),它們?cè)诋a(chǎn)品的最初發(fā)布后或者在上一次服務(wù)包發(fā)布后修復(fù)程序代碼中發(fā)現(xiàn)的問(wèn)題(即“故障(bug)”)。
除了包含用于程序故障的修復(fù)以外,服務(wù)包也可以包含為了修復(fù)程序文件中發(fā)現(xiàn)的漏洞而特別開(kāi)發(fā)的安全補(bǔ)丁。在發(fā)布軟件產(chǎn)品后發(fā)現(xiàn)的程序漏洞會(huì)在世界范圍內(nèi)對(duì)來(lái)自黑客和病毒的攻擊形成顯著的安全性威脅。因此,一旦發(fā)現(xiàn)了漏洞,把安全補(bǔ)丁立即廣泛分發(fā)并安裝到具有易受攻擊軟件的計(jì)算機(jī)是極為重要的。理論上,使用服務(wù)包來(lái)實(shí)現(xiàn)安全補(bǔ)丁的這種立即且廣泛的分發(fā)會(huì)是有效的。例如,當(dāng)軟件廠(chǎng)商發(fā)現(xiàn)漏洞并開(kāi)發(fā)了安全補(bǔ)丁時(shí),可以在廠(chǎng)商的網(wǎng)站上在最新的服務(wù)包中貼出該補(bǔ)丁,以供用戶(hù)立即下載并安裝。這會(huì)阻撓試圖利用所發(fā)現(xiàn)的漏洞的大多數(shù)黑客和病毒。然而,系統(tǒng)管理員及其它軟件產(chǎn)品用戶(hù)目前面臨與訪(fǎng)問(wèn)和安裝安全補(bǔ)丁有關(guān)的幾個(gè)缺點(diǎn)和/或難點(diǎn)。這些難點(diǎn)一般導(dǎo)致這種補(bǔ)丁的分發(fā)比開(kāi)發(fā)該補(bǔ)丁的廠(chǎng)商所預(yù)期的要低。結(jié)果是世界上許多計(jì)算機(jī)的漏洞都未打過(guò)補(bǔ)丁,使這些計(jì)算機(jī)受到重大風(fēng)險(xiǎn)。
訪(fǎng)問(wèn)和安裝安全補(bǔ)丁的一個(gè)難點(diǎn)是目前用于檢測(cè)計(jì)算機(jī)是否正在運(yùn)行具有已知漏洞的軟件的方法要求計(jì)算機(jī)的有效使用和參與。例如,目前可用的方法可以缺點(diǎn)計(jì)算機(jī)上特定版本的軟件產(chǎn)品是否需要被更新(例如用安全補(bǔ)丁)。然而,該確定中僅包括目前在計(jì)算機(jī)上運(yùn)行的那些軟件產(chǎn)品。不考慮當(dāng)前未在計(jì)算機(jī)上運(yùn)行的次級(jí)操作系統(tǒng)和應(yīng)用程序,因此會(huì)使安全性漏洞不被注意到并且未被修復(fù)。對(duì)于目前在計(jì)算機(jī)上運(yùn)行的那些產(chǎn)品而言,用戶(hù)可以查看可用更新的列表,并且選擇用于安裝的更新。某些更新會(huì)是為保護(hù)計(jì)算機(jī)不受到已知安全性漏洞而設(shè)計(jì)的關(guān)鍵更新。各種更新要求用戶(hù)在安裝完成前重啟計(jì)算機(jī)。此外,用戶(hù)必須主動(dòng)地選擇更新并安裝它們。為此及其它原因,目前用于訪(fǎng)問(wèn)和安裝安全補(bǔ)丁的方法并不很有效。
訪(fǎng)問(wèn)和安裝安全補(bǔ)丁的另一個(gè)難點(diǎn)在于獲悉計(jì)算機(jī)上是否需要安全補(bǔ)丁。有時(shí)用戶(hù)難以獲悉他們的計(jì)算機(jī)是否正在運(yùn)行易受攻擊的軟件。而且,目前用于檢測(cè)計(jì)算機(jī)是否正在運(yùn)行具有已知漏洞的軟件的方法不能檢測(cè)已知是易受攻擊的軟件產(chǎn)品的特定配置。例如,某些軟件產(chǎn)品的共享版本可以作為其它產(chǎn)品的部分而被分發(fā)。這樣,盡管產(chǎn)品的共享版本會(huì)包含與產(chǎn)品的完全版本相同的漏洞,然而不會(huì)把共享版本識(shí)別為需要安全補(bǔ)丁更新的產(chǎn)品。這樣,已知具有安全性漏洞的軟件產(chǎn)品的共享版本通常未受到修復(fù)。
其它與訪(fǎng)問(wèn)和安裝安全補(bǔ)丁有關(guān)的問(wèn)題涉及常規(guī)的“服務(wù)包”方法,通過(guò)所述“服務(wù)包”方法來(lái)傳遞這種補(bǔ)丁。下載和安裝服務(wù)包是一時(shí)間密集和人工的過(guò)程,許多系統(tǒng)管理員沒(méi)有時(shí)間來(lái)做這些。因此,即使管理員想要安裝安全補(bǔ)丁,安全補(bǔ)丁的發(fā)布以及它在給定系統(tǒng)上安裝之間的時(shí)間會(huì)是幾周、幾個(gè)月或者幾年。這樣,直到軟件廠(chǎng)商發(fā)布了安全補(bǔ)丁很久以后的時(shí)間內(nèi),也不能減輕這種系統(tǒng)中通過(guò)安全性漏洞而受攻擊的風(fēng)險(xiǎn)。
而且,系統(tǒng)管理員通常選擇不下載和安裝包含安全補(bǔ)丁的服務(wù)包,即使他們了解有關(guān)的安全性風(fēng)險(xiǎn)。這樣做的原因是服務(wù)包自身的安裝帶來(lái)了系統(tǒng)回歸的風(fēng)險(xiǎn),它會(huì)在系統(tǒng)行為中引入不期望的改變。管理員通常花很多時(shí)間和經(jīng)歷對(duì)系統(tǒng)進(jìn)行調(diào)試,使得它按所期望的起作用。然而,如上所述,服務(wù)包代表了軟件產(chǎn)品以前版本的發(fā)展,包括對(duì)產(chǎn)品代碼基的大多數(shù)最近更新(即改變范圍不僅限于安全補(bǔ)丁)。除了向系統(tǒng)內(nèi)引入新的和想要的行為以外,服務(wù)包內(nèi)的最近代碼更新會(huì)向系統(tǒng)內(nèi)引入未知的故障,使得系統(tǒng)不按預(yù)期表現(xiàn),這又會(huì)為系統(tǒng)管理員產(chǎn)生很大的問(wèn)題。這樣,由于管理員不希望冒回歸的風(fēng)險(xiǎn),因此不用試圖修復(fù)易受攻擊的程序文件的重要安全補(bǔ)丁來(lái)頻繁更新系統(tǒng)。
因而,需要一種以自動(dòng)、綜合、可靠和無(wú)回歸的方式來(lái)實(shí)現(xiàn)程序文件中安全性漏洞的修復(fù)。
發(fā)明內(nèi)容
這里描述了二進(jìn)制程序文件的自動(dòng)、綜合、可靠和無(wú)回歸的安全修復(fù)。
按照一種實(shí)施方式,接收漏洞的一個(gè)二進(jìn)制簽名和一安全補(bǔ)丁?;诼┒吹亩M(jìn)制簽名在計(jì)算機(jī)上標(biāo)識(shí)易受攻擊的二進(jìn)制文件。用安全補(bǔ)丁來(lái)更新計(jì)算機(jī)上易受攻擊的二進(jìn)制文件。
按照另一實(shí)施方式,接收一二進(jìn)制簽名,該簽名標(biāo)識(shí)了二進(jìn)制文件中的安全性漏洞。還接收用于修復(fù)安全性漏洞的安全補(bǔ)丁。把二進(jìn)制簽名和安全補(bǔ)丁分發(fā)到多臺(tái)服務(wù)器。
按照另一實(shí)施方式,二進(jìn)制簽名從服務(wù)器被接收并用于搜索二進(jìn)制文件。如果在二進(jìn)制文件中找到二進(jìn)制簽名,則向服務(wù)器發(fā)送對(duì)安全補(bǔ)丁的請(qǐng)求。然后用安全補(bǔ)丁更新二進(jìn)制文件。
附圖中使用相同的參考數(shù)字標(biāo)識(shí)相同的組件和特性。
圖1說(shuō)明了適用于實(shí)現(xiàn)二進(jìn)制文件中安全性漏洞的自動(dòng)檢測(cè)和修復(fù)的示例性網(wǎng)絡(luò)環(huán)境。
圖2說(shuō)明了適用于實(shí)現(xiàn)二進(jìn)制文件中安全性漏洞的自動(dòng)檢測(cè)和修復(fù)的分發(fā)服務(wù)器、掃描補(bǔ)丁服務(wù)器和客戶(hù)端計(jì)算機(jī)的示例性實(shí)施例。
圖3說(shuō)明了適用于實(shí)現(xiàn)二進(jìn)制文件中安全性漏洞的自動(dòng)檢測(cè)和修復(fù)的分發(fā)服務(wù)器、掃描補(bǔ)丁服務(wù)器和客戶(hù)端計(jì)算機(jī)的另一示例性實(shí)施例。
圖4-6說(shuō)明了用于實(shí)現(xiàn)二進(jìn)制文件中安全性漏洞的自動(dòng)檢測(cè)和修復(fù)的示例性方法的框圖。
圖7說(shuō)明了適用于實(shí)現(xiàn)分發(fā)服務(wù)器、掃描補(bǔ)丁服務(wù)器和客戶(hù)端計(jì)算機(jī)的示例性計(jì)算環(huán)境。
具體實(shí)施例方式
綜述下列討論針對(duì)了能夠修復(fù)二進(jìn)制文件中的安全性漏洞的系統(tǒng)和方法。在無(wú)限規(guī)模上,易受攻擊的二進(jìn)制文件的檢測(cè)和修復(fù)在網(wǎng)絡(luò)上是自動(dòng)的、可靠的、無(wú)回歸的且綜合的。這些優(yōu)點(diǎn)可以用各種方法來(lái)實(shí)現(xiàn),包括例如通過(guò)對(duì)因特網(wǎng)上廣泛采用的當(dāng)前反病毒基礎(chǔ)結(jié)構(gòu)進(jìn)行杠桿作用。安全補(bǔ)丁與常規(guī)服務(wù)包的偏差提供了為二進(jìn)制文件中的安全性漏洞產(chǎn)生無(wú)回歸修復(fù)的可能性。
通過(guò)使用曾經(jīng)與所發(fā)現(xiàn)的安全性漏洞相關(guān)聯(lián)的二進(jìn)制簽名來(lái)實(shí)現(xiàn)易受攻擊的二進(jìn)制文件(例如在操作系統(tǒng)、應(yīng)用程序等中)的可靠發(fā)現(xiàn)。與二進(jìn)制文件中的安全性漏洞相關(guān)的二進(jìn)制簽名、以及為修復(fù)這種安全性漏洞而開(kāi)發(fā)的安全補(bǔ)丁一起被上載到中央分發(fā)服務(wù)器。分發(fā)服務(wù)器用于在諸如因特網(wǎng)的各種網(wǎng)絡(luò)上廣泛地分發(fā)二進(jìn)制簽名和安全補(bǔ)丁。使用中央分發(fā)服務(wù)器來(lái)更新網(wǎng)絡(luò)服務(wù)器無(wú)限地提供了綜合且自動(dòng)的補(bǔ)丁覆蓋。接收這種更新的網(wǎng)絡(luò)服務(wù)器可以?huà)呙柘录?jí)網(wǎng)絡(luò)內(nèi)的客戶(hù)端計(jì)算機(jī),以便根據(jù)二進(jìn)制簽名定位易受攻擊的文件,然后使用會(huì)修復(fù)易受攻擊的文件的相應(yīng)安全補(bǔ)丁來(lái)更新被發(fā)現(xiàn)具有安全性易受攻擊的文件的那些計(jì)算機(jī)。網(wǎng)絡(luò)服務(wù)器也可與客戶(hù)端計(jì)算機(jī)通信以便把二進(jìn)制簽名和安全補(bǔ)丁傳輸至計(jì)算機(jī),使得掃描和更新可由計(jì)算機(jī)自身執(zhí)行。還可存在多嵌套級(jí)的下級(jí)網(wǎng)絡(luò)。
示例性環(huán)境圖1說(shuō)明了適用于實(shí)現(xiàn)二進(jìn)制文件中安全性漏洞的自動(dòng)檢測(cè)和修復(fù)的示例性網(wǎng)絡(luò)環(huán)境100。在示例性網(wǎng)絡(luò)環(huán)境100中,中央分發(fā)服務(wù)器102通過(guò)網(wǎng)絡(luò)106(a)耦合到多個(gè)掃描/修復(fù)服務(wù)器104。掃描/修復(fù)服務(wù)器104一般通過(guò)網(wǎng)絡(luò)106(b)耦合到多臺(tái)客戶(hù)端計(jì)算機(jī)108(1)-108(n)。網(wǎng)絡(luò)106意圖表示多種常規(guī)網(wǎng)絡(luò)拓?fù)溥壿嫼皖?lèi)型的任一種(包括光學(xué)、有線(xiàn)和/或無(wú)線(xiàn)網(wǎng)絡(luò)),采用多種常規(guī)網(wǎng)絡(luò)協(xié)議的任一種(包括公共和/或?qū)S袇f(xié)議)。網(wǎng)絡(luò)106可以包括,例如因特網(wǎng),以及一個(gè)或多個(gè)局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)的至少一部分。網(wǎng)絡(luò)106(a)和106(b)可以是因特網(wǎng)這樣的相同網(wǎng)絡(luò),或者它們是彼此隔開(kāi)的網(wǎng)絡(luò),比如因特網(wǎng)和公司局域網(wǎng)。
分發(fā)服務(wù)器102和掃描/修復(fù)服務(wù)器104一般用標(biāo)準(zhǔn)Web服務(wù)器實(shí)現(xiàn),并且各自可以是多種常規(guī)計(jì)算設(shè)備的任一種,包括臺(tái)式PC、筆記本或便攜式計(jì)算機(jī)、工作站、大型計(jì)算機(jī)、因特網(wǎng)設(shè)備、它們的組合等等。服務(wù)器102和104中的一臺(tái)或多臺(tái)會(huì)是相同類(lèi)型的設(shè)備,或者是不同類(lèi)型的設(shè)備。下面參照?qǐng)D7更詳細(xì)地描述了用于實(shí)現(xiàn)分發(fā)服務(wù)器102和掃描/修復(fù)服務(wù)器104的示例性計(jì)算環(huán)境。
客戶(hù)端計(jì)算機(jī)108起到與服務(wù)器104的典型的客戶(hù)機(jī)/服務(wù)器關(guān)系,其中多個(gè)客戶(hù)機(jī)108向?yàn)檎?qǐng)求提供服務(wù)的服務(wù)器104作出請(qǐng)求??蛻?hù)端計(jì)算機(jī)108可以是多種常規(guī)計(jì)算設(shè)備的任一種,包括臺(tái)式PC、筆記本或便攜式計(jì)算機(jī)、工作站、大型計(jì)算機(jī)、游戲操縱桿、手持PC、蜂窩電話(huà)或其它無(wú)線(xiàn)通信設(shè)備、個(gè)人數(shù)字助理(PDA)、它們的組合等等??蛻?hù)端計(jì)算機(jī)108的一臺(tái)或多臺(tái)可以是相同類(lèi)型的設(shè)備,或者是不同類(lèi)型的設(shè)備。下面參照?qǐng)D7更詳細(xì)地描述了用于實(shí)現(xiàn)客戶(hù)端計(jì)算機(jī)108的示例性計(jì)算環(huán)境。
通常,通過(guò)經(jīng)過(guò)分發(fā)服務(wù)器102作出的更新來(lái)實(shí)現(xiàn)客戶(hù)端計(jì)算機(jī)108上的易受攻擊的二進(jìn)制文件的自動(dòng)和綜合的檢測(cè)和修復(fù),所述更新包括二進(jìn)制簽名,所述二進(jìn)制簽名用于標(biāo)識(shí)易受攻擊的二進(jìn)制文件以及為修復(fù)易受攻擊的文件而配置的安全補(bǔ)丁。如下參照下列示例性實(shí)施例更詳細(xì)地討論,把二進(jìn)制簽名和安全補(bǔ)丁分發(fā)到掃描/修復(fù)服務(wù)器104,后者或者主動(dòng)掃描和更新客戶(hù)端計(jì)算機(jī)108上易受攻擊的二進(jìn)制文件,或者把二進(jìn)制簽名和安全補(bǔ)丁推到客戶(hù)端計(jì)算機(jī)108上,使客戶(hù)端計(jì)算機(jī)108可以對(duì)易受攻擊的二進(jìn)制文件實(shí)行掃描和修復(fù)。
示例性實(shí)施例圖2說(shuō)明了適用于實(shí)現(xiàn)二進(jìn)制文件中安全性漏洞的自動(dòng)檢測(cè)和修復(fù)的分發(fā)服務(wù)器102、掃描修復(fù)服務(wù)器104和客戶(hù)端計(jì)算機(jī)108的示例性實(shí)施例。分發(fā)服務(wù)器102包括用于接收和保持二進(jìn)制簽名和安全補(bǔ)丁的分發(fā)模塊200和數(shù)據(jù)庫(kù)202。數(shù)據(jù)庫(kù)202會(huì)以多種方式用二進(jìn)制簽名和安全補(bǔ)丁來(lái)更新,這些方式包括例如通過(guò)便攜式的存儲(chǔ)媒質(zhì)(未示出,但見(jiàn)圖7)或者通過(guò)與服務(wù)器102耦合并把二進(jìn)制簽名和安全補(bǔ)丁上載到數(shù)據(jù)庫(kù)202的計(jì)算設(shè)備(未示出)。
其中可能更新數(shù)據(jù)庫(kù)202的典型情況始于軟件產(chǎn)品的開(kāi)發(fā)者開(kāi)始調(diào)查軟件產(chǎn)品(例如操作系統(tǒng)、應(yīng)用程序等)。例如,開(kāi)發(fā)者可以雇用一安全性咨詢(xún)公司,嘗試找到最新發(fā)布的軟件產(chǎn)品中的安全性漏洞。如果通過(guò)黑客或通過(guò)某些其它手段在軟件產(chǎn)品中發(fā)現(xiàn)安全性漏洞,則可以標(biāo)識(shí)該產(chǎn)品內(nèi)易受攻擊的功能的確切位模式。位模式代表了二進(jìn)制文件中易受攻擊部分的二進(jìn)制簽名,該易受攻擊的部分是軟件產(chǎn)品的一個(gè)組成部分。
一旦發(fā)現(xiàn)并分析了安全性漏洞,就可以開(kāi)發(fā)一個(gè)會(huì)消除該漏洞的修補(bǔ)。這種修復(fù)被稱(chēng)為安全補(bǔ)丁,它們代表了被編譯成二進(jìn)制可執(zhí)行指令的代碼模塊。安全補(bǔ)丁可以安裝在計(jì)算機(jī)上,所述計(jì)算機(jī)通過(guò)二進(jìn)制簽名被標(biāo)識(shí)為具有安全性漏洞的正在運(yùn)行的軟件。安全補(bǔ)丁的安裝會(huì)修補(bǔ)安全性漏洞。分發(fā)服務(wù)器102使軟件產(chǎn)品廠(chǎng)商及他人能把易受攻擊的二進(jìn)制文件的二進(jìn)制簽名以及為修補(bǔ)易受攻擊的二進(jìn)制文件而設(shè)計(jì)的安全補(bǔ)丁一起上載到數(shù)據(jù)庫(kù)202中用于分發(fā)。
分發(fā)模塊200被配置成通過(guò)網(wǎng)絡(luò)106把二進(jìn)制簽名和安全補(bǔ)丁從數(shù)據(jù)庫(kù)202分發(fā)到各個(gè)掃描修復(fù)服務(wù)器104。分發(fā)模塊200一般自動(dòng)地用于在用其它簽名和補(bǔ)丁更新數(shù)據(jù)庫(kù)202時(shí)從數(shù)據(jù)庫(kù)202分發(fā)二進(jìn)制簽名和安全補(bǔ)丁。自動(dòng)分發(fā)可以用各種方式來(lái)實(shí)現(xiàn),包括例如通過(guò)從分發(fā)模塊200到掃描修復(fù)服務(wù)器104的通信,指示更新后的二進(jìn)制簽名和安全補(bǔ)丁可用,并且等待發(fā)送二進(jìn)制簽名和安全補(bǔ)丁的請(qǐng)求,或者通過(guò)把更新后的二進(jìn)制簽名和安全補(bǔ)丁自動(dòng)轉(zhuǎn)發(fā)到為接受這些更新而配置的掃描修復(fù)服務(wù)器104。
在圖2的實(shí)施例中,掃描修復(fù)服務(wù)器104包括用于接收和保持二進(jìn)制簽名和安全補(bǔ)丁的掃描修復(fù)模塊204和數(shù)據(jù)庫(kù)206。通過(guò)分發(fā)服務(wù)器102上掃描修復(fù)模塊204和分發(fā)模塊200之間的通信,數(shù)據(jù)庫(kù)206一般用新的二進(jìn)制簽名和安全補(bǔ)丁自動(dòng)更新。除了用二進(jìn)制簽名和安全補(bǔ)丁來(lái)更新數(shù)據(jù)庫(kù)206以外,掃描修復(fù)模塊104被配置成訪(fǎng)問(wèn)客戶(hù)端計(jì)算機(jī)108并掃描二進(jìn)制文件208以找到二進(jìn)制簽名。掃描二進(jìn)制文件208可包括搜索在客戶(hù)端計(jì)算機(jī)108上存在或可訪(fǎng)問(wèn)的任何形式的媒質(zhì)上存在的二進(jìn)制文件中的二進(jìn)制簽名。二進(jìn)制文件208一般包括經(jīng)編譯的、計(jì)算機(jī)/處理器可讀的代碼,比如操作系統(tǒng)或應(yīng)用程序文件。然而,注意到二進(jìn)制文件208可以是任何形式的二進(jìn)制信息,包括客戶(hù)端計(jì)算機(jī)108的計(jì)算機(jī)/處理器可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊以及其它數(shù)據(jù)。
在參照?qǐng)D7的示例性計(jì)算機(jī)環(huán)境的下列討論中,客戶(hù)端計(jì)算機(jī)108上的這種媒質(zhì)可包括可由客戶(hù)端計(jì)算機(jī)108訪(fǎng)問(wèn)的任何可用的媒質(zhì),比如易失性和非易失性媒質(zhì)以及可移動(dòng)和不可移動(dòng)的媒質(zhì)。這種計(jì)算機(jī)/處理器可讀媒質(zhì)可包括易失性存儲(chǔ)器,比如隨機(jī)存取存儲(chǔ)器(RAM)以及/或者非易失性存儲(chǔ)器,比如只讀存儲(chǔ)器(ROM)。計(jì)算機(jī)/處理器可讀媒質(zhì)還可包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性的計(jì)算機(jī)存儲(chǔ)媒質(zhì),比如用于向不可移動(dòng)的、非易失性磁性媒質(zhì)讀寫(xiě)的硬盤(pán)驅(qū)動(dòng)器;用于向可移動(dòng)的、非易失性磁盤(pán)(例如“軟盤(pán)”)讀寫(xiě)的磁盤(pán)驅(qū)動(dòng)器;用于向可移動(dòng)、非易失性光盤(pán)讀寫(xiě)的光盤(pán)驅(qū)動(dòng)器(比如CD-ROM、DVD-ROM);或者其它光學(xué)媒質(zhì)、其它磁性存儲(chǔ)設(shè)備、閃存卡、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、網(wǎng)絡(luò)附加的存儲(chǔ)器等等。所有這樣的計(jì)算機(jī)/處理器可讀媒質(zhì)都為任何形式的二進(jìn)制文件208提供了易失性和非易失性的存儲(chǔ),所述二進(jìn)制文件208包括客戶(hù)端計(jì)算機(jī)108的計(jì)算機(jī)/處理器可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其它數(shù)據(jù),所述計(jì)算機(jī)/處理器可讀媒質(zhì)可由掃描修復(fù)服務(wù)器104經(jīng)由掃描修復(fù)模塊204進(jìn)行掃描。
這樣,掃描修復(fù)模塊204搜索客戶(hù)端計(jì)算機(jī)108上的二進(jìn)制文件208以確定在位于客戶(hù)端計(jì)算機(jī)108上的任何二進(jìn)制信息中是否存在標(biāo)識(shí)安全性漏洞的二進(jìn)制簽名。如果在二進(jìn)制文件208中找到二進(jìn)制簽名的位模式,掃描修復(fù)模塊204就通過(guò)阿客戶(hù)端計(jì)算機(jī)108上安裝一相應(yīng)的安全補(bǔ)丁,操作以修復(fù)二進(jìn)制文件208中的安全性漏洞??蛻?hù)端計(jì)算機(jī)108上安全補(bǔ)丁的安裝覆寫(xiě)或消除了包含安全性漏洞的二進(jìn)制文件或二進(jìn)制文件的一部分。
圖3說(shuō)明了適用于實(shí)現(xiàn)二進(jìn)制文件中安全性漏洞的修復(fù)的分發(fā)服務(wù)器102、掃描修復(fù)服務(wù)器104和客戶(hù)端計(jì)算機(jī)108的另一示例性實(shí)施例。通常,在圖3的實(shí)施例中,從服務(wù)器104把二進(jìn)制簽名和安全補(bǔ)丁下推或再分發(fā)到客戶(hù)端計(jì)算機(jī)108上,通過(guò)客戶(hù)端計(jì)算機(jī)108而不是掃描修復(fù)服務(wù)器104來(lái)執(zhí)行對(duì)易受攻擊的文件的掃描以及對(duì)安全性易受攻擊的文件的修復(fù)。
在圖3的實(shí)施例中,分發(fā)服務(wù)器102以與上面參照?qǐng)D2實(shí)施例的方式相同的方式被配置。這樣,可以更新數(shù)據(jù)庫(kù)202以包括最新發(fā)現(xiàn)的二進(jìn)制簽名,所述簽名標(biāo)識(shí)了二進(jìn)制文件中的安全性漏洞。數(shù)據(jù)庫(kù)202還可以用相應(yīng)的安全補(bǔ)丁來(lái)更新,所述安全補(bǔ)丁已經(jīng)被開(kāi)發(fā)以修補(bǔ)這樣的安全性漏洞。
圖3的掃描修復(fù)服務(wù)器102以與上面參照?qǐng)D2所討論的方式有點(diǎn)相同的方式被配置。這樣,圖3的掃描修復(fù)服務(wù)器102包括用于接收和保持二進(jìn)制簽名和安全補(bǔ)丁的數(shù)據(jù)庫(kù)206。數(shù)據(jù)庫(kù)206一般通過(guò)掃描修復(fù)服務(wù)器104和分發(fā)服務(wù)器102之間的通信,用新的二進(jìn)制簽名和安全補(bǔ)丁自動(dòng)更新。然而,掃描修復(fù)服務(wù)器104和分發(fā)服務(wù)器102間的通信通過(guò)再分發(fā)模塊300實(shí)施而不是通過(guò)圖2實(shí)施例所述的掃描修復(fù)模塊204來(lái)實(shí)施。
除了用二進(jìn)制簽名和安全補(bǔ)丁更新數(shù)據(jù)庫(kù)206以外,再分發(fā)模塊300被配置成與客戶(hù)端計(jì)算機(jī)108上的掃描修復(fù)模塊202通信,并且向客戶(hù)端計(jì)算機(jī)108傳輸二進(jìn)制簽名。掃描修復(fù)模塊302被配置成接收二進(jìn)制簽名,并掃描二進(jìn)制文件208以確定所述二進(jìn)制簽名是否存在于位于客戶(hù)端計(jì)算機(jī)108上的任何二進(jìn)制信息中。這樣,圖3的掃描修復(fù)模塊302以類(lèi)似于上面參照?qǐng)D2所討論的掃描修復(fù)模塊204的方式起作用。
如果在客戶(hù)端計(jì)算機(jī)108上的二進(jìn)制文件208中找到二進(jìn)制簽名的位模式,掃描修復(fù)模塊302就向服務(wù)器102上的再分發(fā)模塊300發(fā)送一請(qǐng)求。該請(qǐng)求是使再分發(fā)模塊300將與二進(jìn)制簽名相對(duì)應(yīng)的安全補(bǔ)丁向下發(fā)送到客戶(hù)端計(jì)算機(jī)108。再分發(fā)模塊300通過(guò)向客戶(hù)端計(jì)算機(jī)108發(fā)送適當(dāng)?shù)陌踩a(bǔ)丁而響應(yīng)該請(qǐng)求。掃描修復(fù)模塊302接收安全補(bǔ)丁并且通過(guò)在客戶(hù)端計(jì)算機(jī)108上安裝該安全補(bǔ)丁而修復(fù)二進(jìn)制文件208中的安全性漏洞。在圖2的實(shí)施例中,把安全補(bǔ)丁安裝在客戶(hù)端計(jì)算機(jī)108上覆寫(xiě)或消除了包含所發(fā)現(xiàn)的安全性漏洞的二進(jìn)制文件或二進(jìn)制文件的一部分。
示例性方法現(xiàn)在將主要參照?qǐng)D4-6的流程圖來(lái)描述用于實(shí)現(xiàn)二進(jìn)制文件中安全性漏洞的自動(dòng)檢測(cè)和修復(fù)的示例性方法。所述方法一般應(yīng)用于上面參照?qǐng)D1-3討論的示例性實(shí)施例。所述方法的元素可由任何適當(dāng)?shù)氖侄蝸?lái)執(zhí)行,包括例如通過(guò)ASIC上的硬件邏輯塊,或者通過(guò)執(zhí)行在處理器可讀媒質(zhì)上定義的處理器可讀指令。
這里使用的“處理器可讀媒質(zhì)”可以是能包含、傳遞、傳播或傳輸處理器執(zhí)行所使用的指令的任何裝置。不加限制地說(shuō),處理器可讀媒質(zhì)可包括電子、磁性、光學(xué)、電磁、紅外或半導(dǎo)體的系統(tǒng)、裝置、設(shè)備或傳播媒質(zhì)。另外,處理器可讀媒質(zhì)的更具體的例子包括具有一根或多根電線(xiàn)的電連接(電子的)、便攜式計(jì)算機(jī)盒帶(磁性的)、隨機(jī)存取存儲(chǔ)器(RAM)(磁性的)、只讀存儲(chǔ)器(ROM)(磁性的)、可擦除可編程只讀存儲(chǔ)器(EPROM或閃存)、光纖(光學(xué)的)、可重寫(xiě)微型盤(pán)(CD-RW)(光學(xué)的)以及便攜式微型盤(pán)只讀存儲(chǔ)器(CDROM)(光學(xué)的)。
圖4示出用于實(shí)現(xiàn)二進(jìn)制文件中安全性漏洞的自動(dòng)檢測(cè)和修復(fù)的示例性方法400。二進(jìn)制文件一般位于或被存儲(chǔ)在由服務(wù)器計(jì)算機(jī)提供服務(wù)的客戶(hù)端計(jì)算機(jī)上,但它們也可位于服務(wù)器計(jì)算機(jī)自身之上,或者可由服務(wù)器計(jì)算機(jī)訪(fǎng)問(wèn)的任何其它計(jì)算設(shè)備。在方法400的方框402處,接收二進(jìn)制簽名。二進(jìn)制簽名是已經(jīng)與特定的二進(jìn)制文件中的安全性漏洞相關(guān)聯(lián)的位模式,比如在客戶(hù)端計(jì)算機(jī)上運(yùn)行的可執(zhí)行應(yīng)用程序或操作系統(tǒng)。輔助服務(wù)器104從中央分發(fā)服務(wù)器102接收二進(jìn)制簽名。
在方框404處,接收安全補(bǔ)丁。安全補(bǔ)丁一般是經(jīng)編譯的可執(zhí)行代碼,該代碼已經(jīng)被開(kāi)發(fā)為對(duì)特定二進(jìn)制文件的安全性漏洞的修補(bǔ)。輔助服務(wù)器104也從中央分發(fā)服務(wù)器102接收安全補(bǔ)丁。在方框406處,基于二進(jìn)制簽名而標(biāo)識(shí)易受攻擊的二進(jìn)制文件。易受攻擊的二進(jìn)制文件的標(biāo)識(shí)一般通過(guò)以下來(lái)實(shí)現(xiàn)掃描諸如客戶(hù)端計(jì)算機(jī)108等計(jì)算機(jī)的各個(gè)媒質(zhì)上保存的二進(jìn)制信息,然后把二進(jìn)制簽名中的模式與媒質(zhì)上找到的二進(jìn)制信息相比較。標(biāo)識(shí)可以以各種方式發(fā)生,包括例如由服務(wù)器104掃描和比較客戶(hù)端計(jì)算機(jī)上存在的所有二進(jìn)制信息。也可以通過(guò)使服務(wù)器104把二進(jìn)制簽名向下推到客戶(hù)端計(jì)算機(jī)使得客戶(hù)端計(jì)算機(jī)可實(shí)行掃描和比較來(lái)實(shí)現(xiàn)易受攻擊的二進(jìn)制文件的標(biāo)識(shí)。
在方框400的方框408處,使用安全補(bǔ)丁來(lái)更新易受攻擊的二進(jìn)制文件。更新可以各種方式實(shí)現(xiàn),包括例如由服務(wù)器104把安全補(bǔ)丁安裝在客戶(hù)端計(jì)算機(jī)108上。如果客戶(hù)端計(jì)算機(jī)108已執(zhí)行了掃描并標(biāo)識(shí)了易受攻擊的二進(jìn)制文件,客戶(hù)端計(jì)算機(jī)108可以請(qǐng)求服務(wù)器104把安全補(bǔ)丁發(fā)送到計(jì)算機(jī)108,其中計(jì)算機(jī)108可以安裝該安全補(bǔ)丁以修補(bǔ)易受攻擊的二進(jìn)制文件。
圖5示出用于實(shí)現(xiàn)二進(jìn)制文件中安全性漏洞的自動(dòng)檢測(cè)和修復(fù)的另一示例性方法500。方法500一般說(shuō)明了安全性漏洞的二進(jìn)制簽名以及為修補(bǔ)那些安全性漏洞而開(kāi)發(fā)的安全補(bǔ)丁的分發(fā)。在方法500的方框502處,接收一二進(jìn)制簽名,它標(biāo)識(shí)了二進(jìn)制文件的安全性漏洞。二進(jìn)制簽名一般被上載到分發(fā)服務(wù)器102作為一最新發(fā)現(xiàn)的位模式,該位模式標(biāo)識(shí)了軟件產(chǎn)品的二進(jìn)制文件中的漏洞,所述漏洞可能廣泛分布于諸如因特網(wǎng)這樣的網(wǎng)絡(luò)上的許多計(jì)算機(jī)中。上載一般由與分發(fā)服務(wù)器102耦合的計(jì)算機(jī)實(shí)現(xiàn),或者由被插入分發(fā)服務(wù)器102內(nèi)的便攜式存儲(chǔ)媒質(zhì)來(lái)實(shí)現(xiàn)。在方框504處,被配置成修補(bǔ)安全性漏洞的安全補(bǔ)丁由分發(fā)服務(wù)器102以類(lèi)似于二進(jìn)制簽名的方式接收。
在方框506處,從分發(fā)服務(wù)器102把二進(jìn)制簽名和安全補(bǔ)丁分發(fā)到多臺(tái)輔助服務(wù)器104。該分發(fā)自動(dòng)發(fā)生,并且以各種方式實(shí)現(xiàn)。例如,在接收到所上載的二進(jìn)制簽名和安全補(bǔ)丁后,分發(fā)服務(wù)器102可以通過(guò)網(wǎng)絡(luò)把二進(jìn)制簽名和安全補(bǔ)丁自動(dòng)發(fā)到被配置成接收所更新的二進(jìn)制簽名和安全補(bǔ)丁的所有輔助服務(wù)器104。分發(fā)服務(wù)器102也可能向服務(wù)器104發(fā)送一通知,指示已經(jīng)發(fā)現(xiàn)安全性漏洞并且一安全補(bǔ)丁可用于修補(bǔ)該漏洞。然后,輔助服務(wù)器104可以請(qǐng)求分發(fā)服務(wù)器102發(fā)送標(biāo)識(shí)安全性漏洞和安全補(bǔ)丁的二進(jìn)制簽名。在接收到該請(qǐng)求后,分發(fā)服務(wù)器102可以把二進(jìn)制簽名和安全補(bǔ)丁轉(zhuǎn)發(fā)到正在請(qǐng)求的服務(wù)器102。
圖6示出用于實(shí)現(xiàn)二進(jìn)制文件中安全性漏洞的自動(dòng)檢測(cè)和修復(fù)的另一示例性方法600。在方法600的方框602處,客戶(hù)端計(jì)算機(jī)108從服務(wù)器104接收一二進(jìn)制簽名。該二進(jìn)制簽名與可能存在于客戶(hù)端計(jì)算機(jī)108上的二進(jìn)制文件中的一安全性漏洞相關(guān)聯(lián)。在方框404處,客戶(hù)端計(jì)算機(jī)108掃描目前對(duì)它可用的所有二進(jìn)制信息,并把二進(jìn)制簽名中的模式與二進(jìn)制信息相比較??蛻?hù)端計(jì)算機(jī)108所掃描的二進(jìn)制信息一般形式為對(duì)客戶(hù)端計(jì)算機(jī)108有用的計(jì)算機(jī)/處理器可讀的和/或可執(zhí)行的指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊以及其它數(shù)據(jù),并且可以駐留在各類(lèi)易失性和非易失性存儲(chǔ)媒質(zhì)上。
在方框606處,如果客戶(hù)端計(jì)算機(jī)108發(fā)現(xiàn)包含該二進(jìn)制簽名的二進(jìn)制文件,它就向服務(wù)器104發(fā)送傳輸安全補(bǔ)丁的請(qǐng)求。在方框608處,客戶(hù)端計(jì)算機(jī)108接收安全補(bǔ)丁,在方框610處,客戶(hù)端計(jì)算機(jī)108安裝安全補(bǔ)丁以便修補(bǔ)二進(jìn)制文件中的安全性漏洞,所述二進(jìn)制文件包含與二進(jìn)制簽名中的模式相匹配的二進(jìn)制信息。
雖然已經(jīng)通過(guò)流程圖以及與流程圖的方法相關(guān)的文本公開(kāi)了一種或多種方法,然而可以理解,方框無(wú)須以它們所呈現(xiàn)的順序執(zhí)行,其它順序也可得到類(lèi)似的好處。而且,這些方法并非排他,并且可以單獨(dú)或彼此結(jié)合地執(zhí)行。
示例性計(jì)算機(jī)圖7說(shuō)明了適用于實(shí)現(xiàn)分發(fā)服務(wù)器102、掃描修復(fù)服務(wù)器104和客戶(hù)端計(jì)算機(jī)108的示例性計(jì)算環(huán)境,上面參照?qǐng)D1-3曾討論過(guò)。盡管圖7中示出一種具體的配置,然而可以以其它計(jì)算配置來(lái)實(shí)現(xiàn)分發(fā)服務(wù)器102、掃描修復(fù)服務(wù)器104和客戶(hù)端計(jì)算機(jī)108。
計(jì)算環(huán)境700包括形式為計(jì)算機(jī)702的通用計(jì)算系統(tǒng)。計(jì)算機(jī)702的組件可以包括、但不限于一個(gè)或多個(gè)處理器或處理單元704、系統(tǒng)存儲(chǔ)器706以及把包括處理器704在內(nèi)的各種系統(tǒng)組件耦合到系統(tǒng)存儲(chǔ)器706的系統(tǒng)總線(xiàn)708。
系統(tǒng)總線(xiàn)708標(biāo)識(shí)多種總線(xiàn)結(jié)構(gòu)的一種或多種,包括存儲(chǔ)器總線(xiàn)或存儲(chǔ)器控制器、外圍總線(xiàn)、加速圖形端口以及處理器或使用多種總線(xiàn)結(jié)構(gòu)的任一種的局域總線(xiàn)。系統(tǒng)總線(xiàn)708的一例會(huì)是外圍組件互連(PCI)總線(xiàn),也稱(chēng)為Mezzanine總線(xiàn)。
計(jì)算機(jī)702一般包括多種計(jì)算機(jī)可讀媒質(zhì)。這種媒質(zhì)可以是能由計(jì)算機(jī)702訪(fǎng)問(wèn)的任何可用媒質(zhì)并包括易失性和非易失性的媒質(zhì)、可移動(dòng)和不可移動(dòng)媒質(zhì)。系統(tǒng)存儲(chǔ)器706包括形式為易失性存儲(chǔ)器的計(jì)算機(jī)可讀媒質(zhì),比如隨機(jī)存取存儲(chǔ)器(RAM)710,以及/或者包括形式為非易失性存儲(chǔ)器的計(jì)算機(jī)可讀媒質(zhì),比如只讀存儲(chǔ)器(ROM)712?;据斎?輸出系統(tǒng)(BIOS)714一般存儲(chǔ)在ROM 712內(nèi),它包含例如啟動(dòng)期間幫助在計(jì)算機(jī)702內(nèi)的組件間傳輸信息的基本例程。RAM 710一般包含數(shù)據(jù)和/或程序模塊,它們可以立即訪(fǎng)問(wèn)并且/或者當(dāng)前由處理單元704在其上操作。
計(jì)算機(jī)702可以還包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)媒質(zhì)。僅僅通過(guò)示例,圖7說(shuō)明了對(duì)不可移動(dòng)、非易失性磁性媒質(zhì)(未示出)進(jìn)行讀寫(xiě)的硬盤(pán)驅(qū)動(dòng)器716、對(duì)可移動(dòng)、非易失性磁盤(pán)720(例如“軟盤(pán)”)進(jìn)行讀寫(xiě)的磁盤(pán)驅(qū)動(dòng)器718、以及對(duì)可移動(dòng)、非易失性光盤(pán)724進(jìn)行讀寫(xiě)的光盤(pán)驅(qū)動(dòng)器722,譬如CD-ROM、DVD-ROM。硬盤(pán)驅(qū)動(dòng)器716、磁盤(pán)驅(qū)動(dòng)器718和光盤(pán)驅(qū)動(dòng)器722各自通過(guò)一個(gè)或多個(gè)數(shù)據(jù)媒質(zhì)接口726與系統(tǒng)總線(xiàn)708相連?;蛘撸脖P(pán)驅(qū)動(dòng)器716、磁盤(pán)驅(qū)動(dòng)器718和光盤(pán)驅(qū)動(dòng)器722可以通過(guò)SCSI接口(未示出)與系統(tǒng)總線(xiàn)708相連。
硬盤(pán)驅(qū)動(dòng)器和它們相關(guān)的計(jì)算機(jī)可讀媒質(zhì)為計(jì)算機(jī)702的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其它數(shù)據(jù)提供了非易失性存儲(chǔ)。盡管該例說(shuō)明了硬盤(pán)716、可移動(dòng)磁盤(pán)720和可移動(dòng)光盤(pán)724,然而可以理解,也可以使用能保存可由計(jì)算機(jī)訪(fǎng)問(wèn)的數(shù)據(jù)的其它類(lèi)型的計(jì)算機(jī)可讀媒質(zhì)來(lái)實(shí)現(xiàn)示例性的計(jì)算系統(tǒng)和環(huán)境,所述計(jì)算機(jī)可讀媒質(zhì)例如磁性盒帶或其它磁性存儲(chǔ)設(shè)備、閃存卡、CD-ROM、數(shù)字化視頻光盤(pán)(DVD)或其它光學(xué)存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)等。
任何數(shù)量的程序模塊可以被保存在硬盤(pán)716、磁盤(pán)720、光盤(pán)724、ROM 712和/或RAM 710上,包括例如操作系統(tǒng)726、一個(gè)或多個(gè)應(yīng)用程序728、其它程序模塊730和程序數(shù)據(jù)732。這些操作系統(tǒng)726、一個(gè)或多個(gè)應(yīng)用程序728、其它程序模塊730和程序數(shù)據(jù)732的每一個(gè)(或它們的某種組合)可包括使用戶(hù)網(wǎng)絡(luò)訪(fǎng)問(wèn)信息的高速緩存方案。
計(jì)算機(jī)702可包括被標(biāo)識(shí)為通信媒質(zhì)的多種計(jì)算機(jī)/處理器可讀媒質(zhì)。通信媒質(zhì)一般包含已調(diào)數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),比如載波或其它傳輸基址,并且包括任何信息遞送媒質(zhì)。術(shù)語(yǔ)“已調(diào)數(shù)據(jù)信號(hào)”是指其一個(gè)或多個(gè)特征是以對(duì)信號(hào)中信息進(jìn)行編碼的方式而被設(shè)置或改變的信號(hào)。通過(guò)示例但不限于,通信媒質(zhì)包括諸如有線(xiàn)網(wǎng)絡(luò)或直線(xiàn)連接這樣的有線(xiàn)媒質(zhì),以及諸如聲學(xué)、RF、紅外及其它無(wú)線(xiàn)媒質(zhì)這樣的無(wú)線(xiàn)媒質(zhì)。上述的任意組合也包括在計(jì)算機(jī)可讀媒質(zhì)的范圍內(nèi)。
用戶(hù)可以通過(guò)諸如鍵盤(pán)734和指示設(shè)備736(例如“鼠標(biāo)”)這樣的輸入設(shè)備把命令和信息輸入到計(jì)算機(jī)702中。其它輸入設(shè)備738(未特別示出)可以包括麥克風(fēng)、游戲桿、游戲板、衛(wèi)星式轉(zhuǎn)盤(pán)、串行端口、掃描儀等等。這些和其它輸入設(shè)備通過(guò)與系統(tǒng)總線(xiàn)708耦合的輸入/輸出接口740與處理單元704相連,但也可以用其它接口和總線(xiàn)結(jié)構(gòu)連接,譬如并行端口、游戲端口或通用串行總線(xiàn)(USB)。
監(jiān)視器742或其它類(lèi)型的顯示設(shè)備也通過(guò)諸如視頻適配器744這樣的接口與系統(tǒng)總線(xiàn)708相連。除了監(jiān)視器742之外,其它輸出外圍設(shè)備可包括諸如揚(yáng)聲器(未示出)和打印機(jī)746這樣的組件,它們可以通過(guò)輸入/輸出接口740連到計(jì)算機(jī)702。
計(jì)算機(jī)702可以工作在網(wǎng)絡(luò)化環(huán)境中,該環(huán)境使用與諸如遠(yuǎn)程計(jì)算設(shè)備748這樣的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)之間的邏輯連接。例如,遠(yuǎn)程計(jì)算設(shè)備180可以是個(gè)人計(jì)算機(jī)、便攜式計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)計(jì)算機(jī)、對(duì)等設(shè)備或其它公共網(wǎng)絡(luò)節(jié)點(diǎn)等等。遠(yuǎn)程計(jì)算設(shè)備748被說(shuō)明為一便攜式計(jì)算機(jī),該便攜式計(jì)算機(jī)包括上述與計(jì)算機(jī)702有關(guān)的許多或全部元件和特征,計(jì)算機(jī)702和遠(yuǎn)程計(jì)算機(jī)748之間的邏輯連接被描述為局域網(wǎng)(LAN)750和一般廣域網(wǎng)(WAN)752。這種網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見(jiàn)的。當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)時(shí),計(jì)算機(jī)702通過(guò)網(wǎng)絡(luò)接口或適配器754與局域網(wǎng)750相連。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)時(shí),計(jì)算機(jī)702一般包括用于在廣域網(wǎng)752上建立通信的調(diào)制解調(diào)器756或其它裝置。調(diào)制解調(diào)器756可以是內(nèi)部或外部的,它可以通過(guò)輸入/輸出接口740或其它適當(dāng)機(jī)制與系統(tǒng)總線(xiàn)708相連??梢岳斫?,所述的網(wǎng)絡(luò)連接是示例性的,也可以使用在計(jì)算機(jī)702和748間建立通信連接的其它裝置。
在網(wǎng)絡(luò)化環(huán)境中,比如根據(jù)計(jì)算環(huán)境700所述的環(huán)境,參照計(jì)算機(jī)702描述的程序模塊或其部分可以被保存在遠(yuǎn)程存儲(chǔ)設(shè)備中。例如,遠(yuǎn)程應(yīng)用程序758駐留在遠(yuǎn)程計(jì)算機(jī)748的存儲(chǔ)設(shè)備上。為說(shuō)明起見(jiàn),這里把應(yīng)用程序和其它可執(zhí)行程序組件(比如操作系統(tǒng))說(shuō)明為離散塊,然而可以認(rèn)識(shí)到,這種程序和組件在不同時(shí)刻駐留在計(jì)算機(jī)系統(tǒng)702的不同存儲(chǔ)組件中,并且由計(jì)算機(jī)的數(shù)據(jù)處理器執(zhí)行。
結(jié)論盡管已經(jīng)用對(duì)結(jié)構(gòu)特征和/或方法動(dòng)作特定的語(yǔ)言描述了本發(fā)明,然而可以理解,在所附權(quán)利要求中定義的發(fā)明不必限于所描述的特定的特征或動(dòng)作。所述特定特征和動(dòng)作被公開(kāi)作為實(shí)現(xiàn)權(quán)利要求的發(fā)明的示例性形式。
權(quán)利要求
1.一種包括處理器可執(zhí)行指令的處理器可讀媒質(zhì),所述指令用于接收二進(jìn)制簽名;接收安全補(bǔ)??;根據(jù)所述二進(jìn)制簽名標(biāo)識(shí)計(jì)算機(jī)上易受攻擊的二進(jìn)制文件;以及用所述安全補(bǔ)丁更新所述計(jì)算機(jī)上的所述易受攻擊的二進(jìn)制文件。
2.如權(quán)利要求1所述的處理器可讀媒質(zhì),其特征在于,所述標(biāo)識(shí)計(jì)算機(jī)上易受攻擊的二進(jìn)制文件包括,把所述二進(jìn)制簽名的位模式與位于所述計(jì)算機(jī)上的二進(jìn)制文件相比較,所述位模式與一安全性漏洞相關(guān)聯(lián)。
3.如權(quán)利要求1所述的處理器可讀媒質(zhì),其特征在于,所述更新計(jì)算機(jī)上易受攻擊的二進(jìn)制文件包括,把所述安全補(bǔ)丁安裝在所述計(jì)算機(jī)上。
4.如權(quán)利要求1所述的處理器可讀媒質(zhì),其特征在于,所述標(biāo)識(shí)計(jì)算機(jī)上易受攻擊的二進(jìn)制文件包括,把所述二進(jìn)制簽名發(fā)送到所述計(jì)算機(jī)。
5.如權(quán)利要求4所述的處理器可讀媒質(zhì),其特征在于,所述更新計(jì)算機(jī)上易受攻擊的二進(jìn)制文件包括從所述計(jì)算機(jī)接收發(fā)送所述安全補(bǔ)丁的請(qǐng)求;以及把所述安全補(bǔ)丁發(fā)送到所述計(jì)算機(jī)。
6.如權(quán)利要求1所述的處理器可讀媒質(zhì),其特征在于,所述計(jì)算機(jī)是一客戶(hù)端計(jì)算機(jī),所述接收包括,從被配置成分發(fā)到所述客戶(hù)端計(jì)算機(jī)的分發(fā)服務(wù)器接收所述二進(jìn)制簽名和所述安全補(bǔ)丁,所述二進(jìn)制簽名標(biāo)識(shí)了易受攻擊的文件,所述安全補(bǔ)丁用于修補(bǔ)所述易受攻擊的文件。
7.一種包括如權(quán)利要求1所述的處理器可讀媒質(zhì)的服務(wù)器。
8.一種包括處理器可執(zhí)行指令的處理器可讀媒質(zhì),所述指令用于接收一二進(jìn)制簽名,所述二進(jìn)制簽名標(biāo)識(shí)了二進(jìn)制文件中的安全性漏洞;接收一安全補(bǔ)丁,所述安全補(bǔ)丁用于修復(fù)所述二進(jìn)制文件中的安全性漏洞;以及把所述二進(jìn)制簽名和所述安全補(bǔ)丁分發(fā)到多臺(tái)服務(wù)器。
9.如權(quán)利要求1所述的處理器可讀媒質(zhì),其特征在于,所述分發(fā)包括向所述多臺(tái)服務(wù)器的每一臺(tái)發(fā)送有關(guān)所述安全性漏洞和可用補(bǔ)丁的通知;接收一發(fā)送所述二進(jìn)制簽名和所述安全補(bǔ)丁的請(qǐng)求;以及響應(yīng)于所述請(qǐng)求而發(fā)送所述二進(jìn)制簽名和所述安全補(bǔ)丁。
10.一種包括如權(quán)利要求8所述的處理器可讀媒質(zhì)的分發(fā)服務(wù)器。
11.一種包括處理器可執(zhí)行指令的處理器可讀媒質(zhì),所述指令用于從服務(wù)器接收一二進(jìn)制簽名;在所述二進(jìn)制文件中搜索所述二進(jìn)制簽名;如果找到包括所述二進(jìn)制簽名的二進(jìn)制文件,則向所述服務(wù)器發(fā)送對(duì)安全補(bǔ)丁的請(qǐng)求;從所述服務(wù)器接收所述安全補(bǔ)??;以及用所述安全補(bǔ)丁更新所述二進(jìn)制文件。
12.一種包括如權(quán)利要求11所述的處理器可讀媒質(zhì)的客戶(hù)端計(jì)算機(jī)。
13.一種方法,包括接收二進(jìn)制簽名;基于所述二進(jìn)制簽名搜索易受攻擊的文件;如果找到易受攻擊的文件,則請(qǐng)求安全補(bǔ)??;以及用所述安全補(bǔ)丁修復(fù)所述易受攻擊的文件。
14.如權(quán)利要求13所述的方法,其特征在于,所述請(qǐng)求包括向服務(wù)器發(fā)送對(duì)所述安全補(bǔ)丁的請(qǐng)求,所述方法還包括響應(yīng)于所述請(qǐng)求而從所述服務(wù)器接收所述安全補(bǔ)丁。
15.如權(quán)利要求14所述的方法,其特征在于,所述接收包括從所述服務(wù)器接收所述二進(jìn)制簽名。
16.如權(quán)利要求13所述的方法,其特征在于,所述修復(fù)包括在計(jì)算機(jī)上安裝所述安全補(bǔ)丁。
17.如權(quán)利要求13所述的方法,其特征在于,所述搜索包括把所述二進(jìn)制簽名與計(jì)算機(jī)的存儲(chǔ)媒質(zhì)上的二進(jìn)制信息相比較。
18.如權(quán)利要求17所述的方法,其特征在于,所述二進(jìn)制信息是從包括以下內(nèi)容的組中選擇的操作系統(tǒng);應(yīng)用程序文件;以及數(shù)據(jù)文件。
19.如權(quán)利要求17所述的方法,其特征在于,所述存儲(chǔ)媒質(zhì)是從包括以下內(nèi)容的組中選擇的硬盤(pán);磁性軟盤(pán);光盤(pán);閃存卡;電可擦除可編程只讀存儲(chǔ)器;以及網(wǎng)絡(luò)附加的存儲(chǔ)器。
20.一種方法,包括從分發(fā)服務(wù)器接收二進(jìn)制簽名和安全補(bǔ)?。辉诳蛻?hù)端計(jì)算機(jī)上搜索與所述二進(jìn)制簽名相關(guān)的易受攻擊的文件;以及如果找到易受攻擊的文件,則用所述安全補(bǔ)丁修復(fù)所述易受攻擊的文件。
21.如權(quán)利要求20所述的方法,其特征在于,所述搜索包括把所述二進(jìn)制簽名傳輸至所述客戶(hù)端計(jì)算機(jī),所述客戶(hù)端計(jì)算機(jī)用于搜索與所述二進(jìn)制簽名相關(guān)的易受攻擊的文件。
22.如權(quán)利要求21所述的方法,其特征在于,所述修復(fù)包括從所述客戶(hù)端計(jì)算機(jī)接收傳輸所述安全補(bǔ)丁的請(qǐng)求,所述客戶(hù)端計(jì)算機(jī)已經(jīng)定位了一易受攻擊的文件;以及響應(yīng)于所述請(qǐng)求而把所述安全補(bǔ)丁傳輸至所述客戶(hù)端計(jì)算機(jī)。
23.一種計(jì)算機(jī),包括用于接收二進(jìn)制簽名的裝置;基于所述二進(jìn)制簽名搜索易受攻擊的文件的裝置;如果找到易受攻擊的文件則請(qǐng)求安全補(bǔ)丁的裝置;以及用所述安全補(bǔ)丁修復(fù)所述易受攻擊的文件的裝置。
24.一種服務(wù)器,包括用于從分發(fā)服務(wù)器接收二進(jìn)制簽名和安全補(bǔ)丁的裝置;用于掃描客戶(hù)端計(jì)算機(jī)是否有與所述二進(jìn)制簽名相關(guān)的易受攻擊的文件的裝置;以及如果找到易受攻擊的文件則用所述安全補(bǔ)丁修復(fù)所述易受攻擊的文件的裝置。
25.一種計(jì)算機(jī),包括二進(jìn)制信息;掃描模塊,用于接收二進(jìn)制簽名并且掃描所述二進(jìn)制信息是否有所述二進(jìn)制簽名;以及修復(fù)模塊,用于請(qǐng)求安全補(bǔ)丁,并且如果在所述二進(jìn)制信息中找到所述二進(jìn)制簽名則安裝所述安全補(bǔ)丁。
26.如權(quán)利要求25所述的計(jì)算機(jī),其特征在于,還包括用于保留所述二進(jìn)制信息的存儲(chǔ)媒質(zhì)。
27.如權(quán)利要求25所述的計(jì)算機(jī),其特征在于,所述二進(jìn)制信息是從包括以下內(nèi)容的組中選擇的操作系統(tǒng);應(yīng)用程序文件;以及數(shù)據(jù)文件。
28.一種計(jì)算機(jī),包括二進(jìn)制文件;二進(jìn)制簽名;以及安全補(bǔ)丁模塊,用于從服務(wù)器接收所述二進(jìn)制簽名,并用于掃描所述二進(jìn)制文件以搜索所述二進(jìn)制簽名。
29.如權(quán)利要求28所述的計(jì)算機(jī),其特征在于還包括包括所述二進(jìn)制簽名的二進(jìn)制文件;以及安全補(bǔ)?。黄渲兴霭踩a(bǔ)丁模塊還用于,在所述二進(jìn)制文件內(nèi)定位了所述二進(jìn)制簽名后向服務(wù)器請(qǐng)求所述安全補(bǔ)丁,并且把所述安全補(bǔ)丁應(yīng)用于所述二進(jìn)制文件。
30.一種分發(fā)服務(wù)器,包括數(shù)據(jù)庫(kù);以及分發(fā)模塊,用于接收二進(jìn)制簽名和安全補(bǔ)丁、把所述二進(jìn)制簽名和所述安全補(bǔ)丁保存在所述數(shù)據(jù)庫(kù)中,并且把所述二進(jìn)制簽名和所述安全補(bǔ)丁分發(fā)到多臺(tái)服務(wù)器。
31.如權(quán)利要求30所述的分發(fā)服務(wù)器,其特征在于,所述分發(fā)模塊還用于從服務(wù)器接收對(duì)所述二進(jìn)制簽名和所述安全補(bǔ)丁的請(qǐng)求,并且響應(yīng)于所述請(qǐng)求而把所述二進(jìn)制簽名和所述安全補(bǔ)丁分發(fā)到所述服務(wù)器。
32.一種服務(wù)器,包括與二進(jìn)制文件中的安全性漏洞相關(guān)的二進(jìn)制簽名;用于修復(fù)所述二進(jìn)制文件中的所述安全性漏洞的安全補(bǔ)丁;以及掃描模塊,用于掃描客戶(hù)端計(jì)算機(jī)上的二進(jìn)制文件以找到所述二進(jìn)制簽名,以及如果找到所述二進(jìn)制簽名則用所述安全補(bǔ)丁更新所述二進(jìn)制文件。
33.如權(quán)利要求32所述的服務(wù)器,其特征在于還包括數(shù)據(jù)庫(kù);所述掃描模塊還用于從分發(fā)服務(wù)器接收所述二進(jìn)制簽名和所述安全不懂,并把所述二進(jìn)制簽名和所述安全補(bǔ)丁保存在所述數(shù)據(jù)庫(kù)中。
全文摘要
描述了能夠修復(fù)二進(jìn)制文件中的安全性漏洞的系統(tǒng)和方法。在無(wú)限規(guī)模上,易受攻擊的二進(jìn)制文件的檢測(cè)和修復(fù)在網(wǎng)絡(luò)上是自動(dòng)的、可靠的、無(wú)回歸的且綜合的。這些優(yōu)點(diǎn)可以用各種方法來(lái)實(shí)現(xiàn),包括例如通過(guò)對(duì)因特網(wǎng)上廣泛采用的當(dāng)前反病毒基礎(chǔ)結(jié)構(gòu)進(jìn)行杠桿作用。通過(guò)使用曾經(jīng)與所發(fā)現(xiàn)的安全性漏洞相關(guān)聯(lián)的二進(jìn)制簽名來(lái)實(shí)現(xiàn)易受攻擊的二進(jìn)制文件(例如在操作系統(tǒng)、應(yīng)用程序等中)的可靠發(fā)現(xiàn)。安全補(bǔ)丁與常規(guī)服務(wù)包的偏差提供了為二進(jìn)制文件中的安全性漏洞產(chǎn)生無(wú)回歸修復(fù)的可能性。
文檔編號(hào)G06F11/00GK1577272SQ20041006995
公開(kāi)日2005年2月9日 申請(qǐng)日期2004年7月15日 優(yōu)先權(quán)日2003年7月16日
發(fā)明者O·伊萬(wàn)諾夫, S·伊萬(wàn)諾夫 申請(qǐng)人:微軟公司