專利名稱:網(wǎng)站安全檢測系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)網(wǎng)絡(luò)安全,尤其涉及一種網(wǎng)站安全檢測系統(tǒng)。
背景技術(shù):
漏洞是指計算機(jī)系統(tǒng)存在的弱點或缺陷。漏洞可能來自應(yīng)用軟件或操作系統(tǒng)設(shè)計時的缺陷或編碼時產(chǎn)生的錯誤,也可能來自業(yè)務(wù)在交互處理過程中的設(shè)計缺陷或邏輯流程上的不合理之處。這些缺陷、錯誤或不合理之處可能被有意或無意地利用,從而對一個組織的資產(chǎn)或運(yùn)行造成不利影響,如信息系統(tǒng)被攻擊或控制,重要資料被竊取,用戶數(shù)據(jù)被篡改,系統(tǒng)被作為入侵其他主機(jī)系統(tǒng)的跳板。從目前發(fā)現(xiàn)的漏洞來看,應(yīng)用軟件中的漏洞遠(yuǎn)遠(yuǎn)多于操作系統(tǒng)中的漏洞,特別是WEB應(yīng)用系統(tǒng)中的漏洞更是占信息系統(tǒng)漏洞中的絕大多 數(shù)。漏洞發(fā)現(xiàn)是攻擊者與防護(hù)者雙方對抗的關(guān)鍵過程,防護(hù)者如果不能早于攻擊者發(fā)現(xiàn)可被利用的漏洞,攻擊者就有可能利用漏洞發(fā)起攻擊。越早發(fā)現(xiàn)并修復(fù)漏洞,信息安全事件發(fā)生的可能性就越小。專業(yè)漏洞掃描系統(tǒng)是發(fā)現(xiàn)漏洞的一種重要手段,它能自動發(fā)現(xiàn)遠(yuǎn)程服務(wù)器端口分配,判斷所提供的服務(wù),并檢測遠(yuǎn)程或本地主機(jī)安全弱點。發(fā)現(xiàn)漏洞后,還要進(jìn)一步通過自動或手動的漏洞驗證來檢驗漏洞掃描結(jié)果的準(zhǔn)確性。信息系統(tǒng)的運(yùn)行維護(hù)人員應(yīng)定期進(jìn)行漏洞掃描,及時發(fā)現(xiàn)并快速修復(fù)漏洞。在傳統(tǒng)的網(wǎng)站漏洞掃描產(chǎn)品中,只會針對已經(jīng)存在的頁面進(jìn)行漏洞測試,并且在發(fā)現(xiàn)漏洞后,缺少必要的漏洞驗證機(jī)制,導(dǎo)致誤報很高。
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明,以便提供一種克服上述問題或者至少部分地解決上述問題的網(wǎng)站安全檢測系統(tǒng)。依據(jù)本發(fā)明,提供了一種網(wǎng)站安全檢測系統(tǒng),其包括網(wǎng)站安全檢測設(shè)備、一個或者多個網(wǎng)站服務(wù)器和網(wǎng)絡(luò)爬蟲設(shè)備,其中,所述網(wǎng)站安全檢測設(shè)備,適于從所述網(wǎng)絡(luò)爬蟲設(shè)備接收網(wǎng)址并構(gòu)造與所述網(wǎng)址相關(guān)聯(lián)的檢測網(wǎng)址以利用其來訪問網(wǎng)站,從而判斷所述網(wǎng)址是否存在漏洞;所述一個或者多個網(wǎng)站服務(wù)器,適于響應(yīng)于所述網(wǎng)站安全檢測設(shè)備對網(wǎng)站的訪問,向所述網(wǎng)站安全檢測設(shè)備返回結(jié)果;以及所述網(wǎng)絡(luò)爬蟲設(shè)備,適于從所述一個或者多個網(wǎng)站服務(wù)器抓取網(wǎng)站的網(wǎng)址,并且將所述網(wǎng)址發(fā)送給所述網(wǎng)站安全檢測設(shè)備。可選地,所述網(wǎng)站安全檢測設(shè)備包括網(wǎng)絡(luò)接口,適于接收網(wǎng)址,并利用所接收的網(wǎng)址來訪問網(wǎng)站,以及獲得所述網(wǎng)站的返回結(jié)果。該網(wǎng)站安全檢測設(shè)備還包括網(wǎng)址構(gòu)造器,適于從網(wǎng)絡(luò)接口獲取網(wǎng)站的網(wǎng)址,并根據(jù)該網(wǎng)站的網(wǎng)址來構(gòu)造與該網(wǎng)站相關(guān)聯(lián)的第一檢測網(wǎng)址,以及基于第一檢測網(wǎng)址來構(gòu)造對應(yīng)于第一檢測網(wǎng)址的第二檢測網(wǎng)址,并且將第一檢測網(wǎng)址和第二檢測網(wǎng)址發(fā)送給所述網(wǎng)絡(luò)接口。另外,網(wǎng)站安全檢測設(shè)備還包括漏洞檢測器,適于從網(wǎng)絡(luò)接口接收對應(yīng)于該第一檢測網(wǎng)址的第一返回結(jié)果,基于第一返回結(jié)果來檢測網(wǎng)站是否存在漏洞,在檢測結(jié)果指示所述網(wǎng)站存在漏洞的情況下,從網(wǎng)絡(luò)接口獲取與第二檢測網(wǎng)址相對應(yīng)的第二返回結(jié)果,并基于第二返回結(jié)果驗證所述網(wǎng)站是否存在漏洞??蛇x地,根據(jù)本發(fā)明的實施例的網(wǎng)站安全檢測設(shè)備還可以包括存儲器,適于存儲漏洞庫,漏洞庫中記錄有網(wǎng)址構(gòu)造器用來構(gòu)造第一檢測網(wǎng)址的構(gòu)造規(guī)則、以及預(yù)先定義的漏洞判斷規(guī)則。
本發(fā)明提供了上述網(wǎng)站安全檢測系統(tǒng)。根據(jù)本發(fā)明的實施例,可以基于利用第一檢測網(wǎng)址訪問網(wǎng)站所得到的返回結(jié)果來檢測網(wǎng)站是否存在漏洞,并且基于利用對應(yīng)于第一檢測網(wǎng)址的第二檢測網(wǎng)址訪問網(wǎng)站所得到的返回結(jié)果來驗證該漏洞的真實性,這樣,能夠很好地解決漏洞檢測中普遍存在的誤報率高的問題,極大地降低了誤報率,提高了漏洞檢測的質(zhì)量和效率,有利于及早發(fā)現(xiàn)漏洞,維護(hù)信息安全。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式
。
通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖I是根據(jù)本發(fā)明的實施例的網(wǎng)站安全檢測方法的流程圖;圖2是根據(jù)本發(fā)明的一個實施例的網(wǎng)站安全檢測方法中步驟S108的流程圖;圖3是根據(jù)本發(fā)明的另一個實施例的網(wǎng)站安全檢測方法中步驟S108的流程圖;圖4是根據(jù)本發(fā)明的實施例的網(wǎng)站安全檢測設(shè)備的框圖;以及圖5是根據(jù)本發(fā)明的實施例的網(wǎng)站安全檢測系統(tǒng)的框圖。
具體實施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。圖I示意性地圖示了根據(jù)本發(fā)明的實施例的網(wǎng)站安全檢測方法100的流程圖。如圖I所示,在根據(jù)本發(fā)明的實施例的網(wǎng)站安全檢測方法100中,該方法始于步驟S102,在步驟S102中,根據(jù)網(wǎng)站的網(wǎng)址,構(gòu)造與該網(wǎng)站相關(guān)聯(lián)的第一檢測網(wǎng)址。根據(jù)本發(fā)明的實施例,網(wǎng)址例如可以是URL (Uniform Resource Locator,統(tǒng)一資源定位符),下文中以URL為例進(jìn)行描述,但網(wǎng)址并不僅限于URL,而是可以包括任何標(biāo)識網(wǎng)站地址的方式。根據(jù)本發(fā)明的一個實施例,在執(zhí)行上述步驟S102之前,可以執(zhí)行步驟SlOl :從網(wǎng)站抓取網(wǎng)址??蛇x地,此步驟SlOl可以通過網(wǎng)絡(luò)爬蟲來執(zhí)行,S卩,網(wǎng)絡(luò)爬蟲從網(wǎng)站所在的網(wǎng)站服務(wù)器抓取網(wǎng)址。接下來,在步驟S102中,根據(jù)所抓取的網(wǎng)址,來構(gòu)造與該網(wǎng)站相關(guān)聯(lián)的第一檢測網(wǎng)址。根據(jù)本發(fā)明的實施例,可以在該網(wǎng)站的網(wǎng)址中,添加根據(jù)要測試的漏洞類型或者預(yù)先定義的漏洞判斷規(guī)則確定的字符串,以構(gòu)造第一檢測網(wǎng)址。舉例來說,假設(shè)網(wǎng)絡(luò)爬蟲所抓取的網(wǎng)站URL為http://XXX. com (其中“x”可以是任意字母或數(shù)字),如果要測試的漏洞類型是敏感目錄,則可以構(gòu)造第一檢測網(wǎng)址http://XXX. com/admin/;假設(shè)網(wǎng)絡(luò)爬蟲所抓取的網(wǎng)站URL為http: //webscan. xxx. com/app/,如果要測試的漏洞類型是備份目錄,則可以構(gòu)造第一檢測網(wǎng)址http://webscan. xxx. com/app. bak ;假設(shè)網(wǎng)絡(luò)爬蟲抓取到了文件http://webscan. xxx. com/b. asp,如果要測試的漏洞類型是備份文件,則可以構(gòu)造第一檢測網(wǎng)址http://webscan. xxx. com/b. asp. tar. gz ;如果預(yù)先 定義漏洞判斷規(guī)則是XSS (Cross-Site Scripting,跨站腳本)規(guī)則,則可以在所抓取的URL后面添加字符串“<script>alert (42873)〈/script〉”,在這種情況下,如果所抓取的 URL 為 http: //aaa. com/a. asp a=l,則所構(gòu)造的第一測試網(wǎng)址為http: //aaa. com/a. asp a=l<script>alert (42873) </script〉。本領(lǐng)域技術(shù)人員能夠容易理解,上述構(gòu)造第一檢測網(wǎng)址的方式僅為示例,本發(fā)明的范圍不限于此,還可以采用其他構(gòu)造第一測試網(wǎng)址的方式,例如將SQL (Structured Query Language,結(jié)構(gòu)化查詢語言)注入規(guī)則作為預(yù)先定義的漏洞判斷規(guī)則,來確定要添加的字符串。然后,在步驟S 104中,利用第一檢測網(wǎng)址來訪問該網(wǎng)站,并基于該網(wǎng)站的返回結(jié)果來檢測該網(wǎng)站是否存在漏洞。根據(jù)本發(fā)明的實施例,可以判斷該網(wǎng)站的返回結(jié)果是否符合預(yù)先定義的漏洞判斷規(guī)則,在符合的情況下,指示該網(wǎng)站存在漏洞。該返回結(jié)果可以包括狀態(tài)代碼、頁面內(nèi)容、頁面頭部信息中的一個或者多個。仍以XSS規(guī)則為例進(jìn)行描述,假設(shè)利用上述第一測試網(wǎng)址 http: //aaa. com/a. asp a=l<script>alert (42873) </script〉訪問該網(wǎng)站,所返回的頁面內(nèi)容中如果包含字符串“<script>alert (42873)〈/script〉”,則認(rèn)為該返回結(jié)果符合XSS規(guī)則,指示該網(wǎng)站存在漏洞。類似地,如果采用SQL注入規(guī)則作為預(yù)先定義的漏洞判斷規(guī)則,則此時可以判斷返回結(jié)果是否符合SQL注入規(guī)則,在符合的情況下,指示該網(wǎng)站存在漏洞。另外,例如利用上述第一檢測網(wǎng)址http://xxx. com/admin/來訪問網(wǎng)站,檢測敏感目錄漏洞,如果所返回的狀態(tài)代碼為200 (0K)、頁面內(nèi)容大于10個字符,則可以指示該網(wǎng)站存在漏洞。接下來,在步驟S106中,在檢測結(jié)果指示該網(wǎng)站存在漏洞的情況下,基于該第一檢測網(wǎng)址,構(gòu)造對應(yīng)于第一檢測網(wǎng)址的第二檢測網(wǎng)址。根據(jù)本發(fā)明的實施例,可以在第一檢測網(wǎng)址中添加驗證字符串,以構(gòu)造第二檢測網(wǎng)址??蛇x地,該驗證字符串的長度大于一個字符。以上面的第一檢測網(wǎng)址 http://xxx. com/admin/、http://webscan.xxx.com/app. bak、http ://webscan. xxx. com/b.asp. tar.gz、http ://aaa. com/a. asp a=l<script>alert (42873) </script)為例,所構(gòu)造的第二檢測網(wǎng)址可以分另1J 為 http://xxx. com/adminXXXXX/> http ://webscan. xxx. com/appXXXXXX.bak、http ://webscan.xxx. com/bXXXX. asp. tar. gz、http ://aaa. com/aXXXXXX.asp a=l<script>alert (42873) </script〉,其中 “X” 可以為任意字符。
隨后,在步驟S108中,利用該第二檢測網(wǎng)址來訪問該網(wǎng)站,并基于該網(wǎng)站的返回結(jié)果來驗證該網(wǎng)站是否存在該漏洞。圖2示意性地圖示了根據(jù)本發(fā)明的一個實施例的網(wǎng)站安全檢測方法中步驟S108的流程圖,如圖2所示,在該實施例中,上述驗證網(wǎng)站是否存在漏洞的步驟可以包含子步驟S108a、S108b、和 S108c。首先,在子步驟SlOSa中,判斷網(wǎng)站的返回結(jié)果是否符合預(yù)先定義的漏洞判斷規(guī)則,以XSS規(guī)則和上述第二檢測網(wǎng)址http://aaa. com/aXXXXXX.asp a=l<script>alert (42873)〈/script〉為例,利用此第二檢測網(wǎng)址來訪問網(wǎng)站,如果所返回的頁面內(nèi)容中包含字符串“<script>alert (42873)〈/script〉”,則認(rèn)為該返回結(jié)果符合XSS規(guī)則,而如果所返回的頁面內(nèi)容中不包含字符串“<script>alert (42873)〈/script〉”,則認(rèn)為該返回結(jié)果不符合XSS規(guī)則。在子步驟S108b中,如果返回結(jié)果不符合漏洞判斷規(guī)則,則可以確定該網(wǎng)站存在該漏洞。而在子步驟SlOSc中,如果返回結(jié)果符合漏洞判斷規(guī)則的情況下,則可以確定該網(wǎng)站不存在該漏洞。也就是說,網(wǎng)站所在的服務(wù)器對于利用第一檢測網(wǎng)址訪問和利用在其中添加了任意字符串的第二檢測網(wǎng)址訪問的返回結(jié)果應(yīng) 當(dāng)是不同的,如果相同,則可能存在誤報。在上面的子步驟S108b和S108c中,如果利用第二檢測網(wǎng)址訪問網(wǎng)站所得到的返回結(jié)果與利用第一檢測網(wǎng)址訪問該網(wǎng)站得到的返回結(jié)果一致,都符合例如XSS規(guī)則,則可以確定該網(wǎng)站不存在該漏洞,之前基于利用第一檢測網(wǎng)址訪問網(wǎng)站的返回結(jié)果進(jìn)行的檢測所指示的漏洞為誤報,無需上報該漏洞;而如果利用第二檢測網(wǎng)址訪問網(wǎng)站所得到的返回結(jié)果與利用第一檢測網(wǎng)址訪問該網(wǎng)站得到的返回結(jié)果不一致,不符合例如XSS規(guī)則,就可以確定該網(wǎng)站存在該漏洞,并且上報該漏洞。圖3示意性地圖示了根據(jù)本發(fā)明的另一個實施例的網(wǎng)站安全檢測方法中步驟S108的流程圖,如圖3所示,在該實施例中,步驟S 108可以包含子步驟S108a’、S108b’、S108c,和 S108d,。首先,在子步驟S108a’中,利用第二檢測網(wǎng)址多次訪問網(wǎng)站,并獲得多個返回結(jié)果;接下來,在子步驟S108b’中,判斷多個返回結(jié)果是否符合預(yù)先定義的漏洞判斷規(guī)則;然后,在子步驟S108c’和S108d’中,如果多個返回結(jié)果中符合漏洞判斷規(guī)則的結(jié)果的比例大于或等于預(yù)先定義的閾值的情況下,確定該網(wǎng)站不存在該漏洞,而如果多個返回結(jié)果中符合漏洞判斷規(guī)則的結(jié)果的比例小于預(yù)先定義的閾值的情況下,確定該網(wǎng)站存在該漏洞。該預(yù)先定義的閾值例如可以為0. 5,但不限于此值,而是可以根據(jù)實際需要進(jìn)行選取。在該閾值為0. 5的情況下,如果多個返回結(jié)果中符合漏洞判斷規(guī)則的結(jié)果多于或等于不符合漏洞判斷規(guī)則的結(jié)果,則確定該網(wǎng)站不存在該漏洞,之前基于利用第一檢測網(wǎng)址訪問網(wǎng)站的返回結(jié)果進(jìn)行的檢測所指示的漏洞為誤報,無需上報該漏洞;反之,如果多個返回結(jié)果中符合漏洞判斷規(guī)則的結(jié)果少于不符合漏洞判斷規(guī)則的結(jié)果,則可以確定該網(wǎng)站存在該漏洞,并且上報該漏洞。本發(fā)明提供了一種網(wǎng)站安全檢測方法。根據(jù)本發(fā)明的實施例,可以基于利用第一檢測網(wǎng)址訪問網(wǎng)站所得到的返回結(jié)果來檢測網(wǎng)站是否存在漏洞,并且基于利用對應(yīng)于第一檢測網(wǎng)址的第二檢測網(wǎng)址訪問網(wǎng)站所得到的返回結(jié)果來驗證該漏洞的真實性,這樣,能夠很好地解決漏洞檢測中普遍存在的誤報率高的問題,極大地降低了誤報率,提高了漏洞檢測的質(zhì)量和效率,有利于及早發(fā)現(xiàn)漏洞,維護(hù)信息安全。與上述的方法100相對應(yīng),本發(fā)明還提供了一種網(wǎng)站安全檢測設(shè)備200。圖4示意性地圖示了根據(jù)本發(fā)明的實施例的網(wǎng)站安全檢測設(shè)備的框圖。參見圖4,網(wǎng)站安全檢測設(shè)備200主要包括網(wǎng)絡(luò)接口 201、網(wǎng)址構(gòu)造器203、漏洞檢測器205。根據(jù)本發(fā)明的實施例,網(wǎng)絡(luò)接口 201適于接收網(wǎng)址,并利用所接收的網(wǎng)址來訪問網(wǎng)站,以及獲得網(wǎng)站的返回結(jié)果。網(wǎng)址構(gòu)造器203適于從網(wǎng)絡(luò)接口 201獲取網(wǎng)站的網(wǎng)址,并根據(jù)該網(wǎng)站的網(wǎng)址來構(gòu)造與該網(wǎng)站相關(guān)聯(lián)的第一檢測網(wǎng)址,以及基于該第一檢測網(wǎng)址來構(gòu)造對應(yīng)于該第一檢測網(wǎng)址的第二檢測網(wǎng)址,并且將第一檢測網(wǎng)址和第二檢測網(wǎng)址發(fā)送給網(wǎng)絡(luò)接口 201。漏洞檢測器205適于從網(wǎng)絡(luò)接口 201接收對應(yīng)于該第一檢測網(wǎng)址的第一返回結(jié)果,基于第一返回結(jié)果來檢測網(wǎng)站是否存在漏洞,在檢測結(jié)果指示網(wǎng)站存在漏洞的情況下,從網(wǎng)絡(luò)接口 201獲取與第二檢測網(wǎng)址相對應(yīng)的第二返回結(jié)果,并基于第二返回結(jié)果驗證網(wǎng)站是否存在漏洞。根據(jù)本發(fā)明的實施例,訪問網(wǎng)站的第一返回結(jié)果和第二返回結(jié)果包括狀態(tài)代碼、頁面內(nèi)容、頁面頭部信息中的一個或者多個。上述網(wǎng)絡(luò)接口 201、網(wǎng)址構(gòu)造器203、以及漏洞檢測器205可以用于執(zhí)行上述方法100中的步驟S102、S104、S106、以及S108。 根據(jù)本發(fā)明的實施例,網(wǎng)站安全檢測設(shè)備200還可以包括存儲器207,適于存儲漏洞庫,該漏洞庫中記錄有網(wǎng)址構(gòu)造器用來構(gòu)造第一檢測網(wǎng)址的構(gòu)造規(guī)則、以及預(yù)先定義的漏洞判斷規(guī)則(如XSS、SQL諸如等規(guī)則)。根據(jù)本發(fā)明的實施例,網(wǎng)址構(gòu)造器203可以在網(wǎng)站的網(wǎng)址中,添加根據(jù)要測試的漏洞類型或者預(yù)先定義的漏洞判斷規(guī)則確定的字符串,以構(gòu)造第一檢測網(wǎng)址。 仍舉上面針對方法100的描述中的例子,對應(yīng)于網(wǎng)站網(wǎng)址http: //xxx. com、http: //webscan. xxx. com/app/、http : //webscan. xxx. com/b. asp、http : //aaa. com/a. asp a=l 的第一檢測網(wǎng)址可以分別為 http://xxx. com/admin/、http://webscan.xxx. com/app. bak、http ://webscan. xxx. com/b.asp. tar. gz、http ://aaa. com/a.asp a=l<script>alert (42873)</script>。如上所述,漏洞檢測器205從網(wǎng)絡(luò)接口 201接收對應(yīng)于該第一檢測網(wǎng)址的第一返回結(jié)果,基于第一返回結(jié)果來檢測網(wǎng)站是否存在漏洞。其中,漏洞檢測器205判斷網(wǎng)站的第一返回結(jié)果是否符合預(yù)先定義的漏洞判斷規(guī)則,在符合的情況下,指示網(wǎng)站存在漏洞。仍以XSS規(guī)則為例進(jìn)行描述,假設(shè)利用上述第一測試網(wǎng)址http: //aaa. com/
a.asp a=l<script>alert (42873) </script〉訪問該網(wǎng)站,所返回的頁面內(nèi)容中如果包含字符串“〈script>alert (42873) </script〉”,則認(rèn)為該第一返回結(jié)果符合XSS規(guī)則,指示該網(wǎng)站存在漏洞。另外,例如利用上述第一檢測網(wǎng)址http://xxx. com/admin/來訪問網(wǎng)站,檢測敏感目錄漏洞,如果所返回的狀態(tài)代碼為200(0K)、頁面內(nèi)容大于10個字符,則可以指示該網(wǎng)站存在漏洞。根據(jù)本發(fā)明的實施例,網(wǎng)址構(gòu)造器203可以在第一檢測網(wǎng)址中添加驗證字符串,以構(gòu)造第二檢測網(wǎng)址。仍以上面的第一檢測網(wǎng)址http: //xxx. com/admin/、http://webscan. xxx. com/app. bak、http://webscan. xxx. com/b. asp. tar. gz、http://aaa. com/a. asp a=l<script>alert (42873) </script)為例,所構(gòu)造的第二檢測網(wǎng)址可以分別為 http://xxx. com/adminXXXXX/> http://webscan. xxx. com/appXXXXXX.bak、http ://webscan.xxx. com/bXXXX. asp. tar.gz、http ://aaa. com/aXXXXXX.asp a=l<script>alert (42873) </script〉,其中 “X” 可以為任意字符。根據(jù)本發(fā)明的一個實施例,漏洞檢測器205判斷網(wǎng)站的第二返回結(jié)果是否符合預(yù)先定義的漏洞判斷規(guī)則,在第二返回結(jié)果不符合預(yù)先定義的漏洞判斷規(guī)則的情況下,確定該網(wǎng)站存在該漏洞,或者在第二返回結(jié)果符合預(yù)先定義的漏洞判斷規(guī)則的情況下,確定該網(wǎng)站不存在該漏洞。如果第二返回結(jié)果與第一返回結(jié)果一致,都符合例如XSS規(guī)則,則可以確定該網(wǎng)站不存在該漏洞,漏洞檢測器205之前基于第一返回結(jié)果進(jìn)行的檢測所指示的漏洞為誤報,無需上報該漏洞;而如果第二返回結(jié)果與第一返回結(jié)果不一致,不符合例如XSS規(guī)則,就漏洞檢測器205可以確定該網(wǎng)站存在該漏洞,并且上報該漏洞。根據(jù)本發(fā)明的另一個實施例,漏洞檢測器205利用第二檢測網(wǎng)址多次訪問該網(wǎng)站,并獲得多個第二返回結(jié)果;判斷多個第二返回結(jié)果是否符合預(yù)先定義的漏洞判斷規(guī)則;在多個第二返回結(jié)果中符合預(yù)先定義的漏洞判斷規(guī)則的結(jié)果的比例大于或等于預(yù)先定義的閾值的情況下,確定網(wǎng)站不存在該漏洞;或者在多個第二返回結(jié)果中符合預(yù)先定義的漏洞判斷規(guī)則的結(jié)果的比例小于預(yù)先定義的閾值的情況下,確定該網(wǎng)站存在該漏洞。該預(yù)先 定義的閾值例如可以為0. 5,但不限于此值,而是可以根據(jù)實際需要進(jìn)行選取。在該閾值為
0.5的情況下,如果多個第二返回結(jié)果中符合漏洞判斷規(guī)則的結(jié)果多于或等于不符合漏洞判斷規(guī)則的結(jié)果,則確定該網(wǎng)站不存在該漏洞,之前基于第一返回結(jié)果進(jìn)行的檢測所指示的漏洞為誤報,無需上報該漏洞;反之,如果多個第二返回結(jié)果中符合漏洞判斷規(guī)則的結(jié)果少于不符合漏洞判斷規(guī)則的結(jié)果,則可以確定該網(wǎng)站存在該漏洞,并且上報該漏洞。由于上述各設(shè)備(裝置)實施例與前述各方法實施例相對應(yīng),因此不再對各裝置實施例進(jìn)行詳細(xì)描述。根據(jù)本發(fā)明的又一方面,還提供了一種網(wǎng)站安全檢測系統(tǒng)1000。圖5示意性地圖示了根據(jù)本發(fā)明的實施例的網(wǎng)站安全檢測系統(tǒng)1000的框圖,參見圖5,網(wǎng)站安全檢測系統(tǒng)1000可以包括網(wǎng)站安全檢測設(shè)備200,適于從所述網(wǎng)絡(luò)爬蟲設(shè)備400接收網(wǎng)址并構(gòu)造與所述網(wǎng)址相關(guān)聯(lián)的檢測網(wǎng)址以利用其來訪問網(wǎng)站,從而判斷所述網(wǎng)址是否存在漏洞;還包括一個或者多個網(wǎng)站服務(wù)器300-1、…、300-n,適于響應(yīng)于網(wǎng)站安全檢測設(shè)備200對網(wǎng)站的訪問,向網(wǎng)站安全檢測設(shè)備200返回結(jié)果;還包括網(wǎng)絡(luò)爬蟲設(shè)備400,適于從一個或者多個網(wǎng)站服務(wù)器300-1、…、300-n抓取網(wǎng)站的網(wǎng)址,并且將網(wǎng)址發(fā)送給網(wǎng)站安全檢測設(shè)備200。在此提供的算法和顯示不與任何特定計算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式
的權(quán)利要求書由此明確地并入該具體實施方式
,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的裝置中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個裝置中??梢园褜嵤├械娜舾赡K組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者模塊中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例 中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在權(quán)利要求書中,所要求保護(hù)的實施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個裝置實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP )來實現(xiàn)根據(jù)本發(fā)明實施例的裝置中的一些或者全部模塊的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的裝置程序(例如,計算機(jī)程序和計算機(jī)程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機(jī)來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
權(quán)利要求
1.一種網(wǎng)站安全檢測系統(tǒng)(1000),包括網(wǎng)站安全檢測設(shè)備(200)、一個或者多個網(wǎng)站服務(wù)器(300-1,…,300-n)和網(wǎng)絡(luò)爬蟲設(shè)備(400),其中, 所述網(wǎng)站安全檢測設(shè)備(200),適于從所述網(wǎng)絡(luò)爬蟲設(shè)備(400)接收網(wǎng)址并構(gòu)造與所述網(wǎng)址相關(guān)聯(lián)的檢測網(wǎng)址以利用其來訪問網(wǎng)站,從而判斷所述網(wǎng)址是否存在漏洞; 所述一個或者多個網(wǎng)站服務(wù)器(300-1,…,300-n),適于響應(yīng)于所述網(wǎng)站安全檢測設(shè)備(200)對網(wǎng)站的訪問,向所述網(wǎng)站安全檢測設(shè)備(200)返回結(jié)果;以及 所述網(wǎng)絡(luò)爬蟲設(shè)備(400),適于從所述一個或者多個網(wǎng)站服務(wù)器(300-1,…,300-n)抓取網(wǎng)站的網(wǎng)址,并且將所述網(wǎng)址發(fā)送給所述網(wǎng)站安全檢測設(shè)備(200)。
2.如權(quán)利要求I所述的系統(tǒng),其中,所述網(wǎng)站安全檢測設(shè)備(200)包括 網(wǎng)絡(luò)接口(201),適于接收網(wǎng)址,并利用所接收的網(wǎng)址來訪問網(wǎng)站,以及獲得所述網(wǎng)站的返回結(jié)果; 網(wǎng)址構(gòu)造器(203),適于從所述網(wǎng)絡(luò)接口(201)獲取網(wǎng)站的網(wǎng)址,并根據(jù)該網(wǎng)站的網(wǎng)址來構(gòu)造與該網(wǎng)站相關(guān)聯(lián)的第一檢測網(wǎng)址,以及基于所述第一檢測網(wǎng)址來構(gòu)造對應(yīng)于所述第一檢測網(wǎng)址的第二檢測網(wǎng)址,并且將所述第一檢測網(wǎng)址和第二檢測網(wǎng)址發(fā)送給所述網(wǎng)絡(luò)接口(201); 漏洞檢測器(205),適于從所述網(wǎng)絡(luò)接口(201)接收對應(yīng)于該第一檢測網(wǎng)址的第一返回結(jié)果,基于所述第一返回結(jié)果來檢測所述網(wǎng)站是否存在漏洞,在檢測結(jié)果指示所述網(wǎng)站存在漏洞的情況下,從所述網(wǎng)絡(luò)接口獲取與所述第二檢測網(wǎng)址相對應(yīng)的第二返回結(jié)果,并基于所述第二返回結(jié)果驗證所述網(wǎng)站是否存在漏洞。
3.如權(quán)利要求2所述的系統(tǒng),其中,所述網(wǎng)址安全檢測設(shè)備(200)還包括存儲器(207),適于存儲漏洞庫,所述漏洞庫中記錄有網(wǎng)址構(gòu)造器用來構(gòu)造第一檢測網(wǎng)址的構(gòu)造規(guī)則、以及預(yù)先定義的漏洞判斷規(guī)則。
4.如權(quán)利要求2或3所述的系統(tǒng),其中所述網(wǎng)址構(gòu)造器(203)在所述網(wǎng)站的網(wǎng)址中,添加根據(jù)要測試的漏洞類型或者預(yù)先定義的漏洞判斷規(guī)則確定的字符串,以構(gòu)造所述第一檢測網(wǎng)址。
5.如權(quán)利要求2或3所述的系統(tǒng),其中所述漏洞檢測器(205)判斷所述網(wǎng)站的第一返回結(jié)果是否符合預(yù)先定義的漏洞判斷規(guī)則,在符合的情況下,指示所述網(wǎng)站存在漏洞。
6.如權(quán)利要求2或3所述的系統(tǒng),其中所述網(wǎng)址構(gòu)造器(203)在所述第一檢測網(wǎng)址中添加驗證字符串,以構(gòu)造第二檢測網(wǎng)址。
7.如權(quán)利要求2-6中任一個所述的系統(tǒng),其中所述漏洞檢測器(205)判斷所述網(wǎng)站的第二返回結(jié)果是否符合所述預(yù)先定義的漏洞判斷規(guī)則,在所述第二返回結(jié)果不符合所述預(yù)先定義的漏洞判斷規(guī)則的情況下,確定所述網(wǎng)站存在所述漏洞,或者在所述第二返回結(jié)果符合所述預(yù)先定義的漏洞判斷規(guī)則的情況下,確定所述網(wǎng)站不存在所述漏洞。
8.如權(quán)利要求2-6中任一個所述的系統(tǒng),其中所述漏洞檢測器(205)利用所述第二檢測網(wǎng)址多次訪問所述網(wǎng)站,并獲得多個第二返回結(jié)果;判斷所述多個第二返回結(jié)果是否符合所述預(yù)先定義的漏洞判斷規(guī)則;在所述多個第二返回結(jié)果中符合所述預(yù)先定義的漏洞判斷規(guī)則的結(jié)果的比例大于或等于預(yù)先定義的閾值的情況下,確定所述網(wǎng)站不存在所述漏洞;或者在所述多個第二返回結(jié)果中符合所述預(yù)先定義的漏洞判斷規(guī)則的結(jié)果的比例小于預(yù)先定義的閾值的情況下,確定所述網(wǎng)站存在所述漏洞。
9.如權(quán)利要求2-8中任一個所述的系統(tǒng),其中所述訪問所述網(wǎng)站的第一返回結(jié)果和第二返回結(jié)果包括狀態(tài)代碼、頁面內(nèi)容、頁面頭部信息中的一個或者多個。
全文摘要
本發(fā)明公開了一種網(wǎng)站安全檢測系統(tǒng),其包括網(wǎng)站安全檢測設(shè)備、一個或者多個網(wǎng)站服務(wù)器和網(wǎng)絡(luò)爬蟲設(shè)備,其中,所述網(wǎng)站安全檢測設(shè)備,適于從所述網(wǎng)絡(luò)爬蟲設(shè)備接收網(wǎng)址并構(gòu)造與所述網(wǎng)址相關(guān)聯(lián)的檢測網(wǎng)址以利用其來訪問網(wǎng)站,從而判斷所述網(wǎng)址是否存在漏洞;所述一個或者多個網(wǎng)站服務(wù)器,適于響應(yīng)于所述網(wǎng)站安全檢測設(shè)備對網(wǎng)站的訪問,向所述網(wǎng)站安全檢測設(shè)備返回結(jié)果;以及所述網(wǎng)絡(luò)爬蟲設(shè)備,適于從所述一個或者多個網(wǎng)站服務(wù)器抓取網(wǎng)站的網(wǎng)址,并且將所述網(wǎng)址發(fā)送給所述網(wǎng)站安全檢測設(shè)備。
文檔編號H04L29/06GK102970282SQ20121042653
公開日2013年3月13日 申請日期2012年10月31日 優(yōu)先權(quán)日2012年10月31日
發(fā)明者龍專, 趙武 申請人:北京奇虎科技有限公司