用于在網(wǎng)絡(luò)環(huán)境中掃描計(jì)算機(jī)漏洞的系統(tǒng)和方法
【專利摘要】一個(gè)實(shí)施例中的方法包括:識別資產(chǎn)中的已知漏洞的集合和新漏洞的集合,選擇包括對已知漏洞的集合和新漏洞的集合的并集中的漏洞進(jìn)行的檢查的一個(gè)或多個(gè)腳本,并且使用選擇的腳本來掃描資產(chǎn)。可以通過訪問對資產(chǎn)先前掃描的結(jié)果來識別已知漏洞和新漏洞。該方法還可以包括識別網(wǎng)絡(luò)中待掃描的多個(gè)資產(chǎn)、識別多個(gè)資產(chǎn)中的基本上所有資產(chǎn)中的已知漏洞的多個(gè)集合和新漏洞的多個(gè)集合,并且將對包括在已知漏洞的多個(gè)集合和新漏洞的多個(gè)集合的并集中的漏洞進(jìn)行的檢查插入到所選擇的腳本中。
【專利說明】用于在網(wǎng)絡(luò)環(huán)境中掃描計(jì)算機(jī)漏洞的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本公開總體上涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,并且更具體地,本公開涉及在網(wǎng)絡(luò)環(huán)境中用于對計(jì)算機(jī)漏洞進(jìn)行掃描的系統(tǒng)和方法。
【背景技術(shù)】
[0002]在當(dāng)今社會中,計(jì)算機(jī)網(wǎng)絡(luò)管理和支持領(lǐng)域日益變得重要并且復(fù)雜。計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境被配置用于幾乎每個(gè)公司或組織,典型地具有多個(gè)相互連接的計(jì)算機(jī)(例如,最終用戶計(jì)算機(jī)、膝上型計(jì)算機(jī)、服務(wù)器、打印設(shè)備等)。在許多這種公司中,信息技術(shù)(IT)管理員可能負(fù)責(zé)包括主機(jī)、服務(wù)器或其他網(wǎng)絡(luò)計(jì)算機(jī)上的可執(zhí)行的軟件文件在內(nèi)的網(wǎng)絡(luò)環(huán)境的維護(hù)和控制。隨著網(wǎng)絡(luò)環(huán)境中可執(zhí)行軟件文件的數(shù)量的增加,有效地控制、維護(hù)以及更正這些文件的能力變得更加困難。概括而言,在網(wǎng)絡(luò)的各種計(jì)算機(jī)中實(shí)現(xiàn)的軟件的更大的多樣性會轉(zhuǎn)變?yōu)楣芾磉@種軟件中更大的困難。另外,IT管理員和其他用戶可能想要使用高效的計(jì)算機(jī)掃描方法來快速和高效地識別并且移除漏洞。當(dāng)網(wǎng)絡(luò)具有數(shù)百到數(shù)千個(gè)節(jié)點(diǎn)時(shí),針對許多可能的漏洞而對所有的節(jié)點(diǎn)進(jìn)行掃描向IT管理員提出了挑戰(zhàn)。在許多情況中,IT管理員可能不得不進(jìn)行覆蓋數(shù)千個(gè)應(yīng)用和操作系統(tǒng)的30,000個(gè)以上的漏洞檢查,隨著計(jì)算系統(tǒng)內(nèi)新的威脅和漏洞的發(fā)現(xiàn),新檢查的數(shù)量也在穩(wěn)定地增加。因此,需要?jiǎng)?chuàng)新的工具來協(xié)助IT管理員高效地控制和管理計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境內(nèi)的計(jì)算機(jī)上的可執(zhí)行軟件文件以及計(jì)算機(jī)掃描方法。
【專利附圖】
【附圖說明】
[0003]為了提供對本發(fā)明及其特征和優(yōu)勢的較完整的理解,結(jié)合下面的【具體實(shí)施方式】以及附圖作為參考,其中類似的附圖標(biāo)記代表類似的部分,在附圖中:
[0004]圖1是用于在網(wǎng)絡(luò)環(huán)境中對計(jì)算機(jī)漏洞進(jìn)行掃描的系統(tǒng)的示例性實(shí)施例的簡化的框圖;
[0005]圖2是該系統(tǒng)的另一實(shí)施例的簡化的框圖;
[0006]圖3是該系統(tǒng)的又另一實(shí)施例的簡化的框圖;
[0007]圖4A是說明了可以與本公開的實(shí)施例相關(guān)聯(lián)的示例性操作步驟的簡化的流程圖;以及
[0008]圖4B是說明了可以與本公開的實(shí)施例相關(guān)聯(lián)的其他示例性操作步驟的簡化的流程圖。
【具體實(shí)施方式】
[0009]概沭
[0010]在一個(gè)實(shí)施例中的方法包括:對資產(chǎn)中的已知漏洞的集合和新漏洞的集合進(jìn)行識另IJ,選擇包括對包括在已知漏洞的集合和新漏洞的集合的并集中的漏洞的檢查的一個(gè)或多個(gè)腳本,并且使用所選擇的腳本來掃描資產(chǎn)。在一些實(shí)施例中,所選擇的腳本可以忽略先前測試過的并且已知不存在于資產(chǎn)中的漏洞。
[0011]在具體的實(shí)施例中,該方法包括訪問對資產(chǎn)的先前掃描的結(jié)果,其中該結(jié)果可以指示已知的漏洞。該方法還可以包括訪問對資產(chǎn)先前掃描的結(jié)果,其中該結(jié)果顯示掃描的漏洞的集合,并且確定包括在計(jì)算機(jī)系統(tǒng)中的漏洞的全集中的、不在掃描過的漏洞的集合中的漏洞。
[0012]在又一其他實(shí)施例中,該方法包括識別在網(wǎng)絡(luò)中要掃描的多個(gè)資產(chǎn)、識別在多個(gè)資產(chǎn)中的基本上所有資產(chǎn)的已知漏洞的多個(gè)集合和新漏洞的多個(gè)集合,并且將對包括在已知漏洞的多個(gè)集合和新漏洞的多個(gè)集合的并集中的漏洞的檢查插入到所選擇的腳本中。在較具體的實(shí)施例中,所選擇的腳本可以用于掃描多個(gè)資產(chǎn)并且包括其他特征。
[0013]示例件實(shí)施例
[0014]圖1是說明了用于對在網(wǎng)絡(luò)環(huán)境中的計(jì)算機(jī)漏洞進(jìn)行掃描的系統(tǒng)10的示例性實(shí)施例的簡化的框圖。示例性網(wǎng)絡(luò)環(huán)境說明了網(wǎng)絡(luò)12,網(wǎng)絡(luò)12包括適合于連接到用戶16的一個(gè)或多個(gè)掃描引擎14并且被配置為掃描各種資產(chǎn)18A-E?!百Y產(chǎn)”可以是任何電子設(shè)備、網(wǎng)絡(luò)元件、移動(dòng)設(shè)備、終端用戶計(jì)算機(jī)、桌上型計(jì)算機(jī)、膝上型計(jì)算機(jī)、客戶端、服務(wù)器、對等機(jī)、服務(wù)、應(yīng)用、或其他能夠在網(wǎng)絡(luò)中的通信信道上發(fā)送、接收、或轉(zhuǎn)發(fā)信息的對象。漏洞管理器20耦合于掃描引擎14,并且漏洞管理器20被配置為允許用戶16來設(shè)計(jì)和執(zhí)行各種資產(chǎn)上的定制的掃描,并且獲得來自掃描的報(bào)告。
[0015]漏洞管理器20包括用戶選擇模塊22、掃描中心模塊24、資產(chǎn)中心模塊26以及報(bào)告模塊28??梢栽诼┒垂芾砥?0內(nèi)或由漏洞管理器20來訪問圖形用戶界面(⑶1)30、一個(gè)或多個(gè)處理器32以及一個(gè)或多個(gè)存儲器元件34。漏洞管理器20具有到包括漏洞列表在內(nèi)的漏洞集合36以及包括在資產(chǎn)18A-E上運(yùn)行的先前的掃描結(jié)果在內(nèi)的結(jié)果數(shù)據(jù)庫38的訪問。在圖1說明的實(shí)施例中,資產(chǎn)18A-E可以位于分開的網(wǎng)絡(luò)40A和40B上。在其他實(shí)施例中,資產(chǎn)18A-E可以位于同一網(wǎng)絡(luò)或多個(gè)不同的網(wǎng)絡(luò)上。
[0016]漏洞集合36可以包括可能存在于任何計(jì)算機(jī)系統(tǒng)(例如,網(wǎng)絡(luò)中的單個(gè)資產(chǎn)或一組資產(chǎn))中的漏洞的全集。正如此處所使用的,術(shù)語“漏洞”包括系統(tǒng)(例如,資產(chǎn)中的硬件或軟件,包括操作系統(tǒng)、應(yīng)用程序、文件、芯片組、硬件實(shí)現(xiàn)的計(jì)算邏輯等)中可能導(dǎo)致未經(jīng)授權(quán)訪問系統(tǒng)以及導(dǎo)致違反安全或違背系統(tǒng)的安全策略、組織標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)、政府標(biāo)準(zhǔn)等的任何缺陷、條件、安全風(fēng)險(xiǎn)、或弱點(diǎn)。漏洞可能存在于例如系統(tǒng)安全過程、系統(tǒng)設(shè)計(jì)、操作系統(tǒng)、開放端口、內(nèi)部控制、硬件配置等中,這些漏洞可以被利用(被意外地觸發(fā)或蓄意地利用)并且可以導(dǎo)致上述的違反或違背。漏洞的示例包括CVE-2011-2460,CVE-2011-2460是Adobe Flash Player中的缺陷,這一缺陷允許攻擊者執(zhí)行任意代碼或通過未指定的向量來引起拒絕服務(wù);CVE-2011-2016,CVE-2011-2016是Windows Mail中不可信任的檢索路徑漏洞,CVE-2011-2016允許本地用戶通過工作目錄中的特洛伊木馬DLL來獲得特權(quán)等。漏洞集合36可以包括通過代碼名稱(例如,CVE-2011-4434)、關(guān)鍵字(例如,WindowsServer2008)或其他識別參數(shù)來進(jìn)行識別的漏洞。根據(jù)本發(fā)明的實(shí)施例,漏洞集合36被配置為例如通過漏洞管理器20是可檢索的(例如,查詢檢索、文本檢索等)。漏洞集合36基于具體的需要可以存儲于任何合適的數(shù)據(jù)庫、服務(wù)器、硬盤等中。
[0017]正如此處所使用的,掃描可以包括對于資產(chǎn)中的漏洞進(jìn)行檢查的腳本的執(zhí)行。當(dāng)掃描資產(chǎn)時(shí),該腳本識別該資產(chǎn)中的漏洞。根據(jù)系統(tǒng)10的實(shí)施例,可以同時(shí)掃描一個(gè)或多個(gè)資產(chǎn)。在一個(gè)實(shí)施例中,腳本可以僅針對來自漏洞集合36的一個(gè)漏洞進(jìn)行檢查。在其他實(shí)施例中,腳本可以包括來自漏洞集合36的多個(gè)漏洞。當(dāng)腳本中包括具體的漏洞時(shí),資產(chǎn)上掃描的結(jié)果可以表示資產(chǎn)中是否出現(xiàn)了該具體漏洞。
[0018]在一些實(shí)例中,掃描及與其相關(guān)聯(lián)的腳本可以被配置為對與所掃描的資產(chǎn)相關(guān)聯(lián)的與具體特定的數(shù)字資源、程序等的交互進(jìn)行模擬。例如,掃描可以模擬由用戶(例如電腦黑客、惡意的或疏忽的內(nèi)部用戶等)或系統(tǒng)(例如,惡意軟件、應(yīng)用程序、客戶端系統(tǒng)等)改變特定的敏感數(shù)據(jù)的嘗試;在所掃描的系統(tǒng)上加載或安裝諸如惡意軟件、應(yīng)用程序或其他軟件之類的特定類型的程序;獲得到用戶/操作系統(tǒng)否則不被授權(quán)訪問的敏感數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò)、或其他系統(tǒng)部件和資產(chǎn)的訪問;規(guī)避位于系統(tǒng)上的特定系統(tǒng)對策和保護(hù)(例如,防火墻、反惡意軟件程序、政策執(zhí)行工具等)等等。在嘗試執(zhí)行這種活動(dòng)之后,掃描可以進(jìn)一步識別嘗試的結(jié)果并且向漏洞管理器報(bào)告該結(jié)果。在其他示例中,掃描器可以(被動(dòng)地和主動(dòng)地)監(jiān)控,或者掃描資產(chǎn)以識別資產(chǎn)的配置,從而識別可能影響該資產(chǎn)的漏洞(例如,基于所識別的資產(chǎn)的配置)。
[0019]概括而言,掃描的結(jié)果可以指示:“已掃描的漏洞”,“已掃描的漏洞”包括該資產(chǎn)已掃描出的漏洞;和“已知的漏洞”,“已知的漏洞”包括在掃描期間在資產(chǎn)中已經(jīng)發(fā)現(xiàn)的漏洞。為了說明,假設(shè)漏洞集合36中的漏洞的全集由集合U來表示,資產(chǎn)中掃描的漏洞集合由集合S來表示,并且已知的漏洞集合由集合K來表示。因此,已知的漏洞(K)可以是資產(chǎn)中掃描的漏洞的子集(S),而資產(chǎn)中掃描的漏洞的子集(S)是漏洞集合36中的漏洞的全集(U)的子集:
[0020]KcScU
[0021]如上所述,掃描引擎14可以掃描資產(chǎn)18A-E并且向漏洞管理器20和結(jié)果數(shù)據(jù)庫38返回結(jié)果??梢曰诰唧w需要并且適當(dāng)?shù)赜蓤?bào)告模塊28來生成結(jié)果的報(bào)告。結(jié)果數(shù)據(jù)庫38包括用于存儲系統(tǒng)10中的資產(chǎn)上掃描的結(jié)果的數(shù)據(jù)庫或等同的數(shù)據(jù)存儲機(jī)制。在示例實(shí)施例中,結(jié)果數(shù)據(jù)庫38可以例如由查詢檢索、文本檢索等可檢索的。結(jié)果數(shù)據(jù)庫38可以按照資產(chǎn)(例如,IP地址)、漏洞(例如,漏洞ID)、已知漏洞、掃描的漏洞等來檢索。結(jié)果數(shù)據(jù)庫38可以與漏洞管理器20位于同一設(shè)備上,或它可以位于遠(yuǎn)程并且由漏洞管理器20按需要在網(wǎng)絡(luò)上進(jìn)行訪問。
[0022]在示例性實(shí)施例中,通過用戶選擇模塊22,用戶16可以選擇以掃描資產(chǎn)18A。用戶的選擇觸發(fā)資產(chǎn)中心模塊26,資產(chǎn)中心模塊26可以訪問結(jié)果數(shù)據(jù)庫38以確定資產(chǎn)18A中的已知漏洞。資產(chǎn)中心模塊26可以訪問結(jié)果數(shù)據(jù)庫38和漏洞集合36,以確定“新漏洞”(即之前沒有針對其掃描資產(chǎn)的漏洞)。在示例性實(shí)施例中,資產(chǎn)中心模塊26可以對資產(chǎn)18A中掃描的漏洞與漏洞集合36進(jìn)行比較。包括在漏洞集合36中而不包括在掃描的漏洞中的漏洞包括該新漏洞。為了說明,假設(shè)漏洞集合36的全集由集合U來表示,并且掃描的漏洞的集合由集合K來表示,則由集合N來表示的新漏洞可以根據(jù)下面的等式來確定:
[0023]Ki = Sc =U\S = {x:xeU\xiS}
[0024]因此,新漏洞的集合中的任何漏洞X可以屬于漏洞集合36中的漏洞的全集,但是可能不屬于已掃描的漏洞的集合。在示例性實(shí)施例中,新漏洞可以包括在資產(chǎn)18A-E的先前的掃描與當(dāng)前掃描之間添加到漏洞集合36的漏洞。
[0025]在一個(gè)實(shí)施例中,資產(chǎn)中心模塊26可以選擇包括對已知漏洞和新漏洞進(jìn)行的檢查的一個(gè)或多個(gè)腳本。在另一實(shí)施例中,資產(chǎn)中心模塊26可以生成一個(gè)或多個(gè)腳本以對已知漏洞和新漏洞進(jìn)行檢查。掃描引擎14可以使所選擇的腳本在資產(chǎn)18A上運(yùn)行,并且向漏洞管理器20返回結(jié)果。漏洞管理器20可以使該結(jié)果填充到結(jié)果數(shù)據(jù)庫38中(例如,如果掃描引擎14未向結(jié)果數(shù)據(jù)庫38返回結(jié)果),并且如果需要,報(bào)告模塊28可以生成合適的報(bào)
生口 ο
[0026]在另一示例中,通過用戶選擇模塊22,用戶16可以選擇以掃描網(wǎng)絡(luò)40A。用戶的選擇觸發(fā)掃描中心模塊24,掃描中心模塊24可以識別網(wǎng)絡(luò)40A中的資產(chǎn),也就是資產(chǎn)18A-C。掃描中心模塊24可以訪問結(jié)果數(shù)據(jù)庫38以確定網(wǎng)絡(luò)40A中的資產(chǎn)18A-C中的已知漏洞。掃描中心模塊24還可以訪問漏洞集合36以確定關(guān)于網(wǎng)絡(luò)40A中的資產(chǎn)18A-C的新漏洞。在一個(gè)實(shí)施例中,掃描中心模塊24可以選擇包括對已知漏洞和新漏洞進(jìn)行的檢查在內(nèi)的一個(gè)或多個(gè)腳本。在另一實(shí)施例中,掃描中心模塊24可以生成一個(gè)或多個(gè)腳本,以對已知漏洞和新漏洞進(jìn)行檢查。掃描引擎14可以使選定的腳本在網(wǎng)絡(luò)40A中的所有資產(chǎn)18A-C上運(yùn)行,并且將結(jié)果返回到漏洞管理器20和/或結(jié)果數(shù)據(jù)庫38。漏洞管理器20可以使該結(jié)果填充到結(jié)果數(shù)據(jù)庫38中,并且如果需要,報(bào)告模塊28可以生成合適的報(bào)告。
[0027]圖1中說明的網(wǎng)絡(luò)環(huán)境一般可以被配置或布置為能夠電子的交換數(shù)據(jù)包的任何通信架構(gòu)。另外,網(wǎng)絡(luò)12還可以被配置為與其他網(wǎng)絡(luò)(例如,因特網(wǎng)或其他局域網(wǎng))進(jìn)行數(shù)據(jù)包交換。網(wǎng)絡(luò)12中適當(dāng)?shù)夭⑶一谔囟ㄐ枰€可以提供其他常見的網(wǎng)絡(luò)元件(例如,郵件網(wǎng)關(guān)、網(wǎng)絡(luò)網(wǎng)關(guān)、路由器、交換機(jī)、負(fù)載平衡器、防火墻等)。
[0028]出于說明系統(tǒng)10的技術(shù)的目的,很重要的是理解諸如在圖1中示出的網(wǎng)絡(luò)之類的給定的網(wǎng)絡(luò)中可以呈現(xiàn)的功能和安全考慮。下面的基礎(chǔ)信息可以被視作可以正確解釋本公開的基礎(chǔ)。認(rèn)真地提供這種信息僅出于解釋的目的,并且因此不應(yīng)該以任何形式將其解釋為對本發(fā)明及其潛在應(yīng)用的廣泛的范圍的限制。另外,應(yīng)當(dāng)理解的是,本發(fā)明寬泛的范圍是要引用“腳本”以包含包括了可以在計(jì)算機(jī)上理解并且處理的指令在內(nèi)的任何軟件文件,例如,掃描、報(bào)告模板、可執(zhí)行文件、庫模塊、對象文件、其他可執(zhí)行模塊、腳本文件、解釋程序文件等。
[0029]組織(例如,企業(yè)、學(xué)校、政府組織等)和家庭二者中典型的網(wǎng)絡(luò)環(huán)境包括多個(gè)計(jì)算機(jī)(例如,終端用戶桌上型計(jì)算機(jī)、膝上型計(jì)算機(jī)、服務(wù)器、網(wǎng)絡(luò)裝置等),每一臺計(jì)算機(jī)都具有可執(zhí)行軟件的安裝集合。在大型組織中,網(wǎng)絡(luò)環(huán)境可以包括數(shù)百或數(shù)千臺計(jì)算機(jī),這些計(jì)算機(jī)可以跨越世界上不同的建筑物、城市、和/或地理區(qū)域。IT管理員通常對下述任務(wù)具有特別的責(zé)任:以使對組織的活動(dòng)破壞最小化或消除對組織的活動(dòng)破壞的方式來維護(hù)這些計(jì)算機(jī)和它們的軟件。
[0030]當(dāng)管理網(wǎng)絡(luò)環(huán)境時(shí)IT管理員面臨的一個(gè)困難是確保他們組織的網(wǎng)絡(luò)安全遵守風(fēng)險(xiǎn)規(guī)范中的規(guī)則和行業(yè)標(biāo)準(zhǔn)。公司處于重大的壓力之下,以保護(hù)客戶信息、客戶隱私、和敏感業(yè)務(wù)信息免受來自計(jì)算機(jī)犯罪者、競爭者、以及網(wǎng)絡(luò)黑客的威脅。例如,商業(yè)伙伴可能日益要求嚴(yán)格遵從圍繞關(guān)鍵資產(chǎn)和敏感信息來實(shí)現(xiàn)和執(zhí)行IT策略、過程、控制。高效的風(fēng)險(xiǎn)管理可以將準(zhǔn)確并且全面的可見性帶入到公司資產(chǎn)和業(yè)務(wù)過程中。這種可見性可以包括關(guān)于網(wǎng)絡(luò)中的漏洞(例如操作系統(tǒng)或應(yīng)用程序可利用的缺陷)的詳細(xì)信息。
[0031]當(dāng)前可用的風(fēng)險(xiǎn)管理軟件程序可以維護(hù)最新的漏洞數(shù)據(jù)庫、檢測漏洞、執(zhí)行趨勢分析并且提供結(jié)果的報(bào)告。盡管根據(jù)這種當(dāng)前可用的風(fēng)險(xiǎn)管理軟件程序的腳本可以被針對具體的漏洞進(jìn)行過濾(例如,通過操作系統(tǒng)、資產(chǎn)危險(xiǎn)程度、在資產(chǎn)上查找到的漏洞的嚴(yán)重性等來進(jìn)行過濾),過濾過程是手動(dòng)的,這可能易于導(dǎo)致人為錯(cuò)誤。例如,這種風(fēng)險(xiǎn)管理軟件程序是典型地人工操作,利用IT管理員手工填充的腳本運(yùn)行。
[0032]現(xiàn)今可用的掃描器通過針對漏洞中的一個(gè)或多個(gè)漏洞運(yùn)行以資產(chǎn)為保護(hù)對象的腳本來對資產(chǎn)上的漏洞進(jìn)行掃描。這些腳本的列表已經(jīng)從數(shù)千個(gè)發(fā)展到了 30,000個(gè)以上(與擴(kuò)大的并且日益增加的已知漏洞的列表相當(dāng))并且持續(xù)增加。當(dāng)掃描資產(chǎn)時(shí),所有腳本都針對該資產(chǎn)運(yùn)行。腳本/漏洞和資產(chǎn)的指數(shù)級增長使掃描的速度變慢。客戶運(yùn)行每日掃描以識別同一資產(chǎn)集合上的新漏洞。當(dāng)前的實(shí)現(xiàn)在所有選定資產(chǎn)上運(yùn)行所有選定腳本,即使當(dāng)先前的掃描發(fā)現(xiàn)某些漏洞不在該資產(chǎn)上或與該資產(chǎn)無關(guān)時(shí)。隨著資產(chǎn)和漏洞的指數(shù)級增長,每天對每個(gè)資產(chǎn)上的所有漏洞進(jìn)行掃描已經(jīng)成為嚴(yán)重的性能和資源問題。不僅可以在掃描器上還可以在資產(chǎn)上觀察到性能影響。時(shí)間和掃描量之間的比值使其幾乎不可能利用合理的資源來完成日常的掃描。最佳化的腳本、資源和掃描引擎可能不足以提高掃描的性能。
[0033]由圖1概述的系統(tǒng)10可以解決這些問題中的許多問題。根據(jù)本發(fā)明的實(shí)施例,當(dāng)?shù)谝淮螔呙栀Y產(chǎn)時(shí),可以針對該資產(chǎn)運(yùn)行所有腳本來對漏洞集合36中的所有漏洞進(jìn)行檢查。隨后的日常掃描可以只運(yùn)行識別的漏洞(即“已知漏洞”)的腳本和/或當(dāng)完全掃描運(yùn)行時(shí)沒有運(yùn)行在資產(chǎn)上的腳本(即新漏洞)。針對新漏洞的腳本可以包括在先前剛剛進(jìn)行的掃描與當(dāng)前掃描之間開發(fā)的新腳本。這可以使客戶以最佳的方式(例如,減少了時(shí)間和資源)來識別修復(fù)的漏洞和新漏洞。
[0034]根據(jù)系統(tǒng)10的實(shí)施例,當(dāng)掃描資產(chǎn)時(shí),包括已知漏洞的結(jié)果被保存在結(jié)果數(shù)據(jù)庫38中。在日常掃描期間,對排除了已經(jīng)被確定為不易受攻擊的或不相關(guān)的漏洞的已知漏洞進(jìn)行的掃描可以極大地提高掃描性能。例如,該掃描可以在比完全掃描的時(shí)間少得多的時(shí)間內(nèi)產(chǎn)生預(yù)期的或其他方面滿意的結(jié)果。同樣每隔幾次這種“智能掃描”,可以周期性地調(diào)度完全掃描來反復(fù)地實(shí)現(xiàn)系統(tǒng)10的完整的健康。例如,資產(chǎn)可能添加新應(yīng)用、更新、對策等,同時(shí)其他配置的改變使先前的“完全”掃描過時(shí)。在一些實(shí)例中,周期性的完全掃描可以基于對資產(chǎn)的配置的已識別的修改(例如,具體應(yīng)用程序、操作系統(tǒng)補(bǔ)丁、網(wǎng)絡(luò)連接等的增加)來對日常的智能掃描進(jìn)行補(bǔ)充。在其他實(shí)例中,可以基于對可用于完全掃描的具體資產(chǎn)(例如,被識別為當(dāng)前在具體網(wǎng)絡(luò)上的資產(chǎn))的識別來執(zhí)行完全掃描,根據(jù)具體的調(diào)度(例如,至少每一個(gè)月一次完全掃描),或根據(jù)一些其他標(biāo)準(zhǔn)、調(diào)度或條件來執(zhí)行該完全掃描。提供由頻率較少的完全掃描來補(bǔ)充的日常或較規(guī)律的智能掃描二者可以為客戶提供關(guān)于資產(chǎn)的健康的保證,同時(shí)較快地確定新問題。
[0035]根據(jù)系統(tǒng)10的實(shí)施例的智能掃描可以通過考慮先前掃描的結(jié)果來智能地減少需要對漏洞集合36中的漏洞進(jìn)行檢查的腳本的數(shù)量。當(dāng)通過對排除了資產(chǎn)上不存在的漏洞的已知漏洞進(jìn)行的掃描來重復(fù)掃描時(shí),可以極大地提高該掃描的性能。可以重復(fù)智能掃描直到某一時(shí)間閾值期滿并且然后可以執(zhí)行完全掃描來提高掃描的置信度。這樣的操作可以大大地節(jié)省每一次重復(fù)掃描所占用的時(shí)間、增加可以并行運(yùn)行的掃描的數(shù)量,并且改進(jìn)資源的使用。
[0036]根據(jù)系統(tǒng)10的一個(gè)示例性實(shí)施例,提供了一種方法以智能地選擇要在資產(chǎn)18A-E中掃描的漏洞。根據(jù)系統(tǒng)10的一個(gè)實(shí)施例,漏洞管理器20可以在資產(chǎn)中(例如,資產(chǎn)18A)識別已知的漏洞和新漏洞。漏洞管理器20可以選擇一個(gè)或多個(gè)腳本來對已知漏洞和新漏洞進(jìn)行檢查并且使掃描引擎14掃描該資產(chǎn)。根據(jù)系統(tǒng)10的另一實(shí)施例,可以基于先前的掃描結(jié)果來掃描網(wǎng)絡(luò)(例如,網(wǎng)絡(luò)40A)中的多個(gè)資產(chǎn)以對網(wǎng)絡(luò)中的所有資產(chǎn)上的已知漏洞和新漏洞進(jìn)行檢查。
[0037]因此,腳本可以忽略資產(chǎn)中已知不存在的漏洞或與該資產(chǎn)不相關(guān)的漏洞。概括而言,由于各種原因(例如,資產(chǎn)不具有與漏洞相關(guān)聯(lián)的操作系統(tǒng);用于改正漏洞的軟件補(bǔ)丁已經(jīng)安裝在資產(chǎn)上等)而不具有具體漏洞的資產(chǎn)可能不會突然變?yōu)橐子诔霈F(xiàn)該具體漏洞,不排除例外情況。在大多數(shù)針對漏洞而對資產(chǎn)進(jìn)行掃描的情況中,已經(jīng)被識別為不具有具體漏洞的資產(chǎn)不需要對這一具體漏洞再次進(jìn)行掃描。系統(tǒng)10的實(shí)施例利用這種特性的優(yōu)勢來優(yōu)化掃描性能,例如通過對已知存在的漏洞進(jìn)行掃描(例如,以檢查該漏洞是否已被改正),并且對新漏洞進(jìn)行掃描(例如,以檢查這些漏洞是否存在),同時(shí)忽略正在掃描的資產(chǎn)中已知不存在的漏洞。
[0038]漏洞管理器20可以發(fā)現(xiàn)并且有助于在網(wǎng)絡(luò)12上的資產(chǎn)18A-E的掃描,資產(chǎn)18A-E包括動(dòng)態(tài)/便攜式資產(chǎn)(例如,移動(dòng)設(shè)備、膝上型筆記本計(jì)算機(jī)、記事本型計(jì)算機(jī)、智能手機(jī)等)以及靜態(tài)資產(chǎn)(例如,桌上型計(jì)算機(jī)、打印機(jī)等)。由漏洞管理器20進(jìn)行的掃描的寬度和深度可以允許用戶16以優(yōu)化的方式(例如,減少的掃描次數(shù))來精確地確定網(wǎng)絡(luò)12中的漏洞。漏洞管理器20可以在網(wǎng)絡(luò)12中選定的資產(chǎn)(例如,具體資產(chǎn)或具體網(wǎng)絡(luò))中自動(dòng)地發(fā)現(xiàn)、評估、報(bào)告漏洞。漏洞管理器20可以允許用戶16來監(jiān)控遠(yuǎn)程或者本地連接到掃描器的一個(gè)或多個(gè)掃描引擎14的進(jìn)展,并且管理來自用于網(wǎng)絡(luò)12的漏洞狀態(tài)的統(tǒng)一的視圖的單個(gè)控制臺的掃描以及報(bào)告過程。
[0039]轉(zhuǎn)到圖1的基礎(chǔ)結(jié)構(gòu),示例性網(wǎng)絡(luò)環(huán)境可以被配置作為一個(gè)或多個(gè)網(wǎng)絡(luò)并且以任何形式進(jìn)行配置,包括局域網(wǎng)(LAN)、無線局域網(wǎng)(WLAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN)、虛擬專用網(wǎng)(VPN)、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)、任何其他適合的架構(gòu)或系統(tǒng)、或有助于網(wǎng)絡(luò)中的通信的其任何組合,但不限于此。在一些實(shí)施例中,通信鏈路可以表示支持LAN環(huán)境的任何電子鏈路,例如:電纜、以太網(wǎng)、無線技術(shù)(例如,IEEE802.llx)、ATM、光纖等或其任何適當(dāng)?shù)慕M合。在其他實(shí)施例中,通信鏈路可以表示通過任何合適的介質(zhì)(例如,數(shù)字用戶線路(DSL)、電話線、Tl線、T3線、無線、人造衛(wèi)星、光纖、電纜、以太網(wǎng)等或任何其組合)和/或通過諸如廣域網(wǎng)(例如,因特網(wǎng))之類的任何附加的網(wǎng)絡(luò)的遠(yuǎn)程連接(例如,到掃描引擎14的遠(yuǎn)程連接)。
[0040]另外,網(wǎng)關(guān)、路由器、交換機(jī)、以及任何其他合適的網(wǎng)絡(luò)元件可以被用于幫助系統(tǒng)、用戶16和掃描引擎14之間的電子通信。注意,圖1中說明的網(wǎng)絡(luò)可以包括能夠用于傳輸和/或接收網(wǎng)絡(luò)中的數(shù)據(jù)包的傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)通信的配置。適當(dāng)?shù)夭⑶一诰唧w需要,網(wǎng)絡(luò)還可以結(jié)合用戶數(shù)據(jù)報(bào)協(xié)議/IP(UDP/IP)或任何其他合適的協(xié)議進(jìn)行操作。為了便于描述,圖1只說明了一些資產(chǎn)和網(wǎng)絡(luò)。在本發(fā)明的寬泛的范圍內(nèi),系統(tǒng)10可以包括任何數(shù)量的資產(chǎn)和網(wǎng)絡(luò)。
[0041]使用處理器32、存儲器元件34以及適當(dāng)配置的⑶130、漏洞管理器20可以允許用戶16以優(yōu)化的方式(例如,減少時(shí)間、減少資源等)來掃描資產(chǎn)18A-E。在示例性實(shí)施例中,GUI30可以被配置為允許用戶16從顯示“智能掃描”和“完全掃描”之間的選擇的下拉菜單中選擇掃描選項(xiàng)?!爸悄軖呙琛边x項(xiàng)可以引發(fā)進(jìn)一步的下拉菜單(或其他合適的選擇配置)以允許用戶掃描選定的網(wǎng)絡(luò),或可選擇地掃描選定的資產(chǎn)。完全掃描選項(xiàng)可以使對漏洞集合36中的基本上所有漏洞進(jìn)行檢查的掃描在資產(chǎn)18A-E上運(yùn)行。
[0042]漏洞管理器20可以在連接到網(wǎng)絡(luò)12的物理或虛擬硬件上實(shí)現(xiàn),或者可以在被配置為掃描網(wǎng)絡(luò)或資產(chǎn)的專門的設(shè)備上實(shí)現(xiàn)。圖1的系統(tǒng)10中未示出的是可以以控制臺、用戶接口、處理器、存儲器元件、存儲器管理單元(MMU)、附加的對稱多處理(SMP)元件、外設(shè)部件互連標(biāo)準(zhǔn)(PCI)總線和相對應(yīng)的電橋、小型計(jì)算機(jī)系統(tǒng)接口(SCSI) /電子集成驅(qū)動(dòng)器(IDE)元件等的形式適當(dāng)?shù)伛詈系铰┒垂芾砥?0的硬件。另外,還可以包括合適的調(diào)制解調(diào)器和/或網(wǎng)絡(luò)適配器用于允許網(wǎng)絡(luò)訪問。任何合適的操作系統(tǒng)還可以被配置在漏洞管理器20中以適當(dāng)?shù)毓芾砥渲械挠布考牟僮鳌B┒垂芾砥?0可以包括有助于其操作的任何其他合適的硬件、軟件、部件、模塊、接口或?qū)ο?。這可以包括有助于此處描述的操作的適當(dāng)?shù)乃惴ê屯ㄐ艆f(xié)議。
[0043]翻到圖2,圖2是說明了系統(tǒng)10的實(shí)施例的簡化的框圖。系統(tǒng)10中的網(wǎng)絡(luò)40A和40B可以分別與已知漏洞42A和42B相關(guān)聯(lián)。已知漏洞42A和42B的每一個(gè)中的漏洞可以重疊(例如,與操作系統(tǒng)相關(guān)聯(lián)的漏洞可以為具有該操作系統(tǒng)的所有資產(chǎn)所共有)或可選擇地,對于分別與它們相關(guān)聯(lián)的資產(chǎn)它們可以是唯一的(例如,與安裝在資產(chǎn)上的唯一應(yīng)用程序相關(guān)聯(lián)的漏洞、或與存儲在資產(chǎn)上的唯一文件相關(guān)聯(lián)的漏洞、或與資產(chǎn)的唯一功能相關(guān)聯(lián)的漏洞在不同的資產(chǎn)間可以是不同的)。已知漏洞42A和42B可以通過任何方式來確定,例如,根據(jù)在資產(chǎn)18A-E上的先前掃描的結(jié)果、或根據(jù)資產(chǎn)18A-E上的軟件或應(yīng)用程序的制造商、或根據(jù)獨(dú)立的第三方數(shù)據(jù)庫。已知漏洞42A和42B可以存儲在結(jié)果數(shù)據(jù)庫38中。結(jié)果數(shù)據(jù)庫38還可以包含分別與網(wǎng)絡(luò)40A和40B中的資產(chǎn)相關(guān)聯(lián)的掃描的漏洞集合44A和44B。此外,網(wǎng)絡(luò)40A和40B還可以與相對應(yīng)的新漏洞46A和46B集合相關(guān)聯(lián)??梢詫⑿侣┒?6A和46B確定為分別包括漏洞集合36中的而不包括在掃描的漏洞集合44A和44B中的漏洞。
[0044]根據(jù)本發(fā)明的實(shí)施例,當(dāng)用戶選擇以掃描選定的網(wǎng)絡(luò)(例如,網(wǎng)絡(luò)40A)時(shí),可以觸發(fā)掃描中心模塊24。掃描中心模塊24可以允許用戶來識別待掃描的網(wǎng)絡(luò)。例如,可以通過網(wǎng)絡(luò)上資產(chǎn)的一系列的IP地址來對網(wǎng)絡(luò)進(jìn)行識別。在另一示例中,可以通過名稱(例如,“WORKGROUP”),或其他標(biāo)識符(例如,網(wǎng)絡(luò)ID)來識別網(wǎng)絡(luò)。在又另一示例中,可以基于位置(例如,位于Plano,TX的企業(yè)內(nèi)部網(wǎng))來識別網(wǎng)絡(luò)。存在各種選項(xiàng)來識別網(wǎng)絡(luò),并且可以在不偏離本發(fā)明的寬泛的范圍的情況下來使用任何以及所有這種選項(xiàng)。
[0045]為了說明,假設(shè)用戶16選擇網(wǎng)絡(luò)40A用于掃描。掃描中心模塊24可以識別網(wǎng)絡(luò)40A上的資產(chǎn)18A-C的每一臺資產(chǎn)。例如,可以通過相對應(yīng)的IP地址來識別資產(chǎn)18A-C。在本發(fā)明寬泛的范圍內(nèi)可以使用其他用于識別資產(chǎn)的選項(xiàng)(例如,通過資產(chǎn)名稱、或資產(chǎn)ID等)。對于資產(chǎn)18A-C的每一資產(chǎn),掃描中心模塊24可以訪問來自結(jié)果數(shù)據(jù)庫38的先前掃描的結(jié)果。在示例性實(shí)施例中,掃描中心模塊24可以在結(jié)果數(shù)據(jù)庫38中運(yùn)行查詢來確定關(guān)于資產(chǎn)18A-C的每一資產(chǎn)的所有掃描的漏洞和已知的漏洞??梢詫⒁阎┒?2A確定為單獨(dú)的資產(chǎn)18A、18B、18C的已知漏洞的并集。同樣可以將掃描的漏洞44A確定為單獨(dú)的資產(chǎn)18A、18B、18C的掃描漏洞的并集。
[0046]掃描中心模塊24A可以對掃描的漏洞44A與漏洞集合36 (由集合U表示)進(jìn)行比較來確定先前沒有在網(wǎng)絡(luò)40A中的資產(chǎn)18A-C的任何一臺資產(chǎn)中檢查過的新漏洞46A:[0047]46 久=U \ 44.4 = {.ν:χ(ξΙΙ\χ ^ 44A\
[0048]新漏洞46A中的任何漏洞可能屬于漏洞集合36,但是可能不屬于掃描的漏洞44A。掃描中心模塊24可以確定包括網(wǎng)絡(luò)40A中待檢查的漏洞列表在內(nèi)的網(wǎng)絡(luò)漏洞集合48A,例如,根據(jù)下面的等式:
[0049]44A = 42AY46A = {x:x e 42A 或 x e 46A}
[0050]可以通過已知漏洞42A和新漏洞46A的并集來確定網(wǎng)絡(luò)漏洞集合44A。因此,網(wǎng)絡(luò)漏洞集合44A中的任何漏洞X可以包括在已知漏洞42A或新漏洞46A中。
[0051]在一個(gè)說明性示例中,僅被提供用于說明而不是作為限制,漏洞集合36中的漏洞的總數(shù)是30,000 ;資產(chǎn)18A中的已知漏洞的數(shù)量是2 ;資產(chǎn)18B中已知漏洞的數(shù)量是2,000 ;資產(chǎn)18C中已知漏洞的數(shù)量是100 ;并且新漏洞46A的數(shù)量是100。如果這些漏洞中的漏洞沒有重疊,則相對應(yīng)的示例網(wǎng)絡(luò)漏洞集合44A中的漏洞的總數(shù)量可以是(2+2000+100)+100=2,202。因此,在這一示例中,掃描中心模塊24可以僅對網(wǎng)絡(luò)40A中這些漏洞的2,202個(gè)漏洞進(jìn)行測試,而不是對所有30,000個(gè)漏洞進(jìn)行測試。掃描中心模塊24可以忽略先前已經(jīng)識別的不存在于資產(chǎn)18A-18C中的掃描的漏洞(例如,通過先前執(zhí)行的完全掃描)。如果資產(chǎn)18A-C中的已知漏洞重疊,則可以進(jìn)一步減少網(wǎng)絡(luò)漏洞集合44A中的漏洞的數(shù)量。掃描中心模塊24可以選擇用于資產(chǎn)18A-C中的一個(gè)或多個(gè)資產(chǎn)的一個(gè)或多個(gè)腳本來對網(wǎng)絡(luò)漏洞集合44A中的漏洞進(jìn)行檢查。
[0052]同樣地,如果用戶16選擇網(wǎng)絡(luò)40B用于掃描,則掃描中心模塊24可以識別網(wǎng)絡(luò)40B上的資產(chǎn)18D-E中的每一臺資產(chǎn)。在示例性實(shí)施例中,掃描中心模塊24可以在結(jié)果數(shù)據(jù)庫38中運(yùn)行查詢來 確定資產(chǎn)18D和18E中的每臺資產(chǎn)的所有掃描的漏洞和已知漏洞。已知漏洞42B可以被確定作為單個(gè)資產(chǎn)18D和18E的已知漏洞的并集。掃描的漏洞44B可以同樣地被確定作為單個(gè)資產(chǎn)18D和18E的掃描漏洞的并集。
[0053]掃描中心模塊24可以對掃描的漏洞44B和漏洞集合36 (由集合U表示)進(jìn)行比較來確定先前沒有在網(wǎng)絡(luò)40B中的資產(chǎn)18D和18E的任何一臺資產(chǎn)中檢查的新漏洞46B:
[0054]46B = U \ 44B = {x: λ' e U |.ν ? 44B}
[0055]新漏洞46Β中的任何漏洞可能屬于漏洞集合36,但是可能不屬于掃描的漏洞44Β。掃描中心模塊24可以確定包括網(wǎng)絡(luò)40Β中待檢查的漏洞列表在內(nèi)的網(wǎng)絡(luò)漏洞集合48Β,例如,根據(jù)下面的等式:
[0056]44Β = 42ΒΥ46Β = {x:x e 42Β 或 x e 46B}
[0057]可以通過已知漏洞42B和新漏洞46B的并集來確定網(wǎng)絡(luò)漏洞集合44B。因此,網(wǎng)絡(luò)漏洞集合44B中的任何漏洞X可以包括在已知漏洞42B或新漏洞46B中。
[0058]在另一說明性示例中,再次僅提供用于說明而不是作為限制,漏洞集合36中的漏洞的總數(shù)是30,000 ;資產(chǎn)18D中的已知漏洞的數(shù)量是50 ;資產(chǎn)18E中已知漏洞的數(shù)量是10,000 ;新漏洞46B的數(shù)量是50。如果這些漏洞中沒有漏洞重疊,則網(wǎng)絡(luò)漏洞集合44B中的漏洞的總數(shù)量可以是(50+10,000)+50 = 10, 100。因此,掃描中心模塊24可以僅對網(wǎng)絡(luò)40B中這些漏洞中的10,100個(gè)漏洞進(jìn)行測試,而不是對30,000個(gè)漏洞進(jìn)行測試。如果資產(chǎn)18D-E中的已知漏洞重疊,則可以進(jìn)一步減少網(wǎng)絡(luò)漏洞集合44B中的漏洞的數(shù)量。掃描中心模塊24可以選擇用于資產(chǎn)18D-E中的一個(gè)或多個(gè)資產(chǎn)的一個(gè)或多個(gè)腳本來對網(wǎng)絡(luò)漏洞集合44B中的漏洞進(jìn)行檢查。
[0059]翻到圖3,圖3是說明了系統(tǒng)10的示例性實(shí)施例的簡化的框圖。僅為了說明,假設(shè)系統(tǒng)10包括分別與已知漏洞42A和42B相關(guān)聯(lián)的兩個(gè)資產(chǎn)18A和18B。在本發(fā)明寬泛的范圍內(nèi),可以在系統(tǒng)10中提供任何數(shù)量的資產(chǎn)。在先前的討論中,在已知漏洞42A和42B中的每一個(gè)中的漏洞可以重疊,或者可選擇地,對于分別與其相關(guān)聯(lián)的資產(chǎn)漏洞是唯一的。已知漏洞42A和42B可以存儲在結(jié)果數(shù)據(jù)庫38中,并且例如根據(jù)在資產(chǎn)18A和18B上運(yùn)行的先前的掃描結(jié)果以及使用其他技術(shù)來確定已知漏洞42A和42B。結(jié)果數(shù)據(jù)庫38還可以包含與相對應(yīng)的資產(chǎn)18A和18B相關(guān)聯(lián)的掃描的漏洞50A和50B。
[0060]根據(jù)本發(fā)明的實(shí)施例,當(dāng)用戶選擇以掃描選定的資產(chǎn)(例如,資產(chǎn)18A)時(shí),可以觸發(fā)資產(chǎn)中心模塊26。資產(chǎn)中心模塊26可以向用戶16提供選項(xiàng)以識別該資產(chǎn)。例如,可以通過IP地址來識別資產(chǎn)。在另一示例中,可以通過名稱(例如,“Joe’ s Computer")或者其他標(biāo)識符(例如,資產(chǎn)ID)來識別資產(chǎn)。在又另一示例中,可以基于位置(例如建筑物2中的小臥室20)來識別資產(chǎn)。存在各種選項(xiàng)來識別資產(chǎn),并且可以在不偏離本發(fā)明寬泛的范圍的情況下使用任何以及所有這些選項(xiàng)。
[0061]為了說明,假設(shè)用戶16選擇資產(chǎn)18A用于掃描。資產(chǎn)中心模塊26可以訪問來自結(jié)果數(shù)據(jù)庫38的資產(chǎn)18A上的先前掃描的結(jié)果。在示例性實(shí)施例中,資產(chǎn)中心模塊可以在結(jié)果數(shù)據(jù)庫38中運(yùn)行查詢來確定在資產(chǎn)18A中掃描的漏洞50A和已知漏洞42A。資產(chǎn)中心模塊26可以對掃描的漏洞50A與漏洞集合36 (由集合U來表示)進(jìn)行比較來確定先前沒
有在資產(chǎn)18A中檢查的新漏洞52A: 52A = U\50^-{.v:.v6t/|xi50^}
[0062]在新漏洞52 Α中的任何漏洞可能屬于漏洞集合36,但是可能不屬于掃描的漏洞50Α。掃描中心模塊26可以確定包括資產(chǎn)18Α中待檢查的漏洞列表在內(nèi)的資產(chǎn)漏洞集合54Α,例如,根據(jù)下面的等式:
[0063]54Α = 42ΑΥ52Α = {x:x e 42Α 或 x e 52A}
[0064]可以通過資產(chǎn)18A中的基本上所有已知漏洞42A和新漏洞52A的并集來確定資產(chǎn)漏洞集合54A。因此,資產(chǎn)漏洞集合54A中的任何漏洞X可以包括在已知漏洞42A或新漏洞52A 中。
[0065]在另一說明性示例中,再次僅被提供用于說明而不是作為限制,漏洞集合36中的漏洞的總數(shù)是30,000 ;已知漏洞42A中的已知漏洞的數(shù)量是2 ;并且新漏洞52A的數(shù)量是
20。因此,資產(chǎn)漏洞集合54A中的漏洞的總數(shù)量可以是2+20 = 22。因此,掃描中心模塊26可以僅對資產(chǎn)18A中這些漏洞中的22個(gè)漏洞進(jìn)行測試,而不是對30,000個(gè)漏洞進(jìn)行測試。資產(chǎn)中心模塊26可以生成包括對資產(chǎn)漏洞集合54A中的漏洞進(jìn)行檢查的腳本選擇在內(nèi)的用于資產(chǎn)18A的掃描程序。
[0066]同樣地,如果用戶16選擇資產(chǎn)18B用于掃描,則資產(chǎn)中心模塊26可以訪問來自結(jié)果數(shù)據(jù)庫38的資產(chǎn)18上的先前掃描的結(jié)果。資產(chǎn)中心模塊26可以對掃描的漏洞50B和漏洞集合36進(jìn)行比較來確定新漏洞52B:
[0067]52B = U\ 50B = (v:.vet/|xi 50B}
[0068]在新漏洞52B中的任何漏洞可能屬于漏洞集合36,但是可能不屬于掃描的漏洞50B。資產(chǎn)中心模塊26可以確定包括資產(chǎn)18B中待檢查的漏洞列表在內(nèi)的資產(chǎn)漏洞集合54B,例如,根據(jù)下面的等式:
[0069]54B = 42BY52B = {x:x e 42B 或 x e 52B}
[0070]可以通過資產(chǎn)18B中的基本上所有已知漏洞42B和新漏洞52B的并集來確定資產(chǎn)漏洞集合54B。因此,資產(chǎn)漏洞集合54B中的任何漏洞X可以包括在已知漏洞42B或新漏洞52B 中。
[0071]在另一說明性示例中,再次僅提供用于說明而不是作為限制,漏洞集合36中的漏洞的總數(shù)是30,000 ;已知漏洞42B中的漏洞的數(shù)量是2000 ;并且新漏洞52B的數(shù)量是100。因此資產(chǎn)漏洞集合50B中的漏洞的總數(shù)量可以是2000+100 = 2,100。因此,資產(chǎn)中心模塊26可以僅對資產(chǎn)18B中這些漏洞中的2,100個(gè)漏洞進(jìn)行測試,而不是對所有30,000個(gè)漏洞進(jìn)行測試。資產(chǎn)中心模塊26可以生成包括對資產(chǎn)漏洞集合54B中的漏洞進(jìn)行檢查的腳本選擇在內(nèi)的用于資產(chǎn)18B的掃描程序。
[0072]翻到圖4A和圖4B,圖4A是說明了可以與系統(tǒng)10的實(shí)施例相關(guān)聯(lián)的示例性操作步驟的簡化的流程圖。根據(jù)本發(fā)明的實(shí)施例,給定網(wǎng)絡(luò)上資產(chǎn)和/或地址的集合以及漏洞檢查的集合,可以獲取在所有資產(chǎn)和地址上的完整掃描中先前發(fā)現(xiàn)的基本上所有漏洞的集合,并且可以添加新發(fā)布的漏洞檢查,然后可以針對該漏洞并集重新掃描基本上每一臺資產(chǎn)和每一個(gè)地址。當(dāng)激活漏洞管理器20時(shí),操作100從102處開始。在104處,漏洞管理器20可以提供用于用戶選擇的選項(xiàng)。例如,可以在GUI30中以下拉菜單的形式提供選項(xiàng)。下拉菜單可以指出用戶可以選擇以掃描網(wǎng)絡(luò),或可選擇地,掃描一個(gè)或多個(gè)具體資產(chǎn)。在106處,可以識別用戶的選擇。如果用戶選擇以掃描網(wǎng)絡(luò),則轉(zhuǎn)向操作步驟108,其中掃描中心模塊24向用戶提供選項(xiàng)以選擇網(wǎng)絡(luò)。例如,用戶可以選擇要掃描的一系列IP地址。在110處,掃描中心模塊24可以識別選定的網(wǎng)絡(luò)上的資產(chǎn)。
[0073]在112處,掃描中心模塊24可以在選定的網(wǎng)絡(luò)中選擇資產(chǎn)。在114處,掃描中心模塊24可以訪問來自結(jié)果數(shù)據(jù)庫38的該資產(chǎn)上先前掃描的結(jié)果。在116處,掃描中心模塊24可以確定該資產(chǎn)中的已知漏洞。在118處,掃描中心模塊24可以對該資產(chǎn)中的掃描過的漏洞和漏洞集合36進(jìn)行比較。在120處,掃描中心模塊24可以識別新漏洞,新漏洞是不包括在掃描過的漏洞中的漏洞集合36中的漏洞。
[0074]在122處,掃描中心模塊24檢查是否已經(jīng)處理過選定網(wǎng)絡(luò)中的所有資產(chǎn)。注意,在一些實(shí)施例中,如果發(fā)現(xiàn)先前沒有掃描過的新資產(chǎn),則可以在掃描中選定所有漏洞檢查來掃描該資產(chǎn)。如果已經(jīng)處理過所有資產(chǎn),則掃描中心模塊24會確定包括已知漏洞和新漏洞的并集在內(nèi)的網(wǎng)絡(luò)漏洞集合。在126處,掃描中心模塊24生成適當(dāng)?shù)膾呙璩绦?,該掃描程序包括腳本選擇以對先前確定的網(wǎng)絡(luò)漏洞集合進(jìn)行檢查。如果沒有處理選定的網(wǎng)絡(luò)中的所有資產(chǎn),則操作步驟跳轉(zhuǎn)回128,在此處挑選用于處理的選定網(wǎng)絡(luò)中的下一個(gè)資產(chǎn)。此后重復(fù)操作114到122。該處理在130處停止,在此處將生成的腳本選擇提供給掃描引擎14。
[0075]在另一方面,如果用戶在步驟106處選擇以掃描資產(chǎn),則操作步驟跳轉(zhuǎn)到150,在此處激活資產(chǎn)中心模塊26。翻到圖4B,說明了流程圖100的一部分,示出了可以與系統(tǒng)10的實(shí)施例相關(guān)聯(lián)的、與資產(chǎn)中心模塊26的操作有關(guān)的示例性操作步驟。根據(jù)本發(fā)明的實(shí)施例,給定網(wǎng)絡(luò)上資產(chǎn)和/或地址的集合以及漏洞檢查的集合,對于每個(gè)單獨(dú)的資產(chǎn)或地址,可以獲取在該資產(chǎn)或地址上先前發(fā)現(xiàn)的漏洞的集合,并且可以添加新發(fā)布的漏洞檢查,然后可以僅針對這些漏洞來對該資產(chǎn)進(jìn)行掃描,針對掃描中的每一臺資產(chǎn)和每一個(gè)地址重復(fù)進(jìn)行。在152處,資產(chǎn)中心模塊26向用戶提供允許用戶選擇一個(gè)或多個(gè)待掃描資產(chǎn)的選擇菜單。在154處,資產(chǎn)中心模塊26可以從選定的資產(chǎn)中選擇一臺資產(chǎn)用于處理。在156處,資產(chǎn)中心模塊26可以訪問來自結(jié)果數(shù)據(jù)庫38的在資產(chǎn)上先前掃描的結(jié)果。在158處,資產(chǎn)中心模塊26可以識別資產(chǎn)中的已知漏洞。在160處,資產(chǎn)中心模塊26可以對掃描的漏洞和漏洞集合36進(jìn)行比較。在162處,資產(chǎn)中心模塊26可以識別新漏洞,新漏洞是不包括在掃描的漏洞中的漏洞集合36中的漏洞。在164處,資產(chǎn)中心模塊26可以確定用于資產(chǎn)的資產(chǎn)漏洞集合。在166處,資產(chǎn)中心模塊26可以生成掃描程序,掃描程序包括腳本選擇以對在164步驟處先前確定的漏洞進(jìn)行檢查。在168處,資產(chǎn)中心模塊26可以確定是否已經(jīng)處理了所有選定的資產(chǎn)。注意,在一些實(shí)施例中,如果發(fā)現(xiàn)先前沒有掃描過的新資產(chǎn),則可以在掃描中選定所有漏洞檢查來掃描該資產(chǎn)。如果沒有處理所有選定的資產(chǎn),則操作步驟跳轉(zhuǎn)回170,在此處挑選要掃描的下一個(gè)資產(chǎn)。否則,操作在172處結(jié)束。
[0076]注意,在本【具體實(shí)施方式】中,所提到的包括在“一個(gè)實(shí)施例”、“示例性實(shí)施例”、“實(shí)施例”、“另一實(shí)施例”、“一些實(shí)施例”、“各種實(shí)施例”、“其他實(shí)施例”、“可選擇的實(shí)施例”等中的各種特征(例如,元件、結(jié)構(gòu)、模塊、部件、步驟、操作、特性等)是要表示任何這種特征都包括在本發(fā)明的一個(gè)或多個(gè)實(shí)施例中,但是可以或可以不必要地結(jié)合在相同的實(shí)施例中。此外,詞“使最優(yōu)化”、“最佳化”以及相關(guān)的術(shù)語是涉及具體成果的在速度和/或效率方面中的提高的領(lǐng)域的術(shù)語,并且不在于表示用于完成已經(jīng)完成的具體成果的過程或能夠完成“最優(yōu)的”或完美速度的/完美效率的狀態(tài)。
[0077]其中附圖中示出的選項(xiàng)僅出于示例的目的。應(yīng)當(dāng)理解的是,本【具體實(shí)施方式】中對許多其他選項(xiàng),至少其中的一些進(jìn)行了描述,可以提供結(jié)合了各種附圖中的選項(xiàng)的這些選項(xiàng)與或提供排除了各種附圖中的選項(xiàng)的這些選項(xiàng)??梢栽诟鞣N位置(例如,公司IT總部、終端用戶計(jì)算機(jī)、云中的分布式服務(wù)器等)提供用于實(shí)現(xiàn)此處概述的操作的軟件。在一些實(shí)施例中,可以從網(wǎng)絡(luò)服務(wù)器接收或下載本軟件(例如,在購買用于單獨(dú)網(wǎng)絡(luò)、設(shè)備、服務(wù)器等的個(gè)人終端用戶許可的情況下)以便提供本系統(tǒng)。在一個(gè)示例性實(shí)施例中,本軟件存在于尋求保護(hù)免受安全攻擊的(或免受不受歡迎的或未授權(quán)的數(shù)據(jù)操作)一個(gè)或多個(gè)計(jì)算機(jī)和/或網(wǎng)絡(luò)主機(jī)中。
[0078]在各種實(shí)施例中,系統(tǒng)10的軟件可以包括私有元件(例如,作為利用McAfee?:漏洞管理器(MVM)軟件的網(wǎng)絡(luò)安全解決方案、McAfee?用于策略管理軟件等的一部分),系統(tǒng)10的軟件可以被提供在(或鄰近于)這些識別的元件中、或被提供在任何其他設(shè)備、服務(wù)器、網(wǎng)絡(luò)裝置、控制臺、防火墻、交換機(jī)、信息技術(shù)(it)設(shè)備、分布式服務(wù)器等中、或被提供作為補(bǔ)充解決方案、或另外被供應(yīng)于網(wǎng)絡(luò)中。
[0079]在某些示例性實(shí)施例中,此處概述的功能可以在軟件中實(shí)現(xiàn)。這可以包括在漏洞管理器20和其他網(wǎng)絡(luò)元件(例如,掃描引擎14)中提供的軟件。這些元件和/或模塊可以互相協(xié)作,以便執(zhí)行與此處討論的成組的計(jì)算機(jī)漏洞相關(guān)的功能。在其他實(shí)施例中,可以在這些元件外部提供這些特征,這些特征可以包括在其他設(shè)備中以實(shí)現(xiàn)這些預(yù)期的功能,或以任何適當(dāng)?shù)姆绞絹磉M(jìn)行合并。例如,可以移除或合并與各種元件相關(guān)聯(lián)的處理器中的一些處理器,使得單個(gè)處理器和單個(gè)存儲器位置對某種功能負(fù)責(zé)。一般來講,附圖中描述的布置在其表示中較合乎邏輯,其中物理架構(gòu)可以包括這些元件的改變、結(jié)合、和/或混合。
[0080]在各種實(shí)施例中,這些元件中的一些元件或所有元件包括可以進(jìn)行調(diào)整、管理、協(xié)作的軟件(或往復(fù)式軟件),以便完成此處概述的操作。這些元件中的一個(gè)或多個(gè)元件可以包括任何合適的有助于其操作的算法、硬件、軟件、部件、模塊、接口或?qū)ο?。在包括軟件的?shí)施例中,這種配置可以包括編碼在可以包括非易失性介質(zhì)的一個(gè)或多個(gè)實(shí)際的介質(zhì)中的邏輯(例如,專用集成電路(ASIC)、數(shù)字信號處理器(DSP)指令、由處理器、或其他類似裝置等來執(zhí)行的軟件(可能包括對象代碼和源代碼)中提供的嵌入式邏輯)。
[0081]在這些實(shí)例的一些實(shí)例中,一個(gè)或多個(gè)存儲器元件(例如,存儲器元件34)可以存儲用于執(zhí)行此處描述的操作的數(shù)據(jù)。這包括能夠存儲被執(zhí)行以完成本說明書中所描述的功能的軟件、邏輯、代碼、處理器指令的存儲器元件。處理器可以執(zhí)行任何類型的與數(shù)據(jù)相關(guān)聯(lián)的指令,以完成本說明書中此處詳述的操作。在一個(gè)示例中,處理器32可以將元件或物件(例如,數(shù)據(jù))從一種狀態(tài)或事物轉(zhuǎn)變?yōu)榱硪粻顟B(tài)或事物。在另一示例中,可以利用固定的邏輯或可編程的邏輯(例如,由處理器執(zhí)行的軟件/計(jì)算機(jī)指令)來實(shí)現(xiàn)此處概述的功能,并且此處標(biāo)識的元件可以是某一類型的可編程處理器、可編程數(shù)字邏輯(例如,現(xiàn)場可編程門陣列(FPGA)、可擦除可編程只讀存儲器(EPROM)、電可擦可編程只讀存儲器(EEPROM))、包括數(shù)字邏輯、軟件、代碼、電子指令、閃存、光盤、CD-ROM、DVD ROM、磁卡或光卡在內(nèi)的ASIC、其他類型的適合于存儲電子指令或任何其合適的結(jié)合的機(jī)器可讀的介質(zhì)。
[0082]系統(tǒng)10和系統(tǒng)10中其他相關(guān)聯(lián)的部件可以包括用于存儲此處概述的信息的一個(gè)或多個(gè)存儲器元件(例如,存儲器元件34)。適當(dāng)?shù)夭⑶一诰唧w需要,可以將信息保存為任何合適類型的存儲器元件(例如,隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、現(xiàn)場可編程門陣列(FPGA)、可擦除可編程只讀存儲器(EPROM)、電可擦可編程只讀存儲器(EEPROM)等)、軟件、硬件,或任何其他合適的部件、設(shè)備、元件、或?qū)ο?。在系統(tǒng)10中被追蹤、發(fā)送、接收、或存儲的信息(例如,漏洞集合36、已知漏洞42A-E、報(bào)告等)可以基于具體需要和實(shí)施例而被提供于任何數(shù)據(jù)庫、寄存器、表格、高速緩存、隊(duì)列、控制列表或存儲結(jié)構(gòu)中,所有這些可以在任何合適的時(shí)間框架中被提及。此處討論的所有存儲器項(xiàng)目中的任何一項(xiàng)可以被解釋為包括在寬泛的術(shù)語‘存儲器元件’中。類似地,本說明書中描述的可能的處理元件、模塊、裝置中的任何一項(xiàng)可以被解釋為包括在寬泛的術(shù)語“處理器”中。這些計(jì)算機(jī)中的每一臺計(jì)算機(jī)還可以包括用于在網(wǎng)絡(luò)環(huán)境中接收、發(fā)送、和/或進(jìn)行數(shù)據(jù)或信息通信的合適的接口。
[0083]注意,此處提供的許多示例,其中以2個(gè)、3個(gè)、4個(gè)或更多網(wǎng)絡(luò)元件的形式來描述交互。然而,這僅僅出于說明性和示例性的目的。應(yīng)當(dāng)理解的是,系統(tǒng)可以以任何合適的方式來進(jìn)行合并。根據(jù)類似的設(shè)計(jì)選擇對象,附圖中任何說明的計(jì)算機(jī)、模塊、部件和元件可以以各種可能的配置來進(jìn)行結(jié)合,所有這些都明確地在本說明書寬泛的范圍之中。在某些情況下,通過僅引用數(shù)量有限的網(wǎng)絡(luò)元件可以較容易地描述流程的給定集合的一個(gè)或多個(gè)功能。應(yīng)當(dāng)理解的是,附圖的系統(tǒng)(以及相對應(yīng)的教導(dǎo))能夠很容易地進(jìn)行升級并且能夠容納大量的部件以及較復(fù)雜/精致的布置和配置。因此,當(dāng)可能應(yīng)用到多種其它架構(gòu)時(shí),所提供的示例不應(yīng)限制系統(tǒng)10的范圍或約束系統(tǒng)10的寬泛的教導(dǎo)。
[0084]同樣重要的是注意,參考前面的附圖所描述的操作僅說明了可以由系統(tǒng)或在系統(tǒng)內(nèi)執(zhí)行的可能的方案中的一些。在不偏離所討論的概念的范圍的情況下,可以適當(dāng)?shù)貏h除或移除這些操作中的一些操作,或也可以對這些步驟進(jìn)行相當(dāng)大地更改或修改。另外,這些操作的時(shí)機(jī)可以進(jìn)行相當(dāng)大地變更并且仍然能夠?qū)崿F(xiàn)本公開文本中所講授的結(jié)果。提供先前的操作流是出于示例和討論的目的。在不偏離所討論的概念的教導(dǎo)的情況下,系統(tǒng)可以提供在任何合適的布置、按順序排列的事件、配置和定時(shí)機(jī)制中的重大的靈活性。
【權(quán)利要求】
1.一種方法,包括: 識別資產(chǎn)中的已知漏洞的集合和新漏洞的集合; 選擇包括對包括在所述已知漏洞的集合和所述新漏洞的集合的并集中的漏洞進(jìn)行的檢查的一個(gè)或多個(gè)腳本;以及 使用所選擇的腳本來掃描所述資產(chǎn)。
2.根據(jù)權(quán)利要求1所述的方法,其中先前已經(jīng)測試過的并且已知不存在于所述資產(chǎn)中的漏洞不包括在所選擇的腳本中。
3.根據(jù)權(quán)利要求1所述的方法,其中識別所述已知漏洞的集合包括: 訪問對所述資產(chǎn)先前掃描的結(jié)果,其中所述結(jié)果指示所述已知漏洞。
4.根據(jù)權(quán)利要求1所述的方法,其中識別所述新漏洞的集合包括: 訪問對所述資產(chǎn)先前掃描的結(jié)果,其中所述結(jié)果指示掃描過的漏洞的集合;以及 確定包括在計(jì)算機(jī)系統(tǒng)中的漏洞的全集中的、而不在所述掃描過的漏洞的集合中的漏洞。
5.根據(jù)權(quán)利要求1所述的方法,還包括: 將所述掃描的結(jié)果存儲在結(jié)果數(shù)據(jù)庫中。
6.根據(jù)權(quán)利要求1所述的方法,還包括: 識別網(wǎng)絡(luò)中待掃描的多個(gè)資產(chǎn); 識別所述多個(gè)資產(chǎn)中的基本上所有資產(chǎn)中的已知漏洞的多個(gè)集合和新漏洞的多個(gè)集合;以及 將對包括在所述已知漏洞的多個(gè)集合和所述新漏洞的多個(gè)集合的并集中的漏洞進(jìn)行的檢查插入到所選擇的腳本中。
7.根據(jù)權(quán)利要求6所述的方法,還包括: 使用所選擇的腳本來掃描所述多個(gè)資產(chǎn)中的基本上所有資產(chǎn)。
8.根據(jù)權(quán)利要求6所述的方法,其中通過一系列網(wǎng)際協(xié)議(IP)地址來識別所述多個(gè)資產(chǎn)。
9.一種裝置,包括: 配置為存儲數(shù)據(jù)的存儲器元件;以及 用于執(zhí)行與所述數(shù)據(jù)相關(guān)聯(lián)的指令的處理器,其中所述裝置被配置用于: 識別資產(chǎn)中的已知漏洞的集合和新漏洞的集合; 選擇包括對包括在所述已知漏洞的集合和所述新漏洞的集合的并集中的漏洞進(jìn)行的檢查的一個(gè)或多個(gè)腳本;以及 使用所選擇的腳本來掃描所述資產(chǎn)。
10.根據(jù)權(quán)利要求9所述的裝置,其中識別所述已知漏洞的集合包括: 訪問對所述資產(chǎn)先前掃描的結(jié)果,其中所述結(jié)果指示所述已知漏洞。
11.根據(jù)權(quán)利要求9所述的裝置,其中識別所述新漏洞的集合包括: 訪問對所述資產(chǎn)先前掃描的結(jié)果,其中所述結(jié)果指示掃描過的漏洞的集合;以及 確定包括在計(jì)算機(jī)系統(tǒng)中的漏洞的全集中、而不在所述掃描過的漏洞的集合中的漏洞。
12.根據(jù)權(quán)利要求9所述的裝置,其中所述裝置還被配置用于:將所述掃描的結(jié)果存儲在結(jié)果數(shù)據(jù)庫中。
13.根據(jù)權(quán)利要求9所述的裝置,其中所述裝置被進(jìn)一步配置用于: 識別網(wǎng)絡(luò)中待掃描的多個(gè)資產(chǎn); 識別所述多個(gè)資產(chǎn)中的基本上所有資產(chǎn)中的已知漏洞的多個(gè)集合和新漏洞的多個(gè)集合;以及 將對包括在所述已知漏洞的多個(gè)集合和所述新漏洞的多個(gè)集合的并集中的漏洞進(jìn)行的檢查插入到所選擇的腳本中。
14.根據(jù)權(quán)利要求13所述的裝置,還包括: 使用所選擇的腳本來掃描所述多個(gè)資產(chǎn)中的基本上所有資產(chǎn)。
15.一種編碼在非暫時(shí)性介質(zhì)中的邏輯,所述非暫時(shí)性介質(zhì)包括用于執(zhí)行的代碼,當(dāng)被處理器執(zhí)行時(shí),所述代碼用于執(zhí)行以下操作: 識別資產(chǎn)中的已知漏洞的集合和新漏洞的集合; 選擇包括對包括在所述已知漏洞的集合和所述新漏洞的集合的并集中的漏洞進(jìn)行的檢查的一個(gè)或多個(gè)腳本;以及 使用所選擇的腳本來掃描所述資產(chǎn)。
16.根據(jù)權(quán)利要求15所述的邏輯,其中識別所述已知漏洞的集合包括: 訪問對所述資產(chǎn)先前掃描的結(jié)果,其中所述結(jié)果指示所述已知漏洞。
17.根據(jù)權(quán)利要求15所述的邏輯,其中識別所述新漏洞的集合包括: 訪問對所述資產(chǎn)先前掃描的結(jié)果,其中所述結(jié)果指示掃描過的漏洞的集合;以及 確定包括在計(jì)算機(jī)系統(tǒng)中的漏洞的全集中的、而不在所述掃描過的漏洞的集合中的漏洞。
18.根據(jù)權(quán)利要求15所述的邏輯,還包括: 將所述掃描的結(jié)果存儲在結(jié)果數(shù)據(jù)庫中。
19.根據(jù)權(quán)利要求15所述的邏輯,還包括: 識別網(wǎng)絡(luò)中待掃描的多個(gè)資產(chǎn); 識別所述多個(gè)資產(chǎn)中的基本上所有資產(chǎn)中的已知漏洞的多個(gè)集合和新漏洞的多個(gè)集合;以及 將對包括在所述已知漏洞的多個(gè)集合和所述新漏洞的多個(gè)集合的并集中的漏洞進(jìn)行的檢查插入到所選擇的腳本中。
20.根據(jù)權(quán)利要求19所述的邏輯,還包括: 使用所選擇的腳本來掃描所述多個(gè)資產(chǎn)中的基本上所有資產(chǎn)。
【文檔編號】G06F21/00GK103999089SQ201280063948
【公開日】2014年8月20日 申請日期:2012年12月18日 優(yōu)先權(quán)日:2011年12月23日
【發(fā)明者】B·拉塞爾, C·馬拉巴拉普, J·M·于加爾四世 申請人:邁克菲公司