專(zhuān)利名稱(chēng):一種網(wǎng)站掃描設(shè)備和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及對(duì)網(wǎng)站進(jìn)行遠(yuǎn)程掃描以確定網(wǎng)站是否存在漏洞的網(wǎng)站掃描設(shè)備和方法。
背景技術(shù):
為了判斷網(wǎng)站是否存在諸如CGI漏洞、SQL注入漏洞、跨站腳本漏洞等各種漏洞, 需要從網(wǎng)站外部,即遠(yuǎn)程對(duì)網(wǎng)站進(jìn)行漏洞掃描,以確定網(wǎng)站是否存在這些漏洞?,F(xiàn)在互聯(lián)網(wǎng)上的大量網(wǎng)站基于一些已知網(wǎng)絡(luò)(WEB)應(yīng)用而構(gòu)造,例如可以基于Discuz !,phpwind或者動(dòng)網(wǎng)論壇等已知網(wǎng)絡(luò)應(yīng)用構(gòu)造網(wǎng)站的論壇系統(tǒng),以及基于 WordPress等網(wǎng)絡(luò)應(yīng)用來(lái)構(gòu)造網(wǎng)站的博客系統(tǒng)。這些已知的WEB應(yīng)用程序已經(jīng)被發(fā)現(xiàn)存在過(guò)一些已知的CGI漏洞,如Discuz !論壇存在過(guò)繞過(guò)全局變量防御漏洞,Discuz !論壇的 manyou插件存在過(guò)SQL注入漏洞,WordPress存在過(guò)繞過(guò)口令保護(hù)漏洞等。由于已知網(wǎng)絡(luò)應(yīng)用的應(yīng)用范圍非常廣泛,因此,針對(duì)這些網(wǎng)絡(luò)應(yīng)用的漏洞研究也非常廣泛,但是對(duì)這些已知網(wǎng)絡(luò)引用的漏洞進(jìn)行修復(fù)的方法能夠及時(shí)出現(xiàn)。因此,這些已知的網(wǎng)絡(luò)應(yīng)用程序逐步變成比較成熟的產(chǎn)品,除了已經(jīng)在網(wǎng)上被公開(kāi)的漏洞之外,存在其他漏洞可能性變得非常之小。常規(guī)的網(wǎng)站漏洞掃描方法是依次遍歷網(wǎng)站上的所有頁(yè)面,對(duì)每個(gè)頁(yè)面都會(huì)調(diào)用爬蟲(chóng)程序來(lái)獲取頁(yè)面內(nèi)容進(jìn)行分析,并針對(duì)頁(yè)面進(jìn)行全方位的漏洞掃描。當(dāng)使用常規(guī)的網(wǎng)站漏洞掃描方法對(duì)那些基于已知網(wǎng)絡(luò)應(yīng)用構(gòu)造的網(wǎng)站進(jìn)行掃描時(shí),掃描出漏洞的可能性比較小,相反反而會(huì)為此消耗大量的時(shí)間和帶寬,甚至可能會(huì)因?yàn)閽呙璩绦虻膯?wèn)題,而造成漏洞的誤報(bào),引起客戶(hù)不必要的擔(dān)憂。因此,需要一種新的網(wǎng)站掃描設(shè)備和方法,其可以考慮網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用而減少不必要的漏洞掃描處理過(guò)程,從而節(jié)省掃描時(shí)間和所占用的網(wǎng)絡(luò)帶寬,以提高網(wǎng)站掃描的效率。
發(fā)明內(nèi)容
鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的網(wǎng)站掃描系統(tǒng)和網(wǎng)站掃描方法。根據(jù)本發(fā)明的一個(gè)方面,提供了一種網(wǎng)站掃描設(shè)備,包括策略分析裝置,判斷網(wǎng)站中的鏈接是否屬于網(wǎng)站中的已識(shí)別的網(wǎng)絡(luò)應(yīng)用,如果所述鏈接屬于已識(shí)別的網(wǎng)絡(luò)應(yīng)用, 則不對(duì)所述鏈接進(jìn)行漏洞掃描;爬蟲(chóng)裝置,獲取所述鏈接所指向的鏈接內(nèi)容;網(wǎng)絡(luò)應(yīng)用識(shí)別裝置,基于所述鏈接及鏈接內(nèi)容來(lái)判斷所述鏈接是否屬于已知網(wǎng)絡(luò)應(yīng)用,并在所述鏈接屬于已知網(wǎng)絡(luò)應(yīng)用時(shí),將所述已知網(wǎng)絡(luò)應(yīng)用確定為所述網(wǎng)站中的已識(shí)別網(wǎng)絡(luò)應(yīng)用;全面掃描裝置,接收被所述網(wǎng)絡(luò)應(yīng)用識(shí)別裝置判斷為不屬于已知網(wǎng)絡(luò)應(yīng)用的鏈接,并對(duì)所述鏈接進(jìn)行全面的漏洞掃描;以及已知網(wǎng)絡(luò)應(yīng)用漏洞檢測(cè)裝置,接收所述網(wǎng)絡(luò)應(yīng)用識(shí)別裝置確定的已識(shí)別網(wǎng)絡(luò)應(yīng)用,根據(jù)所述已識(shí)別網(wǎng)絡(luò)應(yīng)用的已知漏洞對(duì)所述網(wǎng)站進(jìn)行漏洞檢測(cè),以確定所述網(wǎng)站是否存在所述已識(shí)別網(wǎng)絡(luò)應(yīng)用的已知漏洞。
可選地,在根據(jù)本發(fā)明的網(wǎng)站掃描設(shè)備中,網(wǎng)絡(luò)應(yīng)用識(shí)別裝置包括規(guī)則生成部件,用于根據(jù)已知網(wǎng)絡(luò)應(yīng)用的特征生成規(guī)則集合;規(guī)則匹配引擎,用于獲取所述鏈接及鏈接內(nèi)容,提取所述鏈接及鏈接內(nèi)容的特征,根據(jù)所述鏈接及鏈接內(nèi)容的特征判斷所述規(guī)則集合中的規(guī)則之一是否被匹配了,將與所述匹配規(guī)則相對(duì)應(yīng)的已知網(wǎng)絡(luò)應(yīng)用確定為是所述鏈接所屬的已知網(wǎng)絡(luò)應(yīng)用。此外,已知網(wǎng)絡(luò)應(yīng)用的特征包括下列特征中的一個(gè)或者多個(gè)特定頁(yè)面及所述特定頁(yè)面中的特定標(biāo)識(shí);特定頁(yè)面及所述特定頁(yè)面的全部?jī)?nèi)容;HTTP響應(yīng)字段;以及特定鏈接。根據(jù)本發(fā)明的另一個(gè)方面,提供了一種網(wǎng)站掃描方法,包括步驟由策略分析裝置來(lái)判斷網(wǎng)站中的鏈接是否屬于網(wǎng)站中的已識(shí)別的網(wǎng)絡(luò)應(yīng)用;如果所述鏈接屬于已識(shí)別的網(wǎng)絡(luò)應(yīng)用,則不對(duì)所述鏈接進(jìn)行漏洞掃描,如果所述鏈接不屬于已識(shí)別的網(wǎng)絡(luò)應(yīng)用,則由爬蟲(chóng)裝置來(lái)獲取所述鏈接指向的鏈接內(nèi)容;由網(wǎng)絡(luò)應(yīng)用識(shí)別裝置基于所述鏈接及鏈接內(nèi)容來(lái)判斷所述鏈接是否屬于已知網(wǎng)絡(luò)應(yīng)用;如果所述鏈接屬于已知網(wǎng)絡(luò)應(yīng)用,則將所述已知網(wǎng)絡(luò)應(yīng)用確定為所述網(wǎng)站中的已識(shí)別網(wǎng)絡(luò)應(yīng)用,并且由已知網(wǎng)絡(luò)應(yīng)用漏洞檢測(cè)裝置根據(jù)所述已識(shí)別網(wǎng)絡(luò)應(yīng)用的已知漏洞對(duì)所述網(wǎng)站進(jìn)行漏洞檢測(cè),以確定所述網(wǎng)站是否存在所述已識(shí)別網(wǎng)絡(luò)應(yīng)用的已知漏洞;如果所述鏈接不屬于已知網(wǎng)絡(luò)應(yīng)用,則由全面掃描裝置對(duì)所述鏈接進(jìn)行全面的漏洞掃描。利用根據(jù)本發(fā)明的網(wǎng)站掃描設(shè)備和方法,當(dāng)識(shí)別出目標(biāo)網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用時(shí),對(duì)于所識(shí)別出的已知網(wǎng)絡(luò)應(yīng)用的相應(yīng)目錄下的所有頁(yè)面,不需要進(jìn)行掃描,而是僅僅需要檢查該已知網(wǎng)絡(luò)應(yīng)用已經(jīng)被公布的漏洞即可,這樣可以極大地提高掃描效率。此外,對(duì)于所識(shí)別出的已知網(wǎng)絡(luò)應(yīng)用,不需要用爬蟲(chóng)裝置進(jìn)行頁(yè)面內(nèi)容爬取就可以直接得到該相應(yīng)目錄的文件結(jié)構(gòu),這也可以減少頁(yè)面爬取所占用的時(shí)間的帶寬。另外,由于根據(jù)本發(fā)明的網(wǎng)站掃描設(shè)備和方法可以及時(shí)更新已知網(wǎng)絡(luò)應(yīng)用新發(fā)現(xiàn)的漏洞和漏洞修復(fù)方式,因此,當(dāng)利用根據(jù)本文明的網(wǎng)站掃描設(shè)備和方法識(shí)別出網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用時(shí),可以及時(shí)發(fā)現(xiàn)網(wǎng)站所具有的相應(yīng)漏洞并提供漏洞修復(fù)建議。進(jìn)一步,由于不再對(duì)所識(shí)別的已知網(wǎng)絡(luò)應(yīng)用的相應(yīng)目錄下的文件進(jìn)行全面掃描, 能減少因掃描方案不完善以及網(wǎng)絡(luò)環(huán)境的復(fù)雜性而引起的對(duì)于這些目錄下文件的各種漏洞的誤報(bào)。
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中圖1示意性地示出了根據(jù)本發(fā)明實(shí)施例的網(wǎng)站掃描設(shè)備100的框圖;圖2示意性地示出了網(wǎng)站掃描設(shè)備100中的網(wǎng)絡(luò)應(yīng)用識(shí)別裝置140的框圖;圖3示意性地示出了針對(duì)Discuz !網(wǎng)絡(luò)應(yīng)用的特征實(shí)例;圖4示意性地示出了根據(jù)本發(fā)明實(shí)施例的網(wǎng)絡(luò)掃描方法400的流程圖;以及圖5示意性地示出了網(wǎng)絡(luò)掃描方法400中的網(wǎng)絡(luò)應(yīng)用識(shí)別方法的流程圖。
具體實(shí)施例
下面結(jié)合附圖和具體的實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的描述。圖1示意性地示出了根據(jù)本發(fā)明實(shí)施例的網(wǎng)站掃描設(shè)備100的框圖。如圖1所示, 網(wǎng)站掃描設(shè)備100包括策略分析裝置110、爬蟲(chóng)裝置120、網(wǎng)絡(luò)應(yīng)用識(shí)別裝置130、全面掃描裝置140和已知網(wǎng)絡(luò)應(yīng)用漏洞檢測(cè)裝置150。策略分析裝置110接收目標(biāo)網(wǎng)站中的待處理鏈接,并基于已識(shí)別出的、目標(biāo)網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用列表,確定該待處理鏈接是否屬于某個(gè)已知網(wǎng)絡(luò)應(yīng)用。在對(duì)目標(biāo)網(wǎng)站進(jìn)行掃描的過(guò)程中,可以識(shí)別出目標(biāo)網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用(其數(shù)量可以是任意的,甚至沒(méi)有采用任何已知網(wǎng)絡(luò)應(yīng)用),這些已知網(wǎng)絡(luò)應(yīng)用可以可選地存儲(chǔ)在已識(shí)別網(wǎng)絡(luò)應(yīng)用存儲(chǔ)裝置160中。每種已知網(wǎng)絡(luò)應(yīng)用均具有自身特定的文件目錄結(jié)構(gòu),并且這些目錄結(jié)構(gòu)可以與網(wǎng)絡(luò)應(yīng)用相關(guān)聯(lián)地存儲(chǔ)。通過(guò)比較待處理鏈接的地址和目標(biāo)網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用的文件目錄結(jié)構(gòu),可以判斷出待處理鏈接是否屬于某個(gè)已知網(wǎng)絡(luò)應(yīng)用。舉例而言,如果已識(shí)別出的某個(gè)網(wǎng)絡(luò)應(yīng)用具有目錄結(jié)構(gòu)http://WWW. example, com/a/,則地址為 http://www. example/a/b. php的待處理鏈接由于處于該網(wǎng)絡(luò)應(yīng)用的目錄結(jié)構(gòu)之下,而被判斷為屬于該已識(shí)別出的網(wǎng)絡(luò)應(yīng)用。如果目標(biāo)網(wǎng)站沒(méi)有任何已識(shí)別出的已知網(wǎng)絡(luò)應(yīng)用或者未發(fā)現(xiàn)該待處理鏈接屬于已識(shí)別出的已知網(wǎng)絡(luò)應(yīng)用,則策略分析裝置Iio將該待處理鏈接發(fā)送到爬蟲(chóng)裝置120進(jìn)行進(jìn)一步處理,否則,策略分析裝置110停止對(duì)該待處理鏈接的處理,并且獲取下一個(gè)待處理鏈接進(jìn)行處理。爬蟲(chóng)裝置120從策略分析裝置110接收不屬于已識(shí)別出的網(wǎng)絡(luò)應(yīng)用的鏈接,獲取與該鏈接相對(duì)應(yīng)的網(wǎng)絡(luò)內(nèi)容。爬蟲(chóng)裝置120可以采用本領(lǐng)域所常用的網(wǎng)絡(luò)爬蟲(chóng)等方法獲取鏈接所對(duì)應(yīng)的網(wǎng)絡(luò)內(nèi)容。當(dāng)然所有可以獲取鏈接對(duì)應(yīng)的網(wǎng)絡(luò)內(nèi)容的方法都在本發(fā)明的保護(hù)范圍之內(nèi)。此外,爬蟲(chóng)裝置120可以對(duì)所獲取的網(wǎng)絡(luò)內(nèi)容進(jìn)行分析,提取其中所包含的進(jìn)一步鏈接,并且可以將這些鏈接作為下一步要處理的鏈接而存儲(chǔ)到網(wǎng)絡(luò)鏈接存儲(chǔ)裝置130 中。網(wǎng)絡(luò)鏈接存儲(chǔ)裝置130中可以存儲(chǔ)待處理鏈接列表,而且策略分析裝置110可以從網(wǎng)絡(luò)鏈接存儲(chǔ)裝置130中獲取列表中的待處理鏈接進(jìn)行處理。另外,爬蟲(chóng)裝置120還可以進(jìn)一步獲取與所獲取的網(wǎng)絡(luò)內(nèi)容相關(guān)的進(jìn)一步網(wǎng)絡(luò)內(nèi)容。具體而言,一個(gè)網(wǎng)絡(luò)鏈接所對(duì)應(yīng)的網(wǎng)絡(luò)內(nèi)容如網(wǎng)頁(yè)中可能包括了對(duì)外部js代碼、CSS格式文件等之類(lèi)的進(jìn)一步引用,而這些諸如js代碼或者CSS格式文件之類(lèi)的內(nèi)容可以認(rèn)為是該網(wǎng)頁(yè)相關(guān)的進(jìn)一步網(wǎng)絡(luò)內(nèi)容。在判斷某個(gè)鏈接是否屬于已知網(wǎng)絡(luò)應(yīng)用時(shí),也可能需要用到這些相關(guān)的進(jìn)一步內(nèi)容,因此爬蟲(chóng)裝置120可以獲取這些內(nèi)容作為與待處理鏈接相對(duì)應(yīng)的網(wǎng)絡(luò)內(nèi)容的相關(guān)聯(lián)內(nèi)容。爬蟲(chóng)裝置120將待處理的鏈接以及該鏈接的網(wǎng)絡(luò)內(nèi)容(可選地,還包括與該網(wǎng)絡(luò)內(nèi)容相關(guān)聯(lián)的內(nèi)容)發(fā)送到網(wǎng)絡(luò)應(yīng)用識(shí)別裝置140。網(wǎng)絡(luò)應(yīng)用識(shí)別裝置140據(jù)此(可選地, 可以參考其中存儲(chǔ)了已知網(wǎng)絡(luò)應(yīng)用特征的已知網(wǎng)絡(luò)應(yīng)用特征存儲(chǔ)裝置150)判斷目標(biāo)網(wǎng)站是否采用了某個(gè)已知應(yīng)用。如果目標(biāo)網(wǎng)站采用了某個(gè)已知應(yīng)用,則將有關(guān)該已知網(wǎng)絡(luò)應(yīng)用的信息發(fā)送到已知網(wǎng)絡(luò)應(yīng)用漏洞檢測(cè)裝置160進(jìn)行進(jìn)一步處理,否則將該鏈接及其網(wǎng)絡(luò)內(nèi)容發(fā)送到全面掃描裝置170進(jìn)行全面的漏洞掃描。此外,網(wǎng)絡(luò)應(yīng)用識(shí)別裝置140可以將所識(shí)別出的已知網(wǎng)絡(luò)應(yīng)用及其相關(guān)信息(如URL等)存儲(chǔ)到已識(shí)別網(wǎng)絡(luò)應(yīng)用存儲(chǔ)裝置180中, 以便可以由策略分析裝置110使用來(lái)判斷鏈接是否屬于已識(shí)別的已知網(wǎng)絡(luò)應(yīng)用。在下文中將會(huì)結(jié)合附圖2詳細(xì)描述網(wǎng)絡(luò)應(yīng)用識(shí)別裝置140的特定實(shí)施例,但是應(yīng)當(dāng)理解,本發(fā)明不局限于該特定實(shí)施例,所有可以根據(jù)鏈接及其內(nèi)容來(lái)判斷出該鏈接所屬的網(wǎng)絡(luò)應(yīng)用的網(wǎng)絡(luò)應(yīng)用識(shí)別裝置都在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)當(dāng)注意的是,在網(wǎng)絡(luò)應(yīng)用識(shí)別裝置140根據(jù)待處理鏈接及其內(nèi)容進(jìn)行已知網(wǎng)絡(luò)應(yīng)用識(shí)別的過(guò)程中,可能還需要與爬蟲(chóng)裝置120進(jìn)行交互以獲取進(jìn)一步的鏈接及其內(nèi)容。全面掃描裝置170從網(wǎng)絡(luò)應(yīng)用識(shí)別裝置140接收待處理鏈接以及可選的相對(duì)應(yīng)網(wǎng)絡(luò)內(nèi)容,對(duì)該鏈接及其相對(duì)應(yīng)網(wǎng)絡(luò)內(nèi)容進(jìn)行全面的漏洞掃描,例如針對(duì)跨站腳本攻擊漏洞 (XSS)、SQL注入漏洞、CGI漏洞等的掃描。全面掃描裝置170可以采用本領(lǐng)域任何漏洞掃描技術(shù)且不超出本發(fā)明的保護(hù)范圍。已知網(wǎng)絡(luò)應(yīng)用漏洞檢測(cè)裝置160從網(wǎng)絡(luò)應(yīng)用識(shí)別裝置140接收所識(shí)別出的已知網(wǎng)絡(luò)應(yīng)用,并根據(jù)所識(shí)別出的已知網(wǎng)絡(luò)應(yīng)用的已知漏洞來(lái)對(duì)目標(biāo)網(wǎng)站的該已知網(wǎng)絡(luò)應(yīng)用進(jìn)行漏洞掃描,以確定該目標(biāo)網(wǎng)站的已知網(wǎng)絡(luò)應(yīng)用是否已經(jīng)針對(duì)已知漏洞進(jìn)行了修復(fù)??蛇x地, 已知網(wǎng)絡(luò)應(yīng)用的已知漏洞可以與已知網(wǎng)絡(luò)應(yīng)用特征相關(guān)聯(lián)地存儲(chǔ)在已知網(wǎng)絡(luò)應(yīng)用特征存儲(chǔ)裝置150中。應(yīng)當(dāng)注意地是,在本發(fā)明中所提及的已知網(wǎng)絡(luò)應(yīng)用并未涉及其版本,但是在實(shí)踐中,已知網(wǎng)絡(luò)應(yīng)用通常具有多個(gè)版本,而且每個(gè)版本具有特定的特征和不同的已知漏洞。因此,上文所提及的已知網(wǎng)絡(luò)應(yīng)用還可以包括其版本信息,即可以將不同版本的網(wǎng)絡(luò)應(yīng)用看成是不同的網(wǎng)絡(luò)應(yīng)用。為此,可以將版本號(hào)與網(wǎng)絡(luò)應(yīng)用特征、網(wǎng)絡(luò)應(yīng)用漏洞等相關(guān)聯(lián)地存儲(chǔ)在已知網(wǎng)絡(luò)應(yīng)用特征存儲(chǔ)裝置150中。圖2示意性地示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)站掃描設(shè)備100中的網(wǎng)絡(luò)應(yīng)用識(shí)別裝置140。如圖2所示,網(wǎng)絡(luò)應(yīng)用識(shí)別裝置140包括規(guī)則生成部件141、規(guī)則匹配引擎143 以及結(jié)果輸出部件145。規(guī)則生成部件141根據(jù)已知網(wǎng)絡(luò)應(yīng)用的特征生成規(guī)則集147。根據(jù)本發(fā)明的一個(gè)實(shí)施例,已知網(wǎng)絡(luò)應(yīng)用的特征可以存儲(chǔ)在已知網(wǎng)絡(luò)應(yīng)用特征存儲(chǔ)裝置150中,規(guī)則生成部件141可以從已知網(wǎng)絡(luò)應(yīng)用特征存儲(chǔ)裝置150中獲取各種已知網(wǎng)絡(luò)應(yīng)用的特征并據(jù)此生成規(guī)則集147。根據(jù)本發(fā)明的一個(gè)實(shí)施例,一個(gè)已知網(wǎng)絡(luò)應(yīng)用可以至少具有如下特征之1、某個(gè)特定頁(yè)面以及該特定頁(yè)面中的特定標(biāo)識(shí),很多網(wǎng)絡(luò)應(yīng)用會(huì)在某些特定頁(yè)面中嵌入特定的標(biāo)識(shí),例如Discuz !論壇網(wǎng)絡(luò)應(yīng)用中的頁(yè)面index, php會(huì)包括下列特定字符串<meta name = “ author“ content = “ Discuz ! Team and Comsenz UITeam“ />2、某個(gè)特定頁(yè)面以及該特定頁(yè)面的全部?jī)?nèi)容,很多已知網(wǎng)絡(luò)應(yīng)用包含一些固定的文件,如.css,. js, . ini等文件,因此這些文件的整體內(nèi)容可以作為網(wǎng)絡(luò)應(yīng)用的識(shí)別標(biāo)志。 根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以根據(jù)這些固定文件的整體內(nèi)容的MD5值來(lái)確定網(wǎng)絡(luò)應(yīng)用。 例如已知網(wǎng)絡(luò)應(yīng)用joomla版本1. 5. 15的固件文件/language/en-GB/en-GB. ini的MD5值為 449d7bb356fcefal343d72d203297438。3,HTTP響應(yīng)字段某些已知網(wǎng)絡(luò)應(yīng)用程序的響應(yīng)頭是其特有的,如set-cookie響應(yīng)字段中的值,因此可以將該特有的響應(yīng)字段作為標(biāo)識(shí)網(wǎng)絡(luò)應(yīng)用的一種方式。4、特定鏈接某些已知網(wǎng)絡(luò)應(yīng)用中必須存在特定的網(wǎng)絡(luò)鏈接(URL),因此可以根據(jù)是否存在特定鏈接來(lái)標(biāo)識(shí)特定網(wǎng)絡(luò)應(yīng)用。
5、robots, txt,一些網(wǎng)站的robots, txt文件中會(huì)設(shè)置一些關(guān)于網(wǎng)站所使用的網(wǎng)絡(luò)應(yīng)用的信息,因此也可以根據(jù)該文件的內(nèi)容來(lái)獲得一些網(wǎng)絡(luò)應(yīng)用的信息。根據(jù)本發(fā)明的一個(gè)實(shí)施例,已知網(wǎng)絡(luò)應(yīng)用的特征可以XML格式存儲(chǔ)在已知網(wǎng)絡(luò)應(yīng)用特征存儲(chǔ)裝置150中。圖3示出了適用于phpnuke網(wǎng)絡(luò)應(yīng)用的XML文件,從該文件中可以看出,針對(duì)Phpnuk網(wǎng)絡(luò)應(yīng)用,存在三個(gè)子規(guī)則,具體為第一個(gè)子規(guī)則為在特定網(wǎng)絡(luò)頁(yè)面index, php中存在特定內(nèi)容,即與heta name =‘‘generator ‘‘ content = ‘‘ (PHP-Nuke.氺 |. *http //phpnuke. org) 〃 > 以及 <META NAME = “ RATING “ CONTENT = “ GENERAL “ >相匹配的特定內(nèi)容,應(yīng)當(dāng)注意的是,其中“(PHP-Nuke. * I. *Http //phpnuke. org)“為利用本領(lǐng)域常用的正則表達(dá)式所編寫(xiě)的特定內(nèi)容匹配項(xiàng),本領(lǐng)域技術(shù)人員可以根據(jù)正則表達(dá)式的特征找出與之相匹配的特定內(nèi)容。第二個(gè)子規(guī)則為在特定網(wǎng)絡(luò)頁(yè)面user, php中存在特定內(nèi)容,即與heta name =‘‘generator “ content = ‘‘ (PHP-Nuke.氺 |. *http //phpnuke. org)‘‘ > 才目匹配的特定內(nèi)容,同樣該子規(guī)則中也利用了正則表達(dá)式。第三個(gè)子規(guī)則為存在某個(gè)特定頁(yè)面themes/Freezebeta/style/style. ess以及該特定頁(yè)面的全部?jī)?nèi)容,其中該頁(yè)面的全部?jī)?nèi)容的MD5值為41fecd8969608^ada364d508e 7c8ae9。此外,還可以通過(guò)特定網(wǎng)絡(luò)頁(yè)面index, php中的‘‘〈METANAME ="GENERATOR" CONTENT = “ PHP-Nuke []*( ? P<version>\d+\. \d+) · * 〃 >”來(lái)確定該網(wǎng)絡(luò)應(yīng)用的版本。應(yīng)當(dāng)注意的是,雖然上面給出了有關(guān)網(wǎng)絡(luò)應(yīng)用特征的一些特定示例,但是已知網(wǎng)絡(luò)應(yīng)用的特征并不局限于此,本領(lǐng)域技術(shù)人員可以根據(jù)本發(fā)明所給出的啟示很容易想到其他的網(wǎng)絡(luò)應(yīng)用特征。根據(jù)本發(fā)明的一個(gè)實(shí)施例,每個(gè)網(wǎng)絡(luò)應(yīng)用具有一個(gè)或者多個(gè)網(wǎng)絡(luò)應(yīng)用特征,因此規(guī)則集147具有對(duì)應(yīng)的結(jié)構(gòu),即規(guī)則集147包括與每個(gè)網(wǎng)絡(luò)應(yīng)用相對(duì)應(yīng)的規(guī)則148” 14 ,... 148 等,而每個(gè)規(guī)則1481; 1482,... 148n具有一個(gè)或者多個(gè)與該網(wǎng)絡(luò)應(yīng)用的網(wǎng)絡(luò)應(yīng)用特征相對(duì)應(yīng)的子規(guī)則1491; 1492,. . . 149ffl等。規(guī)則匹配引擎143獲取待處理的鏈接及與該鏈接相對(duì)應(yīng)的網(wǎng)絡(luò)內(nèi)容,提取該待處理鏈接及鏈接內(nèi)容中的特征,隨后參考規(guī)則集147,并判斷所提取的待處理鏈接及鏈接內(nèi)容中的特征是否與規(guī)則集中的某個(gè)規(guī)則相匹配。當(dāng)某個(gè)規(guī)則中的所有子規(guī)則都被匹配了時(shí), 則認(rèn)為該規(guī)則被匹配了,并確定該鏈接屬于與該規(guī)則相對(duì)應(yīng)的網(wǎng)絡(luò)應(yīng)用,即目標(biāo)網(wǎng)站中存在該網(wǎng)絡(luò)應(yīng)用。相反,如果確定待處理鏈接未與規(guī)則集117中的任何規(guī)則相匹配,則認(rèn)為待處理鏈接不屬于任何已知網(wǎng)絡(luò)應(yīng)用。隨后,經(jīng)由結(jié)果輸出部件145輸出匹配結(jié)果。應(yīng)當(dāng)注意的是,如上所述,一個(gè)已知網(wǎng)絡(luò)應(yīng)用可以具有多個(gè)子規(guī)則,而且各個(gè)子規(guī)則可能涉及不同的鏈接(即網(wǎng)絡(luò)頁(yè)面),因此,在規(guī)則匹配引擎143判斷所提取的待處理鏈接及鏈接內(nèi)容中的特征是否與規(guī)則集中的某個(gè)規(guī)則相匹配時(shí),爬蟲(chóng)裝置120獲取鏈接,規(guī)則匹配引擎143對(duì)爬蟲(chóng)裝置120獲取的鏈接進(jìn)行子規(guī)則的匹配時(shí),如果待處理鏈接與某個(gè)規(guī)則中的所有子規(guī)則全部匹配成功,則認(rèn)為待處理鏈接屬于與該規(guī)則相對(duì)應(yīng)的已知網(wǎng)絡(luò)應(yīng)用。例如,參考圖3的示例,當(dāng)規(guī)則匹配引擎143中存在phpnuke的規(guī)則時(shí),爬蟲(chóng)裝置120獲取到鏈接index, php及其內(nèi)容時(shí),規(guī)則匹配引擎143判斷index, php是否與第一個(gè)子規(guī)則相匹配,若index, php中存在特定內(nèi)容<meta name = “ generator" content =〃(PHP-Nuke. * I · *http//phpnuke. org) 〃 > 以及 <META NAME = " RATING" CONTENT ="GENERAL" >,則第一個(gè)子規(guī)則匹配成功。爬蟲(chóng)裝置120獲取到鏈接user, php及其內(nèi)容時(shí),規(guī)則匹配引擎143判斷user, php及其內(nèi)容是否與第二個(gè)子規(guī)則匹配,若user, php中存在特定內(nèi)容<metaname = ‘‘ generator ‘‘ content = ‘‘ (PHP-Nuke.氺 | · *http //phpnuke. org)“ >,則第二個(gè)子規(guī)則匹配成功。爬蟲(chóng)裝置120獲取到鏈接themes/Freezebeta/ style/style, ess時(shí),規(guī)則匹配引擎143判斷是否與第三個(gè)規(guī)則相匹配,若其MD5值為41 cd8969608^ada364d508e7c8ae9,則第三個(gè)規(guī)則匹配成功。當(dāng)然只要有一個(gè)子規(guī)則不匹配, 則規(guī)則匹配引擎143確定待處理鏈接不屬于某個(gè)已知網(wǎng)絡(luò)應(yīng)用??蛇x地,規(guī)則匹配引擎143在確定待處理鏈接屬于已知網(wǎng)絡(luò)應(yīng)用時(shí),將所識(shí)別出的已知網(wǎng)絡(luò)應(yīng)用以及該已知網(wǎng)絡(luò)應(yīng)用在目標(biāo)網(wǎng)站上的目錄位置(可以根據(jù)待處理鏈接以及已知網(wǎng)絡(luò)應(yīng)用的目錄結(jié)構(gòu)而確定出)存儲(chǔ)到到已識(shí)別網(wǎng)絡(luò)應(yīng)用存儲(chǔ)裝置180中,以便以后可以由策略分析裝置110使用來(lái)判斷鏈接是否屬于已識(shí)別的已知網(wǎng)絡(luò)應(yīng)用。根據(jù)本發(fā)明的網(wǎng)站掃描設(shè)備100通過(guò)在對(duì)目標(biāo)網(wǎng)站上的文件(即鏈接)進(jìn)行掃描之前判斷該文件是否屬于已知網(wǎng)絡(luò)應(yīng)用,并且僅僅針對(duì)不屬于已知網(wǎng)絡(luò)應(yīng)用的文件進(jìn)行全面掃描,而針對(duì)網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用,網(wǎng)站掃描設(shè)備100根據(jù)目前已知的已知網(wǎng)絡(luò)應(yīng)用的漏洞進(jìn)行檢查而不進(jìn)行全面檢查,從而減少了進(jìn)行全面掃描的次數(shù),從而大大增加了網(wǎng)站掃描設(shè)備100的效率。圖4示出了根據(jù)本發(fā)明實(shí)施例的網(wǎng)絡(luò)掃描方法400的流程圖,該方法可以在如上所述的網(wǎng)站掃描設(shè)備100中執(zhí)行。如圖4所示,網(wǎng)絡(luò)掃描方法400開(kāi)始于步驟S410,其中獲取待處理鏈接??蛇x地,可以事先將待處理鏈接存儲(chǔ)在網(wǎng)絡(luò)鏈接存儲(chǔ)裝置130的待處理鏈接列表中,并從待處理鏈接列表中獲取一個(gè)待處理鏈接進(jìn)行處理。隨后,在步驟S420中,基于目標(biāo)網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用列表,判斷該待處理鏈接是否屬于某個(gè)已知網(wǎng)絡(luò)應(yīng)用。 如上所述,可以通過(guò)比較待處理鏈接的地址和目標(biāo)網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用的文件目錄結(jié)構(gòu),可以判斷出待處理鏈接是否屬于某個(gè)已知網(wǎng)絡(luò)應(yīng)用。如果待處理鏈接屬于某個(gè)已知網(wǎng)絡(luò)應(yīng)用,則不再對(duì)該待處理鏈接進(jìn)行處理,并且繼續(xù)到步驟S430以確定待處理鏈接列表中是否有還要處理的待處理鏈接。如果待處理鏈接不屬于目標(biāo)網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用,則方法進(jìn)入步驟S450。步驟S420中的處理可以由網(wǎng)站掃描設(shè)備100的策略分析裝置 110執(zhí)行。在步驟S450處,由爬蟲(chóng)裝置獲取與待處理鏈接相對(duì)應(yīng)的網(wǎng)絡(luò)內(nèi)容,對(duì)所獲取的網(wǎng)絡(luò)內(nèi)容進(jìn)行分析,提取其中所包含的進(jìn)一步鏈接,并且可以將這些鏈接作為下一步要處理的鏈接而添加到待處理鏈接列表中。此外,如上所述,在步驟S450中還可以獲取與所獲取的網(wǎng)絡(luò)內(nèi)容相關(guān)的進(jìn)一步網(wǎng)絡(luò)內(nèi)容。隨后,在步驟S460處,參考已知網(wǎng)絡(luò)應(yīng)用特征來(lái)對(duì)待處理的鏈接以及該鏈接的網(wǎng)絡(luò)內(nèi)容(可選地,還包括與該網(wǎng)絡(luò)內(nèi)容相關(guān)聯(lián)的內(nèi)容)進(jìn)行分析以判斷該待處理鏈接是否屬于已知網(wǎng)絡(luò)應(yīng)用,即目標(biāo)網(wǎng)站中是否存在該已知網(wǎng)絡(luò)應(yīng)用。在下文中將參考圖5進(jìn)一步描述步驟S460中的處理。如果該待處理鏈接不屬于任何已知網(wǎng)絡(luò)應(yīng)用,則在步驟S470處, 對(duì)該待處理鏈接及其網(wǎng)絡(luò)內(nèi)容進(jìn)行全面的漏洞掃描。如果在步驟S460處確定該待處理鏈接屬于已知網(wǎng)絡(luò)應(yīng)用,即目標(biāo)網(wǎng)站中存在該已知網(wǎng)絡(luò)應(yīng)用,則在步驟S480處存儲(chǔ)所識(shí)別出的已知網(wǎng)絡(luò)應(yīng)用及其相關(guān)信息(如URL等),以便可以在以后判斷待處理鏈接是否屬于目標(biāo)網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用時(shí)使用。應(yīng)當(dāng)注意的是,在步驟S460中分析待處理鏈接以判斷目標(biāo)網(wǎng)站中是否存在已知網(wǎng)絡(luò)應(yīng)用時(shí),還可能需要由爬蟲(chóng)裝置獲取一些進(jìn)一步的鏈接及其內(nèi)容,以便于準(zhǔn)確判斷目標(biāo)網(wǎng)站中是否存在該已知網(wǎng)絡(luò)應(yīng)用。隨后在步驟S490中根據(jù)所識(shí)別出的已知網(wǎng)絡(luò)應(yīng)用的已知漏洞來(lái)對(duì)目標(biāo)網(wǎng)站的該已知網(wǎng)絡(luò)應(yīng)用進(jìn)行漏洞掃描,以確定該目標(biāo)網(wǎng)站的已知網(wǎng)絡(luò)應(yīng)用是否已經(jīng)針對(duì)已知漏洞進(jìn)行了修復(fù)。隨后,在步驟S430確定還有鏈接要處理時(shí),在步驟S440處,從待處理鏈接列表中獲取下一個(gè)待處理鏈接,并且返回到步驟S420進(jìn)行重復(fù)處理。如果在步驟S430處確定沒(méi)有鏈接要處理時(shí),則結(jié)束方法400。圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)掃描方法400中的步驟S460,即判斷鏈接是否屬于已知網(wǎng)絡(luò)應(yīng)用的方法的具體流程圖。如圖5所示,該方法始于步驟S510,其中對(duì)規(guī)則集進(jìn)行初始化,即根據(jù)已知網(wǎng)絡(luò)應(yīng)用特征(根據(jù)本發(fā)明的實(shí)施例,這些已知網(wǎng)絡(luò)應(yīng)用特征可以事先以某種格式(例如XML文件格式)存儲(chǔ)在已知網(wǎng)絡(luò)應(yīng)用特征存儲(chǔ)裝置150) 來(lái)生成規(guī)則集。規(guī)則集具有如上所述的格式。可選地,可以在進(jìn)行圖5所示的處理之前就完成對(duì)規(guī)則集的初始化而不必每次對(duì)鏈接進(jìn)行判斷時(shí)均進(jìn)行初始化處理。隨后,在步驟S520中獲取規(guī)則集中的第一個(gè)規(guī)則作為當(dāng)前規(guī)則,并且在步驟S530 中獲取當(dāng)前規(guī)則中與待處理鏈接及其內(nèi)容相關(guān)的第一個(gè)子規(guī)則作為當(dāng)前子規(guī)則。在步驟 S540中判斷待處理鏈接及其相關(guān)網(wǎng)絡(luò)內(nèi)容是否與當(dāng)前子規(guī)則相匹配。上文結(jié)合圖2的描述中已經(jīng)給出了有關(guān)已知網(wǎng)絡(luò)特征以及規(guī)則和子規(guī)則的具體內(nèi)容,這里不再進(jìn)行贅述。當(dāng)在步驟S540處確定未匹配時(shí),在步驟S550處確定規(guī)則集中是否還有未進(jìn)行匹配的規(guī)則。如果在步驟S550處確定沒(méi)有未進(jìn)行匹配的規(guī)則,則在步驟S560輸出待處理鏈接不屬于已知網(wǎng)絡(luò)應(yīng)用的結(jié)果并結(jié)束該方法;相反,如果在步驟S550處確定還有未進(jìn)行匹配的規(guī)則,則在步驟S570處獲取規(guī)則集中的下一個(gè)規(guī)則作為當(dāng)前規(guī)則,并返回到步驟S530 進(jìn)行下一步處理。當(dāng)在步驟S540處確定待處理鏈接及其相關(guān)網(wǎng)絡(luò)內(nèi)容與當(dāng)前子規(guī)則相匹配時(shí),則在步驟S580中確定當(dāng)前規(guī)則中是否還有其他子規(guī)則。如果在步驟S580確定還有未進(jìn)行匹配的子規(guī)則,則在步驟S590獲取下一個(gè)子規(guī)則作為當(dāng)前子規(guī)則,并返回到步驟S540進(jìn)行子規(guī)則匹配。應(yīng)當(dāng)注意的是,如上所述,一個(gè)已知網(wǎng)絡(luò)應(yīng)用可以具有多個(gè)子規(guī)則,而且各個(gè)子規(guī)則可能涉及不同的鏈接,因此,在步驟S590所獲取的下一個(gè)子規(guī)則可能涉及其它鏈接, 基于此,步驟S590還包括獲取與該當(dāng)前子規(guī)則相關(guān)聯(lián)的鏈接及其內(nèi)容的步驟。相反,如果在步驟S580確定當(dāng)前規(guī)則中的所有子規(guī)則均與待處理鏈接及其相關(guān)內(nèi)容匹配時(shí),則確定待處理鏈接屬于與當(dāng)前規(guī)則相對(duì)應(yīng)的已知網(wǎng)絡(luò)應(yīng)用,并在步驟S595輸出該已知網(wǎng)絡(luò)應(yīng)用??蛇x地,在步驟S595還可以輸出該已知網(wǎng)絡(luò)應(yīng)用在目標(biāo)網(wǎng)站上的位置 (例如,相對(duì)于目標(biāo)網(wǎng)站根目錄的文件位置),以便由上述步驟S420以后使用來(lái)確定待處理鏈接是否屬于目標(biāo)網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用。應(yīng)當(dāng)注意的是,在本發(fā)明的網(wǎng)站掃描設(shè)備100的各個(gè)部件中,根據(jù)其要實(shí)現(xiàn)的功能而對(duì)其中的部件進(jìn)行了邏輯劃分,但是,本發(fā)明不受限于此,可以根據(jù)需要對(duì)各個(gè)部件進(jìn)行重新劃分或者組合,例如,可以將一些部件組合為單個(gè)部件,或者可以將一些部件進(jìn)一步分解為更多的子部件。本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的網(wǎng)站掃描設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中, 不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱(chēng)。
1權(quán)利要求
1.一種網(wǎng)站掃描設(shè)備,包括策略分析裝置,判斷網(wǎng)站中的鏈接是否屬于網(wǎng)站中的已識(shí)別的網(wǎng)絡(luò)應(yīng)用,如果所述鏈接屬于已識(shí)別的網(wǎng)絡(luò)應(yīng)用,則不對(duì)上述鏈接進(jìn)行漏洞掃描;爬蟲(chóng)裝置,獲取所述鏈接所指向的鏈接內(nèi)容;網(wǎng)絡(luò)應(yīng)用識(shí)別裝置,基于所述鏈接及鏈接內(nèi)容來(lái)判斷所述鏈接是否屬于已知網(wǎng)絡(luò)應(yīng)用,并在所述鏈接屬于所述已知網(wǎng)絡(luò)應(yīng)用時(shí),將所述已知網(wǎng)絡(luò)應(yīng)用確定為所述網(wǎng)站中的已識(shí)別網(wǎng)絡(luò)應(yīng)用;全面掃描裝置,接收被所述網(wǎng)絡(luò)應(yīng)用識(shí)別裝置判斷為不屬于已知網(wǎng)絡(luò)應(yīng)用的鏈接,并對(duì)所述鏈接進(jìn)行全面的漏洞掃描;以及已知網(wǎng)絡(luò)應(yīng)用漏洞檢測(cè)裝置,接收所述網(wǎng)絡(luò)應(yīng)用識(shí)別裝置確定的已識(shí)別網(wǎng)絡(luò)應(yīng)用,根據(jù)所述已識(shí)別網(wǎng)絡(luò)應(yīng)用的已知漏洞對(duì)所述網(wǎng)站進(jìn)行漏洞檢測(cè),以確定所述網(wǎng)站是否存在所述已識(shí)別網(wǎng)絡(luò)應(yīng)用的已知漏洞。
2.如權(quán)利要求1所述的網(wǎng)站掃描設(shè)備,還包括網(wǎng)站鏈接存儲(chǔ)裝置,用于存儲(chǔ)所述網(wǎng)站中的一個(gè)或者多個(gè)鏈接,其中所述爬蟲(chóng)裝置還用于對(duì)所獲取的鏈接內(nèi)容進(jìn)行分析以提取所述鏈接內(nèi)容包括的一個(gè)或者多個(gè)鏈接,并將所提取的一個(gè)或者多個(gè)鏈接放入到所述網(wǎng)站鏈接存儲(chǔ)裝置中,以及所述策略分析裝置為所述網(wǎng)站鏈接存儲(chǔ)裝置中的每個(gè)鏈接進(jìn)行判斷。
3.如權(quán)利要求1所述的網(wǎng)站掃描設(shè)備,還包括已識(shí)別網(wǎng)絡(luò)應(yīng)用存儲(chǔ)裝置,用于存儲(chǔ)所述網(wǎng)站中的一個(gè)或者多個(gè)已識(shí)別網(wǎng)絡(luò)應(yīng)用。
4.如權(quán)利要求1所述的網(wǎng)站掃描設(shè)備,還包括已知網(wǎng)絡(luò)應(yīng)用特征存儲(chǔ)裝置,用于存儲(chǔ)已知網(wǎng)絡(luò)應(yīng)用的特征以及與所述已知網(wǎng)絡(luò)應(yīng)用相關(guān)聯(lián)的一個(gè)或者多個(gè)已知漏洞。
5.如權(quán)利要求1-4中的任一個(gè)所述的網(wǎng)站掃描設(shè)備,其中所述網(wǎng)絡(luò)應(yīng)用識(shí)別裝置還包括規(guī)則生成部件,用于根據(jù)已知網(wǎng)絡(luò)應(yīng)用的特征生成規(guī)則集合;規(guī)則匹配引擎,用于獲取所述鏈接及鏈接內(nèi)容,提取所述鏈接及鏈接內(nèi)容的特征,根據(jù)所述鏈接及鏈接內(nèi)容的特征來(lái)判斷所述規(guī)則集合中的規(guī)則之一是否被匹配了,將與所述匹配規(guī)則相對(duì)應(yīng)的已知網(wǎng)絡(luò)應(yīng)用確定為是所述鏈接所屬的已知網(wǎng)絡(luò)應(yīng)用。
6.如權(quán)利要求5所述的網(wǎng)站掃描設(shè)備,其中所述規(guī)則集合中的每個(gè)規(guī)則與每個(gè)已知網(wǎng)絡(luò)應(yīng)用相對(duì)應(yīng),每個(gè)規(guī)則具有一個(gè)或者多個(gè)子規(guī)則,每個(gè)子規(guī)則與相應(yīng)已知網(wǎng)絡(luò)應(yīng)用的一個(gè)特征相對(duì)應(yīng),以及其中只有某個(gè)規(guī)則中的全部子規(guī)則都被匹配時(shí)了,才斷定所述規(guī)則被匹配了。
7.如權(quán)利要求6所述的網(wǎng)站掃描設(shè)備,其中每個(gè)規(guī)則中的子規(guī)則與鏈接相關(guān)聯(lián),所述規(guī)則匹配引擎在確定所述鏈接及鏈接內(nèi)容的特征與某個(gè)規(guī)則的子規(guī)則相匹配時(shí), 由所述爬蟲(chóng)裝置獲取與該規(guī)則的其它子規(guī)則相關(guān)聯(lián)的進(jìn)一步鏈接及其內(nèi)容,并在所述進(jìn)一步鏈接及其內(nèi)容與該規(guī)則中的其它子規(guī)則都匹配了時(shí),才斷定所述規(guī)則被匹配了。
8.如權(quán)利要求5所述的網(wǎng)站掃描設(shè)備,其中所述已知網(wǎng)絡(luò)應(yīng)用的特征包括下列特征中的一個(gè)或者多個(gè)特定頁(yè)面及所述特定頁(yè)面中的特定標(biāo)識(shí);特定頁(yè)面及所述特定頁(yè)面的全部?jī)?nèi)容; HTTP響應(yīng)字段;以及特定鏈接。
9.如權(quán)利要求1-8中的任一個(gè)所述的網(wǎng)站掃描設(shè)備,其中所述網(wǎng)絡(luò)應(yīng)用識(shí)別裝置所識(shí)別出的已識(shí)別網(wǎng)絡(luò)應(yīng)用還包括所述已識(shí)別網(wǎng)絡(luò)應(yīng)用的版本,而且所述已知網(wǎng)絡(luò)應(yīng)用特征存儲(chǔ)裝置還與所述已知網(wǎng)絡(luò)應(yīng)用的版本相關(guān)聯(lián)地存儲(chǔ)已知網(wǎng)絡(luò)應(yīng)用的特征以及一個(gè)或者多個(gè)已知漏洞。
10.一種網(wǎng)站掃描方法,包括步驟由策略分析裝置來(lái)判斷網(wǎng)站中的鏈接是否屬于網(wǎng)站中的已識(shí)別的網(wǎng)絡(luò)應(yīng)用; 如果所述鏈接屬于已識(shí)別的網(wǎng)絡(luò)應(yīng)用,則不對(duì)所述鏈接進(jìn)行漏洞掃描,如果所述鏈接不屬于已識(shí)別的網(wǎng)絡(luò)應(yīng)用,則由爬蟲(chóng)裝置來(lái)獲取所述鏈接指向的鏈接內(nèi)容;由網(wǎng)絡(luò)應(yīng)用識(shí)別裝置基于所述鏈接及鏈接內(nèi)容來(lái)判斷所述鏈接是否屬于已知網(wǎng)絡(luò)應(yīng)用;如果所述鏈接屬于已知網(wǎng)絡(luò)應(yīng)用,則將所述已知網(wǎng)絡(luò)應(yīng)用確定為所述網(wǎng)站中的已識(shí)別網(wǎng)絡(luò)應(yīng)用,并且由已知網(wǎng)絡(luò)應(yīng)用漏洞檢測(cè)裝置根據(jù)所述已識(shí)別網(wǎng)絡(luò)應(yīng)用的已知漏洞對(duì)所述網(wǎng)站進(jìn)行漏洞檢測(cè),以確定所述網(wǎng)站是否存在所述已識(shí)別網(wǎng)絡(luò)應(yīng)用的已知漏洞;如果所述鏈接不屬于已知網(wǎng)絡(luò)應(yīng)用,則由全面掃描裝置對(duì)所述鏈接進(jìn)行全面的漏洞掃描。
11.如權(quán)利要求10所述的網(wǎng)站掃描方法,還包括步驟由爬蟲(chóng)裝置獲取所述網(wǎng)站中的一個(gè)或者多個(gè)鏈接,其中所述策略分析裝置為所述一個(gè)或者多個(gè)鏈接中的每個(gè)鏈接進(jìn)行判斷。
12.如權(quán)利要求10或者11所述的網(wǎng)站掃描方法,其中所述判斷所述鏈接是否屬于已知網(wǎng)絡(luò)應(yīng)用的步驟包括根據(jù)一個(gè)或者多個(gè)已知網(wǎng)絡(luò)應(yīng)用中的每個(gè)已知網(wǎng)絡(luò)應(yīng)用的特征生成規(guī)則集合; 提取所述鏈接及鏈接內(nèi)容的特征,并判斷所述鏈接及鏈接內(nèi)容的特征是否與所述規(guī)則集合中的規(guī)則之一相匹配;以及如果相匹配,則將與所述匹配規(guī)則相對(duì)應(yīng)的已知網(wǎng)絡(luò)應(yīng)用確定為是所述鏈接所屬的已知網(wǎng)絡(luò)應(yīng)用。
13.如權(quán)利要求12所述的網(wǎng)站掃描方法,其中所述規(guī)則集合中的每個(gè)規(guī)則與每個(gè)已知網(wǎng)絡(luò)應(yīng)用相對(duì)應(yīng),每個(gè)規(guī)則具有一個(gè)或者多個(gè)子規(guī)則,每個(gè)子規(guī)則與相應(yīng)已知網(wǎng)絡(luò)應(yīng)用的一個(gè)特征相對(duì)應(yīng),以及其中只有某個(gè)規(guī)則中的全部子規(guī)則都被匹配了時(shí),才斷定所述鏈接及鏈接內(nèi)容的特征與所述規(guī)則相匹配。
14.如權(quán)利要求13所述的網(wǎng)站掃描方法,其中所述判斷所述鏈接及鏈接內(nèi)容的特征是否與所述規(guī)則集合中的規(guī)則之一相匹配的步驟還包括在確定一個(gè)規(guī)則中的一個(gè)或者多個(gè)子規(guī)則與所述鏈接及鏈接內(nèi)容的特征相匹配以及該規(guī)則還具有與其它鏈接相關(guān)聯(lián)的子規(guī)則時(shí) 獲取所述其它鏈接及其內(nèi)容;以及判斷所述其它鏈接及其內(nèi)容是否與所述規(guī)則中的其它子規(guī)則相匹配。
15.如權(quán)利要求12所述的網(wǎng)站掃描方法,其中所述已知網(wǎng)絡(luò)應(yīng)用的特征包括下列特征中的一個(gè)或者多個(gè)特定頁(yè)面及所述特定頁(yè)面中的特定標(biāo)識(shí); 特定頁(yè)面及所述特定頁(yè)面的全部?jī)?nèi)容; HTTP響應(yīng)字段;以及特定鏈接。
16.如權(quán)利要求10-15中的任一個(gè)所述的網(wǎng)站掃描方法,其中所述已識(shí)別的網(wǎng)絡(luò)應(yīng)用還包括所述已識(shí)別的網(wǎng)絡(luò)應(yīng)用的版本,而且所述已知網(wǎng)絡(luò)應(yīng)用的特征以及一個(gè)或者多個(gè)已知漏洞與所述已知網(wǎng)絡(luò)應(yīng)用的版本相關(guān)聯(lián)。
全文摘要
本發(fā)明公開(kāi)了一種網(wǎng)站掃描設(shè)備,包括策略分析裝置,判斷目標(biāo)網(wǎng)站中的鏈接是否屬于目標(biāo)網(wǎng)站所采用的已知網(wǎng)絡(luò)應(yīng)用,如果所述鏈接屬于已識(shí)別的網(wǎng)絡(luò)應(yīng)用,則不對(duì)上述鏈接進(jìn)行漏洞掃描;爬蟲(chóng)裝置,獲取所述鏈接所指向的鏈接內(nèi)容;網(wǎng)絡(luò)應(yīng)用識(shí)別裝置,判斷所述鏈接是否屬于已知網(wǎng)絡(luò)應(yīng)用;全面掃描裝置,對(duì)判斷為不屬于已知網(wǎng)絡(luò)應(yīng)用的鏈接進(jìn)行全面的漏洞掃描;以及已知網(wǎng)絡(luò)應(yīng)用漏洞檢測(cè)裝置,針對(duì)所確定的已識(shí)別網(wǎng)絡(luò)應(yīng)用,根據(jù)已識(shí)別網(wǎng)絡(luò)應(yīng)用的已知漏洞對(duì)網(wǎng)站進(jìn)行漏洞檢測(cè),以確定所述網(wǎng)站是否存在所述已識(shí)別網(wǎng)絡(luò)應(yīng)用的已知漏洞。本發(fā)明還公開(kāi)了一種在該網(wǎng)站掃描設(shè)備中采用的網(wǎng)站掃描方法。
文檔編號(hào)H04L29/06GK102404281SQ201010278838
公開(kāi)日2012年4月4日 申請(qǐng)日期2010年9月9日 優(yōu)先權(quán)日2010年9月9日
發(fā)明者劉光緒, 盧小海, 盧梁, 呂明, 周大, 曾菁菁, 李鈉, 王曉明, 蔣輝 申請(qǐng)人:北京神州綠盟信息安全科技股份有限公司