網(wǎng)站安全檢測方法與裝置制造方法
【專利摘要】本發(fā)明涉及一種網(wǎng)站安全檢測方法,包括以下步驟:獲取通過旁路偵聽而獲得的屬于已知特定網(wǎng)站的超文本傳輸協(xié)議請求包;利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接;對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描檢測。相應(yīng)的,本發(fā)明還提供一種網(wǎng)站安全檢測裝置。本發(fā)明可以及時發(fā)現(xiàn)已知特定網(wǎng)站及其新鏈接以及利用已存在的已知特定網(wǎng)站鏈接構(gòu)造新鏈接,可以實時對這些新鏈接實施漏洞檢測,避免漏檢測,具有高效、及時、智能維護網(wǎng)站安全的優(yōu)點。
【專利說明】網(wǎng)站安全檢測方法與裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)安全技術(shù),尤其涉及一種網(wǎng)站安全檢測方案與裝置。
【背景技術(shù)】
[0002]網(wǎng)站訪問存在著各種各樣的安全隱患,比如:C00KIE中毒、應(yīng)用程序緩沖溢出、跨站腳本攻擊、已知安全漏洞等等,這些網(wǎng)站安全問題會進一步導(dǎo)致用戶數(shù)據(jù)的安全問題。因此,網(wǎng)站訪問者希望了解網(wǎng)站的安全程度,自然地傾向于使用較為安全的網(wǎng)站,而網(wǎng)站管理者更希望能夠及時修復(fù)漏洞,克服其網(wǎng)站的安全問題,為網(wǎng)站訪問者提供更加安全的瀏覽
T D O
[0003]網(wǎng)站安全檢測的方法,通常是借助掃描器通過爬蟲技術(shù)去主動抓取網(wǎng)頁,并針對所抓取的網(wǎng)頁進行安全性測試。為了避免實施爬蟲技術(shù)造成增加網(wǎng)站服務(wù)器的負荷,通常,網(wǎng)站的安全性測試通過定時或者用戶手動觸發(fā)的方式去執(zhí)行網(wǎng)頁抓取。然而,在信息高度發(fā)達的今天,作為信息載體的網(wǎng)站業(yè)務(wù)(代碼)更新頻繁,而且,每個公司配備的信息安全人員不足以支持如此多和頻繁的安全測試。這就導(dǎo)致一對矛盾,即掃描器頻繁掃描所導(dǎo)致的服務(wù)器壓力增大、人力資源不足,以及掃描器間隔掃描所導(dǎo)致的新網(wǎng)頁安全性檢測不及時兩者之間的矛盾。具體而言,涉及網(wǎng)站網(wǎng)頁安全性測試的現(xiàn)有技術(shù)所造成的紕漏包括但不限于出現(xiàn)如下問題:
[0004]例如,孤島頁面是爬蟲抓不到的頁面,如果存在漏洞又被黑客發(fā)現(xiàn)了的話,會導(dǎo)致極大的安全風(fēng)險?,F(xiàn)有的漏洞掃描器都是基于蜘蛛技術(shù)來抓取網(wǎng)站鏈接后再進行安全測試的,不能及時掃描新上線的域名和不能檢測到孤島頁面存在的漏洞。
[0005]再如,大型網(wǎng)站(如新聞類、電商類等)每天都會有大量的新網(wǎng)頁上線,定時掃描并不能及時對新上線的網(wǎng)頁進行安全性測試。比如網(wǎng)站管理員設(shè)定每天O點對網(wǎng)站進行檢測,則I點上線的網(wǎng)頁要過23個小時之后才能進行檢測。如果這些新上線的網(wǎng)頁存在漏洞的話,在這段時間內(nèi)將使網(wǎng)站陷于不安全的境地。
[0006]除上述問題之外,利用爬蟲技術(shù)去實施網(wǎng)頁抓取的過程,在一種同時存在兩個抓取設(shè)備的情況下,也可能陷入某種程度上的死循環(huán),造成意外。因此,在進行網(wǎng)頁安全檢測時,不管是否考慮其獲取鏈接的方式,也應(yīng)當(dāng)考慮這種情況。
[0007]具體而言,如果針對同一網(wǎng)站服務(wù)器存在兩個以上實施了爬蟲技術(shù)的檢測設(shè)備,均配置有“360鷹眼”軟件,這一軟件運用爬蟲技術(shù)用于實施對網(wǎng)站服務(wù)器中的網(wǎng)頁的漏洞掃描檢測,因此,兩個檢測設(shè)備基于相同原理而運作。根據(jù)爬蟲技術(shù)原理,兩個檢測設(shè)備均利用同一手段,在已經(jīng)存在的鏈接的基礎(chǔ)上去構(gòu)造新鏈接并嘗試訪問,以測試該構(gòu)造的新鏈接所指向的網(wǎng)頁是否存在漏洞,例如:針對代表某一已知特定網(wǎng)站的鏈接ws.#,檢測服務(wù)器A會按照規(guī)則構(gòu)造ws.#/admin.php (這僅是一個示例,實踐中會構(gòu)造很多更為復(fù)雜的鏈接),admin, php由于屬于默認的管理頁面,因而成為惡意程序的重點攻擊對象,如果存在這類頁面,則該網(wǎng)站存在風(fēng)險。檢測服務(wù)器A構(gòu)造這一請求去嘗試訪問網(wǎng)站服務(wù)器時,會在交換機上留下一個訪問請求,如果這一訪問請求被檢測服務(wù)器B捕獲,檢測服務(wù)器B又依據(jù)爬蟲技術(shù)原理將之視為一個網(wǎng)頁請求,繼而針對該“網(wǎng)頁”進行測試,即針對 ws.#/admin.php 進行檢測,構(gòu)造 ws.#/admin/admin, php 等等鏈接進行訪問,這樣再次在交換機上留下訪問請求。此時檢測服務(wù)器A又會捕獲該請求,并進一步進行測試ws.#/admin/admin/admin, php......如此周而復(fù)始,相互構(gòu)造新鏈接,便會形成死循環(huán),大量消耗檢測服務(wù)器的運行資源,最終導(dǎo)致檢測服務(wù)器死機。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的在于克服上述問題的一個或多個方面,而提供一種網(wǎng)站安全檢測方法及裝置。
[0009]為實現(xiàn)本發(fā)明的目的,本發(fā)明采取如下技術(shù)方案:
[0010]本發(fā)明的一種網(wǎng)站安全檢測方法,包括以下步驟:
[0011]獲取通過旁路偵聽而獲得的屬于已知特定網(wǎng)站的超文本傳輸協(xié)議請求包;
[0012]利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接;
[0013]對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描檢測。
[0014]根據(jù)本發(fā)明的一個實施例所揭示,所述獲取通過旁路偵聽而獲得的超文本傳輸協(xié)議請求包的步驟中,過濾掉所有由特定IP地址發(fā)起的請求包??蛇x的,所述特定IP地址預(yù)先給定或者通過檢測單位時間內(nèi)某IP地址發(fā)起的請求包數(shù)量超過預(yù)設(shè)閾值而確定。
[0015]根據(jù)本發(fā)明的另一實施例所揭示,利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造更深層新鏈接之前,先測試所述請求包所包含的鏈接的網(wǎng)頁是否存在,當(dāng)該鏈接所指向的網(wǎng)頁不存在時,放棄依據(jù)該鏈接構(gòu)造新鏈接。
[0016]根據(jù)本發(fā)明的一個實施例所揭示,通過本機網(wǎng)卡實施旁路偵聽而獲得所述請求包。較佳的,本機接入架設(shè)所述已知特定網(wǎng)站的服務(wù)器所接入的交換機實現(xiàn)旁路偵聽。
[0017]根據(jù)本發(fā)明的另一實施例所揭示,通過遠程端口接收而獲得所述通過旁路偵聽而得的請求包。
[0018]根據(jù)本發(fā)明的一個實施例所揭示,所述已知特定網(wǎng)站通過圖形用戶界面接收用戶設(shè)定而預(yù)先給定,其給定形式包括域名、IP地址、鏈接中的一項或任意多項。
[0019]較佳的,設(shè)有已知特定網(wǎng)站列表用于記錄一個或多個所述的已知特定網(wǎng)站的域名、鏈接和/或其相應(yīng)的IP地址。
[0020]進一步,利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接以供實施漏洞掃描檢測。
[0021]進一步,通過統(tǒng)計單位時間內(nèi)由旁路偵聽獲得的請求包流量,當(dāng)其超過預(yù)設(shè)閥值時,利用所述請求包所包含的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接以供實施漏洞掃描檢測;否則利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接。
[0022]較佳的,在確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接之前,匯總所述請求包所包含的鏈接并去除其中的重復(fù)鏈接。
[0023]根據(jù)本發(fā)明的一個實施例所揭示,所述去除重復(fù)鏈接的步驟包括如下細分步驟:
[0024]將訪問數(shù)據(jù)庫而形成的僅其變量不同的多個鏈接確定為重復(fù)鏈接;
[0025]僅保留重復(fù)鏈接其中之一實現(xiàn)去除重復(fù)鏈接。
[0026]根據(jù)本發(fā)明另一實施例所揭示,所述去除重復(fù)鏈接的步驟包括如下細分步驟:
[0027]將具有相同簽名的多個鏈接確定為重復(fù)鏈接;
[0028]僅保留重復(fù)鏈接其中之一實現(xiàn)去除重復(fù)鏈接。
[0029]根據(jù)本發(fā)明的一個實施例所揭示,通過確定請求包中的鏈接所指向的IP地址屬于所述已知特定網(wǎng)站所指向的IP地址或其所屬IP地址段而將該鏈接確定為屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。
[0030]根據(jù)本發(fā)明的又一實施例所揭示,通過比較所述請求包中的鏈接的域名的注冊特征信息與已知特定網(wǎng)站的域名的注冊特征信息相同而將該鏈接確定為屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。
[0031]進一步,所述利用所述請求包所包含的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接的步驟,包括如下細分步驟:
[0032]提取已獲取的所有請求包的鏈接;
[0033]去除所提取的鏈接中指向具有相同代碼的網(wǎng)頁的重復(fù)鏈接;
[0034]確定其中的新鏈接,將該新鏈接添加至待掃描隊列。
[0035]根據(jù)本發(fā)明的一個實施例揭示,進一步,所述對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描的步驟,包括如下細分步驟:
[0036]從用于記載所述新鏈接的待掃描隊列中獲取所述新鏈接;
[0037]對所述新鏈接映射的網(wǎng)頁實施漏洞掃描檢測。
[0038]根據(jù)本發(fā)明的另一實施例揭示,進一步,所述對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描的步驟,包括如下細分步驟:
[0039]從用于記載所述新鏈接的待掃描隊列中獲取所述新鏈接;
[0040]獲取所述待掃描隊列中的新鏈接所映射的網(wǎng)頁并添加至本地網(wǎng)頁庫;
[0041 ] 對依據(jù)新鏈接下載的網(wǎng)頁庫中的網(wǎng)頁實施漏洞掃描檢測。
[0042]進一步,該方法包括后續(xù)步驟:顯示圖形用戶界面以輸出實施漏洞掃描檢測的結(jié)果息。
[0043]本發(fā)明提供的一種網(wǎng)站安全檢測裝置,包括:
[0044]抓包單元,用于獲取通過旁路偵聽而獲得的屬于已知特定網(wǎng)站的超文本傳輸協(xié)議請求包;
[0045]查新單元,被配置為利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接;
[0046]檢測單元,用于對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描檢測。
[0047]根據(jù)本發(fā)明的一個實施例所揭示,所述抓包單元,被配置為過濾掉所有由特定IP地址發(fā)起的請求包??蛇x的,所述特定IP地址預(yù)先給定或者通過檢測單位時間內(nèi)某IP地址發(fā)起的請求包數(shù)量超過預(yù)設(shè)閾值而確定。
[0048]根據(jù)本發(fā)明的另一實施例所揭示,所述查新單元,被配置為先測試所述請求包所包含的鏈接的網(wǎng)頁是否存在,當(dāng)該鏈接所指向的網(wǎng)頁不存在時,放棄依據(jù)該鏈接構(gòu)造新鏈接。
[0049]根據(jù)本發(fā)明的一個實施例所揭示,所述抓包單元,被配置為通過本機網(wǎng)卡實施旁路偵聽而獲得所述請求包。較佳的,本機與架設(shè)所述已知特定網(wǎng)站的服務(wù)器所接入的交換機相連接以實現(xiàn)旁路偵聽。
[0050]根據(jù)本發(fā)明的另一實施例所揭示,所述抓包單元,被配置為通過遠程端口接收而獲得所述通過旁路偵聽而得的請求包。
[0051]根據(jù)本發(fā)明的一個實施例所揭示,該裝置還包括設(shè)定單元,用于顯示圖形用戶界面以接收用戶設(shè)定,由此而預(yù)先給定所述已知特定網(wǎng)站的域名、IP地址、鏈接中的一項或任意多項。
[0052]較佳的,設(shè)有已知特定網(wǎng)站列表用于記錄一個或多個所述的已知特定網(wǎng)站的域名、鏈接和/或其相應(yīng)的IP地址。
[0053]進一步,所述查新單元,還被配置為利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接以供實施漏洞掃描檢測。
[0054]進一步,所述的查新單元,被配置為用于統(tǒng)計單位時間內(nèi)由旁路偵聽獲得的請求包流量,當(dāng)其超過預(yù)設(shè)閥值時,運行確定單元,用于利用所述請求包所包含的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接以供實施漏洞掃描檢測;否則,運行構(gòu)造單元,用于利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接。
[0055]較佳的,所述查新單元,被配置為在確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接之前,匯總所述請求包所包含的鏈接并去除其中的重復(fù)鏈接。
[0056]根據(jù)本發(fā)明的一個實施例所揭示,所述查新單元包括:
[0057]查重子模塊,用于將訪問數(shù)據(jù)庫而形成的僅其變量不同的多個鏈接確定為重復(fù)鏈接;
[0058]去除子模塊,適于實施僅保留重復(fù)鏈接其中之一實現(xiàn)去除重復(fù)鏈接。
[0059]根據(jù)本發(fā)明另一實施例所揭示,所述查新單元包括:
[0060]查重子模塊,用于將具有相同簽名的多個鏈接確定為重復(fù)鏈接;
[0061]去除子模塊,適于實施僅保留重復(fù)鏈接其中之一實現(xiàn)去除重復(fù)鏈接。
[0062]根據(jù)本發(fā)明的一個實施例所揭示,該裝置還包括設(shè)定單元,被配置為通過確定請求包中的鏈接所指向的IP地址屬于所述已知特定網(wǎng)站所指向的IP地址或其所屬IP地址段而將該鏈接確定為屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。
[0063]根據(jù)本發(fā)明的又一實施例所揭示,該裝置還包括設(shè)定單元,被配置為通過比較所述請求包中的鏈接的域名的注冊特征信息與已知特定網(wǎng)站的域名的注冊特征信息相同而將該鏈接確定為屬于所述已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。
[0064]進一步,所述查新單元包括:
[0065]提取模塊,用于提取已獲取的所有請求包的鏈接;
[0066]去重模塊,用于去除提取模塊提取的鏈接中指向具有相同代碼的網(wǎng)頁的重復(fù)鏈接;
[0067]添加模塊,用于確定其中的新鏈接,將該新鏈接添加至待掃描隊列。
[0068]根據(jù)本發(fā)明的一個實施例揭示,進一步,所述檢測單元包括:
[0069]獲取單元,被配置為從用于記載所述新鏈接的待掃描隊列中獲取所述新鏈接;
[0070]實施單元,用于對所述新鏈接映射的網(wǎng)頁實施漏洞掃描檢測。
[0071]根據(jù)本發(fā)明的另一實施例揭示,進一步,所述檢測單元包括:
[0072]獲取單元,被配置為從用于記載所述新鏈接的待掃描隊列中獲取所述新鏈接;
[0073]下載單元,用于下載所述待掃描隊列中的新鏈接所映射的網(wǎng)頁并添加至本地網(wǎng)頁庫;
[0074]實施單元,用于對依據(jù)新鏈接下載的網(wǎng)頁庫中的網(wǎng)頁實施漏洞掃描檢測。
[0075]進一步,該裝置包括顯示單元,用于顯示圖形用戶界面以輸出實施漏洞掃描檢測的結(jié)果信息。
[0076]相較于現(xiàn)有技術(shù),本發(fā)明至少具有如下優(yōu)點:
[0077]1、本發(fā)明通過旁路偵聽的方式,從網(wǎng)站接收交換機的數(shù)據(jù),可以借助交換機獲取接入該交換機的架設(shè)有已知特定網(wǎng)站的服務(wù)器即將收到的請求包,無論是通過本機監(jiān)聽網(wǎng)卡而獲取所述的請求包,還是由其他設(shè)備監(jiān)聽網(wǎng)卡獲取所述的請求包后匯聚到本機,本發(fā)明均能對這些請求包進行集中的后續(xù)處理,構(gòu)造和/或確定出這些請求包中的新鏈接,然后針對這些新鏈接所指向的網(wǎng)頁實施漏洞掃描。本發(fā)明一來能夠明確針對已知特定網(wǎng)站篩選新鏈接實施掃描,二來可以通過旁路偵聽的方式實時接收數(shù)據(jù),而實時獲取的新鏈接的數(shù)量相對于所有已知特定網(wǎng)站的鏈接數(shù)量而言是極小的,通常非新鏈接已經(jīng)在歷史使用過程中已經(jīng)被掃描,不必重復(fù)掃描,而對這些新鏈接實施的漏洞掃描的運算量較低,對服務(wù)器造成的響應(yīng)壓力也非常小,因此,本發(fā)明為實時掃描特定網(wǎng)站新上線的新鏈接所指向的網(wǎng)頁的漏洞提供了技術(shù)條件,避免出現(xiàn)定時或不定時掃描所形成的時間空檔期間造成的漏掃描而可能出現(xiàn)的安全事故,為網(wǎng)絡(luò)管理者提供了更為有效的漏洞檢測技術(shù)工具。
[0078]2、本發(fā)明進一步通過提供過濾手段,或者通過識別接收到的請求包是否來源于預(yù)設(shè)的特定IP地址,或者通過識別單位時間內(nèi)發(fā)起的請求是否超過預(yù)定閾值來識別預(yù)設(shè)的特定IP地址,或者通過檢測已經(jīng)構(gòu)造的新鏈接所指向的網(wǎng)頁是否存在,當(dāng)出現(xiàn)這些情況時,過濾掉相應(yīng)的請求包或新鏈接,來達到避免應(yīng)用了相同方法或裝置的設(shè)備與本機之間造成相互利用對方在交換機中留下的訪問請求來構(gòu)造新鏈接從而造成死循環(huán)的情況,很好地保護了本機自身的正常運行,不會出現(xiàn)因為這種情況出現(xiàn)本機資源不足甚至導(dǎo)致死機的情況。
[0079]3、眾所周知的,對于一個網(wǎng)站而言,其上線新鏈接的首次訪問請求一般由網(wǎng)管員出于調(diào)試的需要而發(fā)起,而本發(fā)明實施旁路偵聽,所獲取的請求包正是來源于架設(shè)該網(wǎng)站的服務(wù)器所接入的交換機,是網(wǎng)管員發(fā)起的請求的必經(jīng)之路,因而,能夠在絕大數(shù)情況下獲取進入相關(guān)交換機的全量請求包,理論上可以涵蓋所有的網(wǎng)頁,包括孤島網(wǎng)頁在內(nèi)。然而最終進行漏洞掃描的又只是這些請求包中屬于新鏈接的部分。因此,本發(fā)明可以避免現(xiàn)有技術(shù)中每次均需全量檢測以避免漏掃描的弊端,從而通過更為輕量的方式,實現(xiàn)了全面的安全掃描效果。
[0080]4、本發(fā)明通過單位時間內(nèi)對請求包的流量進行統(tǒng)計,與預(yù)設(shè)閥值相比較,當(dāng)高于該閥值時,則采用上述的方式確定這些請求包中是否包含關(guān)聯(lián)新鏈接,對這些關(guān)聯(lián)新鏈接實施漏洞掃描,而當(dāng)流量較低時,則可以利用已經(jīng)存在的已知特定網(wǎng)站(的鏈接)去主動構(gòu)造新鏈接,是爬蟲技術(shù)在本發(fā)明中的進一步結(jié)合應(yīng)用,然后再去掃描漏洞。借助這一技術(shù)手段,使得本發(fā)明的安全檢測技術(shù)更趨智能化。
[0081]5、本發(fā)明進一步通過去除新鏈接中的重復(fù)鏈接,減少對實質(zhì)上屬于同一代碼的網(wǎng)頁進行重復(fù)的掃描,對于諸如新聞網(wǎng)頁、論壇網(wǎng)頁之類的鏈接而言,進行了大大的優(yōu)化,去重率非常高,進一步降低漏洞掃描時的無效運算量,提高了機器的整體運行效率。
[0082]6、本發(fā)明的請求包的來源,雖然限定了旁路偵聽的方式獲得,但并不局限于必須通過本機對接入交換機的網(wǎng)卡實施監(jiān)聽而獲得,還可以通過匯聚網(wǎng)絡(luò)上其它接入架設(shè)已知特定網(wǎng)站的服務(wù)器所接入的交換機的請求包而獲得,因此,這些請求包不僅可以來源于本機,還可以來源于其它終端,既可以通過網(wǎng)站來獲取,還可以通過在發(fā)起請求的請求方的瀏覽器上增加插件來獲取,甚至可以通過在架設(shè)所述已知特定網(wǎng)站的服務(wù)器上安裝客戶端來獲取等,整個實現(xiàn)架構(gòu)非常靈活和開放,有利于進行二次開發(fā)。
[0083]7、本發(fā)明既允許用戶通過圖形用戶界面添加已知特定網(wǎng)站,又提供了由程序自身動態(tài)確定已知特定網(wǎng)站的方式,并且,在漏洞掃描后還能進行相應(yīng)的警示,具有非常強的交互性和較為優(yōu)異的人機交互效果。
[0084]綜上所述,本發(fā)明實現(xiàn)了更加全面、高效且智能的網(wǎng)站安全檢測技術(shù)方案。
[0085]本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
【專利附圖】
【附圖說明】
[0086]本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
[0087]圖1是本發(fā)明的網(wǎng)站安全檢測設(shè)備接入一個現(xiàn)有網(wǎng)絡(luò)拓撲的示意圖;
[0088]圖2是由圖1變化而得的一個現(xiàn)有網(wǎng)絡(luò)拓撲的示意圖;
[0089]圖3是本發(fā)明一種網(wǎng)絡(luò)安全檢測方法的一個實施例的流程示意圖;
[0090]圖4是本發(fā)明一種網(wǎng)絡(luò)安全檢測方法的步驟S12的細分流程示意圖;
[0091]圖5是本發(fā)明一種網(wǎng)絡(luò)安全檢測方法的另一實施例的流程示意圖;
[0092]圖6是本發(fā)明一種網(wǎng)絡(luò)安全檢測裝置的一個實施例的原理示意圖;
[0093]圖7是本發(fā)明一種網(wǎng)絡(luò)安全檢測裝置的另一實施例的原理示意圖;
[0094]圖8是本發(fā)明一種網(wǎng)絡(luò)安全檢測裝置中的查新單元的結(jié)構(gòu)示意圖;
【具體實施方式】
[0095]下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
[0096]本【技術(shù)領(lǐng)域】技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個或更多個相關(guān)聯(lián)的列出項的全部或任一單元和全部組合。
[0097]本【技術(shù)領(lǐng)域】技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含義來解釋。
[0098]本【技術(shù)領(lǐng)域】技術(shù)人員可以理解,這里所使用的“終端”、“終端設(shè)備”既包括無線信號接收器的設(shè)備,其僅具備無發(fā)射能力的無線信號接收器的設(shè)備,又包括接收和發(fā)射硬件的設(shè)備,其具有能夠在雙向通信鏈路上,執(zhí)行雙向通信的接收和發(fā)射硬件的設(shè)備。這種設(shè)備可以包括:蜂窩或其他通信設(shè)備,其具有單線路顯示器或多線路顯示器或沒有多線路顯示器的蜂窩或其他通信設(shè)備;PCS (Personal Communicat1ns Service,個人通信系統(tǒng)),其可以組合語音、數(shù)據(jù)處理、傳真和/或數(shù)據(jù)通信能力;PDA(Personal Digital Assistant,個人數(shù)字助理),其可以包括射頻接收器、尋呼機、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問、網(wǎng)絡(luò)瀏覽器、記事本、日歷和/或GPS (Global Posit1ning System,全球定位系統(tǒng))接收器;常規(guī)膝上型和/或掌上型計算機或其他設(shè)備,其具有和/或包括射頻接收器的常規(guī)膝上型和/或掌上型計算機或其他設(shè)備。這里所使用的“終端”、“終端設(shè)備”可以是便攜式、可運輸、安裝在交通工具(航空、海運和/或陸地)中的,或者適合于和/或配置為在本地運行,和/或以分布形式,運行在地球和/或空間的任何其他位置運行。這里所使用的“終端”、“終端設(shè)備”還可以是通信終端、上網(wǎng)終端、音樂/視頻播放終端,例如可以是PDA、MID(Mobile Internet Device,移動互聯(lián)網(wǎng)設(shè)備)和/或具有音樂/視頻播放功能的移動電話,也可以是智能電視、機頂盒等設(shè)備。
[0099]本【技術(shù)領(lǐng)域】技術(shù)人員可以理解,這里所使用的服務(wù)器、云端、遠端網(wǎng)絡(luò)設(shè)備等概念,具有等同效果,其包括但不限于計算機、網(wǎng)絡(luò)主機、單個網(wǎng)絡(luò)服務(wù)器、多個網(wǎng)絡(luò)服務(wù)器集或多個服務(wù)器構(gòu)成的云。在此,云由基于云計算(Cloud Computing)的大量計算機或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計算是分布式計算的一種,由一群松散耦合的計算機集組成的一個超級虛擬計算機。本發(fā)明的實施例中,遠端網(wǎng)絡(luò)設(shè)備、終端設(shè)備與WNS服務(wù)器之間可通過任何通信方式實現(xiàn)通信,包括但不限于,基于3GPP、LTE、WIMAX的移動通信、基于TCP/IP、UDP協(xié)議的計算機網(wǎng)絡(luò)通信以及基于藍牙、紅外傳輸標(biāo)準(zhǔn)的近距無線傳輸方式。
[0100]本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明所稱的“應(yīng)用”、“應(yīng)用程序”、“應(yīng)用軟件”以及類似表述的概念,是業(yè)內(nèi)技術(shù)人員所公知的相同概念,是指由一系列計算機指令及相關(guān)數(shù)據(jù)資源有機構(gòu)造的適于電子運行的計算機軟件。除非特別指定,這種命名本身不受編程語言種類、級別,也不受其賴以運行的操作系統(tǒng)或平臺所限制。理所當(dāng)然地,此類概念也不受任何形式的終端所限制。
[0101]本發(fā)明的方法及其裝置,可以通過編程實現(xiàn)為軟件,安裝到計算機設(shè)備中進行運行,從而構(gòu)成一臺網(wǎng)站檢測設(shè)備。為了進一步說明本發(fā)明的各個實施例,可以先了解企業(yè)網(wǎng)站服務(wù)器實現(xiàn)的架構(gòu)。每家企業(yè)可能包括一個或多個網(wǎng)站,每個企業(yè)網(wǎng)站均可以分布架設(shè)到一個到多個服務(wù)器中。一般而言,如圖1所示,簡單的企業(yè)網(wǎng)站可能將各個服務(wù)器81、82直接接入一個交換機80而提供服務(wù),網(wǎng)站檢測設(shè)備8接入該交換機80中,更為復(fù)雜的,如圖2所示的網(wǎng)絡(luò)拓撲中,多個服務(wù)器81、82可能分別接入不同的交換機80來提供服務(wù)。安裝有本發(fā)明的軟件的設(shè)備,特別是其用于采集交換機數(shù)據(jù)的功能邏輯部份,而不一定是該軟件本身,配置有這一功能邏輯的計算機設(shè)備,適宜接入最靠近服務(wù)器的交換機處。當(dāng)然,理論上也可接入這些交換機的上級交換機中??梢?,這種架構(gòu)的形成,是基于網(wǎng)絡(luò)拓撲原理、是否分布式設(shè)計而實施的,理論上并不影響本發(fā)明的實現(xiàn),但卻在某種程度上要求本發(fā)明實現(xiàn)具有靈活適應(yīng)性的開放架構(gòu)。
[0102]圖3通過步驟流程的形式揭示了本發(fā)明的一個實施例,該實施例屬于對本發(fā)明的網(wǎng)站安全檢測方法的核心技術(shù)的具體實現(xiàn),包括如下步驟:
[0103]步驟S11、獲取通過旁路偵聽而獲得的屬于已知特定網(wǎng)站的超文本傳輸協(xié)議請求包。
[0104]旁路偵聽技術(shù)本身屬于本領(lǐng)域的公知技術(shù),基于交換機的“共享”原理,所有接入該交換機的計算機設(shè)備將共同接收到相同的數(shù)據(jù)包,即當(dāng)一臺計算機向網(wǎng)絡(luò)上另一臺計算機發(fā)送數(shù)據(jù)的時候,或者一個請求進入該交換機的時候,盡管最終可能只有一臺計算機接收該數(shù)據(jù)或請求,其實該網(wǎng)絡(luò)上的其他計算機也能收到該數(shù)據(jù)或請求,只不過其他計算機的網(wǎng)卡識別到該數(shù)據(jù)或請求的目的地不是自身時,直接將該數(shù)據(jù)或請求過濾掉了。也就是說,以太網(wǎng)卡都構(gòu)造了硬件的“過濾器”,這個過濾器會忽略與自身MAC地址不相符合的信息。旁路偵聽技術(shù)正是利用這一特點,通過主動關(guān)閉網(wǎng)卡的過濾器,來接收整個交換機中的數(shù)據(jù)信息,實現(xiàn)偵聽。因此,可以知曉,實施旁路偵聽適宜在最接近目標(biāo)服務(wù)器的交換機處實現(xiàn),理論上,只要將配置有旁路偵聽技術(shù)環(huán)境的計算機設(shè)備接入該交換機,即可實現(xiàn)偵聽,從而獲取交換機的數(shù)據(jù)信息,提取相關(guān)數(shù)據(jù)。
[0105]盡管旁路偵聽技術(shù)接入了交換機,工作于數(shù)據(jù)鏈路層,但利用數(shù)據(jù)鏈路層的數(shù)據(jù)包來還原為其它協(xié)議層的數(shù)據(jù)已是現(xiàn)有技術(shù),因此,旁路偵聽的具體實現(xiàn)方式,應(yīng)亦不影響本發(fā)明的實施。例如,現(xiàn)有技術(shù)中可以借助Linux系統(tǒng)的TcpDump命令來實現(xiàn)抓包和數(shù)據(jù)提取,獲得超文本傳輸協(xié)議請求包。
[0106]所述超文本傳輸協(xié)議(HTTP)請求包,對網(wǎng)站訪問而言,包括兩種形式,即get和post請求。兩種請求雖不同,但亦均屬本發(fā)明的處理對象。通常而言,HTTP請求包的格式主要包括:協(xié)議、服務(wù)器域名、端口號、請求包路徑、get參數(shù)名、post參數(shù)名、擴展名、目標(biāo)服務(wù)器網(wǎng)段等。無論是get請求包還是post請求包中均包含網(wǎng)頁的url。網(wǎng)頁的URL,SP超鏈接,自其域名到其頁面,有約定的格式。其中,鏈接的末端為其指向的資源的描述,除此之外的前面部分為其路徑。例如網(wǎng)址http://www.#/test/admin.php,其中http://表征協(xié)議格式,www.#為其域名,test為該網(wǎng)站中的目錄,admin.php為指向的資源頁面,http://www.#/test/相對于admin.php頁面而言,便是該鏈接的路徑。而http://www.#/test/admin/admin.php 顯然便是 http://www.#/test/admin.php 的更深層的鏈接。
[0107]適用不同的網(wǎng)絡(luò)架構(gòu),可以以如下多種方式任意之一或其結(jié)合來獲取所述由旁路偵聽技術(shù)獲取的HTTP請求包:
[0108]一、通過將本機接入架設(shè)已知特定網(wǎng)站的服務(wù)器所接入的交換機。
[0109]這里所稱的本機,便是指安裝有實現(xiàn)了本方法的計算機設(shè)備,將該計算機設(shè)備接該交換機,使其與所述的服務(wù)器置于同一本地網(wǎng)中,共享交換機中的數(shù)據(jù)信息,從而,便可借助旁路偵聽技術(shù)來直接獲取向該本地網(wǎng)中的服務(wù)器發(fā)起的請求數(shù)據(jù),從而獲得相應(yīng)的HTTP請求包。
[0110]二、通過本機的遠程端口接收其他機器獲取的由旁路偵聽技術(shù)獲得的HTTP請求包。
[0111]本例中,所述的計算機設(shè)備,并不需要直接接入架設(shè)已知特征網(wǎng)站服務(wù)器所接入的交換機,而可以位于更為遠程的地理位置,僅僅通過其遠程端口接收其它計算機設(shè)備發(fā)送給它的由旁路偵聽技術(shù)獲得的HTTP請求包即可。對于這里所稱的“其它計算機設(shè)備”,則應(yīng)直接接入架設(shè)已知特征網(wǎng)站服務(wù)器所接入的交換機,以便直接獲取相應(yīng)的數(shù)據(jù),并且這些其它計算機設(shè)備上還應(yīng)能與實現(xiàn)本方法的計算機設(shè)備進行通信,以便提供各個交換機的HTTP請求包。
[0112]顧及到行文結(jié)構(gòu),關(guān)于本發(fā)明所定義的已知特定網(wǎng)站的闡釋,將在下一步驟中進行。
[0113]后文也將關(guān)聯(lián)性地述及本步驟的變化實施例,即為了避免使得多臺相同的檢測設(shè)備陷入互相利用對方在交換機留下的訪問請求而出現(xiàn)重復(fù)構(gòu)造相對于彼此請求中的鏈接的更深層的下級鏈接的情形,在本步驟中通過限定IP地址來克服這種情況。具體請參閱【背景技術(shù)】部分的示例性說明,其中,有關(guān)檢測服務(wù)器A與檢測服務(wù)器B之間,互相利用對方在交換機留下的訪問請求,以至于消耗系統(tǒng)資源,造成死機現(xiàn)象。因此,可以在本步驟中采用兩種【具體實施方式】加以避免:
[0114]其一,識別由旁路偵聽獲得的請求包中的來源IP地址,判斷該來源IP地址是否是預(yù)先給定(例如通過用戶界面輸入并保存在系統(tǒng)設(shè)置中)的特定IP地址,如果是,則過濾掉所有來自該特定IP地址的請求包。例如,檢測服務(wù)器A知曉檢測服務(wù)器B的IP地址,將其IP地址作為特定IP地址加以保存,這樣,檢測服務(wù)器A便可以過濾來源于檢測服務(wù)器B的請求包,避免重復(fù)利用對方的請求。同理,在檢測服務(wù)器B中也可以設(shè)置檢測服務(wù)器A的IP地址來避免同一問題。
[0115]其二,檢測單位時間內(nèi)所收到的請求包中,是否有大量請求包來源于同一 IP地址,例如每分鐘超過預(yù)設(shè)的2000個請求的閾值(僅示例,可靈活設(shè)定具體數(shù)量),當(dāng)存在這種現(xiàn)象時,判定該IP地址便是所述的特定IP地址,從而智能化地過濾掉該特定IP地址的請求包。例如,檢測服務(wù)器A在單位時間內(nèi)收到超過預(yù)設(shè)閾值的來源于同一 IP地址的請求包,則可認為該IP地址為特定IP地址,從而不再利用該特定IP地址的請求包中的鏈接構(gòu)造新鏈接。當(dāng)然,進一步可以具體到該請求包訪問的是否同一服務(wù)器(可通過請求包的目的IP地址來判斷),當(dāng)特定IP地址訪問同一服務(wù)器并到達預(yù)設(shè)閾值時,才過濾掉該特定IP地址發(fā)起的請求包,也是可行的。
[0116]通過上述給出的兩個過濾實例的任意之一,分別可以有指向性地或者動態(tài)智能地避免對同類功能的檢測設(shè)備的請求包的利用。因此,本發(fā)明也可以同時運用該兩個過濾實例,分別實現(xiàn)手動配置和自動計算的效果,以便豐富本發(fā)明的功能。
[0117]但是,以上兩個過濾實例與后續(xù)的步驟中即將述及的另一過濾實例之間,三者可以擇一應(yīng)用于本發(fā)明中,也可任意數(shù)量個實例相結(jié)合應(yīng)用于本發(fā)明中,彼此不存在互斥關(guān)系,屬于殊途同歸的幾種有助于實現(xiàn)本發(fā)明的有益效果的重要技術(shù)手段。依據(jù)這一分析,可以知曉,本發(fā)明以過濾實例為變化要素,也便相當(dāng)于揭示了本發(fā)明的多個變化實施例。
[0118]上述兩種不同的獲取請求包的方式,是基于不同的網(wǎng)站服務(wù)器實現(xiàn)架構(gòu)而提出的。無論采用何種具體方式,由旁路偵聽技術(shù)所獲取的交換機數(shù)據(jù)包均能借助現(xiàn)有技術(shù)自動識別出所述HTTP請求包,以便該些HTTP請求包能被進一步處理。
[0119]步驟S12、本步驟中,可以以兩種實施例對其不同層次進行實現(xiàn)。第一個層次中,參閱圖3,僅考慮利用爬蟲技術(shù)構(gòu)造新鏈接的情況,這種情況下,本步驟利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接;第二個層次中,參閱圖4,增補不同于爬蟲技術(shù)的實現(xiàn)方式,通過統(tǒng)計單位時間內(nèi)由旁路偵聽獲得的請求包流量,當(dāng)其超過預(yù)設(shè)閥值時,利用所述請求包所包含的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接以供實施漏洞掃描檢測;否則利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接。也就是說,本步驟可以通過兩種實施例來實現(xiàn),后者用于進一步擴充、完善本發(fā)明所達到的效果,但并不影響前者的實施。由于兩個層次之間存在遞進或并行關(guān)系,因此,以下有關(guān)本步驟的描述,為簡化的方便,在描述形式上并未嚴格區(qū)分這兩種情況,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)依據(jù)此處的先導(dǎo)說明對后文加以理解。
[0120]本發(fā)明所針對的網(wǎng)站是特定的,一般是應(yīng)用本發(fā)明的方法的企業(yè)自身的一個或多個已知網(wǎng)站,這些網(wǎng)站擁有一些共同特征,其鏈接均解釋到特定的一些IP地址段上、其域名所有人均為該企業(yè)或該企業(yè)的客戶,或者,是該企業(yè)參與管理的目標(biāo)網(wǎng)站。更具體而言,這種特定關(guān)系,是指以本方法實現(xiàn)的軟件所需關(guān)注的網(wǎng)站。而是否屬于該軟件所需關(guān)注的網(wǎng)站,在技術(shù)層面上,是以本發(fā)明的方法進行判斷的,具體既可以提供界面人為設(shè)定,也可以是以鏈接和/或IP地址和/或域名注冊特征信息為基礎(chǔ)進行綜合判斷。因此,本發(fā)明的已知特定網(wǎng)站的識別依據(jù),不能僅僅理解為某個域名或其IP地址,還應(yīng)包括雖未進行人為明文設(shè)定,但實質(zhì)上是該企業(yè)所要納入的檢測對象,包括任何解析到實質(zhì)上屬于部分已知特定網(wǎng)站已經(jīng)占據(jù)的IP地址的新增域名的鏈接。
[0121]由此可知,本發(fā)明實現(xiàn)其第二個層次的實施例時,相對于爬蟲技術(shù),雖不需精心挑選種子URL,但有必要提供有關(guān)一些特定網(wǎng)站的基礎(chǔ)設(shè)置,以設(shè)定本發(fā)明的已知特定網(wǎng)站。然而,應(yīng)當(dāng)知曉,所提供的這些已知特定網(wǎng)站本身也是鏈接,顯然也可以作為本發(fā)明實現(xiàn)第一層次和第二層次的實施例時用到的爬蟲技術(shù)的種子URL,并且據(jù)此構(gòu)造新鏈接。因此,這些已知特定網(wǎng)站的預(yù)先設(shè)定是有益于本發(fā)明的實施的。相應(yīng)于前述說明,設(shè)定這些已知特定網(wǎng)站的方式也是多種多樣的。給出已知特定網(wǎng)站的過程,不管給出的內(nèi)容是IP地址還是域名之類的資源定位符,在本質(zhì)上都是給出網(wǎng)站的鏈接,因此這個過程本質(zhì)上也是確定本發(fā)明的新鏈接的過程。以下進一步綜合地揭示本發(fā)明用于確定已知特定網(wǎng)站和/或其新鏈接的幾種具體方法:
[0122]一、利用圖形用戶界面設(shè)置已知特定網(wǎng)站和/或其關(guān)聯(lián)新鏈接。
[0123]具體而言,以本發(fā)明實現(xiàn)的軟件在首次運行時,將提供一圖形用戶界面,用于提供給用戶進行部分已知特定網(wǎng)站的設(shè)定,用戶通過向該圖形用戶界面輸入與這些已知特定網(wǎng)站有關(guān)的內(nèi)容而完成設(shè)定,從而預(yù)先給定一個或多個已知特定網(wǎng)站。這些預(yù)先給定的內(nèi)容,既可以是一個或多個域名,例如s0.com,#等,也可以是與服務(wù)器相對應(yīng)的IP地址,以及由IP地址構(gòu)成的連續(xù)IP地址段或離散IP地址段區(qū)間。這些設(shè)置內(nèi)容,如前所述,本質(zhì)上可以被理解為一個關(guān)聯(lián)新鏈接或者種子URL,可以被存儲于一個已知特定網(wǎng)站列表中,以便本方法的后續(xù)調(diào)用。需要指出的是,這個已知特定網(wǎng)站列表,實質(zhì)上也相當(dāng)于一個鏈接庫,因此,可以被視為鏈接庫進行后續(xù)利用,或者將之視為鏈接庫的數(shù)據(jù)來源。這里所稱的鏈接庫,依據(jù)爬蟲技術(shù)原理,可以被直接用作后續(xù)的待掃描隊列,也可以僅僅是為后續(xù)的待掃描隊列提供基礎(chǔ)數(shù)據(jù)。因此可知,在這個基礎(chǔ)上,這些用于確定部分已知特定網(wǎng)站的域名或者IP地址以及相關(guān)信息,便構(gòu)成了本發(fā)明的新鏈接,或者至少可用于構(gòu)造本發(fā)明的新鏈接,成為本發(fā)明的軟件首次實施掃描的處理對象。而在后續(xù)維護時利用這種方式來繼續(xù)添加新鏈接,當(dāng)該新鏈接的域名不同于其它已知特定網(wǎng)站域名時,實質(zhì)上也就是通過擴展更多域名而添加了新的已知特定網(wǎng)站。
[0124]二、利用域名注冊信息確定已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。
[0125]已知特定網(wǎng)站的關(guān)聯(lián)新鏈接,包括屬于已經(jīng)登記的網(wǎng)站(可以通過包含已登記域名識別)之下的所有鏈接和/或域名未經(jīng)登記的網(wǎng)站的所有鏈接。對于后者,是指本步驟從所述請求包獲得的鏈接,包含新域名,不屬于目前已存在的已知特定網(wǎng)站的鏈接范圍時,無法確定該鏈接是否屬于企業(yè)自有網(wǎng)站、是否需要視為屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接時,需要通過技術(shù)手段進一步確定是否應(yīng)將其視為已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。因此,可以通過調(diào)用域名注冊網(wǎng)站提供的接口,來對這個鏈接中的新域名進行查詢,確定其注冊特征信息,具體包括例如域名所有人、域名備案號等,這些注冊特征信息是否與目前存在的已知特定網(wǎng)站域名的注冊特征信息相同,當(dāng)兩者相同時,則將該新鏈接視為已知特定網(wǎng)站的關(guān)聯(lián)新鏈接,在本方法中運用;否則丟棄該請求包不予處理。繼而可直接將該新域名和/或下層新鏈接添加到一個如前所述的已知特定網(wǎng)站列表中備用。顯然,查詢新域名注冊特征信息的操作,既可以是人為的,也可以是利用軟件實現(xiàn)的。當(dāng)為前者時,實際上是對前述第一種方式的后續(xù)維護。當(dāng)為后者時,則使本發(fā)明實現(xiàn)了對已知特定網(wǎng)站列表的動態(tài)擴展維護。如果該已知特定網(wǎng)站列表即為所述鏈接庫或所述的待掃描隊列,則本質(zhì)上便是在維護一個新鏈接列表,該新鏈接列表自然可用做本發(fā)明后文所需的多個相關(guān)處理環(huán)節(jié)的數(shù)據(jù)基礎(chǔ)。
[0126]三、利用IP地址來動態(tài)確定已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。
[0127]眾所周知的,域名與IP地址之間具有映射關(guān)系。因此,通過已知的域名可以確定相應(yīng)的IP地址,同一個網(wǎng)站可能由多個IP地址所指向的服務(wù)器提供服務(wù),因此,網(wǎng)站與IP地址間可能存在一對多、多對多的映射關(guān)系。實踐中,企業(yè)網(wǎng)站通常使用由連續(xù)IP地址構(gòu)成的IP地址段來架設(shè)其服務(wù)器。有鑒于此,利用目前已經(jīng)存在的已知特定網(wǎng)站,可以確定其所占據(jù)的IP地址段。當(dāng)請求包的鏈接中的新域名包含不屬于目前已經(jīng)存在的已知特定網(wǎng)站的域名之一時,這時可以比較該新域名所指向的IP地址是否屬于目前已經(jīng)存在的已知特定網(wǎng)站所占有的IP地址之一,如果是,則同理可將該請求包的所述鏈接視為新的已知特定網(wǎng)站關(guān)聯(lián)新鏈接而添加到一個如前所述的已知特定網(wǎng)站列表中。同理,如果該已知特定網(wǎng)站列表即為所述鏈接庫或所述的待掃描隊列,本處理方式本質(zhì)上便是在維護一個新鏈接列表,該新鏈接列表自然可用做本發(fā)明后文所需的多個相關(guān)處理環(huán)節(jié)的數(shù)據(jù)基礎(chǔ)。
[0128]由此可知,本發(fā)明盡管運用了傳統(tǒng)爬蟲技術(shù)原理,但仍有區(qū)別于爬蟲技術(shù)的重點,在于本發(fā)明具有確定的已知特定網(wǎng)站,并且,這些已知特定網(wǎng)站,既可以初始化人為給定,也可以由以本方法實現(xiàn)的軟件動態(tài)識別添加,而不必有如傳統(tǒng)爬蟲技術(shù)般嚴格依賴于無明確指向的種子URL。而且,這些已知特定網(wǎng)站在本質(zhì)上是一系列的鏈接,既可以使用一個列表進行獨立維護,也可以將這個列表用作鏈接庫,甚至直接將這個列表用作待掃描隊列。具體如何利用這一列表,只是數(shù)據(jù)庫技術(shù)在本方法中的靈活結(jié)合運用,對本領(lǐng)域技術(shù)人員而言是顯而易見的。例如,一種方式中,已知特定網(wǎng)站列表本質(zhì)上即是本發(fā)明的待掃描隊列,對于新鏈接,順序追加到列表并附上相應(yīng)的表征未掃描的標(biāo)識即可,掃描后更改這些標(biāo)識為表征已掃描的描述。另一種方式,該列表是獨立的,主要用于記錄各個域名和相應(yīng)的IP地址,而另外設(shè)置待掃描隊列,當(dāng)識別出關(guān)聯(lián)新鏈接時,新鏈接的域名將被添加到該列表中,而新鏈接本身則被添加到待掃描隊列中,以后凡是包含此域名的鏈接也均不必再行解析,而直接將其添加到待掃描隊列中。再一種方式,已知特定網(wǎng)站列表、鏈接庫、待掃描隊列均是相互獨立的,已知特定網(wǎng)站列表僅已知特定網(wǎng)站有關(guān)的存儲域名,該鏈接庫用于存儲所有已經(jīng)識別的與已知特定網(wǎng)站有關(guān)的鏈接,而待掃描隊列僅用于存儲從鏈接庫中獲得的新鏈接,這種方式保證了各類型數(shù)據(jù)的獨立性,可用做更為復(fù)雜的用途。
[0129]如前所述,以上三種方式任意之一,不僅可以用于確定本發(fā)明的已知特定網(wǎng)站,而且,本質(zhì)上也是本發(fā)明用于確定是否屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接的過程。為了簡化后續(xù)的說明和理解,有必要交待,以下的描述中,按照前文的一種方式,將上述的已知特定網(wǎng)站列表完全等同于本發(fā)明后文揭示的待掃描隊列。但這種簡化應(yīng)足以讓本領(lǐng)域技術(shù)人員將其擴展到包括利用鏈接庫保存有效鏈接的應(yīng)用場景中。
[0130]在經(jīng)過上述內(nèi)容的揭示后,理解了本發(fā)明的已知特定網(wǎng)站的概念,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)足以實施本發(fā)明第二層次實施例中關(guān)于利用請求包的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接的內(nèi)容。進一步,上述給出了已知特定網(wǎng)站的確定以及屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接的判定方法之后,將更有助于本領(lǐng)域技術(shù)人員對本步驟的更深入的該第二層次實施例的理解。也就是說,以上給出了利用請求包的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接的兩個不同層次的變例,因此,利用所述請求包所包含的鏈接,并確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接,這一技術(shù)手段的實施已經(jīng)獲得充分的公開。為了進一步體現(xiàn)發(fā)明的優(yōu)越性,如下進一步揭示本步驟利用請求包的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接的細分步驟,來體現(xiàn)依據(jù)本步驟實現(xiàn)的另一實施例。請參閱圖4,本步驟的細分步驟包括:
[0131]步驟S121、提取已獲取的所有請求包的鏈接。
[0132]由本方法實現(xiàn)的軟件,匯總所有的由旁路偵聽獲得的請求包之后,對請求包進行鏈接提取。由于http請求包中包含了網(wǎng)頁的url,對應(yīng)地,從http請求包中可以還原得到相應(yīng)的鏈接,即網(wǎng)頁的url??梢韵刃袑@些鏈接進行公知的一些技術(shù)分析,如分析其是否有效鏈接。
[0133]有效鏈接指能夠正常打開網(wǎng)頁或下載文件的鏈接。無效鏈接指頁面已經(jīng)無效,無法對用戶提供任何有價值信息的頁面。當(dāng)某一鏈接出現(xiàn)無域名、域名不全、鏈接不完整、post協(xié)議數(shù)據(jù)包沒內(nèi)容等現(xiàn)象時則將該鏈接判定為無效鏈接。以域名為abed, com的某一鏈接為例,若鏈接中沒有出現(xiàn)域名abed, com或只出現(xiàn)域名的一部分如ad.com,則該鏈接為無效鏈接。
[0134]對從請求包中獲取的鏈接進行分析,判定該鏈接是否為有效鏈接,若鏈接出現(xiàn)無域名、域名不全、鏈接不完整、post協(xié)議數(shù)據(jù)包沒內(nèi)容等現(xiàn)象則判定鏈接為無效鏈接,無效鏈接不參與后續(xù)的處理;若否則為有效鏈接,后續(xù)只處理有效鏈接。
[0135]可以看出,本子步驟也可實現(xiàn)于步驟Sll中,并可與其過濾實例相結(jié)合運用。
[0136]步驟S122、去除所提取的鏈接中指向具有相同代碼的網(wǎng)頁的重復(fù)鏈接。
[0137]每條所提取的鏈接,主要是指其中的有效鏈接,本質(zhì)上均指向相應(yīng)的已知特定網(wǎng)站的一個網(wǎng)頁,但是,這些有效鏈接中還可能存在大量的重復(fù)鏈接。所謂重復(fù)鏈接,是指這些鏈接,指向的網(wǎng)頁是具有相同代碼的網(wǎng)頁,只是提供給原始網(wǎng)頁以不同的數(shù)據(jù)庫訪問變量,而導(dǎo)致網(wǎng)頁在鏈接內(nèi)容上呈現(xiàn)出不同,但這些網(wǎng)頁的漏洞點是完全相同的。
[0138]例如,兩條有效鏈接,彼此開頭部分相同,而末尾處分別為/a.php ? = I與/a.php ? = 2,這兩條鏈接事實上僅僅是從數(shù)據(jù)庫里提取的數(shù)據(jù)不同而已,其中可以視為變量,故而兩條鏈接的不同實際上只是變量不同,這種情況下,利用其中任意一條鏈接即可指向其它鏈接所指向的網(wǎng)頁,因此,只需保留其中一條鏈接即可。進一步,可以去除其尾部變量,直接將鏈接的末尾處改成/a.php,而刪除所有帶變量的相關(guān)鏈接,也可起到相同的效果。這種重復(fù)鏈接網(wǎng)頁多見于論壇中。
[0139]又如,新聞網(wǎng)站中的網(wǎng)頁末尾處常見/data/2011201與/data/2011202這樣的鏈接描述,其中2011201和2011202同理應(yīng)視為變量,除了這兩個變量不同之外,兩條鏈接的其余文字均相同,因此,本質(zhì)上也是指向具有相同代碼的網(wǎng)頁的兩條重復(fù)鏈接。
[0140]為了提高本發(fā)明的運算效率,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)借助包括公知技術(shù)在內(nèi)的手段為提取出的鏈接去除其中的重復(fù)鏈接。為了更有助于本領(lǐng)域技術(shù)人員實施本發(fā)明,以下列出兩種可選的或者并用的由本發(fā)明創(chuàng)新的去除重復(fù)鏈接的方法供參照實施:
[0141]方法一:先對鏈接進行排序,取相鄰鏈接進行比較分析,當(dāng)發(fā)現(xiàn)各鏈接僅變量不同其余內(nèi)容完全相同時,將其確定為是因為訪問數(shù)據(jù)庫而形成的僅其變量不同的多個鏈接,因而確定為重復(fù)鏈接,這種情況下,僅保留諸多重復(fù)鏈接中的一條,其余全部刪除,以去除重復(fù)鏈接。
[0142]方法二:先對鏈接進行排序,取相鄰鏈接所指向的網(wǎng)頁簽名進行比較,當(dāng)發(fā)現(xiàn)簽名相同時,確定這些鏈接屬于重復(fù)鏈接,僅保留其中的一條鏈接,刪除其它鏈接,從而實現(xiàn)去除重復(fù)鏈接。
[0143]上述兩種方法中的排序,以及取相鄰鏈接的手段,并非必須,本領(lǐng)域技術(shù)人員可以動用一切可以有助于提高比較的公知算法加以代替,恕不贅述??梢钥闯觯ㄟ^對重復(fù)鏈接進行去重,所得到的鏈接便具有一定的唯一性網(wǎng)頁指向,顯然有助于提高后續(xù)步驟的執(zhí)行效率。
[0144]步驟S123、確定經(jīng)前一步驟處理后的鏈接中的關(guān)聯(lián)新鏈接,將該新鏈接添加至待掃描隊列。
[0145]如前所述,確定新鏈接的過程,其實質(zhì)上也是在確定該鏈接是否與目前已存在的已知特定網(wǎng)站存在關(guān)聯(lián)關(guān)系,因此而確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接,不僅包括已經(jīng)記錄到已知特定網(wǎng)站列表(待掃描隊列)中的域名、IP地址或者更具體的鏈接等,還包括一些其域名未出現(xiàn)在該列表中、而其映射的IP地址卻已經(jīng)被記錄到該列表中或者落入該列表中已記錄的IP地址所構(gòu)成的IP地址段或IP地址段區(qū)間的鏈接。因此,在本步驟中確定關(guān)聯(lián)新鏈接,也即對上述揭示的三種確定屬于已知特定網(wǎng)站或?qū)儆谄潢P(guān)聯(lián)新鏈接的方法進行靈活運用的過程。顯然,容易理解,運用上述三種方法是靈活的,可以僅選其中一種,也可同時選擇任意多種。其中第一種,通過手動登記的方式,適于從中登記一個網(wǎng)站域名,此后所有該域名之下的未曾掃描的具體鏈接(如前所述可以通過在鏈接庫中或者待掃描隊列中標(biāo)識狀態(tài)來識別),均視為該網(wǎng)站的關(guān)聯(lián)新鏈接;其中的第二種,利用域名注冊特征信息來登記,無論是通過人為查詢還是程序?qū)崿F(xiàn),均能起到如第一種同理的效果,但在程序中實現(xiàn)的方式是本步驟可采用的關(guān)鍵,能夠藉此提高程序的智能化和自動化程度;其中的第三種,通過比較請求包鏈接所指向的IP地址是否落入目前存在的已知特定網(wǎng)站列表中的鏈接所指向的IP地址或由其構(gòu)成的連續(xù)IP地址段范圍,來決定是否將該請求包鏈接視為屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接,這種方式能夠自動擴展已知特定網(wǎng)站列表,如果已知特定網(wǎng)站是單列一個列表,那么,可以將該新鏈接的域名添加到該列表中,而將該新鏈接添加到鏈接庫(如有)和待掃描隊列中;如果已知特定網(wǎng)站列表即同時用做待掃描隊列,那么,直接添加該新鏈接到已知特定網(wǎng)站列表也便是將該新鏈接添加到待掃描隊列的過程。
[0146]以下再進一步揭示本發(fā)明的第一和第二層次的實施例中共同用到的利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接的【具體實施方式】。
[0147]前文雖然詳細揭示了本發(fā)明部分技術(shù)與傳統(tǒng)爬蟲技術(shù)之間的區(qū)別,但本發(fā)明同時也將對爬蟲技術(shù)進行運用。具體而言,現(xiàn)有爬蟲技術(shù)中,通過一個種子URL,適用變化規(guī)則,可以基于該種子URL構(gòu)造相關(guān)的網(wǎng)頁新鏈接,抓取這些網(wǎng)頁,或者直接下載種子URL指向的網(wǎng)頁并對這些網(wǎng)頁做進一步的分析,提取其中屬于本種子URL相關(guān)的新鏈接。簡言之,給定一個網(wǎng)站鏈接作為種子URL,則爬蟲技術(shù)理論上便能夠利用該網(wǎng)站鏈接獲得其下的絕大部分的未記載到鏈接庫的新鏈接,在獲取這些新鏈接之后,添加到鏈接庫,再對其實施網(wǎng)頁抓取;或者,爬蟲技術(shù)也可直接利用種子URL結(jié)合變化規(guī)則而構(gòu)造出諸多新鏈接。可見,利用種子URL構(gòu)造新鏈接,便是爬蟲技術(shù)賴以實現(xiàn)其網(wǎng)頁全面抓取功能的基礎(chǔ)之一。同理,本發(fā)明也運用了這一爬蟲技術(shù)原理,利用已存在于已知特定網(wǎng)站列表、鏈接庫(如有)或待掃描列表的已知特定網(wǎng)站或其具體鏈接,視為原始鏈接,適用預(yù)定的變化規(guī)則,在原始鏈接的基礎(chǔ)上變化出新鏈接,例如前文示例中的http://www.#/test/admin.php若存在,則本發(fā)明可以進一步利用這一鏈接構(gòu)造出包含前者的路徑的新鏈接:http://www.#/test/admin/admin, php,該新鏈接便是本發(fā)明最終構(gòu)造成形的新鏈接。其中,/admin/這一目錄便是利用變化規(guī)則添加的。這些變化規(guī)則是公知且多變的,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉,因此,不應(yīng)以該示例限制本發(fā)明的實施。而且,這樣的變化原理應(yīng)不局限于對一個層級的鏈接的構(gòu)造,而應(yīng)推廣到利用第一級網(wǎng)頁構(gòu)造出第N級網(wǎng)頁的情況。由此可見,借助對爬蟲技術(shù)的這種改造式運用,可以構(gòu)造出與所述原始鏈接相關(guān)聯(lián)的更多的深層新鏈接,用于本發(fā)明后續(xù)進行漏洞掃描。
[0148]從原始鏈接到最終待掃描漏洞的新鏈接的過程,是一個中間過程,因此,中間產(chǎn)生的新鏈接可以直接存入前述所稱的已知特定網(wǎng)站列表、鏈接庫(如有)或待掃描隊列,只要按照本發(fā)明的要求最終在待掃描隊列中形成一些明確的待實施漏洞掃描的新鏈接即可。所述作為用于構(gòu)造更深層鏈接的種子URL的原始鏈接,也不應(yīng)局限于來源于所述交換機的請求包,而應(yīng)擴展到對所述已知特定網(wǎng)站列表、鏈接庫、待掃描隊列中的鏈接的靈活利用。
[0149]由此可以看出,本發(fā)明有兩大類手段可以獲取待掃描漏洞的新鏈接,其一是通過已知特定網(wǎng)站原始鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接,其二是利用已知特定網(wǎng)站的原始鏈接運用改進的爬蟲技術(shù)構(gòu)造出屬于已存在特定網(wǎng)站的內(nèi)部新鏈接。這兩類技術(shù)手段可以靈活運用,第二種手段可以獨立地存在于所述第一層次的實施例中,也可以與第一種手段相結(jié)合存在于所述第二層次的實施例中。
[0150]當(dāng)前述兩種實現(xiàn)獲取新鏈接的手段并存時,可以并行不悖地實施,也可以為兩種手段提供擇一的選用邏輯。具體而言,本發(fā)明中,預(yù)設(shè)一流量閥值,通過統(tǒng)計單位時間內(nèi)的請求包流量是否超過這一閥值,來確定選用何種手段。當(dāng)單位時間內(nèi)的請求包流量高于該流量閥值時,則利用請求包中的鏈接來確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接;當(dāng)單位時間內(nèi)的請求包流量低于和/或等于該流量閥值時,則利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接,由此,使得本發(fā)明具備了任務(wù)調(diào)度能力,更為智能化。
[0151]統(tǒng)計請求包流量的方式,可以靈活實施。方式之一是直接統(tǒng)計某個交換機的請求包流量,方式之二是統(tǒng)計本機所接收的所有交換機請求包的流量,前者適用于本機接入單個交換機的情況,后者適用于通過遠程端口接收多個交換機請求包匯聚結(jié)果的情況。當(dāng)然,本領(lǐng)域技術(shù)人員還可利用流量/單位時間這一關(guān)系靈活實現(xiàn)對這種流量關(guān)系的統(tǒng)計。
[0152]注意到前述步驟Sll中揭示了兩個對請求包進行過濾的實施例,其目的在于避免同類型檢測設(shè)備與本機相互對對方的交換機請求的循環(huán)利用?;谕荒康模静襟E中也可以可選地設(shè)置第三種過濾實例,具體而言,在利用交換機的鏈接構(gòu)造新鏈接之前,可以先發(fā)起針對該交換機鏈接訪問,如果訪問請求獲得404頁面(錯誤頁面)作為應(yīng)答,意味著該鏈接是不存在的,為無效鏈接,因此,即不對依該鏈接構(gòu)造新鏈接,從而也可避免所述的循環(huán)利用。
[0153]進一步,需要指出的是,運用爬蟲技術(shù)構(gòu)造的新鏈接,也可能存在重復(fù)的現(xiàn)象,因此理論上本發(fā)明對鏈接進行去重的技術(shù)也適用于這些新鏈接;本發(fā)明利用爬蟲技術(shù)原理構(gòu)造的新鏈接被添加到本地后,同理也已經(jīng)成為已保存的已知特定網(wǎng)站的基礎(chǔ)數(shù)據(jù),可作為本發(fā)明確定屬于已知特定網(wǎng)站的關(guān)聯(lián)鏈接和構(gòu)造更深層的新鏈接的基礎(chǔ)數(shù)據(jù),這些基礎(chǔ)數(shù)據(jù)也同理可以被據(jù)以實施漏洞掃描檢測。
[0154]借助上述揭示的兩大層次的幾種方式任意之一對本發(fā)明的有效鏈接進行了有關(guān)新鏈接的上述過程的確定、構(gòu)造、篩選和擴展之后,所得到便是所有新鏈接,為了便于后續(xù)步驟的執(zhí)行,將該些新鏈接添加到如前所述的待掃描隊列中。不管該待掃描隊列是否與已知特定網(wǎng)站列表共用一表,還是進一步與所述鏈接庫共用一表,或者待掃描隊列是單獨的一表,等等,如前所述,本領(lǐng)域技術(shù)人員均能夠利用尋常知識在該待掃描隊列中登記所有確定的新鏈接,并在后續(xù)僅僅對該些新鏈接實施漏洞掃描。
[0155]步驟S13、對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描檢測。
[0156]在經(jīng)過上述步驟靈活的多種變例進行處理,最終從所有請求包鏈接中確定和/或構(gòu)造了所有新鏈接之后,可以集中對這些新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描檢測。當(dāng)然,所謂的集中,在時間上可以一般是周期性的。因為用戶請求不斷發(fā)生,本方法能不斷獲取請求包,并可不斷對請求包進行分析,但不可能等到用戶不再發(fā)送請求時才開始進行掃描檢測。因此,本步驟與其它步驟只有邏輯上的關(guān)系,不應(yīng)以這種邏輯關(guān)系排除其在時間上的穿插關(guān)系。例如,可以一邊確定新鏈接,一邊對之前已確定的新鏈接進行掃描。可以以一個進程不斷確定接收請求包并確定新鏈接,將新鏈接存入待掃描隊列,而另一進程則不斷地對待掃描隊列中的新鏈接實施掃描。不管其它步驟如何靈活變通實現(xiàn),本步驟僅需關(guān)注所述待掃描隊列中的新鏈接,同理,無論本步驟如何靈活變通實現(xiàn),前述各步驟最終提供的接口也在于一個存儲有新鏈接的待掃描隊列,待掃描隊列無疑成為本步驟與之前的步驟之間的接口,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉此一原理。
[0157]本發(fā)明所稱新鏈接相對應(yīng)的網(wǎng)頁中的對應(yīng)關(guān)系,既可以是指由新鏈接利用域名與IP地址的關(guān)系直接映射到網(wǎng)站服務(wù)器中相應(yīng)的網(wǎng)頁的關(guān)系,也可以是指將該相應(yīng)網(wǎng)頁下載后存儲于本地網(wǎng)頁庫中的這種間接的一一對應(yīng)關(guān)系。因此,適應(yīng)這兩種具體的對應(yīng)關(guān)系,可以采取以下兩種方式任意之一對本發(fā)明確定的新鏈接所指向的網(wǎng)頁進行漏洞掃描檢測。
[0158]方式一、從所述待掃描隊列中獲取記載于其中的新鏈接,然后,利用該新鏈接直接映射的在線網(wǎng)頁,通過向其網(wǎng)站服務(wù)器發(fā)送請求,利用網(wǎng)站服務(wù)器返回的網(wǎng)頁進行漏洞掃描檢測。這種方式會加大新鏈接所在服務(wù)器的負擔(dān)和處理時間,但可以適當(dāng)節(jié)省利用本方法實現(xiàn)的軟件的運算量。
[0159]方式二、先利用待掃描隊列中記載的新鏈接去下載這些新鏈接直接映射的網(wǎng)頁,下載方法可以同方式一,將這些網(wǎng)頁添加至一個本地網(wǎng)頁庫中,然后對這些本地網(wǎng)頁庫中的各個網(wǎng)頁實施漏洞掃描檢測。或者也可如前所述,開設(shè)兩個進程,一個用于不斷下載各新鏈接所映射的在線網(wǎng)頁至本地網(wǎng)頁庫,另一個則不斷地對剛下載的本地網(wǎng)頁庫中的網(wǎng)頁實施漏洞掃描檢測。
[0160]按照上述方式,不管具體如何利用待掃描隊列中的新鏈接進行漏洞掃描檢測,顯然,均不影響不發(fā)明所要達到的漏洞掃描檢測效果。
[0161]具體進行漏洞掃描檢測時,是結(jié)合網(wǎng)站安全檢測漏洞數(shù)據(jù)和網(wǎng)站安全檢測規(guī)則實施的。網(wǎng)站安全檢測漏洞數(shù)據(jù)包括以下至少之一:掛馬數(shù)據(jù)、虛假欺詐數(shù)據(jù)、搜索屏蔽數(shù)據(jù)、旁注數(shù)據(jù)、篡改數(shù)據(jù)、漏洞數(shù)據(jù)。根據(jù)網(wǎng)站安全檢測漏洞數(shù)據(jù),按照與網(wǎng)站安全檢測漏洞數(shù)據(jù)相對應(yīng)的網(wǎng)站安全檢測規(guī)則對網(wǎng)站進行安全檢測,其中,網(wǎng)站安全檢測規(guī)則包括以下至少之一:掛馬規(guī)則、虛假欺詐規(guī)則、屏蔽規(guī)則、旁注規(guī)則、篡改規(guī)則、和漏洞規(guī)則。本發(fā)明主要利用漏洞規(guī)則對網(wǎng)頁進行掃描。漏洞規(guī)則用于根據(jù)漏洞數(shù)據(jù)確定網(wǎng)站存在的漏洞。
[0162]根據(jù)漏洞數(shù)據(jù),按照漏洞規(guī)則對網(wǎng)站進行安全檢測包括:獲取預(yù)先存儲的漏洞特征數(shù)據(jù)庫中的漏洞特征,判斷漏洞數(shù)據(jù)是否符合漏洞特征,若漏洞數(shù)據(jù)符合漏洞特征,則確定為漏洞;若漏洞數(shù)據(jù)不符合漏洞特征,則確定為非漏洞。根據(jù)判斷結(jié)果確定網(wǎng)站存在的漏洞,其中,漏洞特征可以為漏洞關(guān)鍵字。如,將網(wǎng)頁狀態(tài)代碼404作為漏洞關(guān)鍵字;或者,將404頁面內(nèi)容作為漏洞關(guān)鍵字;或者,通過訪問網(wǎng)站的正常網(wǎng)頁,提取該正常網(wǎng)頁的網(wǎng)頁內(nèi)容、網(wǎng)頁狀態(tài)代碼和http頭部,訪問該網(wǎng)站不存在的網(wǎng)頁,提取反饋網(wǎng)頁的網(wǎng)頁內(nèi)容、網(wǎng)頁狀態(tài)代碼和http頭部,比較該正常網(wǎng)頁和該反饋網(wǎng)頁的網(wǎng)頁內(nèi)容、網(wǎng)頁狀態(tài)代碼和http頭部,獲取404關(guān)鍵字作為漏洞關(guān)鍵字;再或者,訪問不存在的網(wǎng)頁,將反饋網(wǎng)頁的網(wǎng)頁內(nèi)容、網(wǎng)頁狀態(tài)代碼和http頭部作為漏洞關(guān)鍵字等等,本發(fā)明對此不作限制。
[0163]通過上述各步驟,本發(fā)明的方法便可完成對網(wǎng)站進行安全檢測的任務(wù),將漏洞掃描后的結(jié)果存儲于相應(yīng)的文件或數(shù)據(jù)庫中,可供它用。進一步,為了取得更佳的人機交互效果,本發(fā)明還可以參照圖5所揭示的實施例可選地執(zhí)行如下步驟:
[0164]步驟S14、顯示圖形用戶界面以輸出實施漏洞掃描檢測的結(jié)果信息。
[0165]由于本方法適于以編程的方式實現(xiàn),因此,可以通過該程序?qū)崿F(xiàn)一個圖形用戶界面,在執(zhí)行完前述步驟完成漏洞掃描檢測之后,對檢測結(jié)果進行分析、統(tǒng)計,將進行數(shù)學(xué)處理后的結(jié)果信息輸出到該圖形用戶界面中,可以使網(wǎng)管員一目了然,從而便于網(wǎng)管員修補網(wǎng)頁漏洞。
[0166]在詳細揭示了本發(fā)明的上述方法的多種實施形式之后,以下結(jié)合模塊化思維,揭示利用本發(fā)明的方法進一步實現(xiàn)的相應(yīng)的裝置的實施例,以便本領(lǐng)域技術(shù)人員更透徹地理解本發(fā)明。需要注意的是,本方法所采用的概念及原理,同理適用于本發(fā)明的相應(yīng)的裝置,故以下的描述將簡化部分說明。
[0167]請參閱圖6,本發(fā)明的網(wǎng)站安全檢測裝置,配置于一臺用作安全檢測設(shè)備的計算機設(shè)備中,包括抓包單元11、查新單元12、檢測單元13,以及如圖7所示實施例所揭示可選地包括顯示單元14。
[0168]所述的抓包單元11,用于獲取通過旁路偵聽而獲得的屬于已知特定網(wǎng)站的超文本傳輸協(xié)議請求包。
[0169]旁路偵聽技術(shù)本身屬于本領(lǐng)域的公知技術(shù),基于交換機的“共享”原理,所有接入該交換機的計算機設(shè)備將共同接收到相同的數(shù)據(jù)包,即當(dāng)一臺計算機向網(wǎng)絡(luò)上另一臺計算機發(fā)送數(shù)據(jù)的時候,或者一個請求進入該交換機的時候,盡管最終可能只有一臺計算機接收該數(shù)據(jù)或請求,其實該網(wǎng)絡(luò)上的其他計算機也能收到該數(shù)據(jù)或請求,只不過其他計算機的網(wǎng)卡識別到該數(shù)據(jù)或請求的目的地不是自身時,直接將該數(shù)據(jù)或請求過濾掉了。也就是說,以太網(wǎng)卡都構(gòu)造了硬件的“過濾器”,這個過濾器會忽略與自身MAC地址不相符合的信息。旁路偵聽技術(shù)正是利用這一特點,通過主動關(guān)閉網(wǎng)卡的過濾器,來接收整個交換機中的數(shù)據(jù)信息,實現(xiàn)偵聽。因此,可以知曉,實施旁路偵聽適宜在最接近目標(biāo)服務(wù)器的交換機處實現(xiàn),理論上,只要將配置有旁路偵聽技術(shù)環(huán)境的計算機設(shè)備接入該交換機,即可實現(xiàn)偵聽,從而獲取交換機的數(shù)據(jù)信息,提取相關(guān)數(shù)據(jù)。
[0170]盡管旁路偵聽技術(shù)接入了交換機,工作于數(shù)據(jù)鏈路層,但利用數(shù)據(jù)鏈路層的數(shù)據(jù)包來還原為其它協(xié)議層的數(shù)據(jù)已是現(xiàn)有技術(shù),因此,旁路偵聽的具體實現(xiàn)方式,應(yīng)亦不影響本發(fā)明的實施。例如,現(xiàn)有技術(shù)中可以借助Linux系統(tǒng)的TcpDump命令來實現(xiàn)抓包和數(shù)據(jù)提取,獲得超文本傳輸協(xié)議請求包。
[0171]所述超文本傳輸協(xié)議(HTTP)請求包,對網(wǎng)站訪問而言,包括兩種形式,即get和post請求。兩種請求雖不同,但亦均屬本發(fā)明的處理對象。通常而言,HTTP請求包的格式主要包括:協(xié)議、服務(wù)器域名、端口號、請求包路徑、get參數(shù)名、post參數(shù)名、擴展名、目標(biāo)服務(wù)器網(wǎng)段等。無論是get請求包還是post請求包中均包含網(wǎng)頁的url。網(wǎng)頁的URL,SP超鏈接,自其域名到其頁面,有約定的格式。其中,鏈接的末端為其指向的資源的描述,除此之外的前面部分為其路徑。例如網(wǎng)址http://www.#/test/admin.php,其中http://表征協(xié)議格式,www.#為其域名,test為該網(wǎng)站中的目錄,admin.php為指向的資源頁面,http://www.#/test/相對于admin.php頁面而言,便是該鏈接的路徑。而http://www.#/test/admin/admin.php 顯然便是 http://www.#/test/admin.php 的更深層的鏈接。
[0172]適用不同的網(wǎng)絡(luò)架構(gòu),可以以如下多種方式任意之一或其結(jié)合來獲取所述由旁路偵聽技術(shù)獲取的HTTP請求包:
[0173]一、通過將本機接入架設(shè)已知特定網(wǎng)站的服務(wù)器所接入的交換機。
[0174]這里所稱的本機,便是指安裝有裝配有本發(fā)明的裝置的計算機設(shè)備,將該計算機設(shè)備接該交換機,使其與所述的服務(wù)器置于同一本地網(wǎng)中,共享交換機中的數(shù)據(jù)信息,從而,便可借助旁路偵聽技術(shù)來直接獲取向該本地網(wǎng)中的服務(wù)器發(fā)起的請求數(shù)據(jù),從而獲得相應(yīng)的HTTP請求包。
[0175]二、通過本機的遠程端口接收其他機器獲取的由旁路偵聽技術(shù)獲得的HTTP請求包。
[0176]本例中,所述的計算機設(shè)備,并不需要直接接入架設(shè)已知特征網(wǎng)站服務(wù)器所接入的交換機,而可以位于更為遠程的地理位置,僅僅通過其遠程端口接收其它計算機設(shè)備發(fā)送給它的由旁路偵聽技術(shù)獲得的HTTP請求包即可。對于這里所稱的“其它計算機設(shè)備”,則應(yīng)直接接入架設(shè)已知特征網(wǎng)站服務(wù)器所接入的交換機,以便直接獲取相應(yīng)的數(shù)據(jù),并且這些其它計算機設(shè)備上還應(yīng)能與裝配了本裝置的計算機設(shè)備進行通信,以便提供各個交換機的HTTP請求包。
[0177]顧及到行文結(jié)構(gòu),關(guān)于本發(fā)明所定義的已知特定網(wǎng)站的闡釋,將在查新單元12中進行。
[0178]后文也將關(guān)聯(lián)性地述及本單元內(nèi)部構(gòu)造的變化實施例,即為了避免使得多臺相同的檢測設(shè)備陷入互相利用對方在交換機留下的訪問請求而出現(xiàn)重復(fù)構(gòu)造相對于彼此請求中的鏈接的更深層的下級鏈接的情形,在本單元中通過限定IP地址來克服這種情況。具體請參閱【背景技術(shù)】部分的示例性說明,其中,有關(guān)檢測服務(wù)器A與檢測服務(wù)器B之間,互相利用對方在交換機留下的訪問請求,以至于消耗系統(tǒng)資源,造成死機現(xiàn)象。因此,可以通過配置本單元(可以構(gòu)造為過濾器)利用兩種【具體實施方式】加以避免:
[0179]其一,識別由旁路偵聽獲得的請求包中的來源IP地址,判斷該來源IP地址是否是預(yù)先給定(例如通過用戶界面輸入并保存在系統(tǒng)設(shè)置中)的特定IP地址,如果是,則過濾掉所有來自該特定IP地址的請求包。例如,檢測服務(wù)器A知曉檢測服務(wù)器B的IP地址,將其IP地址作為特定IP地址加以保存,這樣,檢測服務(wù)器A便可以過濾來源于檢測服務(wù)器B的請求包,避免重復(fù)利用對方的請求。同理,在檢測服務(wù)器B中也可以設(shè)置檢測服務(wù)器A的IP地址來避免同一問題。
[0180]其二,檢測單位時間內(nèi)所收到的請求包中,是否有大量請求包來源于同一 IP地址,例如每分鐘超過預(yù)設(shè)的2000個請求的閾值(僅示例,可靈活設(shè)定具體數(shù)量),當(dāng)存在這種現(xiàn)象時,判定該IP地址便是所述的特定IP地址,從而智能化地過濾掉該特定IP地址的請求包。例如,檢測服務(wù)器A在單位時間內(nèi)收到超過預(yù)設(shè)閾值的來源于同一 IP地址的請求包,則可認為該IP地址為特定IP地址,從而不再利用該特定IP地址的請求包中的鏈接構(gòu)造新鏈接。當(dāng)然,進一步可以具體到該請求包訪問的是否同一服務(wù)器(可通過請求包的目的IP地址來判斷),當(dāng)特定IP地址訪問同一服務(wù)器并到達預(yù)設(shè)閾值時,才過濾掉該特定IP地址發(fā)起的請求包,也是可行的。
[0181]通過上述給出的兩個過濾實例的任意之一,分別可以有指向性地或者動態(tài)智能地避免對同類功能的檢測設(shè)備的請求包的利用。因此,本發(fā)明也可以同時運用該兩個過濾實例,分別實現(xiàn)手動配置和自動計算的效果,以便豐富本發(fā)明的功能。
[0182]但是,以上兩個過濾實例與后續(xù)的檢測單元中即將述及的另一過濾實例之間,三者可以擇一構(gòu)造于本發(fā)明中,也可任意數(shù)量個實例相結(jié)合應(yīng)用于本發(fā)明中,彼此不存在互斥關(guān)系,屬于殊途同歸的幾種有助于實現(xiàn)本發(fā)明的有益效果的重要構(gòu)造方式。依據(jù)這一分析,可以知曉,本發(fā)明以過濾實例為變化要素,也便相當(dāng)于揭示了本發(fā)明的多個變化實施例。
[0183]上述兩種不同的獲取請求包的接入方式,是基于不同的網(wǎng)站服務(wù)器實現(xiàn)架構(gòu)而提出的。無論采用何種具體方式,由旁路偵聽技術(shù)所獲取的交換機數(shù)據(jù)包均能借助現(xiàn)有技術(shù)自動識別出所述HTTP請求包,以便該些HTTP請求包能被進一步處理。
[0184]所述的查新單元12,本步驟中,可以以兩種實施例對其不同層次進行實現(xiàn)。因此可對查新單元12做兩個層次的配置,第一個層次中,參閱圖3,僅考慮利用爬蟲技術(shù)構(gòu)造新鏈接的情況,這種情況下,本查新單元12被配置為利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接;第二個層次中,參閱圖4,增補不同于爬蟲技術(shù)的實現(xiàn)方式,本查新單元12被配置為通過統(tǒng)計單位時間內(nèi)由旁路偵聽獲得的請求包流量,當(dāng)其超過預(yù)設(shè)閥值時,通過調(diào)用預(yù)先構(gòu)造的確定單元(未圖示),利用所述請求包所包含的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接以供實施漏洞掃描檢測;否則通過調(diào)用預(yù)先構(gòu)造的構(gòu)造單元(未圖示),利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接。也就是說,本查新單元12可以通過兩種實施例來實現(xiàn),后者用于進一步擴充、完善本發(fā)明所達到的效果,但并不影響前者的實施。由于兩個層次之間存在遞進或并行關(guān)系,因此,以下有關(guān)本查新單元12的描述,為簡化的方便,在描述形式上并未嚴格區(qū)分這兩種情況,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)依據(jù)此處的先導(dǎo)說明對后文加以理解。
[0185]本發(fā)明所針對的網(wǎng)站是特定的,一般是應(yīng)用本發(fā)明的裝置的企業(yè)自身的一個或多個已知網(wǎng)站,這些網(wǎng)站擁有一些共同特征,其鏈接均解釋到特定的一些IP地址段上、其域名所有人均為該企業(yè)或該企業(yè)的客戶,或者,是該企業(yè)參與管理的目標(biāo)網(wǎng)站。更具體而言,這種特定關(guān)系,是指實現(xiàn)了本裝置的軟件所需關(guān)注的網(wǎng)站。而是否屬于該軟件所需關(guān)注的網(wǎng)站,在技術(shù)層面上,是由本發(fā)明的裝置進行判斷的,具體既可以提供界面人為設(shè)定,也可以是以鏈接和/或IP地址和/或域名注冊特征信息為基礎(chǔ)進行綜合判斷。因此,本發(fā)明的已知特定網(wǎng)站的識別依據(jù),不能僅僅理解為某個域名或其IP地址,還應(yīng)包括雖未進行人為明文設(shè)定,但實質(zhì)上是該企業(yè)所要納入的檢測對象,包括任何解析到實質(zhì)上屬于部分已知特定網(wǎng)站已經(jīng)占據(jù)的IP地址的新增域名的鏈接。
[0186]由此可知,本發(fā)明實現(xiàn)其第二個層次的實施例時,相對于爬蟲技術(shù),雖不需精心挑選種子URL,但有必要通過一設(shè)定單元120 (參閱圖8)提供有關(guān)一些特定網(wǎng)站的基礎(chǔ)設(shè)置,以設(shè)定本發(fā)明的已知特定網(wǎng)站。然而,應(yīng)當(dāng)知曉,所提供的這些已知特定網(wǎng)站本身也是鏈接,顯然也可以作為本發(fā)明實現(xiàn)第一層次和第二層次的實施例時用到的爬蟲技術(shù)的種子URL,并且據(jù)此構(gòu)造新鏈接。因此,這些已知特定網(wǎng)站的預(yù)先設(shè)定是有益于本發(fā)明的實施的。相應(yīng)于前述說明,設(shè)定這些已知特定網(wǎng)站的方式也是多種多樣的。給出已知特定網(wǎng)站的過程,不管給出的內(nèi)容是IP地址還是域名之類的資源定位符,在本質(zhì)上都是給出網(wǎng)站的鏈接,因此這個過程本質(zhì)上也是確定本發(fā)明的新鏈接的過程。以下進一步綜合地揭示本發(fā)明用于確定已知特定網(wǎng)站和/或其新鏈接的設(shè)定單元120的幾種具體實施例:
[0187]一、所述設(shè)定單元120,可被配置為利用圖形用戶界面設(shè)置已知特定網(wǎng)站和/或其關(guān)聯(lián)新鏈接。
[0188]具體而言,以本發(fā)明實現(xiàn)的軟件在首次運行時,將通過本設(shè)定單元120提供一圖形用戶界面,用于提供給用戶進行部分已知特定網(wǎng)站的設(shè)定,用戶通過向該圖形用戶界面輸入與這些已知特定網(wǎng)站有關(guān)的內(nèi)容而完成設(shè)定,從而預(yù)先給定一個或多個已知特定網(wǎng)站。這些預(yù)先給定的內(nèi)容,既可以是一個或多個域名,例如s0.com、#等,也可以是與服務(wù)器相對應(yīng)的IP地址,以及由IP地址構(gòu)成的連續(xù)IP地址段或離散IP地址段區(qū)間。這些設(shè)置內(nèi)容,如前所述,本質(zhì)上可以被理解為一個關(guān)聯(lián)新鏈接或者種子URL,可以被存儲于一個已知特定網(wǎng)站列表中,以便本裝置的其它功能模塊調(diào)用。需要指出的是,這個已知特定網(wǎng)站列表,實質(zhì)上也相當(dāng)于一個鏈接庫,因此,可以被視為鏈接庫進行后續(xù)利用,或者將之視為鏈接庫的數(shù)據(jù)來源。這里所稱的鏈接庫,依據(jù)爬蟲技術(shù)原理,可以被直接用作后續(xù)的待掃描隊列,也可以僅僅是為后續(xù)的待掃描隊列提供基礎(chǔ)數(shù)據(jù)。因此可知,在這個基礎(chǔ)上,這些用于確定部分已知特定網(wǎng)站的域名或者IP地址以及相關(guān)信息,便構(gòu)成了本發(fā)明的新鏈接,或者至少可用于構(gòu)造本發(fā)明的新鏈接,成為本發(fā)明的軟件首次實施掃描的處理對象。而在后續(xù)維護時利用這種方式來繼續(xù)添加新鏈接,當(dāng)該新鏈接的域名不同于其它已知特定網(wǎng)站域名時,實質(zhì)上也就是通過擴展更多域名而添加了新的已知特定網(wǎng)站。
[0189]二、所述的設(shè)定單元120,可被配置為利用域名注冊信息確定已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。
[0190]已知特定網(wǎng)站的關(guān)聯(lián)新鏈接,包括屬于已經(jīng)登記的網(wǎng)站(可以通過包含已登記域名識別)之下的所有鏈接和/或域名未經(jīng)登記的網(wǎng)站的所有鏈接。對于后者,是指從所述請求包獲得的鏈接,包含新域名,不屬于目前已存在的已知特定網(wǎng)站的鏈接范圍時,無法確定該鏈接是否屬于企業(yè)自有網(wǎng)站、是否需要視為屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接時,需要通過技術(shù)手段進一步確定是否應(yīng)將其視為已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。因此,可以通過調(diào)用域名注冊網(wǎng)站提供的接口,來對這個鏈接中的新域名進行查詢,確定其注冊特征信息,具體包括例如域名所有人、域名備案號等,這些注冊特征信息是否與目前存在的已知特定網(wǎng)站域名的注冊特征信息相同,當(dāng)兩者相同時,則將該新鏈接視為已知特定網(wǎng)站的關(guān)聯(lián)新鏈接,在本裝置中運用;否則丟棄該請求包不予處理。繼而可直接將該新域名和/或其下層新鏈接添加到一個如前所述的已知特定網(wǎng)站列表中備用。顯然,查詢新域名注冊特征信息的操作,既可以是人為的,也可以是利用軟件實現(xiàn)的。當(dāng)為前者時,實際上是對前述第一種方式的后續(xù)維護。當(dāng)為后者時,則使本發(fā)明實現(xiàn)了對已知特定網(wǎng)站列表的動態(tài)擴展維護。如果該已知特定網(wǎng)站列表即為所述鏈接庫或所述的待掃描隊列,則本質(zhì)上便是在維護一個新鏈接列表,該新鏈接列表自然可用做本發(fā)明后文所需的多個相關(guān)處理環(huán)節(jié)的數(shù)據(jù)基礎(chǔ)。
[0191]三、所述的設(shè)定單元120,被配置為利用IP地址來動態(tài)確定已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。
[0192]眾所周知的,域名與IP地址之間具有映射關(guān)系。因此,通過已知的域名可以確定相應(yīng)的IP地址,同一個網(wǎng)站可能由多個IP地址所指向的服務(wù)器提供服務(wù),因此,網(wǎng)站與IP地址間可能存在一對多、多對多的映射關(guān)系。實踐中,企業(yè)網(wǎng)站通常使用由連續(xù)IP地址構(gòu)成的IP地址段來架設(shè)其服務(wù)器。有鑒于此,利用目前已經(jīng)存在的已知特定網(wǎng)站,可以確定其所占據(jù)的IP地址段。當(dāng)請求包的鏈接中的新域名包含不屬于目前已經(jīng)存在的已知特定網(wǎng)站的域名之一時,這時可以比較該新域名所指向的IP地址是否屬于目前已經(jīng)存在的已知特定網(wǎng)站所占有的IP地址之一,如果是,則同理可將該請求包的所述鏈接視為新的已知特定網(wǎng)站關(guān)聯(lián)新鏈接而添加到一個如前所述的已知特定網(wǎng)站列表中。同理,如果該已知特定網(wǎng)站列表即為所述鏈接庫或所述的待掃描隊列,本處理方式本質(zhì)上便是在維護一個新鏈接列表,該新鏈接列表自然可用做本發(fā)明后文所需的多個相關(guān)處理環(huán)節(jié)的數(shù)據(jù)基礎(chǔ)。
[0193]由此可知,本發(fā)明盡管運用了傳統(tǒng)爬蟲技術(shù)原理,但仍有區(qū)別于爬蟲技術(shù)的重點,在于本發(fā)明具有確定的已知特定網(wǎng)站,并且,這些已知特定網(wǎng)站,既可以初始化人為給定,也可以由裝配了本裝置的軟件動態(tài)識別添加,而不必有如傳統(tǒng)爬蟲技術(shù)般嚴格無明確指向的依賴于種子URL。而且,這些已知特定網(wǎng)站在本質(zhì)上是一系列的鏈接,既可以使用一個列表進行獨立維護,也可以將這個列表用作鏈接庫,甚至直接將這個列表用作待掃描隊列。具體如何利用這一列表,只是數(shù)據(jù)庫技術(shù)在本裝置中的靈活結(jié)合運用,對本領(lǐng)域技術(shù)人員而言是顯而易見的。例如,一種方式中,已知特定網(wǎng)站列表本質(zhì)上即是本發(fā)明的待掃描隊列,對于新鏈接,順序追加到列表并附上相應(yīng)的表征未掃描的標(biāo)識即可,掃描后更改這些標(biāo)識為表征已掃描的描述。另一種方式,該列表是獨立的,主要用于記錄各個域名和相應(yīng)的IP地址,而另外設(shè)置待掃描隊列,當(dāng)識別出關(guān)聯(lián)新鏈接時,新鏈接的域名將被添加到該列表中,而新鏈接本身則被添加到待掃描隊列中,以后凡是包含此域名的鏈接也均不必再行解析,而直接將其添加到待掃描隊列中。再一種方式,已知特定網(wǎng)站列表、鏈接庫、待掃描隊列均是相互獨立的,已知特定網(wǎng)站列表僅已知特定網(wǎng)站有關(guān)的存儲域名,該鏈接庫用于存儲所有已經(jīng)識別的與已知特定網(wǎng)站有關(guān)的鏈接,而待掃描隊列僅用于存儲從鏈接庫中獲得的新鏈接,這種方式保證了各類型數(shù)據(jù)的獨立性,可用做更為復(fù)雜的用途。
[0194]如前所述,設(shè)定單元120的三種實施方式,不僅均可以用于確定本發(fā)明的已知特定網(wǎng)站,而且,本質(zhì)上也可以用于確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。為了簡化后續(xù)的說明和理解,有必要交待,以下的描述中,按照前文的一種方式,將上述的已知特定網(wǎng)站列表完全等同于本發(fā)明后文揭示的待掃描隊列。但這種簡化應(yīng)足以讓本領(lǐng)域技術(shù)人員將其擴展到包括利用鏈接庫保存有效鏈接的應(yīng)用場景中。
[0195]在經(jīng)過上述內(nèi)容的揭示后,理解了本發(fā)明的已知特定網(wǎng)站的概念,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)足以實施本查新單元12中的確定單元。進一步,上述給出了用于確定已知特定網(wǎng)站以及確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接多種設(shè)定單元120之后,將更有助于本領(lǐng)域技術(shù)人員對本查新單元12的確定單元的更深入的實施例的理解。以上給出了本查新單元12的確定單元的兩個不同層次的變例,因此,利用所述請求包所包含的鏈接,并確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接,這一技術(shù)手段的實施已經(jīng)獲得充分的公開。為了進一步體現(xiàn)發(fā)明的優(yōu)越性,如下進一步揭示本查新單元12的確定單元在另一實施例中的內(nèi)部結(jié)構(gòu),來體現(xiàn)依據(jù)本查新單元12的確定單元實現(xiàn)的另一實施例的細節(jié)。請參閱圖8,本查新單元12的確定單元進一步包括提取模塊121、去重模塊122以及添加模塊123:
[0196]所述的提取模塊121,用于提取已獲取的所有請求包的鏈接。
[0197]由本裝置實現(xiàn)的軟件,匯總所有的由旁路偵聽獲得的請求包之后,由提取模塊121對請求包進行鏈接提取。由于http請求包中包含了網(wǎng)頁的url,對應(yīng)地,從http請求包中可以還原得到相應(yīng)的鏈接,即網(wǎng)頁的url??梢韵刃袑@些鏈接進行公知的一些技術(shù)分析,如分析其是否有效鏈接。
[0198]有效鏈接指能夠正常打開網(wǎng)頁或下載文件的鏈接。無效鏈接指頁面已經(jīng)無效,無法對用戶提供任何有價值信息的頁面。當(dāng)某一鏈接出現(xiàn)無域名、域名不全、鏈接不完整、post協(xié)議數(shù)據(jù)包沒內(nèi)容等現(xiàn)象時則將該鏈接判定為無效鏈接。以域名為abed, com的某一鏈接為例,若鏈接中沒有出現(xiàn)域名abed, com或只出現(xiàn)域名的一部分如ad.com,則該鏈接為無效鏈接。
[0199]對從請求包中獲取的鏈接進行分析,判定該鏈接是否為有效鏈接,若鏈接出現(xiàn)無域名、域名不全、鏈接不完整、post協(xié)議數(shù)據(jù)包沒內(nèi)容等現(xiàn)象則判定鏈接為無效鏈接,無效鏈接不參與后續(xù)的處理;若否則為有效鏈接,后續(xù)只處理有效鏈接。
[0200]可以看出,本提取模塊121也可實現(xiàn)于抓包單元11中,并可與其過濾實例相結(jié)合運用。
[0201]所述的去重模塊122,用于去除所提取的鏈接中指向具有相同代碼的網(wǎng)頁的重復(fù)鏈接。
[0202]每條所提取的鏈接,主要是指其中的有效鏈接,本質(zhì)上均指向相應(yīng)的已知特定網(wǎng)站的一個網(wǎng)頁,但是,這些有效鏈接中還可能存在大量的重復(fù)鏈接。所謂重復(fù)鏈接,是指這些鏈接,指向的網(wǎng)頁是具有相同代碼的網(wǎng)頁,只是提供給原始網(wǎng)頁以不同的數(shù)據(jù)庫訪問變量,而導(dǎo)致網(wǎng)頁在鏈接內(nèi)容上呈現(xiàn)出不同,但這些網(wǎng)頁的漏洞點是完全相同的。
[0203]例如,兩條有效鏈接,彼此開頭部分相同,而末尾處分別為/a.php ? = I與/a.php ? = 2,這兩條鏈接事實上僅僅是從數(shù)據(jù)庫里提取的數(shù)據(jù)不同而已,其中可以視為變量,故而兩條鏈接的不同實際上只是變量不同,這種情況下,利用其中任意一條鏈接即可指向其它鏈接所指向的網(wǎng)頁,因此,只需保留其中一條鏈接即可。進一步,可以去除其尾部變量,直接將鏈接的末尾處改成/a.php,而刪除所有帶變量的相關(guān)鏈接,也可起到相同的效果。這種重復(fù)鏈接網(wǎng)頁多見于論壇中。
[0204]又如,新聞網(wǎng)站中的網(wǎng)頁末尾處常見/data/2011201與/data/2011202這樣的鏈接描述,其中2011201和2011202同理應(yīng)視為變量,除了這兩個變量不同之外,兩條鏈接的其余文字均相同,因此,本質(zhì)上也是指向具有相同代碼的網(wǎng)頁的兩條重復(fù)鏈接。
[0205]為了提高本發(fā)明的運算效率,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)借助包括公知技術(shù)在內(nèi)的手段為提取出的鏈接去除其中的重復(fù)鏈接。本發(fā)明的去重模塊122進一步包括查重子模塊和去除子模塊,前者用于確定重復(fù)鏈接,后者用于實施去除操作。為了更有助于本領(lǐng)域技術(shù)人員實施本發(fā)明,以下列出用于去除重復(fù)鏈接的去重模塊122的具體結(jié)構(gòu)的兩種可選實施方式供參考:
[0206]結(jié)構(gòu)形式之一:所述查重子模塊先對鏈接進行排序,取相鄰鏈接進行比較分析,當(dāng)發(fā)現(xiàn)各鏈接僅變量不同其余內(nèi)容完全相同時,將其確定為是因為訪問數(shù)據(jù)庫而形成的僅其變量不同的多個鏈接,因而確定為重復(fù)鏈接,這種情況下,所述去除子模塊僅保留諸多重復(fù)鏈接中的一條,其余全部刪除,以去除重復(fù)鏈接。
[0207]結(jié)構(gòu)形式之二:所述查重子模塊先對鏈接進行排序,取相鄰鏈接所指向的網(wǎng)頁簽名進行比較,當(dāng)發(fā)現(xiàn)簽名相同時,確定這些鏈接屬于重復(fù)鏈接,所述去除子模塊繼而僅保留其中的一條鏈接,刪除其它鏈接,從而實現(xiàn)去除重復(fù)鏈接。
[0208]上述兩種結(jié)構(gòu)形式中的排序,以及取相鄰鏈接的手段,并非必須,本領(lǐng)域技術(shù)人員可以動用一切可以有助于提高比較的公知算法加以代替,恕不贅述。可以看出,通過對重復(fù)鏈接進行去重,所得到的鏈接便具有一定的唯一性網(wǎng)頁指向,顯然有助于提高本裝置其它功能模塊的執(zhí)行效率。
[0209]所述的添加模塊123,用于確定查新單元12處理后的鏈接中的關(guān)聯(lián)新鏈接,將該新鏈接添加至待掃描隊列。
[0210]如前所述,確定新鏈接的過程,其實質(zhì)上也是在確定該鏈接是否與目前已存在的已知特定網(wǎng)站存在關(guān)聯(lián)關(guān)系,因此而確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接,不僅包括已經(jīng)記錄到已知特定網(wǎng)站列表(待掃描隊列)中的域名、IP地址或者更具體的鏈接等,還包括一些其域名未出現(xiàn)在該列表中、而其映射的IP地址卻已經(jīng)被記錄到該列表中或者落入該列表中已記錄的IP地址所構(gòu)成的IP地址段或IP地址段區(qū)間的鏈接。因此,在本添加模塊123中確定關(guān)聯(lián)新鏈接,也即對上述揭示的多種設(shè)定單元120實例進行靈活運用(調(diào)用)的過程。顯然,容易理解,運用設(shè)定單元120的上述三種結(jié)構(gòu)實例是靈活的,可以僅選其中一種,也可同時選擇任意多種。其中第一種,通過手動登記的方式,適于從中登記一個網(wǎng)站域名,此后所有該域名之下的未曾掃描的具體鏈接(如前所述可以通過在鏈接庫中或者待掃描隊列中標(biāo)識狀態(tài)來識別),均視為該網(wǎng)站的新鏈接;其中的第二種,利用域名注冊特征信息來登記,無論是通過人為查詢還是程序?qū)崿F(xiàn),均能起到如第一種同理的效果,但其中在程序中實現(xiàn)的方式是本添加模塊123可采用的關(guān)鍵,能夠藉此提高程序的智能化和自動化程度;其中的第三種,通過比較請求包鏈接所指向的IP地址是否落入目前存在的已知特定網(wǎng)站列表中的鏈接所指向的IP地址或由其構(gòu)成的連續(xù)IP地址段范圍,來決定是否將該請求包鏈接視為屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接,這種方式能夠自動擴展已知特定網(wǎng)站列表,如果已知特定網(wǎng)站是單列一個列表,那么,可以將該新鏈接的域名添加到該列表中,而將該新鏈接添加到鏈接庫(如有)和待掃描隊列中;如果已知特定網(wǎng)站列表即同時用做待掃描隊列,那么,直接添加該新鏈接到已知特定網(wǎng)站列表也便是將該新鏈接添加到待掃描隊列的過程。
[0211]以下再進一步揭示本發(fā)明的查新單元12的兩大層次實施例中共同用到的構(gòu)造單元,即利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接的【具體實施方式】。
[0212]前文雖然詳細揭示了本發(fā)明部分技術(shù)與傳統(tǒng)爬蟲技術(shù)之間的區(qū)別,但本發(fā)明同時也將對爬蟲技術(shù)進行運用。具體而言,現(xiàn)有爬蟲技術(shù)中,通過一個種子URL,適用變化規(guī)則,可以基于該種子URL構(gòu)造相關(guān)的網(wǎng)頁新鏈接,抓取這些網(wǎng)頁,或者直接下載種子URL指向的網(wǎng)頁并對這些網(wǎng)頁做進一步的分析,提取其中屬于本種子URL相關(guān)的新鏈接。簡言之,給定一個網(wǎng)站鏈接作為種子URL,則爬蟲技術(shù)理論上便能夠利用該網(wǎng)站鏈接獲得其下的絕大部分的未記載到鏈接庫的新鏈接,在獲取這些新鏈接之后,添加到鏈接庫,再對其實施網(wǎng)頁抓??;或者,爬蟲技術(shù)也可直接利用種子URL結(jié)合變化規(guī)則而構(gòu)造出諸多新鏈接??梢?,利用種子URL構(gòu)造新鏈接,便是爬蟲技術(shù)賴以實現(xiàn)其網(wǎng)頁全面抓取功能的基礎(chǔ)之一。同理,本發(fā)明也運用了這一爬蟲技術(shù)原理,利用已存在于已知特定網(wǎng)站列表、鏈接庫(如有)或待掃描列表的已知特定網(wǎng)站或其具體鏈接,視為原始鏈接,適用預(yù)定的變化規(guī)則,在原始鏈接的基礎(chǔ)上變化出新鏈接,例如前文示例中的http://www.#/test/admin.php若存在,則本發(fā)明可以進一步利用這一鏈接構(gòu)造出包含前者的路徑的新鏈接:http://www.#/test/admin/admin, php,該新鏈接便是本發(fā)明最終構(gòu)造成形的新鏈接。其中,/admin/這一目錄便是利用變化規(guī)則添加的。這些變化規(guī)則是公知且多變的,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉,因此,不應(yīng)以該示例限制本發(fā)明的實施。而且,這樣的變化原理應(yīng)不局限于對一個層級的鏈接的構(gòu)造,而應(yīng)推廣到利用第一級網(wǎng)頁構(gòu)造出第N級網(wǎng)頁的情況。由此可見,借助對爬蟲技術(shù)的這種改造式運用,可以構(gòu)造出與所述原始鏈接相關(guān)聯(lián)的更多的深層新鏈接,用于本發(fā)明后續(xù)進行漏洞掃描。
[0213]從原始鏈接到最終待掃描漏洞的新鏈接的過程,是一個中間過程,因此,中間產(chǎn)生的新鏈接可以直接存入前述所稱的已知特定網(wǎng)站列表、鏈接庫(如有)或待掃描隊列,只要按照本發(fā)明的要求最終在待掃描隊列中形成一些明確的待實施漏洞掃描的新鏈接即可。所述作為用于構(gòu)造更深層鏈接的種子URL的原始鏈接,也不應(yīng)局限于來源于所述交換機的請求包,而應(yīng)擴展到對所述已知特定網(wǎng)站列表、鏈接庫、待掃描隊列中的鏈接的靈活利用。
[0214]由此可以看出,本發(fā)明有兩大類手段可以獲取待掃描漏洞的新鏈接,其一由確定單元執(zhí)行,通過已知特定網(wǎng)站原始鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接,其二由構(gòu)造單元執(zhí)行,利用已知特定網(wǎng)站的原始鏈接運用改進的爬蟲技術(shù)構(gòu)造出屬于已存在特定網(wǎng)站的內(nèi)部新鏈接。這兩類技術(shù)手段可以靈活運用,第二種手段可以獨立地存在于所述第一層次的實施例中,也可以與第一種手段相結(jié)合存在于所述第二層次的實施例中。
[0215]當(dāng)前述兩種實現(xiàn)獲取新鏈接的手段并存時,可以并行不悖地實施,也可以由查新單元12為兩種手段提供擇一的選用邏輯。具體而言,本發(fā)明查新單元12通過預(yù)設(shè)一流量閥值,進一步通過統(tǒng)計單位時間內(nèi)的請求包流量是否超過這一閥值,來確定選用何種手段。當(dāng)單位時間內(nèi)的請求包流量高于該流量閥值時,則利用請求包中的鏈接來確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接;當(dāng)單位時間內(nèi)的請求包流量低于和/或等于該流量閥值時,則利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接,由此,使得本發(fā)明具備了任務(wù)調(diào)度能力,更為智能化。
[0216]統(tǒng)計請求包流量的方式,可以靈活實施。方式之一是直接統(tǒng)計某個交換機的請求包流量,方式之二是統(tǒng)計本機所接收的所有交換機請求包的流量,前者適用于本機接入單個交換機的情況,后者適用于通過遠程端口接收多個交換機請求包匯聚結(jié)果的情況。當(dāng)然,本領(lǐng)域技術(shù)人員還可利用流量/單位時間這一關(guān)系靈活實現(xiàn)對這種流量關(guān)系的統(tǒng)計。
[0217]注意到前述抓包單元11中揭示了兩個對請求包進行過濾的過濾器實施例,其目的在于避免同類型檢測設(shè)備與本機相互對對方的交換機請求的循環(huán)利用?;谕荒康模緲?gòu)造單元也可以可選地設(shè)置第三種過濾器實例,具體而言,在依據(jù)交換機鏈接構(gòu)造新鏈接之前,可以先發(fā)起針對交換機鏈接的訪問,如果訪問請求獲得404頁面(錯誤頁面)作為應(yīng)答,意味著該鏈接是不存在的,為無效鏈接,因此,即不對該鏈接構(gòu)造新鏈接,從而也可避免所述的循環(huán)利用。
[0218]進一步,需要指出的是,運用爬蟲技術(shù)構(gòu)造的新鏈接,也可能存在重復(fù)的現(xiàn)象,因此理論上本發(fā)明對鏈接進行去重的技術(shù)也適用于這些新鏈接;本發(fā)明利用爬蟲技術(shù)原理構(gòu)造的新鏈接被添加到本地后,同理也已經(jīng)成為已保存的已知特定網(wǎng)站的基礎(chǔ)數(shù)據(jù),可作為本發(fā)明確定屬于已知特定網(wǎng)站的關(guān)聯(lián)鏈接和構(gòu)造更深層的新鏈接的基礎(chǔ)數(shù)據(jù),這些基礎(chǔ)數(shù)據(jù)也同理可以被據(jù)以實施漏洞掃描檢測。
[0219]借助上述揭示的確定單元、構(gòu)造單元及幾種設(shè)定單元120實例對本發(fā)明的有效鏈接進行了有關(guān)新鏈接的上述過程的確定、構(gòu)造、篩選和擴展之后,所得到便是所有新鏈接,為了便于本發(fā)明其他功能模塊的執(zhí)行,將該些新鏈接添加到如前所述的待掃描隊列中。不管該待掃描隊列是否與已知特定網(wǎng)站列表共用一表,還是進一步與所述鏈接庫共用一表,或者待掃描隊列是單獨的一表,等等,如前所述,本領(lǐng)域技術(shù)人員均能夠利用尋常知識在該待掃描隊列中登記所有確定的新鏈接,并在后續(xù)僅僅對該些新鏈接實施漏洞掃描。
[0220]所述的檢測單元13,用于對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描檢測。
[0221]在經(jīng)過上述步驟靈活的多種變例進行處理,最終從所有請求包鏈接中確定和/或構(gòu)造了所有新鏈接之后,可以利用檢測單元13集中對這些新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描檢測。當(dāng)然,所謂的集中,在時間上可以一般是周期性的。因為用戶請求不斷發(fā)生,本裝置能不斷獲取請求包,并可不斷對請求包進行分析,但不可能等到用戶不再發(fā)送請求時才開始進行掃描檢測。因此,本檢測單元13與其它功能模塊只有連接關(guān)系,不應(yīng)以這種連接關(guān)系排除其在時間上的穿插關(guān)系。例如,可以一邊確定新鏈接,一邊對之前已確定的新鏈接進行掃描??梢砸砸粋€進程不斷確定接收請求包并確定新鏈接,將新鏈接存入待掃描隊列,而另一進程則不斷地對待掃描隊列中的新鏈接實施掃描。不管其它功能模塊如何靈活變通實現(xiàn),本檢測單元13僅需關(guān)注所述待掃描隊列中的新鏈接,同理,無論本檢測單元13如何靈活變通實現(xiàn),前述各功能模塊最終提供的接口也在于一個存儲有新鏈接的待掃描隊列,待掃描隊列無疑成為本檢測單元13與之前的功能模塊之間的接口,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉此一原理。
[0222]本發(fā)明所稱新鏈接相對應(yīng)的網(wǎng)頁中的對應(yīng)關(guān)系,既可以是指由新鏈接利用域名與IP地址的關(guān)系直接映射到網(wǎng)站服務(wù)器中相應(yīng)的網(wǎng)頁的關(guān)系,也可以是指將該相應(yīng)網(wǎng)頁下載后存儲于本地網(wǎng)頁庫中的這種間接的一一對應(yīng)關(guān)系。因此,適應(yīng)這兩種具體的對應(yīng)關(guān)系,可以為本裝置的檢測單元13提供兩種結(jié)構(gòu)實例,通過以下任意一種結(jié)構(gòu)均可對本發(fā)明確定的新鏈接所指向的網(wǎng)頁進行漏洞掃描檢測。
[0223]結(jié)構(gòu)實例一、由一獲取單元從所述待掃描隊列中獲取記載于其中的新鏈接,然后,利用該新鏈接直接映射的在線網(wǎng)頁,通過向其網(wǎng)站服務(wù)器發(fā)送請求,利用網(wǎng)站服務(wù)器返回的網(wǎng)頁,借助一實施單元進行漏洞掃描檢測。這種方式會加大新鏈接所在服務(wù)器的負擔(dān)和處理時間,但可以適當(dāng)節(jié)省利用實現(xiàn)本裝置的軟件的運算量。
[0224]結(jié)構(gòu)實例二、由一獲取單元從待掃描隊列中獲取新鏈接之后,由一下載單元利用所述新鏈接去下載這些新鏈接直接映射的網(wǎng)頁,下載方法可以同結(jié)構(gòu)實例一,將這些網(wǎng)頁添加至一個本地網(wǎng)頁庫中,然后借助一實施單元對這些本地網(wǎng)頁庫中的各個網(wǎng)頁實施漏洞掃描檢測?;蛘咭部扇缜八?,開設(shè)兩個進程,一個用于不斷下載各新鏈接所映射的在線網(wǎng)頁至本地網(wǎng)頁庫,另一個則不斷地對剛下載的本地網(wǎng)頁庫中的網(wǎng)頁實施漏洞掃描檢測。
[0225]按照上述方式,不管具體如何利用待掃描隊列中的新鏈接進行漏洞掃描檢測,顯然,均不影響不發(fā)明所要達到的漏洞掃描檢測效果。
[0226]具體進行漏洞掃描檢測時,是結(jié)合網(wǎng)站安全檢測漏洞數(shù)據(jù)和網(wǎng)站安全檢測規(guī)則實施的。網(wǎng)站安全檢測漏洞數(shù)據(jù)包括以下至少之一:掛馬數(shù)據(jù)、虛假欺詐數(shù)據(jù)、搜索屏蔽數(shù)據(jù)、旁注數(shù)據(jù)、篡改數(shù)據(jù)、漏洞數(shù)據(jù)。根據(jù)網(wǎng)站安全檢測漏洞數(shù)據(jù),按照與網(wǎng)站安全檢測漏洞數(shù)據(jù)相對應(yīng)的網(wǎng)站安全檢測規(guī)則對網(wǎng)站進行安全檢測,其中,網(wǎng)站安全檢測規(guī)則包括以下至少之一:掛馬規(guī)則、虛假欺詐規(guī)則、屏蔽規(guī)則、旁注規(guī)則、篡改規(guī)則、和漏洞規(guī)則。本發(fā)明主要利用漏洞規(guī)則對網(wǎng)頁進行掃描。漏洞規(guī)則用于根據(jù)漏洞數(shù)據(jù)確定網(wǎng)站存在的漏洞。
[0227]根據(jù)漏洞數(shù)據(jù),按照漏洞規(guī)則對網(wǎng)站進行安全檢測包括:獲取預(yù)先存儲的漏洞特征數(shù)據(jù)庫中的漏洞特征,判斷漏洞數(shù)據(jù)是否符合漏洞特征,若漏洞數(shù)據(jù)符合漏洞特征,則確定為漏洞;若漏洞數(shù)據(jù)不符合漏洞特征,則確定為非漏洞。根據(jù)判斷結(jié)果確定網(wǎng)站存在的漏洞,其中,漏洞特征可以為漏洞關(guān)鍵字。如,將網(wǎng)頁狀態(tài)代碼404作為漏洞關(guān)鍵字;或者,將404頁面內(nèi)容作為漏洞關(guān)鍵字;或者,通過訪問網(wǎng)站的正常網(wǎng)頁,提取該正常網(wǎng)頁的網(wǎng)頁內(nèi)容、網(wǎng)頁狀態(tài)代碼和http頭部,訪問該網(wǎng)站不存在的網(wǎng)頁,提取反饋網(wǎng)頁的網(wǎng)頁內(nèi)容、網(wǎng)頁狀態(tài)代碼和http頭部,比較該正常網(wǎng)頁和該反饋網(wǎng)頁的網(wǎng)頁內(nèi)容、網(wǎng)頁狀態(tài)代碼和http頭部,獲取404關(guān)鍵字作為漏洞關(guān)鍵字;再或者,訪問不存在的網(wǎng)頁,將反饋網(wǎng)頁的網(wǎng)頁內(nèi)容、網(wǎng)頁狀態(tài)代碼和http頭部作為漏洞關(guān)鍵字等等,本發(fā)明對此不作限制。
[0228]通過上述各步驟,本發(fā)明的裝置便可完成對網(wǎng)站進行安全檢測的任務(wù),將漏洞掃描后的結(jié)果存儲于相應(yīng)的文件或數(shù)據(jù)庫中,可供它用。進一步,為了取得更佳的人機交互效果,本發(fā)明還可以可選地包括顯示單元14:
[0229]所述的顯示單元14,用于顯示圖形用戶界面以輸出實施漏洞掃描檢測的結(jié)果信肩、O
[0230]該顯示單元14被配置為用于提供一個圖形用戶界面,在檢測單元13完成漏洞掃描檢測之后,對檢測結(jié)果進行分析、統(tǒng)計,將進行數(shù)學(xué)處理后的結(jié)果信息輸出到該圖形用戶界面中,可以使網(wǎng)管員一目了然,從而便于網(wǎng)管員修補網(wǎng)頁漏洞。
[0231]綜上所述,本發(fā)明通過統(tǒng)計單位時間內(nèi)的請求包流量,對不同情況做出響應(yīng),可以及時發(fā)現(xiàn)已知特定網(wǎng)站及其新鏈接以及利用已存在的已知特定網(wǎng)站鏈接構(gòu)造新鏈接,可以實時對這些新鏈接實施漏洞檢測,避免漏檢測,并且能避免對無效鏈接和重復(fù)鏈接進行多余的檢測,具有高效、智能、及時維護網(wǎng)站安全的優(yōu)點。
[0232]本發(fā)明的實施例公開了:
[0233]Al.一種網(wǎng)站安全檢測方法,其特征在于,包括以下步驟:
[0234]獲取通過旁路偵聽而獲得的屬于已知特定網(wǎng)站的超文本傳輸協(xié)議請求包;
[0235]利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接;
[0236]對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描檢測。
[0237]A2.根據(jù)權(quán)利要求Al所述的網(wǎng)站安全檢測方法,其特征在于,所述獲取通過旁路偵聽而獲得的超文本傳輸協(xié)議請求包的步驟中,過濾掉所有由特定IP地址發(fā)起的請求包。
[0238]A3.根據(jù)權(quán)利要求A2所述的網(wǎng)站安全檢測方法,其特征在于,所述特定IP地址預(yù)先給定或者通過檢測單位時間內(nèi)某IP地址發(fā)起的請求包數(shù)量超過預(yù)設(shè)閾值而確定。
[0239]A4.根據(jù)權(quán)利要求Al所述的網(wǎng)站安全檢測方法,其特征在于,利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造更深層新鏈接之前,先測試所述請求包所包含的鏈接的網(wǎng)頁是否存在,當(dāng)該鏈接所指向的網(wǎng)頁不存在時,放棄依據(jù)該鏈接構(gòu)造新鏈接。
[0240]A5.根據(jù)權(quán)利要求Al所述的網(wǎng)站安全檢測方法,其特征在于,通過本機網(wǎng)卡實施旁路偵聽而獲得所述請求包。
[0241]A6.根據(jù)權(quán)利要求A5所述的網(wǎng)站安全檢測方法,其特在于,本機接入架設(shè)所述已知特定網(wǎng)站的服務(wù)器所接入的交換機實現(xiàn)旁路偵聽。
[0242]A7根據(jù)權(quán)利要求Al所述的網(wǎng)站安全檢測方法,其特征在于,通過遠程端口接收而獲得所述通過旁路偵聽而得的請求包。
[0243]AS.根據(jù)權(quán)利要求Al所述的網(wǎng)站安全檢測方法,其特征在于,所述已知特定網(wǎng)站通過圖形用戶界面接收用戶設(shè)定而預(yù)先給定,其給定形式包括域名、IP地址、鏈接中的一項或任意多項。
[0244]A9.根據(jù)權(quán)利要求Al所述的網(wǎng)站安全檢測方法,其特征在于,設(shè)有已知特定網(wǎng)站列表用于記錄一個或多個所述的已知特定網(wǎng)站的域名、鏈接和/或其相應(yīng)的IP地址。
[0245]A10.根據(jù)權(quán)利要求Al所述的網(wǎng)站安全檢測方法,其特征在于,還包括如下步驟:利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接以供實施漏洞掃描檢測。
[0246]All.根據(jù)權(quán)利要求AlO所述的網(wǎng)站安全檢測方法,其特征在于,通過統(tǒng)計單位時間內(nèi)由旁路偵聽獲得的請求包流量,當(dāng)其超過預(yù)設(shè)閥值時,利用所述請求包所包含的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接以供實施漏洞掃描檢測;否則利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接。
[0247]A12.根據(jù)權(quán)利要求AlO所述的網(wǎng)站安全檢測方法,其特征在于,在確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接之前,匯總所述請求包所包含的鏈接并去除其中的重復(fù)鏈接。
[0248]A13.根據(jù)權(quán)利要求A12所述的網(wǎng)站安全檢測方法,其特征在于,所述去除重復(fù)鏈接的步驟包括如下細分步驟:
[0249]將訪問數(shù)據(jù)庫而形成的僅其變量不同的多個鏈接確定為重復(fù)鏈接;
[0250]僅保留重復(fù)鏈接其中之一實現(xiàn)去除重復(fù)鏈接。
[0251]A14.根據(jù)權(quán)利要求A12所述的網(wǎng)站安全檢測方法,其特征在于,所述去除重復(fù)鏈接的步驟包括如下細分步驟:
[0252]將具有相同簽名的多個鏈接確定為重復(fù)鏈接;
[0253]僅保留重復(fù)鏈接其中之一實現(xiàn)去除重復(fù)鏈接。
[0254]A15.根據(jù)權(quán)利要求AlO所述的網(wǎng)站安全檢測方法,其特征在于,通過確定請求包中的鏈接所指向的IP地址屬于所述已知特定網(wǎng)站所指向的IP地址或其所屬IP地址段而將該鏈接確定為屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。
[0255]A16.根據(jù)權(quán)利要求AlO所述的網(wǎng)站安全檢測方法,其特征在于,通過比較所述請求包中的鏈接的域名的注冊特征信息與已知特定網(wǎng)站的域名的注冊特征信息相同而將該鏈接確定為屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。
[0256]A17.根據(jù)權(quán)利要求AlO所述的網(wǎng)站安全檢測方法,其特征在于,所述利用所述請求包所包含的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接的步驟,包括如下細分步驟:
[0257]提取已獲取的所有請求包的鏈接;
[0258]去除所提取的鏈接中指向具有相同代碼的網(wǎng)頁的重復(fù)鏈接;
[0259]確定其中的新鏈接,將該新鏈接添加至待掃描隊列。
[0260]A18.根據(jù)權(quán)利要求AlO所述的網(wǎng)站安全檢測方法,其特征在于,所述對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描的步驟,包括如下細分步驟:
[0261]從用于記載所述新鏈接的待掃描隊列中獲取所述新鏈接;
[0262]對所述新鏈接映射的網(wǎng)頁實施漏洞掃描檢測。
[0263]A19.根據(jù)權(quán)利要求AlO所述的網(wǎng)站安全檢測方法,其特征在于,所述對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描的步驟,包括如下細分步驟:
[0264]從用于記載所述新鏈接的待掃描隊列中獲取所述新鏈接;
[0265]獲取所述待掃描隊列中的新鏈接所映射的網(wǎng)頁并添加至本地網(wǎng)頁庫;
[0266]對依據(jù)新鏈接下載的網(wǎng)頁庫中的網(wǎng)頁實施漏洞掃描檢測。
[0267]A20.根據(jù)權(quán)利要求AlO所述的網(wǎng)站安全檢測方法,其特征在于,該方法包括后續(xù)步驟:顯示圖形用戶界面以輸出實施漏洞掃描檢測的結(jié)果信息。
[0268]B21.一種網(wǎng)站安全檢測裝置,其特征在于,包括:
[0269]抓包單元,用于獲取通過旁路偵聽而獲得的屬于已知特定網(wǎng)站的超文本傳輸協(xié)議請求包;
[0270]查新單元,被配置為利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接;
[0271]檢測單元,用于對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描檢測。
[0272]B22.根據(jù)權(quán)利要求B21所述的網(wǎng)站安全檢測裝置,其特征在于,所述抓包單元,被配置為過濾掉所有由特定IP地址發(fā)起的請求包。
[0273]B23.根據(jù)權(quán)利要求B22所述的網(wǎng)站安全檢測裝置,其特征在于,所述特定IP地址預(yù)先給定或者通過檢測單位時間內(nèi)某IP地址發(fā)起的請求包數(shù)量超過預(yù)設(shè)閾值而確定。
[0274]B24.根據(jù)權(quán)利要求B21所述的網(wǎng)站安全檢測裝置,其特征在于,所述檢測單元,被配置為先測試所述請求包所包含的鏈接的網(wǎng)頁是否存在,當(dāng)該鏈接所指向的網(wǎng)頁不存在時,放棄依據(jù)該鏈接構(gòu)造新鏈接。
[0275]B25.根據(jù)權(quán)利要求B21所述的網(wǎng)站安全檢測裝置,其特征在于,所述抓包單元,被配置為通過本機網(wǎng)卡實施旁路偵聽而獲得所述請求包。
[0276]B26.根據(jù)權(quán)利要求B25所述的網(wǎng)站安全檢測裝置,其特在于,本機與架設(shè)所述已知特定網(wǎng)站的服務(wù)器所接入的交換機相連接以實現(xiàn)旁路偵聽。
[0277]B27.根據(jù)權(quán)利要求B21所述的網(wǎng)站安全檢測裝置,其特征在于,所述抓包單元,被配置為通過遠程端口接收而獲得所述通過旁路偵聽而得的請求包。
[0278]B28.根據(jù)權(quán)利要求B21所述的網(wǎng)站安全檢測裝置,其特征在于,該裝置還包括設(shè)定單元,用于顯示圖形用戶界面以接收用戶設(shè)定,由此而預(yù)先給定所述已知特定網(wǎng)站的域名、IP地址、鏈接中的一項或任意多項。
[0279]B29.根據(jù)權(quán)利要求B21所述的網(wǎng)站安全檢測裝置,其特征在于,設(shè)有已知特定網(wǎng)站列表用于記錄一個或多個所述的已知特定網(wǎng)站的域名、鏈接和/或其相應(yīng)的IP地址。
[0280]B30.根據(jù)權(quán)利要求B21所述的網(wǎng)站安全檢測裝置,其特征在于,所述查新單元,還被配置為利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接以供實施漏洞掃描檢測。
[0281]B31.根據(jù)權(quán)利要求B30所述的網(wǎng)站安全檢測裝置,其特征在于,所述的查新單元,被配置為用于統(tǒng)計單位時間內(nèi)由旁路偵聽獲得的請求包流量,當(dāng)其超過預(yù)設(shè)閥值時,運行確定單元,用于利用所述請求包所包含的鏈接確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接以供實施漏洞掃描檢測;否則,運行構(gòu)造單元,用于利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接。
[0282]B32.根據(jù)權(quán)利要求B30所述的網(wǎng)站安全檢測裝置,其特征在于,所述查新單元,被配置為在確定屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接之前,匯總所述請求包所包含的鏈接并去除其中的重復(fù)鏈接。
[0283]B33.根據(jù)權(quán)利要求B32所述的網(wǎng)站安全檢測裝置,其特征在于,所述查新單元包括:
[0284]查重子模塊,用于將訪問數(shù)據(jù)庫而形成的僅其變量不同的多個鏈接確定為重復(fù)鏈接;
[0285]去除子模塊,適于實施僅保留重復(fù)鏈接其中之一實現(xiàn)去除重復(fù)鏈接。
[0286]B34.根據(jù)權(quán)利要求B32所述的網(wǎng)站安全檢測裝置,其特征在于,所述查新單元包括:
[0287]查重子模塊,用于將具有相同簽名的多個鏈接確定為重復(fù)鏈接;
[0288]去除子模塊,適于實施僅保留重復(fù)鏈接其中之一實現(xiàn)去除重復(fù)鏈接。
[0289]B35.根據(jù)權(quán)利要求B30所述的網(wǎng)站安全檢測裝置,其特征在于,該裝置還包括設(shè)定單元,被配置為通過確定請求包中的鏈接所指向的IP地址屬于所述已知特定網(wǎng)站所指向的IP地址或其所屬IP地址段而將該鏈接確定為屬于已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。
[0290]B36.根據(jù)權(quán)利要求B30所述的網(wǎng)站安全檢測裝置,其特征在于,該裝置還包括設(shè)定單元,被配置為通過比較所述請求包中的鏈接的域名的注冊特征信息與已知特定網(wǎng)站的域名的注冊特征信息相同而將該鏈接確定為屬于所述已知特定網(wǎng)站的關(guān)聯(lián)新鏈接。
[0291]B37.根據(jù)權(quán)利要求B30所述的網(wǎng)站安全檢測裝置,其特征在于,所述查新單元包括:
[0292]提取模塊,用于提取已獲取的所有請求包的鏈接;
[0293]去重模塊,用于去除提取模塊提取的鏈接中指向具有相同代碼的網(wǎng)頁的重復(fù)鏈接;
[0294]添加模塊,用于確定其中的新鏈接,將該新鏈接添加至待掃描隊列。
[0295]B38.根據(jù)權(quán)利要求B30所述的網(wǎng)站安全檢測裝置,其特征在于,所述檢測單元包括:
[0296]獲取單元,被配置為從用于記載所述新鏈接的待掃描隊列中獲取所述新鏈接;
[0297]實施單元,用于對所述新鏈接映射的網(wǎng)頁實施漏洞掃描檢測。
[0298]B39.根據(jù)權(quán)利要求B30所述的網(wǎng)站安全檢測裝置,其特征在于,所述檢測單元包括:
[0299]獲取單元,被配置為從用于記載所述新鏈接的待掃描隊列中獲取所述新鏈接;
[0300]下載單元,用于下載所述待掃描隊列中的新鏈接所映射的網(wǎng)頁并添加至本地網(wǎng)頁庫;
[0301]實施單元,用于對依據(jù)新鏈接下載的網(wǎng)頁庫中的網(wǎng)頁實施漏洞掃描檢測。
[0302]B40.根據(jù)權(quán)利要求B30所述的網(wǎng)站安全檢測裝置,其特征在于,該裝置包括顯示單元,用于顯示圖形用戶界面以輸出實施漏洞掃描檢測的結(jié)果信息。
[0303]應(yīng)當(dāng)注意,在此提供的算法和公式不與任何特定計算機、虛擬系統(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ā)明的最佳實施方式。
[0304]在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0305]類似地,應(yīng)當(dāng)理解,為了精簡本發(fā)明并幫助理解本發(fā)明各個方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法和裝置解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如權(quán)利要求書所反映,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權(quán)利要求書由此明確地并入該【具體實施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
[0306]本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0307]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。。
[0308]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的網(wǎng)站安全檢測設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0309]以上所述僅是本發(fā)明的部分實施方式,應(yīng)當(dāng)指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種網(wǎng)站安全檢測方法,其特征在于,包括以下步驟: 獲取通過旁路偵聽而獲得的屬于已知特定網(wǎng)站的超文本傳輸協(xié)議請求包; 利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接; 對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描檢測。
2.根據(jù)權(quán)利要求1所述的網(wǎng)站安全檢測方法,其特征在于,所述獲取通過旁路偵聽而獲得的超文本傳輸協(xié)議請求包的步驟中,過濾掉所有由特定IP地址發(fā)起的請求包。
3.根據(jù)權(quán)利要求2所述的網(wǎng)站安全檢測方法,其特征在于,所述特定IP地址預(yù)先給定或者通過檢測單位時間內(nèi)某IP地址發(fā)起的請求包數(shù)量超過預(yù)設(shè)閾值而確定。
4.根據(jù)權(quán)利要求1所述的網(wǎng)站安全檢測方法,其特征在于,利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造更深層新鏈接之前,先測試所述請求包所包含的鏈接的網(wǎng)頁是否存在,當(dāng)該鏈接所指向的網(wǎng)頁不存在時,放棄依據(jù)該鏈接構(gòu)造新鏈接。
5.根據(jù)權(quán)利要求1所述的網(wǎng)站安全檢測方法,其特征在于,通過本機網(wǎng)卡實施旁路偵聽而獲得所述請求包。
6.根據(jù)權(quán)利要求5所述的網(wǎng)站安全檢測方法,其特在于,本機接入架設(shè)所述已知特定網(wǎng)站的服務(wù)器所接入的交換機實現(xiàn)旁路偵聽。
7.根據(jù)權(quán)利要求1所述的網(wǎng)站安全檢測方法,其特征在于,通過遠程端口接收而獲得所述通過旁路偵聽而得的請求包。
8.根據(jù)權(quán)利要求1所述的網(wǎng)站安全檢測方法,其特征在于,所述已知特定網(wǎng)站通過圖形用戶界面接收用戶設(shè)定而預(yù)先給定,其給定形式包括域名、IP地址、鏈接中的一項或任意多項。
9.根據(jù)權(quán)利要求1所述的網(wǎng)站安全檢測方法,其特征在于,設(shè)有已知特定網(wǎng)站列表用于記錄一個或多個所述的已知特定網(wǎng)站的域名、鏈接和/或其相應(yīng)的IP地址。
10.一種網(wǎng)站安全檢測裝置,其特征在于,包括: 抓包單元,用于獲取通過旁路偵聽而獲得的屬于已知特定網(wǎng)站的超文本傳輸協(xié)議請求包; 查新單元,被配置為利用屬于已知特定網(wǎng)站的所述請求包所包含的鏈接構(gòu)造包含該請求包中鏈接路徑的更深層的新鏈接; 檢測單元,用于對所述新鏈接相對應(yīng)的網(wǎng)頁實施漏洞掃描檢測。
【文檔編號】G06F21/57GK104363253SQ201410771605
【公開日】2015年2月18日 申請日期:2014年12月12日 優(yōu)先權(quán)日:2014年12月12日
【發(fā)明者】龍專 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司