專利名稱:檢測和防御cc攻擊的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到通信領(lǐng)域,特別涉及到一種檢測和防御CC攻擊的方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)絡(luò)安全問題越來越突出,而DDoS攻擊(Distributed Denial of service,分布式拒絕服務(wù)攻擊)作為網(wǎng)絡(luò)攻擊中的最常用的手段之一,近年來發(fā)展速度已經(jīng)明顯超過防御技術(shù)。根據(jù)ArborNetworks公司2010年的安全年報顯示,DDoS 攻擊的流量在近年呈現(xiàn)幾何增長趨勢,從2009年的50(ibpS突增到2010年的100(ibpS。而 2010年和2011年的很多國際大事件中都有DDoS攻擊的身影。CC (Challenge Collapsar)攻擊是DDoS攻擊的一種,它主要是針對WEB頁面進行攻擊,攻擊者一般是通過網(wǎng)絡(luò)中的代理服務(wù)器10對目標(biāo)服務(wù)器11發(fā)起大量的耗費系統(tǒng)資源的HTTP請求(如論壇搜索等),使得目標(biāo)服務(wù)器11的系統(tǒng)資源被很快耗盡,從而無法響應(yīng)正常用戶的請求?,F(xiàn)有的針對CC攻擊的檢測和防御方法還比較少,并且大多數(shù)方案都具有滯后性大、誤判率高的缺點。比如根據(jù)請求報文和響應(yīng)報文的比值的變化來檢測服務(wù)器是否受到 CC攻擊的方案就具有明顯的滯后性,當(dāng)服務(wù)器的請求響應(yīng)比發(fā)生明顯變化時,說明該系統(tǒng)可能已經(jīng)受到一段時間的CC攻擊,另外,該方法容易把正常的高峰訪問判定為異常的CC攻擊,因此誤判率高。
發(fā)明內(nèi)容
本發(fā)明的主要目的為提供一種檢測和防御CC攻擊的方法和裝置,可準(zhǔn)確檢測和防御CC攻擊。本發(fā)明提出一種檢測和防御CC攻擊的方法,包括當(dāng)用戶訪問頁面的請求為動態(tài)頁面請求時,記錄預(yù)設(shè)時間內(nèi)該頁面的請求次數(shù)m 及該頁面的相關(guān)請求次數(shù)η;當(dāng)*m-n)/m大于或等于一預(yù)設(shè)閾值時,判定所述頁面受到CC攻擊。優(yōu)選地,所述當(dāng)用戶訪問頁面的請求為動態(tài)頁面請求時,記錄該頁面的請求次數(shù)m 及該頁面的相關(guān)請求次數(shù)n,包括1)判斷所述用戶訪問頁面的請求是否為已記錄的請求;2)當(dāng)所述用戶訪問頁面的請求是已記錄的請求時,將該請求的次數(shù)加1,并返回步驟1)直到預(yù)設(shè)時間到達;3)當(dāng)所述用戶訪問頁面的請求非已記錄的請求時,判斷所述用戶訪問頁面的請求是否為已記錄請求的相關(guān)請求,是則將所述相關(guān)請求的次數(shù)加1,并返回步驟1)直到預(yù)設(shè)時間到達;否則將所述用戶訪問頁面的請求記錄為新請求,并返回步驟1)直到預(yù)設(shè)時間到達;4)統(tǒng)計所述用戶訪問頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)η。
優(yōu)選地,所述統(tǒng)計用戶訪問頁面的相關(guān)請求次數(shù)η包括計算所述用戶訪問頁面的各相關(guān)請求的次數(shù);將各相關(guān)請求的次數(shù)求平均值,得到相關(guān)請求次數(shù)η。優(yōu)選地,在執(zhí)行所述當(dāng)用戶訪問頁面的請求為動態(tài)頁面請求時,記錄該頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)η之前,包括判斷用戶訪問頁面的請求是否為動態(tài)頁面請求。優(yōu)選地,在執(zhí)行所述當(dāng)(m-n)/m大于或等于一預(yù)設(shè)閾值時,判定所述頁面受到CC 攻擊之后,還包括將所述用戶訪問頁面的請求進行重定向。本發(fā)明還提出一種檢測和防御CC攻擊的裝置,包括記錄模塊,用于當(dāng)用戶訪問頁面的請求為動態(tài)頁面請求時,記錄預(yù)設(shè)時間內(nèi)該頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)η ;判定模塊,用于當(dāng)(m-n)/m大于或等于一預(yù)設(shè)閾值時,判定所述頁面受到CC攻擊。優(yōu)選地,所述記錄模塊包括判斷單元,用于判斷所述用戶訪問頁面的請求是否為已記錄的請求;頁面請求次數(shù)單元,用于當(dāng)所述用戶訪問頁面的請求是已記錄的請求時,將該請求的次數(shù)加1,并返回步驟1)直到預(yù)設(shè)時間到達;相關(guān)請求次數(shù)單元,用于當(dāng)所述用戶訪問頁面的請求非已記錄的請求時,判斷所述用戶訪問頁面的請求是否為已記錄請求的相關(guān)請求,是則將所述相關(guān)請求的次數(shù)加1,并返回步驟1)直到預(yù)設(shè)時間到達;否則將所述用戶訪問頁面的請求記錄為新請求,并返回步驟1)直到預(yù)設(shè)時間到達;統(tǒng)計單元,用于統(tǒng)計所述用戶訪問頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)η。優(yōu)選地,所述統(tǒng)計單元包括計算子單元,用于計算所述用戶訪問頁面的各相關(guān)請求的次數(shù);求平均值單元,用于將各相關(guān)請求的次數(shù)求平均值,得到相關(guān)請求次數(shù)η。優(yōu)選地,所述裝置還包括判斷模塊,用于判斷用戶訪問頁面的請求是否為動態(tài)頁面請求。優(yōu)選地,所述裝置還包括重定向模塊,用于將所述用戶訪問頁面的請求進行重定向。本發(fā)明提出的一種檢測和防御CC攻擊的方法和裝置,利用HTTP請求的相關(guān)性檢測CC攻擊。用戶在請求訪問一個頁面時,瀏覽器同時也會相關(guān)的請求該頁面的內(nèi)容,如圖片、CSS和JS等,本發(fā)明根據(jù)頁面請求的相關(guān)性檢測服務(wù)器是否CC攻擊,并進行防御。本發(fā)明具有滯后性小、誤判率低的優(yōu)點,能夠及時準(zhǔn)確的識別和防御CC攻擊。
圖1為現(xiàn)有技術(shù)的CC攻擊原理圖;圖2為本發(fā)明檢測和防御CC攻擊的方法一實施例的流程示意圖;圖3為本發(fā)明檢測和防御CC攻擊的方法一實施例中記錄過程的流程示意圖;圖4為本發(fā)明檢測和防御CC攻擊的方法一實施例中記錄的數(shù)據(jù)組織示意圖5為本發(fā)明檢測和防御CC攻擊的裝置一實施例的結(jié)構(gòu)示意圖;圖6為本發(fā)明檢測和防御CC攻擊的裝置一實施例中記錄模塊的結(jié)構(gòu)示意圖;圖7為本發(fā)明檢測和防御CC攻擊的裝置一實施例中統(tǒng)計單元的結(jié)構(gòu)示意圖。本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
具體實施例方式應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。參照圖2,提出本發(fā)明檢測和防御CC攻擊的方法一實施例,包括步驟S101、判斷用戶訪問頁面的請求是否為動態(tài)頁面請求;步驟S102、當(dāng)用戶訪問頁面的請求為動態(tài)頁面請求時,記錄預(yù)設(shè)時間內(nèi)該頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)η ;步驟S103、當(dāng)(m-n)/m大于或等于一預(yù)設(shè)閾值時,判定所述頁面受到CC攻擊;步驟S104、將所述用戶訪問頁面的請求進行重定向。本實施例提出一種新的檢測和防御CC攻擊的方法。正常用戶通過瀏覽器訪問頁面時,同時還會請求該頁面的相關(guān)內(nèi)容(如CSS樣式文件、javascript腳本文件、gif/jpg/ png圖片文件等),而攻擊者通過代理服務(wù)器發(fā)送HTTP請求之后會立刻斷開和代理服務(wù)器之間的連接,因此不會發(fā)送該頁面的相關(guān)內(nèi)容請求,根據(jù)這兩種行為的差異性可區(qū)分出正
常流量和攻擊流量。如圖3所示,步驟S102過程為步驟S1021、檢查用戶訪問頁面的請求是否為動態(tài)頁面請求,如果不是則直接允許訪問,如果是則進入下一步。步驟S1022、判定該請求是否為已經(jīng)記錄的請求。如果是已記錄的請求,則將其次數(shù)加1 ;如果不是已記錄的請求,則進入下一步。上述所謂的記錄可以是將Http請求的tol 地址記錄下來,作為后續(xù)判斷訪問頁面的請求是否已經(jīng)記錄的判定標(biāo)準(zhǔn)。步驟S1023、判斷該請求是否是已記錄請求的相關(guān)請求,由于用戶訪問頁面的請求為動態(tài)頁面請求,每一個頁面請求之后都會緊接著多個頁面內(nèi)容的請求,此處記為相關(guān)請求。參考圖4,圖4所示為本實施例中的檢測方法需要記錄的數(shù)據(jù)組織方式,每一個頁面的請求對應(yīng)于多個相關(guān)請求。如訪問百度主頁靈baidu. com,除發(fā)送“GET/”請求報文外, 還會發(fā)送“GET/img/gs. gif”和“GET/img/baidu_syl0g0l.gif”等多個相關(guān)請求,其中相關(guān)請求的Referer字段都為”http//www. baidu. com/”。因此可以通過Http請求頭中的 Referer字段標(biāo)識,識別并記錄上述相關(guān)請求。如果該請求是已記錄請求的相關(guān)請求,則該請求的相關(guān)請求次數(shù)加1 ;如果不是,則記錄為一個新的請求。步驟S1024、當(dāng)預(yù)設(shè)時間到達時,根據(jù)以上記錄的數(shù)據(jù),統(tǒng)計該預(yù)設(shè)時間內(nèi)所述用戶訪問頁面的請求次數(shù)m與該請求的相關(guān)請求次數(shù)η。具體實施時,由于一個頁面請求的相關(guān)請求會有多個,故η取所有頁面請求的相關(guān)請求的次數(shù)的平均值,得到相關(guān)請求次數(shù)η。 計算m-n的差值a。如果a和m的比值(m-n)/m超過某個事先設(shè)定的閾值則判定為受到CC 攻擊。針對判定為受到CC攻擊的頁面,利用HTTP重定向技術(shù)對該類請求進行重定向。由于攻擊者發(fā)送請求后就與代理服務(wù)器斷開連接,故不能正確的進行重定向,從而過濾掉攻
6擊流量。在某些情況下,可能某些HTTP請求確實沒有相關(guān)請求(如文件下載),針對這種情況,可以通過限制單個IP地址在單位時間內(nèi)的訪問次數(shù)和單個連接的時長來進行防御。本實施例中,利用HTTP請求的相關(guān)性檢測CC攻擊。用戶在請求訪問一個頁面時, 瀏覽器同時也會相關(guān)的請求該頁面的內(nèi)容,如圖片、CSS和JS等,本發(fā)明根據(jù)頁面請求的相關(guān)性檢測服務(wù)器是否CC攻擊,并進行防御。本發(fā)明具有滯后性小、誤判率低的優(yōu)點,能夠及時準(zhǔn)確的識別和防御CC攻擊。參照圖5,提出本發(fā)明檢測和防御CC攻擊的裝置一實施例,包括判斷模塊20,用于判斷用戶訪問頁面的請求是否為動態(tài)頁面請求。記錄模塊30,用于當(dāng)用戶訪問頁面的請求為動態(tài)頁面請求時,記錄預(yù)設(shè)時間內(nèi)該頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)η ;判定模塊40,用于當(dāng)(m-n)/m大于或等于一預(yù)設(shè)閾值時,判定所述頁面受到CC攻擊;重定向模塊50,用于將所述用戶訪問頁面的請求進行重定向。其中,參照圖6,上述記錄模塊30包括判斷單元31,用于判斷所述用戶訪問頁面的請求是否為已記錄的請求;頁面請求次數(shù)單元32,用于當(dāng)所述用戶訪問頁面的請求是已記錄的請求時,將該請求的次數(shù)加1,并返回步驟1)直到預(yù)設(shè)時間到達;相關(guān)請求次數(shù)單元33,用于當(dāng)所述用戶訪問頁面的請求非已記錄的請求時,判斷所述用戶訪問頁面的請求是否為已記錄請求的相關(guān)請求,是則將所述相關(guān)請求的次數(shù)加1, 并返回步驟1)直到預(yù)設(shè)時間到達;否則將所述用戶訪問頁面的請求記錄為新請求,并返回步驟1)直到預(yù)設(shè)時間到達;統(tǒng)計單元34,用于統(tǒng)計所述用戶訪問頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù) η。參照圖7,統(tǒng)計單元34進一步包括計算子單元341,用于計算所述用戶訪問頁面的各相關(guān)請求的次數(shù);求平均值單元342,用于將各相關(guān)請求的次數(shù)求平均值,得到相關(guān)請求次數(shù)η。本實施例提出一種新的檢測和防御CC攻擊的裝置,內(nèi)置或外置于服務(wù)器。正常用戶通過瀏覽器訪問頁面時,同時還會請求該頁面的相關(guān)內(nèi)容(如ess樣式文件、javascript 腳本文件、gif/jpg/png圖片文件等),而攻擊者通過代理服務(wù)器發(fā)送HTTP請求之后會立刻斷開和代理服務(wù)器之間的連接,因此不會發(fā)送該頁面的相關(guān)內(nèi)容請求,根據(jù)這兩種行為的差異性可區(qū)分出正常流量和攻擊流量。判斷模塊20檢查用戶訪問頁面的請求是否為動態(tài)頁面請求,如果不是則直接允許訪問,如果是則記錄模塊30的判斷單元31判定該請求是否為已經(jīng)記錄的請求,如果是已記錄的請求,則頁面請求次數(shù)單元32將其次數(shù)加1,并返回由判斷模塊20判斷新的訪問頁面的請求是否為已記錄的請求,直到預(yù)設(shè)的時間到達。上述所謂的記錄可以是將Http請求的Url地址記錄下來,作為后續(xù)判斷訪問頁面的請求是否已經(jīng)記錄的判定標(biāo)準(zhǔn)。如果不是已記錄的請求,則相關(guān)請求次數(shù)單元33判斷該請求是否是已記錄請求的相關(guān)請求,由于用戶訪問頁面的請求為動態(tài)頁面請求,每一個頁面請求之后都會緊接著多個頁面內(nèi)容的請求,此處記為相關(guān)請求。參考圖4,圖4所示為本實施例中的檢測方法需要記錄的數(shù)據(jù)組織方式,每一個頁面的請求對應(yīng)于多個相關(guān)請求。如訪問百度主頁www. baidu. com,除發(fā)送 “GET/” 請求報文外,還會發(fā)送 “GET/img/gs. gif” 和 “GET/imgAaidu_ sylogol.gif”等多個相關(guān)請求,其中相關(guān)請求的Referer字段都為“http://WWW. baidu. com/”。因此相關(guān)請求次數(shù)單元33可以通過Http請求頭中的Referer字段標(biāo)識,識別并記錄上述相關(guān)請求,即如果該請求是已記錄請求的相關(guān)請求,則相關(guān)請求次數(shù)單元33將該請求的相關(guān)請求次數(shù)加1 ;并重新由判斷單元31判斷下一個訪問頁面的請求是否為已記錄的請求,直到預(yù)設(shè)的時間到達。如果用戶訪問頁面的請求既不是已經(jīng)記錄的請求,也不是已經(jīng)記錄的請求的相關(guān)請求,則相關(guān)請求次數(shù)單元33記錄該請求為一個新的請求,并重新由判斷單元31判斷下一個訪問頁面的請求是否為已記錄的請求,直到預(yù)設(shè)的時間到達。當(dāng)預(yù)設(shè)時間到達時,統(tǒng)計單元34的計算子單元341根據(jù)以上記錄的數(shù)據(jù),計算該預(yù)設(shè)時間內(nèi)所述用戶訪問同一頁面的請求次數(shù)m與該請求的各個相關(guān)請求次數(shù)。具體實施時,由于一個頁面請求的相關(guān)請求會有多個,故求平均值單元342取所有的頁面請求的相關(guān)請求次數(shù)的平均值,得到相關(guān)請求次數(shù)η。計算m-n的差值a,判定模塊40判定當(dāng)a和m 的比值(m-n)/m超過某個事先設(shè)定的閾值時,服務(wù)器受到CC攻擊。針對判定為受到CC攻擊的頁面,重定向模塊50利用HTTP重定向技術(shù)對該類請求進行重定向。由于攻擊者發(fā)送請求后就與代理服務(wù)器斷開連接,故不能正確的進行重定向, 從而過濾掉攻擊流量。在某些情況下,可能某些HTTP請求確實沒有相關(guān)請求(如文件下載),針對這種情況,可以通過限制單個IP地址在單位時間內(nèi)的訪問次數(shù)和單個連接的時長來進行防御。本實施例中,利用HTTP請求的相關(guān)性檢測CC攻擊。用戶在請求訪問一個頁面時, 瀏覽器同時也會相關(guān)的請求該頁面的內(nèi)容,如圖片、CSS和JS等,本發(fā)明根據(jù)頁面請求的相關(guān)性檢測服務(wù)器是否CC攻擊,并進行防御。本發(fā)明具有滯后性小、誤判率低的優(yōu)點,能夠及時準(zhǔn)確的識別和防御CC攻擊。以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
權(quán)利要求
1.一種檢測和防御CC攻擊的方法,其特征在于,包括當(dāng)用戶訪問頁面的請求為動態(tài)頁面請求時,記錄預(yù)設(shè)時間內(nèi)該頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)η;當(dāng)(m-n)/m大于或等于一預(yù)設(shè)閾值時,判定所述頁面受到CC攻擊。
2.如權(quán)利要求1所述的方法,其特征在于,所述當(dāng)用戶訪問頁面的請求為動態(tài)頁面請求時,記錄該頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)n,包括1)判斷所述用戶訪問頁面的請求是否為已記錄的請求;2)當(dāng)所述用戶訪問頁面的請求是已記錄的請求時,將該請求的次數(shù)加1,并返回步驟 1)直到預(yù)設(shè)時間到達;3)當(dāng)所述用戶訪問頁面的請求非已記錄的請求時,判斷所述用戶訪問頁面的請求是否為已記錄請求的相關(guān)請求,是則將所述相關(guān)請求的次數(shù)加1,并返回步驟1)直到預(yù)設(shè)時間到達;否則將所述用戶訪問頁面的請求記錄為新請求,并返回步驟1)直到預(yù)設(shè)時間到達;4)統(tǒng)計所述用戶訪問頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)η。
3.如權(quán)利要求2所述的方法,其特征在于,所述統(tǒng)計用戶訪問頁面的相關(guān)請求次數(shù)η包括計算所述用戶訪問頁面的各相關(guān)請求的次數(shù);將各相關(guān)請求的次數(shù)求平均值,得到相關(guān)請求次數(shù)η。
4.如權(quán)利要求1至3任一項所述的方法,其特征在于,在執(zhí)行所述當(dāng)用戶訪問頁面的請求為動態(tài)頁面請求時,記錄該頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)η之前,包括判斷用戶訪問頁面的請求是否為動態(tài)頁面請求。
5.如權(quán)利要求1至3中任一項所述的方法,其特征在于,在執(zhí)行所述當(dāng)(m-n)/m大于或等于一預(yù)設(shè)閾值時,判定所述頁面受到CC攻擊之后,還包括將所述用戶訪問頁面的請求進行重定向。
6.一種檢測和防御CC攻擊的裝置,其特征在于,包括記錄模塊,用于當(dāng)用戶訪問頁面的請求為動態(tài)頁面請求時,記錄預(yù)設(shè)時間內(nèi)該頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)η ;判定模塊,用于當(dāng)(m-n)/m大于或等于一預(yù)設(shè)閾值時,判定所述頁面受到CC攻擊。
7.如權(quán)利要求6所述的裝置,其特征在于,所述記錄模塊包括判斷單元,用于判斷所述用戶訪問頁面的請求是否為已記錄的請求;頁面請求次數(shù)單元,用于當(dāng)所述用戶訪問頁面的請求是已記錄的請求時,將該請求的次數(shù)加1,并返回步驟1)直到預(yù)設(shè)時間到達;相關(guān)請求次數(shù)單元,用于當(dāng)所述用戶訪問頁面的請求非已記錄的請求時,判斷所述用戶訪問頁面的請求是否為已記錄請求的相關(guān)請求,是則將所述相關(guān)請求的次數(shù)加1,并返回步驟1)直到預(yù)設(shè)時間到達;否則將所述用戶訪問頁面的請求記錄為新請求,并返回步驟1) 直到預(yù)設(shè)時間到達;統(tǒng)計單元,用于統(tǒng)計所述用戶訪問頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)η。
8.如權(quán)利要求7所述的裝置,其特征在于,所述統(tǒng)計單元包括計算子單元,用于計算所述用戶訪問頁面的各相關(guān)請求的次數(shù);求平均值單元,用于將各相關(guān)請求的次數(shù)求平均值,得到相關(guān)請求次數(shù)η。
9.如權(quán)利要求6至8任一項所述的裝置,其特征在于,還包括 判斷模塊,用于判斷用戶訪問頁面的請求是否為動態(tài)頁面請求。
10.如權(quán)利要求6至8任一項所述的裝置,其特征在于,還包括 重定向模塊,用于將所述用戶訪問頁面的請求進行重定向。
全文摘要
本發(fā)明揭示了一種檢測和防御CC攻擊的方法,包括當(dāng)用戶訪問頁面的請求為動態(tài)頁面請求時,記錄預(yù)設(shè)時間內(nèi)該頁面的請求次數(shù)m及該頁面的相關(guān)請求次數(shù)n;當(dāng)(m-n)/m大于或等于一預(yù)設(shè)閾值時,判定所述頁面受到CC攻擊。本發(fā)明還提出了對應(yīng)的裝置。本發(fā)明提供的一種檢測和防御CC攻擊的方法和裝置,可準(zhǔn)確檢測和防御CC攻擊。
文檔編號H04L29/06GK102281298SQ201110228690
公開日2011年12月14日 申請日期2011年8月10日 優(yōu)先權(quán)日2011年8月10日
發(fā)明者林國強 申請人:深信服網(wǎng)絡(luò)科技(深圳)有限公司