網(wǎng)絡(luò)攻擊檢測方法及其裝置制造方法
【專利摘要】本申請公開一種網(wǎng)絡(luò)攻擊檢測方法及其裝置,其中本申請實施例的網(wǎng)絡(luò)攻擊檢測方法包括:獲取訪問網(wǎng)站服務(wù)器的訪問請求信息;統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息;根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的相關(guān)訪問信息,若所述IP地址對應(yīng)的相關(guān)訪問信息小于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址。本申請不需安全運維人員過多干預(yù),且和業(yè)務(wù)完全解耦,實現(xiàn)對HTTP-Flood攻擊的精確檢測。
【專利說明】網(wǎng)絡(luò)攻擊檢測方法及其裝置
【技術(shù)領(lǐng)域】
[0001] 本申請涉及網(wǎng)絡(luò)安全【技術(shù)領(lǐng)域】,尤其涉及一種網(wǎng)絡(luò)攻擊檢測方法及其裝置。
【背景技術(shù)】
[0002] 網(wǎng)絡(luò)安全的基本屬性主要表現(xiàn)為機密性、完整性、合法性和可用性,而攻擊者就是 通過一切可能的方法和手段來破壞這些屬性。分布式拒絕服務(wù)攻擊(Distributed Denial of Service,簡稱為DDoS)的目的就是破壞網(wǎng)絡(luò)的可用性。在互聯(lián)網(wǎng)業(yè)務(wù)中,Web服務(wù)已經(jīng) 占有相當大的比例,越來越多的人通過Web提供的服務(wù)來獲取和發(fā)布信息,所以Web安全 也是當今網(wǎng)絡(luò)安全的研究熱點。超文本傳輸協(xié)議(Hypertext Transfer Protocol,簡稱為 HTTP)作為Web應(yīng)用的關(guān)鍵協(xié)議,經(jīng)常被黑客利用來實施DDoS攻擊,并且非常難以檢測和防 御。
[0003] HTTP-Flood攻擊(基于HTTP協(xié)議的DDoS攻擊)的主要目標是Web服務(wù)器的網(wǎng)頁。 攻擊發(fā)生時,攻擊者利用工具偽造或劫持瀏覽器向特定的網(wǎng)站(統(tǒng)一資源定位符,Uniform Resource Locator,簡稱為URL)發(fā)送大量的HTTP請求,使服務(wù)器忙于向攻擊者提供資源而 無法響應(yīng)其他合法用戶的服務(wù)請求,進而使網(wǎng)站達到處理瓶頸,從而達到網(wǎng)站拒絕服務(wù)的 目的。
[0004] 一般來說,HTTP-Flood攻擊具有以下幾個特點:
[0005] 1、發(fā)起攻擊比較容易,成本較低,簡單的幾行腳本就能對一個網(wǎng)站發(fā)起一個攻擊。
[0006] 2、難以檢測,因為HTTP屬于標準開放協(xié)議,協(xié)議格式簡單,容易偽造,攻擊時發(fā)起 的HTTP請求可以偽造成和正常用戶的請求一模一樣,Web Server無法進行區(qū)分。
[0007] 3、對網(wǎng)站危害較大,一旦網(wǎng)站遭受HTTP-Flood攻擊,小則影響用戶體驗(網(wǎng)站訪 問速度變慢),大則可能導(dǎo)致網(wǎng)站癱瘓,無法對外提供服務(wù),對于按流量收費的托管網(wǎng)站,可 能需要付出高額的費用。
[0008] 以上的這些攻擊特點,使得各個網(wǎng)站對防護HTTP-Flood攻擊成為頭等安全事件, 現(xiàn)有技術(shù)中的HTTP-Flood防護方案都是從網(wǎng)站提供的服務(wù)來考慮,進行訪問頻率的檢測 或控制。當某個IP地址的訪問在一定時間內(nèi)超過某個次數(shù),就認為是HTTP-Flood攻擊,還 有些方案更精細化一些,將頻率的統(tǒng)計限制在某些指定的URL上或者指定的Cookie值上。 [0009] 但是,基于訪問頻率的防護技術(shù)方案存在著如下的缺陷:
[0010] 1、和業(yè)務(wù)高度耦合,需要指定特定的URL或者Cookie才能進行統(tǒng)計,對于業(yè)務(wù)量 (URL數(shù)量)比較大的網(wǎng)站,不太容易部署和運維。
[0011] 2、訪問頻率的閾值難以設(shè)定,不同的URL承載的業(yè)務(wù)不同,訪問量也不同,且給網(wǎng) 站服務(wù)器造成的壓力也不同,所以不同的URL的訪問閾值很難統(tǒng)一設(shè)定,并且正常情況下 的訪問頻率和攻擊發(fā)生時的訪問頻率很難有一個清晰的閾值來進行設(shè)定。
[0012] 3、單純的IP地址訪問頻率統(tǒng)計,對于共享IP出口的NAT (Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)用戶和獨立的IP地址用戶,很容易導(dǎo)致NAT用戶被誤殺。
[0013] 4、無法檢測分布式的HTTP-Flood攻擊,因為單個攻擊IP地址(肉雞)的訪問頻率 都不高,無法達到攻擊的頻率閾值,但幾十萬個IP地址(肉雞)同時發(fā)起請求的,也會導(dǎo)致網(wǎng) 站拒絕服務(wù)。
[0014] 各大網(wǎng)站迫切需要有更先進的HTTP-Flood檢測方法來規(guī)避以上這些缺陷,真正 的能夠精確的檢測出HTTP-Flood攻擊。
[0015] 綜上所述,現(xiàn)有技術(shù)中亟待一種HTTP-Flood攻擊檢測技術(shù)方案能夠精確而有效 地檢測對網(wǎng)站的HTTP-Flood攻擊。
【發(fā)明內(nèi)容】
[0016] 本申請的主要目的在于提供一種網(wǎng)絡(luò)攻擊檢測方法及其裝置,以解決現(xiàn)有技術(shù)存 在的缺少精確而有效地檢測對網(wǎng)站的HTTP-Flood攻擊的技術(shù)問題,其中:
[0017] 本申請實施例提供的一種網(wǎng)絡(luò)攻擊檢測方法包括:獲取訪問網(wǎng)站服務(wù)器的訪問請 求信息;統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息;根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地 址的相關(guān)訪問信息,若所述IP地址對應(yīng)的相關(guān)訪問信息小于預(yù)設(shè)值,則判定該IP地址為攻 擊IP地址。
[0018] 本申請實施例提供的一種網(wǎng)絡(luò)攻擊檢測方法包括:獲取訪問網(wǎng)站服務(wù)器的訪問請 求信息,所述訪問請求信息包括訪問者的以下信息:IP地址和訪問時間;統(tǒng)計預(yù)設(shè)時間段 內(nèi)的訪問請求信息;根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的訪問平均時間間隔 及其離散度,若所述IP地址的訪問平均時間間隔的離散度與訪問平均時間間隔的比值小 于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址。
[0019] 本申請實施例提供的一種網(wǎng)絡(luò)攻擊檢測方法包括:獲取訪問網(wǎng)站服務(wù)器的訪問請 求信息,所述訪問請求信息包括訪問者的以下信息:IP地址、訪問時間和用戶代理字段值; 統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息;根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的訪 問頻率和與該IP地址關(guān)聯(lián)的用戶代理字段值的信息熵,如果所述IP地址的訪問頻率大于 第一閾值并且用戶代理字段值的信息熵小于第二閾值,則判定該IP為攻擊IP地址。
[0020] 本申請實施例提供的一種網(wǎng)絡(luò)攻擊檢測裝置包括:獲取模塊,用于獲取訪問網(wǎng)站 服務(wù)器的訪問請求信息;統(tǒng)計模塊,用于統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息;計算處理模 塊,用于根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的相關(guān)訪問信息,若所述IP地址對 應(yīng)的相關(guān)訪問信息小于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址。
[0021] 本申請實施例提供的一種網(wǎng)絡(luò)攻擊檢測裝置包括:第一獲取模塊,用于獲取訪問 網(wǎng)站服務(wù)器的訪問請求信息,所述訪問請求信息包括訪問者的以下信息:IP地址和訪問時 間;第一統(tǒng)計模塊,用于統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息;第一計算處理模塊,用于根據(jù) 預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的訪問平均時間間隔及其離散度,若所述IP地 址的訪問平均時間間隔的離散度與訪問平均時間間隔的比值小于預(yù)設(shè)值,則判定該IP地 址為攻擊IP地址。
[0022] 本申請實施例提供的一種網(wǎng)絡(luò)攻擊檢測裝置包括:第二獲取模塊,用于獲取訪問 網(wǎng)站服務(wù)器的訪問請求信息,所述訪問請求信息包括訪問者的以下信息:IP地址、訪問時 間和用戶代理字段值;第二統(tǒng)計模塊,用于統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息;第二計算 處理模塊,用于根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的訪問頻率和與該IP地址 關(guān)聯(lián)的用戶代理字段值的信息熵,如果所述IP地址的訪問頻率大于第一閾值并且用戶代 理字段值的信息熵小于第二閾值,則判定該IP為攻擊IP地址。
[0023] 根據(jù)本申請的技術(shù)方案,通過統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息,根據(jù)預(yù)設(shè)時間 段內(nèi)的訪問請求信息計算IP地址的相關(guān)訪問信息,從而判斷攻擊IP地址。本申請不需安 全運維人員過多干預(yù),且和業(yè)務(wù)完全解稱,實現(xiàn)對HTTP-Flood攻擊的精確檢測。
【專利附圖】
【附圖說明】
[0024] 此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申 請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當限定。在附圖中:
[0025] 圖1至圖6是本申請實施例的網(wǎng)絡(luò)攻擊檢測方法的流程圖;
[0026] 圖7是本申請實施例的信息表的結(jié)構(gòu)示意圖;
[0027] 圖8至圖10是本申請實施例的網(wǎng)絡(luò)攻擊檢測裝置的結(jié)構(gòu)框圖。
【具體實施方式】
[0028] 本申請的主要思想在于,通過統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息,根據(jù)預(yù)設(shè)時間 段內(nèi)的訪問請求信息計算IP地址的相關(guān)訪問信息,從而判斷攻擊IP地址。本申請不需安 全運維人員過多干預(yù),且和業(yè)務(wù)完全解稱,實現(xiàn)對HTTP-Flood攻擊的精確檢測。
[0029] 為使本申請的目的、技術(shù)方案和優(yōu)點更加清楚,以下結(jié)合附圖及具體實施例,對本 申請作進一步地詳細說明。
[0030] 根據(jù)本申請的實施例,提供了一種網(wǎng)絡(luò)攻擊檢測方法,用于檢測對于網(wǎng)站的 HTTP-Flood 攻擊。
[0031] 圖1是根據(jù)本申請實施例的網(wǎng)絡(luò)攻擊檢測方法的流程圖,如圖1所示,該方法至少 包括(步驟S102-S104):
[0032] 步驟S102,獲取訪問網(wǎng)站服務(wù)器的訪問請求信息。
[0033] 對于網(wǎng)站服務(wù)器的訪問請求包括對網(wǎng)站各個URL的HTTP請求,而訪問者的IP地 址的獲取的方式可以通過各種Web Server來提供或者通過鏡像請求流量獲取,本申請對此 不進行限制。
[0034] 步驟S104,統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息;
[0035] 步驟S106,根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的相關(guān)訪問信息,若所 述IP地址對應(yīng)的相關(guān)訪問信息小于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址。
[0036] 在本申請實施例中,可以通過多種方法計算IP地址的相關(guān)訪問信息,下面分別進 行描述。
[0037] 在本申請的一個實施例中,所述訪問請求信息包括訪問者的以下信息:IP地址和 訪問時間;相關(guān)訪問信息包括:訪問平均時間間隔及其離散度。參考圖2,是本申請一個實 施例的網(wǎng)絡(luò)攻擊檢測方法的流程圖,如圖2所示,該方法包括:
[0038] 步驟S202,獲取訪問網(wǎng)站服務(wù)器的訪問請求信息,訪問請求信息包括訪問者的以 下信息:IP地址和訪問時間。
[0039] 步驟S204,統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息;
[0040] 步驟S206,根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算預(yù)定時間段內(nèi)IP地址的訪問 平均時間間隔及其離散度,若IP地址的訪問平均時間間隔的離散度與訪問平均時間間隔 的比值小于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址。
[0041] 其中,上述的離散度可以采用標準差或方差,下面以離散度采用標準差為例描述 本申請。具體地,通過統(tǒng)計一段時間內(nèi)的訪問請求信息,就能夠掌握該時間段內(nèi)的用戶訪問 情況。設(shè)置計算訪問者IP地址的訪問平均時間間隔和標準差的時間段,當設(shè)置的時間到達 時,根據(jù)統(tǒng)計的訪問請求信息,計算IP地址的訪問平均時間間隔和標準差,并根據(jù)訪問平 均時間間隔和標準差判斷是否存在攻擊行為。根據(jù)本申請實施例,通過計算IP地址的訪問 平均時間間隔的標準差與訪問平均時間間隔的比值,當該比值小于預(yù)設(shè)的閾值則判斷該IP 地址為攻擊IP地址,將該IP地址記錄到攻擊IP列表中。
[0042] 本申請在大量的實驗和研究后證明,一個正常用戶訪問某網(wǎng)站時,由于網(wǎng)站的每 個URL承載的信息量或內(nèi)容不同,用戶停留在單個URL的時間是不固定的,也就是說相鄰 兩次訪問網(wǎng)站的時間間隔是有一定波動的。而HTTP-Flood攻擊,由于是工具腳本或惡意 程序自動發(fā)起請求,所以相鄰兩次請求之間的時間間隔基本是一個常數(shù)。基于上述分析,用 戶正常請求和攻擊請求的時間分布特征存在較大的差異性。進一步地,單一 IP地址進行 HTTP-Flood攻擊時,該IP地址的相鄰兩次請求的平均時間間隔很短(即單次請求停留在某 URL的平均時間比較短);并且該IP地址的所有訪問時間間隔很接近,不會有大的波動,與 平均時間間隔的差值(也就是標準差)非常小。因此,本申請根據(jù)IP地址訪問網(wǎng)站的時間間 隔平均值和標準差來判斷是否存在攻擊行為。
[0043] 在依據(jù)時間間隔平均值和標準差來判斷是否存在攻擊行為時,可依據(jù)網(wǎng)站的實際 流量情況進行調(diào)整,如果被保護的網(wǎng)站流量較大,訪問的用戶比較多,也比較頻繁,則相鄰 兩次訪問的時間間隔波動幅度不會很大,并且時間間隔的平均值也比較小。在實際的應(yīng)用 中,可根據(jù)訪問平均時間間隔和標準差的比值來進行判斷。
[0044] 下面詳細說明本申請的計算公式。假設(shè)某用戶的IP地址為192. 168. 1. 1,該用戶 在某段時間內(nèi)訪問網(wǎng)站的時刻分別為A、'、…Tm,通過計算可得到相鄰兩次訪問的時間間 隔為 mAn、···un-i。
[0045] 由此該IP地址的平均時間間隔為:
[0046] V=(K1+K2+K3+-+^)/111-1 公式(1)
[0047] 時間間隔的方差為:
[0048] 0=(^(111-1)^(1^^)-2+(1^^)-2+- + (1^)-2] 公式(2)
[0049] 由次可計算出標準差為:
[0050] A=D~0. 5 公式(3)
[0051] 通過上述公式就能夠計算出標準差(A)與訪問平均時間間隔(V)的比值。在本申 請的一個實施例中,當IP地址的訪問平均時間間隔的標準差與訪問平均時間間隔的比值 小于10%,則判定該IP地址為攻擊IP地址。需要說明的是,上述判斷的判斷閾值不限于 10%,還可以是9%或8%等值,本申請不進行限定。
[0052] 舉例來說,某一 IP地址訪問平均時間間隔為100毫秒,標準差為1毫秒,則標準差 和平均時間間隔的比值為1%,根據(jù)正態(tài)分布的特征可得知,有約68%的請求停留在某頁面 上的時間為99至101毫秒之間,約95%的請求停留在某頁面上的時間為98-102毫秒之間, 說明該IP地址訪問的時間間隔比較集中,則認定為該IP地址為攻擊IP地址,從而根據(jù)確 定的攻擊IP地址進行后續(xù)的防范處理。
[0053] 需要說明的是,在本申請的其他實施例中,還可以根據(jù)IP地址訪問網(wǎng)站的時間間 隔平均值和方差來判斷是否存在攻擊行為。標準差與方差都用于表示數(shù)據(jù)的離散程度,在 數(shù)學(xué)上方差等于標準差的平方。因此,根據(jù)時間間隔平均值和方差判斷是否存在攻擊行為 與根據(jù)時間間隔平均值和標準差判斷是否存在攻擊行為,在原理上是相同的,區(qū)別的只是 需要重新確定判斷的閾值,本申請不再贅述。
[0054] 在本申請的一個實施例中,通過建立的IP地址信息表(第一 IP地址信息表)統(tǒng)計 訪問請求信息。首先需要建立一個IP地址信息表,該IP地址信息表可以存儲在網(wǎng)站服務(wù) 器、網(wǎng)絡(luò)攻擊檢測裝置、內(nèi)存、閃存等存儲器中,本申請不進行限定。
[0055] IP地址信息表中記錄有IP地址的訪問請求信息,將該IP地址作為索引,并記錄每 次訪問的時間。具體地,在將訪問請求信息記錄至IP地址信息表中時,如果IP地址信息表 中不存在該IP地址,則在IP地址信息表中增加該IP地址,并記錄該IP地址的訪問時間; 如果IP地址信息表中存在該IP地址,則記錄該IP地址的訪問時間。在IP地址信息表中, 保存的訪問時間可以包括:訪問開始時間、訪問結(jié)束時間、本次訪問與上次訪問的時間間隔 等時間信息。當達到統(tǒng)計時間點時,掃描IP地址信息表中上述時間信息,得出所需的時間 參數(shù)。
[0056] 下面參考圖3詳細描述本申請實施例。如圖3所示,根據(jù)本申請實施例的網(wǎng)絡(luò)攻 擊檢測方法包括:
[0057] 步驟S302,網(wǎng)站服務(wù)器接收到訪問者的URL訪問請求。
[0058] 步驟S304,記錄訪問者的訪問請求信息,該訪問請求信息包括但不限于:IP地址 和訪問時間。
[0059] 步驟S306,將訪問請求信息加入到預(yù)設(shè)的IP地址信息表中。
[0060] 步驟S308,預(yù)設(shè)統(tǒng)計時間到時掃描IP地址信息表,計算每個IP地址的訪問時間間 隔的平均值和標準差。
[0061] 步驟S310,判斷標準差與訪問平均時間間隔的比值是否小于預(yù)設(shè)值,若是則判定 該IP地址為攻擊IP地址,輸出惡意IP地址列表;否則,判定該IP地址的請求為正常的請 求。
[0062] 另外,為了防止某個IP長期不訪問而占據(jù)IP地址信息表,導(dǎo)致統(tǒng)計訪問時間間隔 時出現(xiàn)噪聲的情況出現(xiàn),在實際應(yīng)用中定期檢測IP地址信息表中多個IP地址的最近訪問 的時間點,如果IP地址最近訪問的時間點早于預(yù)設(shè)的時間點,則在IP地址信息表中刪除該 IP地址對應(yīng)的訪問請求信息。
[0063] 通過本申請的實施例,網(wǎng)站服務(wù)器接收到用戶的訪問請求,根據(jù)請求的IP地址 信息,記錄每次請求發(fā)生的時間,并計算與同一 IP地址上次請求的時間間隔;每隔預(yù)定時 間(每分鐘或每小時等),依次計算每個IP地址所有訪問時間間隔的平均值和標準差,若標 準差和訪問平均時間間隔的比值小于預(yù)設(shè)閾值,說明該IP地址訪問很頻繁,符合工具腳本 或惡意程序訪問的特點,則判斷該IP地址存在HTTP-Flood攻擊行為。通過本申請的技術(shù) 方案,能夠有效地規(guī)避基于閾值統(tǒng)計檢測方案的缺陷,運維配置便利且與業(yè)務(wù)無關(guān),不會對 NAT后的用戶造成誤殺(NAT后的每個用戶的訪問時間間隔不會保持在一個固定值),并且 能夠檢測出分布式HTTP-Flood攻擊的所有IP地址。
[0064] 在本申請的一個實施例中,參考圖4,是本申請一個實施例的網(wǎng)絡(luò)攻擊檢測方法的 流程圖,如圖4所示,該方法包括:
[0065] 步驟S402,獲取訪問網(wǎng)站服務(wù)器的訪問請求信息,所述訪問請求信息包括訪問者 的以下信息:IP地址、訪問時間和用戶代理字段值;
[0066] 步驟S402,統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息;
[0067] 步驟S406,根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的訪問頻率和與該IP 地址關(guān)聯(lián)的用戶代理字段值的信息熵,如果IP地址的訪問頻率大于第一閾值并且用戶代 理字段值的信息熵小于第二閾值,則判定該IP為攻擊IP地址。
[0068] 用戶代理字段(User-Agent)是瀏覽器發(fā)送HTTP請求時所攜帶的頭字段,表示發(fā) 出請求的瀏覽器(或其他應(yīng)用程序)的信息,其組成內(nèi)容包括應(yīng)用程序名及版本號、核心引 擎名稱及版本、運行平臺(操作系統(tǒng))名稱及版本等等。不同用戶的上網(wǎng)環(huán)境,由于其操作系 統(tǒng)類型、操作系統(tǒng)版本、補丁版本、瀏覽器類型、瀏覽器版本等不相同,所以,其User-Agent 值也不可能相同。
[0069] 而攻擊工具由于是模擬發(fā)送HTTP請求,其核心功能是短時間內(nèi)發(fā)送大量的合法 請求致使Web Server拒絕服務(wù),所以,其盡量減少HTTP請求數(shù)據(jù)包的字節(jié)數(shù),對于非必須 字段的HTTP頭字段可能不會發(fā)送,即使發(fā)送,也可能是固定的一個值。
[0070] 基于以上的分析結(jié)果,本申請?zhí)岢隽艘韵碌姆椒商岣逪TTP-Flood的檢測精度, 減少合法用戶的誤殺量。
[0071] 首先獲取用戶HTTP請求的信息,其中包括用戶IP地址、訪問時間、HTTP協(xié)議中 User-Agent字段,以IP地址為依據(jù),分別記錄這些信息;后續(xù)的訪問,記錄并更新這些信息 的訪問次數(shù);在某一指定的時間間隔,計算每個用戶IP地址的訪問次數(shù),如果其訪問次數(shù) 超過某個閾值,再計算該IP地址的所有User-Agent的信息熵值,如果信息熵值較小,貝lj可 認為該IP地址與某一 User-Agent有較強的關(guān)聯(lián)關(guān)系,即該IP地址的請求可能來自于同一 個用戶電腦環(huán)境,這可認為該IP地址存在惡意攻擊行為,如果信息熵值較大,說明該IP地 址可能來自于不同的用戶電腦環(huán)境,該IP地址可能是共享出口的IP地址,這些訪問可認為 是合法訪問。
[0072] 通過計算一段時間內(nèi)的User-Agent的信息熵,可以分析出User-Agent的分散程 度。對于共用出口 IP地址的用戶,雖然訪問頻率較高,但因為都是不同的用戶進行訪問,所 以其User-Agent也是分布不均的,計算出來的信息熵值較大;而對于攻擊者來說,由于其 User-Agent是固定的(不攜帶User-Agent信息也是固定的一種類型),所以計算出來的信 息熵也是很小的。特殊情況下,如果某IP地址的所有訪問中,只出現(xiàn)了一個User-Agent類 型,其信息熵為〇,則可認為該IP地址可能為獨立IP地址。
[0073] 下面結(jié)合圖5和圖6描述本實施例。圖5是統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息的 流程圖,圖6是根據(jù)訪問請求信息判斷攻擊IP地址的流程圖。
[0074] 參考圖5,具體包括以下步驟:
[0075] 步驟S502,獲取HTTP請求;
[0076] 步驟S504,提取出HTTP請求中的用戶IP地址、Agent-User值、訪問時間等信息;
[0077] 步驟S506,判斷信息表(第二IP地址信息表)中是否存在該IP地址的記錄,若存 在則執(zhí)行步驟S510,若不存在則執(zhí)行步驟S508 ;
[0078] 步驟S508,在信息表中增加用戶IP地址、User-Agent字段值、訪問時間三維數(shù)據(jù) 信息表中,并將計數(shù)初始化為1;
[0079] 步驟S510,判斷信息表中是否存在該User-Agent的記錄,若存在則執(zhí)行步驟 S512,若不存在則執(zhí)行步驟S514 ;
[0080] 步驟S512,在信息表中增加該User-Agent值到信息表中,并將計數(shù)初始化為1 ;
[0081] 步驟S514,在信息表中更新該User-Agent的計數(shù)加1。
[0082] 參考圖6,具體包括以下步驟:
[0083] 步驟S602,提取信息表(第二IP地址信息表)中一個IP地址的記錄;
[0084] 步驟S604,計算該IP地址的訪問頻率;
[0085] 步驟S606,提取該IP地址關(guān)聯(lián)的一個User-agent記錄;
[0086] 步驟S608,計算該User-Agent的訪問次數(shù);
[0087] 步驟S610,計算該User-Agent的信息熵;
[0088] 步驟S612,判斷信息表中是否還有未提取的User-Agent記錄,若是則繼續(xù)執(zhí)行步 驟S606,否則執(zhí)行步驟S614 ;
[0089] 步驟S614,計算該IP地址的User-Agent的信息熵;
[0090] 步驟S616,判斷信息表中是否還有未提取的IP地址記錄,若是則繼續(xù)執(zhí)行步驟 S602,否則執(zhí)行步驟S618 ;
[0091] 步驟S618,判斷IP地址的訪問頻率、User-Agent信息熵是否滿足預(yù)定閾值,即判 斷IP地址的訪問頻率是否大于第一閾值且User-Agent信息熵是否小于第二閾值,若是則 判斷該IP地址為惡意攻擊;否則判斷該IP地址為合法用戶訪問地址。
[0092] 其中,上述的信息表(第二IP地址信息表)的結(jié)構(gòu)請參考圖7所示。當達到某一時 間值,遍歷所有的信息表中的IP地址,計算出該IP地址的訪問頻率,并計算該IP地址相關(guān) 的User-Agent記錄列表中的信息熵。如果IP地址訪問頻率大于某一預(yù)定閾值,并且信息 熵值小于某一預(yù)定的閾值,則可認為該IP地址存在攻擊行為。在實際使用中,預(yù)定的閾值 可根據(jù)業(yè)務(wù)流量情況進行設(shè)定,本申請不進行限定。一般情況下,單個合法用戶每秒的訪問 次數(shù)不會超過5次,即可設(shè)定IP地址訪問頻率閾值為5 ;如果計算出來的信息熵的值小于 〇. 5,從信息熵的計算公式可知必定有某個User-Agent的訪問次數(shù)占到了該IP地址訪問總 次數(shù)的70%以上。
[0093] 具體地,信息熵的計算公式如下:
[0094] Η(Χ) = ^Σ' Ρ(Χ,)\
[0095] 其中,i表示某個IP地址關(guān)聯(lián)的User-Agent的數(shù)量,P(Xi)表示第i個User-Agent 的出現(xiàn)的次數(shù)和對應(yīng)的IP地址總訪問次數(shù)的比值。
[0096] 為了更清晰的說明User-Agent的信息熵的計算方法,下面舉例說明:
[0097] 假設(shè)IP地址為1.2. 3. 4的用戶在1分鐘的訪問次數(shù)為1000,與其關(guān)聯(lián)的 User-Agent有5個,其出現(xiàn)的次數(shù)分別為{10,20,960,2,8},則該IP地址的訪問頻率 為:1000/60=16. 7,每個 User-Agent 出現(xiàn)的比率為{p (1) =10/1000, p (2) =20/1000, p ( 3) =960/1000, p (4) =2/1000, p (5) =8/1000},則其信息熵計算為:-p (1) log2p (1) -p (2) log2p (2) -p (3) log2p (3) -p (4) log2p (4) -p (5) log2p (5) =0· 3。如果某應(yīng)用設(shè)置的 IP 地址的 訪問閾值為5, User-Agent的信息熵閾值為0. 5,則上面舉例中的IP地址則既可判斷為具 有惡意訪問行為的IP地址。
[0098] 通過本申請的實施例,從IP地址訪問頻率和User-Agent的分布情況來檢測 HTTP-Flood攻擊,能夠有效的區(qū)分出正常用戶和惡意的請求。
[0099] 根據(jù)本申請的實施例,還提供了一種網(wǎng)絡(luò)攻擊檢測裝置,用于檢測對于網(wǎng)站的 HTTP-Flood攻擊。參考圖8,該網(wǎng)絡(luò)攻擊檢測裝置至少包括:獲取模塊802、統(tǒng)計模塊804和 計算處理模塊806,下面詳細描述上述各模塊的結(jié)構(gòu)和功能。
[0100] 獲取模塊802,用于獲取訪問網(wǎng)站服務(wù)器的訪問請求信息;
[0101] 統(tǒng)計模塊804,用于統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息;
[0102] 計算處理模塊806,用于根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的相關(guān)訪 問信息,若所述IP地址對應(yīng)的相關(guān)訪問信息小于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址。
[0103] 參考圖9,是本申請一個實施例的網(wǎng)絡(luò)攻擊檢測裝置的結(jié)構(gòu)框圖,包括:第一獲取 模塊902、第一統(tǒng)計模塊904、第一計算處理模塊906、第一 IP地址信息表建立模塊908和 IP地址信息表維護模塊910,下面詳細描述上述各模塊的結(jié)構(gòu)和功能。
[0104] 第一獲取模塊902,用于獲取訪問網(wǎng)站服務(wù)器的訪問請求信息,所述訪問請求信息 包括訪問者的以下信息:IP地址和訪問時間;
[0105] 第一統(tǒng)計模塊904,用于統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息;
[0106] 第一計算處理模塊906,用于根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的訪 問平均時間間隔及其離散度,若所述IP地址的訪問平均時間間隔的離散度與訪問平均時 間間隔的比值小于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址。
[0107] 其中,上述的離散度可以采用標準差或方差,下面以離散度采用標準差為例進行 說明。若第一計算處理模塊906計算IP地址的訪問平均時間間隔的標準差與訪問平均時 間間隔的比值小于10%,則判定該IP地址為攻擊IP地址。
[0108] 具體地,第一計算處理模塊906通過以下公式計算IP地址的訪問平均時間間隔和 標準差:
[0109] 訪問平均時間間隔為;
[0110] 時間間隔的方差:D=(lAm-l)) [(1^^)-2+(1^)-2+…+ (Tm-V)~2];
[0111] 標準差為:A=D~0. 5 ;
[0112] 其中,?\、Τ2、為訪問網(wǎng)站的時間點JeWKfW為相鄰 兩次訪問的時間間隔。
[0113] 第一 IP地址信息表建立模塊908,用于建立IP地址信息表。
[0114] 基于此,第一統(tǒng)計模塊904將獲取模塊902獲取的訪問請求信息記錄至IP地址信 息表中,若IP地址信息表中不存在該IP地址,則在IP地址信息表中增加該IP地址,并記錄 該IP地址的訪問時間;若IP地址信息表中存在該IP地址,則記錄該IP地址的訪問時間。 第一計算處理模塊906定時訪問IP地址信息表,根據(jù)IP地址信息表中記錄的訪問請求信 息計算IP地址的訪問平均時間間隔和標準差。
[0115] IP地址信息表維護模塊910,用于定期檢測所述第一 IP地址信息表中的IP地址 最近訪問的時間點,如果IP地址最近訪問的時間點早于預(yù)設(shè)時間點,則在所述第一 IP地址 信息表中刪除該IP地址對應(yīng)的訪問請求信息。
[0116] 參考圖10,是本申請一個實施例的網(wǎng)絡(luò)攻擊檢測裝置的結(jié)構(gòu)框圖,包括:第二獲 取模塊1002、第二統(tǒng)計模塊1004、第二計算處理模塊1006和第二IP地址信息表建立模塊 1008,下面詳細描述上述各模塊的結(jié)構(gòu)和功能。
[0117] 第二獲取模塊1002,用于獲取訪問網(wǎng)站服務(wù)器的訪問請求信息,所述訪問請求信 息包括訪問者的以下信息:IP地址、訪問時間和用戶代理字段;
[0118] 第二統(tǒng)計模塊1004,用于統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息;
[0119] 第二計算處理模塊1006,其用于根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址 的訪問頻率和與該IP地址關(guān)聯(lián)的用戶代理字段值的信息熵,如果所述IP地址的訪問頻率 大于第一閾值并且用戶代理字段值的信息熵小于第二閾值,則判定該IP為攻擊IP地址。
[0120] 第二IP地址信息表建立模塊1008,用于建立第二IP地址信息表;
[0121] 基于此,第二統(tǒng)計模塊1006將所述訪問請求信息記錄至所述第二IP地址信息表 中,若所述第二IP地址信息表中不存在該IP地址,則在所述第二IP地址信息表中增加該 IP地址,置計數(shù)為1,并將用戶代理字段值也添加到與該IP地址相關(guān)的用戶代理字段值記 錄列表中,并置計數(shù)為1 ;若所述第二IP地址信息表中存在該IP地址,則將該IP地址的計 數(shù)加1,并查找該IP地址相關(guān)的用戶代理字段值記錄列表中是否存在相同的用戶代理字段 值,如果存在,則將對應(yīng)的用戶代理字段值的計數(shù)加1,否則,將該用戶代理字段值添加到該 IP對應(yīng)的用戶代理字段值列表中,并置計數(shù)為1。
[0122] 參考圖10,所述第二計算處理模塊1006包括:
[0123] 計算模塊10062,用于預(yù)設(shè)時間到達時遍歷所述IP地址信息表中的IP地址,分別 計算IP地址的訪問頻率,并計算該IP地址相關(guān)的用戶代理字段值記錄列表中的信息熵;
[0124] 處理模塊10064,用于如果所述IP地址的訪問頻率大于第一閾值并且用戶代理字 段值的信息熵小于第二閾值,則判定該IP為攻擊IP地址。
[0125] 本申請的方法的操作步驟與裝置的結(jié)構(gòu)特征對應(yīng),可以相互參照,不再一一贅述。
[0126] 綜上所述,根據(jù)本申請的技術(shù)方案,通過統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息,根據(jù) 預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的相關(guān)訪問信息,從而判斷攻擊IP地址。本申 請不需安全運維人員過多干預(yù),且和業(yè)務(wù)完全解耦,實現(xiàn)對HTTP-Flood攻擊的精確檢測。
[0127] 以上所述僅為本申請的實施例而已,并不用于限制本申請,對于本領(lǐng)域的技術(shù)人 員來說,本申請可以有各種更改和變化。凡在本申請的精神和原則之內(nèi),所作的任何修改、 等同替換、改進等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。
【權(quán)利要求】
1. 一種網(wǎng)絡(luò)攻擊檢測方法,用于檢測對于網(wǎng)站的HTTP-Flood攻擊,其特征在于,所述 方法包括: 獲取訪問網(wǎng)站服務(wù)器的訪問請求信息; 統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息; 根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的相關(guān)訪問信息,若所述IP地址對應(yīng) 的相關(guān)訪問信息小于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述訪問請求信息包括訪問者的以下信 息:IP地址和訪問時間; 所述根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的相關(guān)訪問信息,若所述IP地址 對應(yīng)的相關(guān)訪問信息小于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址的步驟包括:根據(jù)預(yù)設(shè)時 間段內(nèi)的訪問請求信息計算IP地址的訪問平均時間間隔及其離散度,若所述IP地址的訪 問平均時間間隔的離散度與訪問平均時間間隔的比值小于預(yù)設(shè)值,則判定該IP地址為攻 擊IP地址。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述離散度為標準差或方差;在所述離散 度采用標準差的情況下,若所述IP地址的訪問平均時間間隔的標準差與訪問平均時間間 隔的比值小于10%,則判定該IP地址為攻擊IP地址。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,通過以下公式計算IP地址的訪問平均時 間間隔及其標準差: 訪問平均時間間隔:/m-1,標準差:A=D~0. 5 ; 其中,D 為時間間隔的方差,D=(lAm-l)) [(1^^)-2+(1^^)-2+- + (1^)-2] ;VT2、··· Tm為訪問網(wǎng)站的時間點,m、K2=T3-T2、…h(huán)-l為相鄰兩次訪問的時間間隔。
5. 根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括:建立IP地址信息表; 所述統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息的步驟包括:將所述訪問請求信息記錄至所述 IP地址信息表中,若所述IP地址信息表中不存在該IP地址,則在所述IP地址信息表中增 加該IP地址,并記錄該IP地址的訪問時間;若所述IP地址信息表中存在該IP地址,則記 錄該IP地址的訪問時間。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括: 定期檢測所述IP地址信息表中的IP地址最近訪問的時間點,如果IP地址最近訪問的 時間點早于預(yù)設(shè)時間點,則在所述IP地址信息表中刪除該IP地址對應(yīng)的訪問請求信息。
7. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述訪問請求信息包括訪問者的以下信 息:IP地址、訪問時間和用戶代理字段值; 所述根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的相關(guān)訪問信息,若所述IP地址 對應(yīng)的相關(guān)訪問信息小于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址的步驟包括:根據(jù)預(yù)設(shè)時 間段內(nèi)的訪問請求信息計算IP地址的訪問頻率和與該IP地址關(guān)聯(lián)的用戶代理字段值的信 息熵,如果所述IP地址的訪問頻率大于第一閾值并且用戶代理字段值的信息熵小于第二 閾值,則判定該IP為攻擊IP地址。
8. 根據(jù)權(quán)利要求7所述的方法,其特征在于,還包括:建立IP地址信息表; 所述統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息的步驟包括: 將所述訪問請求信息記錄至所述IP地址信息表中,若所述IP地址信息表中不存在該 IP地址,則在所述IP地址信息表中增加該IP地址,置計數(shù)為1,并將用戶代理字段值也添 加到與該IP地址相關(guān)的用戶代理字段值記錄列表中,并置計數(shù)為1;若所述IP地址信息表 中存在該IP地址,則將該IP地址的計數(shù)加1,并查找該IP地址相關(guān)的用戶代理字段值記錄 列表中是否存在相同的用戶代理字段值,如果存在,則將對應(yīng)的用戶代理字段值的計數(shù)加 1,否則,將該用戶代理字段值添加到該IP對應(yīng)的用戶代理字段值列表中,并置計數(shù)為1。
9. 根據(jù)權(quán)利要求8所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息 計算IP地址的訪問頻率和與該IP地址關(guān)聯(lián)的用戶代理字段值的信息熵的步驟包括: 預(yù)設(shè)時間到達時遍歷所述IP地址信息表中的IP地址,分別計算IP地址的訪問頻率, 并計算該IP地址相關(guān)的用戶代理字段值記錄列表中的信息熵。
10. -種網(wǎng)絡(luò)攻擊檢測方法,用于檢測對于網(wǎng)站的HTTP-Flood攻擊,其特征在于,所述 方法包括: 獲取訪問網(wǎng)站服務(wù)器的訪問請求信息,所述訪問請求信息包括訪問者的以下信息:IP 地址和訪問時間; 統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息; 根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的訪問平均時間間隔及其離散度,若 所述IP地址的訪問平均時間間隔的離散度與訪問平均時間間隔的比值小于預(yù)設(shè)值,則判 定該IP地址為攻擊IP地址。
11. 根據(jù)權(quán)利要求10所述的方法,其特征在于,所述離散度為標準差或方差;在所述離 散度采用標準差的情況下,若所述IP地址的訪問平均時間間隔的標準差與訪問平均時間 間隔的比值小于10%,則判定該IP地址為攻擊IP地址。
12. 根據(jù)權(quán)利要求11所述的方法,其特征在于,通過以下公式計算IP地址的訪問平均 時間間隔及其標準差: 訪問平均時間間隔:/m-1,標準差:A=D~0. 5 ; 其中,D 為時間間隔的方差,D=(lAm-l)) [(1^^)-2+(1^^)-2+- + (1^)-2] ;VT2、··· Tm為訪問網(wǎng)站的時間點,m、K2=T3-T2、…h(huán)-l為相鄰兩次訪問的時間間隔。
13. 根據(jù)權(quán)利要求10所述的方法,其特征在于,還包括:建立IP地址信息表; 所述統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息的步驟包括:將所述訪問請求信息記錄至所述 IP地址信息表中,若所述IP地址信息表中不存在該IP地址,則在所述IP地址信息表中增 加該IP地址,并記錄該IP地址的訪問時間;若所述IP地址信息表中存在該IP地址,則記 錄該IP地址的訪問時間。
14. 根據(jù)權(quán)利要求13所述的方法,其特征在于,還包括: 定期檢測所述IP地址信息表中的IP地址最近訪問的時間點,如果IP地址最近訪問的 時間點早于預(yù)設(shè)時間點,則在所述IP地址信息表中刪除該IP地址對應(yīng)的訪問請求信息。
15. -種網(wǎng)絡(luò)攻擊檢測方法,用于檢測對于網(wǎng)站的HTTP-Flood攻擊,其特征在于,所述 方法包括: 獲取訪問網(wǎng)站服務(wù)器的訪問請求信息,所述訪問請求信息包括訪問者的以下信息:IP 地址、訪問時間和用戶代理字段值; 統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息; 根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的訪問頻率和與該IP地址關(guān)聯(lián)的用戶 代理字段值的信息熵,如果所述IP地址的訪問頻率大于第一閾值并且用戶代理字段值的 信息熵小于第二閾值,則判定該IP為攻擊IP地址。
16. 根據(jù)權(quán)利要求15所述的方法,其特征在于,還包括:建立IP地址信息表; 所述統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息的步驟包括: 將所述訪問請求信息記錄至所述IP地址信息表中,若所述IP地址信息表中不存在該 IP地址,則在所述IP地址信息表中增加該IP地址,置計數(shù)為1,并將用戶代理字段值也添 加到與該IP地址相關(guān)的用戶代理字段值記錄列表中,并置計數(shù)為1;若所述IP地址信息表 中存在該IP地址,則將該IP地址的計數(shù)加1,并查找該IP地址相關(guān)的用戶代理字段值記錄 列表中是否存在相同的用戶代理字段值,如果存在,則將對應(yīng)的用戶代理字段值的計數(shù)加 1,否則,將該用戶代理字段值添加到該IP對應(yīng)的用戶代理字段值列表中,并置計數(shù)為1。
17. 根據(jù)權(quán)利要求16所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信 息計算IP地址的訪問頻率和與該IP地址關(guān)聯(lián)的用戶代理字段值的信息熵的步驟包括: 預(yù)設(shè)時間到達時遍歷所述IP地址信息表中的IP地址,分別計算IP地址的訪問頻率, 并計算該IP地址相關(guān)的用戶代理字段值記錄列表中的信息熵。
18. -種網(wǎng)絡(luò)攻擊檢測裝置,用于檢測對于網(wǎng)站的HTTP-Flood攻擊,其特征在于,所述 裝置包括: 獲取模塊,用于獲取訪問網(wǎng)站服務(wù)器的訪問請求信息; 統(tǒng)計模塊,用于統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息; 計算處理模塊,用于根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的相關(guān)訪問信息, 若所述IP地址對應(yīng)的相關(guān)訪問信息小于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址。
19. 根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述訪問請求信息包括訪問者的以下 信息:IP地址和訪問時間; 所述計算處理模塊包括第一計算處理模塊,其用于根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息 計算IP地址的訪問平均時間間隔及其離散度,若所述IP地址的訪問平均時間間隔的離散 度與訪問平均時間間隔的比值小于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址。
20. 根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述離散度為標準差或方差;在所述離 散度采用標準差的情況下,若所述第一計算處理模塊計算所述IP地址的訪問平均時間間 隔的標準差與訪問平均時間間隔的比值小于10%,則判定該IP地址為攻擊IP地址。
21. 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述第一計算處理模塊通過以下公式 計算IP地址的訪問平均時間間隔及其標準差: 訪問平均時間間隔:/m-1,標準差:A=D~0. 5 ; 其中,D 為時間間隔的方差,D=(lAm-l)) [(1^^)-2+(1^^)-2+- + (1^)-2] ;VT2、··· Tm為訪問網(wǎng)站的時間點,m、K2=T3-T2、…h(huán)-l為相鄰兩次訪問的時間間隔。
22. 根據(jù)權(quán)利要求19所述的裝置,其特征在于,還包括: 第一 IP地址信息表建立模塊,用于建立第一 IP地址信息表; 所述統(tǒng)計模塊包括第一統(tǒng)計模塊,其用于將所述第一獲取模塊獲取的所述訪問請求信 息記錄至所述第一 IP地址信息表中,若所述第一 IP地址信息表中不存在該IP地址,則在 所述第一 IP地址信息表中增加該IP地址,并記錄該IP地址的訪問時間;若所述第一 IP地 址信息表中存在該IP地址,則記錄該IP地址的訪問時間。
23. 根據(jù)權(quán)利要求22所述的裝置,其特征在于,還包括: IP地址信息表維護模塊,用于定期檢測所述第一 IP地址信息表中的IP地址最近訪問 的時間點,如果IP地址最近訪問的時間點早于預(yù)設(shè)時間點,則在所述第一 IP地址信息表中 刪除該IP地址對應(yīng)的訪問請求信息。
24. 根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述訪問請求信息包括訪問者的以下 信息:IP地址、訪問時間和用戶代理字段值; 所述計算處理模塊包括第二計算處理模塊,其用于根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息 計算IP地址的訪問頻率和與該IP地址關(guān)聯(lián)的用戶代理字段值的信息熵,如果所述IP地址 的訪問頻率大于第一閾值并且用戶代理字段值的信息熵小于第二閾值,則判定該IP為攻 擊IP地址。
25. 根據(jù)權(quán)利要求24所述的裝置,其特征在于,還包括: 第二IP地址信息表建立模塊,用于建立第二IP地址信息表; 所述統(tǒng)計模塊包括第二統(tǒng)計模塊,其用于將所述訪問請求信息記錄至所述第二IP地 址信息表中,若所述第二IP地址信息表中不存在該IP地址,則在所述第二IP地址信息表 中增加該IP地址,置計數(shù)為1,并將用戶代理字段值也添加到與該IP地址相關(guān)的用戶代理 字段值記錄列表中,并置計數(shù)為1 ;若所述第二IP地址信息表中存在該IP地址,則將該IP 地址的計數(shù)加1,并查找該IP地址相關(guān)的用戶代理字段值記錄列表中是否存在相同的用戶 代理字段值,如果存在,則將對應(yīng)的用戶代理字段值的計數(shù)加1,否則,將該用戶代理字段值 添加到該IP對應(yīng)的用戶代理字段值列表中,并置計數(shù)為1。
26. 根據(jù)權(quán)利要求25所述的裝置,其特征在于,所述第二計算處理模塊包括: 計算模塊,用于預(yù)設(shè)時間到達時遍歷所述IP地址信息表中的IP地址,分別計算IP地 址的訪問頻率,并計算該IP地址相關(guān)的用戶代理字段值記錄列表中的信息熵; 處理模塊,用于如果所述IP地址的訪問頻率大于第一閾值并且用戶代理字段值的信 息熵小于第二閾值,則判定該IP為攻擊IP地址。
27. -種網(wǎng)絡(luò)攻擊檢測裝置,用于檢測對于網(wǎng)站的HTTP-Flood攻擊,其特征在于,所述 裝置包括: 第一獲取模塊,用于獲取訪問網(wǎng)站服務(wù)器的訪問請求信息,所述訪問請求信息包括訪 問者的以下信息:IP地址和訪問時間; 第一統(tǒng)計模塊,用于統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息; 第一計算處理模塊,用于根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的訪問平均 時間間隔及其離散度,若所述IP地址的訪問平均時間間隔的離散度與訪問平均時間間隔 的比值小于預(yù)設(shè)值,則判定該IP地址為攻擊IP地址。
28. 根據(jù)權(quán)利要求27所述的裝置,其特征在于,所述離散度為標準差或方差;在所述離 散度采用標準差的情況下,若所述第一計算處理模塊計算所述IP地址的訪問平均時間間 隔的標準差與訪問平均時間間隔的比值小于10%,則判定該IP地址為攻擊IP地址。
29. 根據(jù)權(quán)利要求28所述的裝置,其特征在于,所述第一計算處理模塊通過以下公式 計算IP地址的訪問平均時間間隔及其標準差: 訪問平均時間間隔:/m-1,標準差:A=D~0. 5 ; 其中,D 為時間間隔的方差,D=(lAm-l)) [(1^^)-2+(1^^)-2+- + (1^)-2] ;VT2、… Tm為訪問網(wǎng)站的時間點,m、κ2=τ3-τ2、…h(huán)-Tm為相鄰兩次訪問的時間間隔。
30. 根據(jù)權(quán)利要求27所述的裝置,其特征在于,還包括: 第一 IP地址信息表建立模塊,用于建立IP地址信息表; 所述第一統(tǒng)計模塊還用于,將所述第一獲取模塊獲取的所述訪問請求信息記錄至所述 IP地址信息表中,若所述IP地址信息表中不存在該IP地址,則在所述IP地址信息表中增 加該IP地址,并記錄該IP地址的訪問時間;若所述IP地址信息表中存在該IP地址,則記 錄該IP地址的訪問時間。
31. 根據(jù)權(quán)利要求30所述的裝置,其特征在于,還包括: IP地址信息表維護模塊,用于定期檢測所述IP地址信息表中的IP地址最近訪問的時 間點,如果IP地址最近訪問的時間點早于預(yù)設(shè)時間點,則在所述IP地址信息表中刪除該IP 地址對應(yīng)的訪問請求信息。
32. -種網(wǎng)絡(luò)攻擊檢測裝置,用于檢測對于網(wǎng)站的HTTP-Flood攻擊,其特征在于,所述 裝置包括: 第二獲取模塊,用于獲取訪問網(wǎng)站服務(wù)器的訪問請求信息,所述訪問請求信息包括訪 問者的以下信息:IP地址、訪問時間和用戶代理字段值; 第二統(tǒng)計模塊,用于統(tǒng)計預(yù)設(shè)時間段內(nèi)的訪問請求信息; 第二計算處理模塊,用于根據(jù)預(yù)設(shè)時間段內(nèi)的訪問請求信息計算IP地址的訪問頻率 和與該IP地址關(guān)聯(lián)的用戶代理字段值的信息熵,如果所述IP地址的訪問頻率大于第一閾 值并且用戶代理字段值的信息熵小于第二閾值,則判定該IP為攻擊IP地址。
33. 根據(jù)權(quán)利要求32所述的裝置,其特征在于,還包括: 第二IP地址信息表建立模塊,用于建立IP地址信息表; 所述第二統(tǒng)計模塊還用于,將所述訪問請求信息記錄至所述IP地址信息表中,若所述 IP地址信息表中不存在該IP地址,則在所述IP地址信息表中增加該IP地址,置計數(shù)為1, 并將用戶代理字段值也添加到與該IP地址相關(guān)的用戶代理字段值記錄列表中,并置計數(shù) 為1 ;若所述IP地址信息表中存在該IP地址,則將該IP地址的計數(shù)加1,并查找該IP地址 相關(guān)的用戶代理字段值記錄列表中是否存在相同的用戶代理字段值,如果存在,則將對應(yīng) 的用戶代理字段值的計數(shù)加1,否則,將該用戶代理字段值添加到該IP對應(yīng)的用戶代理字 段值列表中,并置計數(shù)為1。
34. 根據(jù)權(quán)利要求33所述的裝置,其特征在于,所述第二計算處理模塊包括: 計算模塊,用于預(yù)設(shè)時間到達時遍歷所述IP地址信息表中的IP地址,分別計算IP地 址的訪問頻率,并計算該IP地址相關(guān)的用戶代理字段值記錄列表中的信息熵; 處理模塊,用于如果所述IP地址的訪問頻率大于第一閾值并且用戶代理字段值的信 息熵小于第二閾值,則判定該IP為攻擊IP地址。
【文檔編號】H04L29/06GK104113519SQ201310253500
【公開日】2014年10月22日 申請日期:2013年6月24日 優(yōu)先權(quán)日:2013年4月16日
【發(fā)明者】張峰, 張玉東 申請人:阿里巴巴集團控股有限公司