專利名稱:基于Web通信群體外聯(lián)行為的拒絕服務(wù)攻擊檢測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)安全技術(shù),尤其涉及一種基于Web通信群體外聯(lián)行為的拒絕服務(wù)攻擊檢測方法。
背景技術(shù):
Web服務(wù)是互聯(lián)網(wǎng)中應(yīng)用最廣泛的應(yīng)用類型,然而由于其重要的社會(huì)和商業(yè)價(jià)值,Web服務(wù)器同時(shí)也成為互聯(lián)網(wǎng)中最主要的被攻擊目標(biāo)。拒絕服務(wù)攻擊(Distributed Denial-of-Service attack, DDoS)是Web服務(wù)器所面臨的最重要的威脅之一,DDoS攻擊是指攻擊者通過傀儡主機(jī),消耗攻擊目標(biāo)的計(jì)算資源,阻止目標(biāo)為合法用戶提供服務(wù)??上牡挠?jì)算資源可以是CPU、內(nèi)存、帶寬、數(shù)據(jù)庫服務(wù)器等。近年來,DDoS攻擊可謂層出不窮 [1-5],Amazon, eBay, Yahoo, Sina,Baidu等國內(nèi)外著名網(wǎng)站都曾受到DDoS攻擊,造成了重大的經(jīng)濟(jì)損失。針對DDoS攻擊檢測和控制已經(jīng)進(jìn)行了大量研究[6]。然而,為了規(guī)避不斷完善的 DDoS檢測和控制技術(shù),達(dá)到理想的攻擊效果,攻擊者也在不斷改進(jìn)其攻擊技術(shù)。DDoS攻擊多種多樣,Mirkovic [6]等人依據(jù)攻擊包的地址有效性、攻擊速率等屬性對DDoS攻擊進(jìn)行了詳細(xì)分類。本發(fā)明沿用Xie [7]和肖軍等人[8]的分類方法把DDoS攻擊分為兩大類一類是網(wǎng)絡(luò)層DDoS攻擊,通過發(fā)送大量垃圾包,消耗受害主機(jī)處理器資源,阻塞受害主機(jī)入口鏈路,如SYN Flooding ;另一類是應(yīng)用層DDoS攻擊,通過建立正常連接,向目標(biāo)服務(wù)器提交大量合法服務(wù)請求,消耗服務(wù)器計(jì)算資源,如HTTP Flooding和CyberSlam[9]。當(dāng)前,檢測和控制網(wǎng)絡(luò)層DDoS攻擊的手段比較豐富,使這類攻擊方式得到了比較有效的遏制。當(dāng)網(wǎng)絡(luò)層DDoS攻擊無法取得滿意效果時(shí),攻擊者往往會(huì)采用應(yīng)用層DDoS攻擊以規(guī)避檢測。在應(yīng)用層DDoS攻擊中,攻擊端與被攻擊目標(biāo)建立TCP連接,并發(fā)送大量表面上合法的請求,傳統(tǒng)的網(wǎng)絡(luò)層DDoS攻擊檢測方法不再適用。雖然應(yīng)用層DDoS攻擊會(huì)使流量迅速增長,但不幸的是,由大量用戶集中訪問所產(chǎn)生的Flash Crowd具有類似的流量特征,二者很難區(qū)分開。目前已有研究人員針對應(yīng)用層DDoS攻擊檢測和過濾開展了一些研究,但這些檢測方法多適合部署于被攻擊端,不能避免應(yīng)用層DDoS攻擊對基礎(chǔ)網(wǎng)絡(luò)帶寬的沖擊。如果能夠在攻擊端邊界路由器或主干鏈路檢測和過濾攻擊數(shù)據(jù)流,能夠有效降低攻擊所造成的損害。
發(fā)明內(nèi)容
本發(fā)明的目的就是為彌補(bǔ)現(xiàn)有技術(shù)的不足,提供一種基于Web通信群體外聯(lián)行為的拒絕服務(wù)攻擊檢測方法。該檢測方法把Web服務(wù)器和其客戶端看作一個(gè)整體(本發(fā)明稱其為通信群體),通過分析該通信群體與外界的交互行為,發(fā)現(xiàn)外聯(lián)行為特征參數(shù)的異常, 并據(jù)此檢測應(yīng)用層DDoS攻擊的發(fā)生。該方法不需要對報(bào)文載荷進(jìn)行分析,計(jì)算復(fù)雜度低, 適合部署于骨干網(wǎng)絡(luò)。為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案
基于Web通信群體外聯(lián)行為的拒絕服務(wù)攻擊檢測方法,該方法的檢測步驟如下Stepl 在網(wǎng)絡(luò)設(shè)備上設(shè)置端口鏡像,使流經(jīng)該網(wǎng)絡(luò)設(shè)備的所有網(wǎng)絡(luò)報(bào)文被復(fù)制發(fā)送到網(wǎng)絡(luò)監(jiān)控前置機(jī),在網(wǎng)絡(luò)監(jiān)控前置機(jī)上提取特定Web服務(wù)器的通信群體及其外聯(lián)行為,發(fā)送至檢測服務(wù)器;St印2 在檢測服務(wù)器中提取中所述的web服務(wù)器通信群體的外聯(lián)特征客戶端數(shù)量CN和與多外聯(lián)節(jié)點(diǎn)連接的客戶端數(shù)量CN_MLN;用序列IxJ表示不同時(shí)間段內(nèi)訪問多外聯(lián)節(jié)點(diǎn)的客戶端數(shù)量與客戶端總數(shù)的比值,{yj表示不同時(shí)間段內(nèi)客戶端總數(shù)與訪問多外聯(lián)節(jié)點(diǎn)的客戶端數(shù)量的比值,ICJ表示客戶端總數(shù),{MJ表示訪問多外聯(lián)節(jié)點(diǎn)的客戶端數(shù)量,按如下公式計(jì)算序列IxJ與{yj在第η個(gè)Δ t內(nèi)的值ι與yn Xh=^lη=1,2,3···Mep3:在檢測服務(wù)器中利用改進(jìn)的CUSUM算法分析Web群體外聯(lián)特征,判斷是否發(fā)生了攻擊;分別計(jì)算IxJ與{yn}的第η個(gè)相應(yīng)檢測值znx和Z/,其遞推公式如下Zxn = max{0,Zn^1 +χη-δχη-dx},n = 1,2,3,...Z\ = max{ 0, Z二 + γη-δζ-dy),n = 1,2,3,...其中,《,《分別為IxJ和{yn}的指數(shù)加權(quán)移動(dòng)平均,dx,cf分別是使《,《在正常情況下小于0的偏移值,為序列KJ的第n-1個(gè)檢測值,ZL為序列{yn}的第n-1 個(gè)檢測值,《為序列IxJ的第η個(gè)檢測值,其用于對帶有外聯(lián)訪問行為的攻擊的檢測,《為序列{yj的第η個(gè)檢測值,其用于無外聯(lián)訪問的DDoS攻擊檢測;Step4 對Znx,Z/與相應(yīng)的閾值F = λδ ,W = ;^分別比較,判斷是否發(fā)生了 Ddos 攻擊行為;St印5 在每一個(gè)時(shí)間段結(jié)束時(shí),向網(wǎng)絡(luò)監(jiān)控終端報(bào)告是否發(fā)生了針對指定Web服務(wù)器的應(yīng)用層DDoS攻擊。所述^epl中,所述通信群體指的是相互通信關(guān)系密切且具有相同的負(fù)載特征的一組主機(jī)的集合。所述乂印2中,提取通信群體的過程如下Α.監(jiān)聽網(wǎng)絡(luò)鏈路,發(fā)現(xiàn)一個(gè)新的報(bào)文后,提取出其源IP地址,目的IP地址及其目的端口 ;B.判斷目的地址是否是指定的web服務(wù)器地址,且目的端口為80端口的SYN報(bào)文,如是則轉(zhuǎn)入步驟C執(zhí)行,反之轉(zhuǎn)入步驟E執(zhí)行;C.判斷其源IP地址是否已在客戶端記錄中,如是則返回步驟A繼續(xù)執(zhí)行,反之則給該web服務(wù)器增加一個(gè)客戶端記錄,然后返回步驟A繼續(xù)執(zhí)行;D.判斷其源IP地址或目的IP地址是否為客戶端地址,如是則轉(zhuǎn)入步驟E繼續(xù)執(zhí)行,反之返回步驟A繼續(xù)執(zhí)行;E.判斷源IP地址和目的IP地址是否在外聯(lián)邊記錄中出現(xiàn),若無則增加一條記錄, 返回A。所述乂印3中,δ n與d的計(jì)算方法如下δχη = (\-α) δχη_λ + αχη,δΙ = x0dx = μδχη,δζ =(1-α) δ“ + οαη,δζ = y0dy = μδζ,
其中,《,《分別表示加權(quán)移動(dòng)平均初始值,Xtl,%分別表示序列{xn}和{yn}的初始值,α為指數(shù)加權(quán)移動(dòng)平均系數(shù),范圍為0.01 0.03,參數(shù)μ通過實(shí)際數(shù)據(jù)的統(tǒng)計(jì)獲得。所述乂印4中,判斷過程如下對于與τ:和1:相對應(yīng)的閾值A(chǔ)x =泌:My = AJ:(1)若Ζ: < V且Ζ= <hy,說明前η個(gè)檢測值的⑶SUM累積和沒有發(fā)生偏移,檢測對象為正常狀態(tài);(2)若Z〖> V或者Ζ= >hy,則檢測對象在第η個(gè)檢測值發(fā)生了異常,即發(fā)生了應(yīng)用層DDos攻擊。本發(fā)明的有益效果本文以Web通信群體的外聯(lián)特征為基礎(chǔ),利用CUSUM方法檢測外聯(lián)特征參數(shù)的異常變化,不但能夠判斷異常行為的發(fā)生,并能準(zhǔn)確區(qū)分Flash Crowd和 DDoS攻擊,對網(wǎng)絡(luò)層DDoS攻擊和應(yīng)用層DDoS攻擊都具有較好的檢測效果。同時(shí),本發(fā)明通過變換外聯(lián)報(bào)文的比例分析了算法所存在的盲區(qū),并給出了有效的解決辦法,即對多個(gè)多外聯(lián)節(jié)點(diǎn)同時(shí)進(jìn)行單點(diǎn)檢測。該檢測方法的優(yōu)點(diǎn)在于不需要對報(bào)文載荷進(jìn)行分析,只需要構(gòu)造出Web群體聯(lián)通圖即可。該方法適合于在主干網(wǎng)絡(luò)或攻擊端邊界網(wǎng)絡(luò)進(jìn)行檢測,可以更加有效地對攻擊加以遏制,降低攻擊對基礎(chǔ)網(wǎng)絡(luò)所造成的沖擊。
圖1為應(yīng)用場景圖;圖2為Web通信群體聯(lián)通示意圖;圖3為本發(fā)明的統(tǒng)計(jì)web群體通信特征的流程圖;圖4為本發(fā)明的檢測方法流程圖。其中1.路由器,2.網(wǎng)絡(luò)監(jiān)控前置機(jī),3.服務(wù)器,4.監(jiān)控終端。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步說明為了更有效地應(yīng)對應(yīng)用層DDoS攻擊,設(shè)計(jì)了一種可部署于骨干網(wǎng)絡(luò)的應(yīng)用層 DDoS攻擊檢測方法。該檢測方法的應(yīng)用場景如圖1所示在路由器1或交換機(jī)等網(wǎng)絡(luò)設(shè)備上設(shè)置端口鏡像,使流經(jīng)該設(shè)備的所有網(wǎng)絡(luò)報(bào)文被復(fù)制發(fā)送到網(wǎng)絡(luò)監(jiān)控前置機(jī)2;前置機(jī)根據(jù)通信關(guān)系構(gòu)造Web通信群體發(fā)送至檢測服務(wù)器3 ;服務(wù)器3提取Web群體外聯(lián)行為特征,檢測外聯(lián)行為參數(shù)的偏移,判斷應(yīng)用層DDoS攻擊,并向網(wǎng)絡(luò)監(jiān)控終端4報(bào)告攻擊的發(fā)生。在主干網(wǎng)絡(luò)檢測應(yīng)用層DDoS攻擊面臨兩方面的挑戰(zhàn),一方面,投入大量計(jì)算資源對Web通信應(yīng)用層數(shù)據(jù)進(jìn)行解析不可行;另一方面,互聯(lián)網(wǎng)采用動(dòng)態(tài)路由策略,同一用戶的訪問數(shù)據(jù)可能經(jīng)過不同的路徑,這導(dǎo)致在一個(gè)監(jiān)測點(diǎn)不能觀察到完整的通信數(shù)據(jù)。因此,深入分析用戶通信的細(xì)粒度DDoS檢測方法不適于部署在骨干網(wǎng)絡(luò),本發(fā)明從一個(gè)更高的層次-通信群體-檢測應(yīng)用層DDoS攻擊。(一 )測量Web通信群體通信群體指的是相互通信關(guān)系密切且具有相同的負(fù)載特征的的一組主機(jī)的集合。 Web服務(wù)器和訪問該服務(wù)器的客戶端共同構(gòu)成一個(gè)Web通信群體。部分客戶端在訪問Web服務(wù)器的同時(shí),不可避免地會(huì)和Web通信群體之外的主機(jī)節(jié)點(diǎn)通信,本發(fā)明把這些外部主機(jī)節(jié)點(diǎn)稱作外聯(lián)節(jié)點(diǎn),客戶端和外聯(lián)節(jié)點(diǎn)之間的連接稱作外聯(lián)。本發(fā)明進(jìn)一步把外聯(lián)節(jié)點(diǎn)分為多外聯(lián)節(jié)點(diǎn)和單外聯(lián)節(jié)點(diǎn),如果有多個(gè)Web客戶端連接到某外聯(lián)節(jié)點(diǎn),那么該節(jié)點(diǎn)是一個(gè)多外聯(lián)節(jié)點(diǎn),這類節(jié)點(diǎn)通常包括由同一網(wǎng)站的其它服務(wù)器、關(guān)聯(lián)密切的其它網(wǎng)站組成; 如果只有一個(gè)Web客戶端連接到某外聯(lián)節(jié)點(diǎn),那么該節(jié)點(diǎn)是一個(gè)單外聯(lián)節(jié)點(diǎn),通常由用戶的個(gè)體訪問行為產(chǎn)生。與某一節(jié)點(diǎn)(Web服務(wù)器、客戶端或外聯(lián)節(jié)點(diǎn))通信的節(jié)點(diǎn)的個(gè)數(shù)稱為該節(jié)點(diǎn)的連接度。圖2是一個(gè)小型Web通信群體的聯(lián)通示意圖,Web通信群體聯(lián)通圖是一個(gè)無向圖, 圖中連接最多的核心點(diǎn)是Web服務(wù)器,圓點(diǎn)表示連接到Web服務(wù)器的客戶端,圓環(huán)表示客戶端外聯(lián)的主機(jī),相同IP地址的主機(jī)不會(huì)在圖中重復(fù)出現(xiàn)。從圖2中可以看到,當(dāng)一臺計(jì)算機(jī)訪問Web服務(wù)器時(shí),同時(shí)也可能產(chǎn)生同其他計(jì)算機(jī)通信的流量,本發(fā)明把這種通信稱為外聯(lián)通信。骨干網(wǎng)中Web通信數(shù)據(jù)量大,需要從中提取指定Web服務(wù)器的通信群體。具體步驟(見流程圖3)A.監(jiān)聽網(wǎng)絡(luò)鏈路,發(fā)現(xiàn)一個(gè)新的報(bào)文后,提取出其源IP地址,目的IP地址及其目的端口 ;B.判斷目的地址是否是指定的web服務(wù)器地址,且目的端口為80端口的SYN報(bào)文,如是則轉(zhuǎn)入步驟C執(zhí)行,反之轉(zhuǎn)入步驟E執(zhí)行;C.判斷其源IP地址是否已在客戶端記錄中,如是則返回步驟A繼續(xù)執(zhí)行,反之則給該web服務(wù)器增加一個(gè)客戶端記錄,然后返回步驟A繼續(xù)執(zhí)行;D.判斷其源IP地址或目的IP地址是否為客戶端地址,如是則轉(zhuǎn)入步驟E繼續(xù)執(zhí)行,反之返回步驟A繼續(xù)執(zhí)行;E.判斷〈源IP地址,目的IP地址〉是否在外聯(lián)邊記錄中出現(xiàn),若無則增加一條記錄,返回A。(二)提取Web群體外聯(lián)特征檢測DDoS攻擊需要提取出能夠區(qū)分正常訪問與異常訪問的特征參數(shù)。DDoS傀儡主機(jī)在攻擊過程中的通信數(shù)據(jù)由兩部分組成,向目標(biāo)主機(jī)發(fā)送的攻擊報(bào)文,傀儡主機(jī)的真正用戶的個(gè)體訪問行為。而用戶的個(gè)體訪問行為通常會(huì)形成單外聯(lián)節(jié)點(diǎn),而很少會(huì)構(gòu)成Web 群體的多外聯(lián)節(jié)點(diǎn)。當(dāng)攻擊發(fā)生時(shí),Web群體的客戶端數(shù)量會(huì)大量增加,與單外聯(lián)節(jié)點(diǎn)連接的客戶端數(shù)量近似于按比例增加,而與多外聯(lián)節(jié)點(diǎn)連接的客戶端數(shù)量卻基本不會(huì)增加。用序列IxJ表示不同時(shí)間段內(nèi)訪問多外聯(lián)節(jié)點(diǎn)的客戶端數(shù)量與客戶端總數(shù)的比值,{CJ表示客戶端總數(shù),{Mn}表示訪問多外聯(lián)節(jié)點(diǎn)的客戶端數(shù)量,假設(shè)從n+1 (在本發(fā)明中所有η的含義相同,η為自然數(shù),且n= 1,2,3...)時(shí)刻發(fā)生了攻擊,攻擊端數(shù)量為Α,正??蛻舳藬?shù)量為Rn+1則有
M
權(quán)利要求
1.基于Web通信群體外聯(lián)行為的拒絕服務(wù)攻擊檢測方法,其特征是,該方法的檢測步驟如下Stepl 在網(wǎng)絡(luò)設(shè)備上設(shè)置端口鏡像,使流經(jīng)該網(wǎng)絡(luò)設(shè)備的所有網(wǎng)絡(luò)報(bào)文被復(fù)制發(fā)送到網(wǎng)絡(luò)監(jiān)控前置機(jī),在網(wǎng)絡(luò)監(jiān)控前置機(jī)上提取Web服務(wù)器的通信群體及其外聯(lián)行為,發(fā)送至檢測服務(wù)器;St印2 在檢測服務(wù)器中提取中所述的web服務(wù)器通信群體的外聯(lián)特征客戶端數(shù)量CN和與多外聯(lián)節(jié)點(diǎn)連接的客戶端數(shù)量CN_MLN;用序列{xn}表示不同時(shí)間段內(nèi)訪問多外聯(lián)節(jié)點(diǎn)的客戶端數(shù)量與客戶端總數(shù)的比值,{yj表示不同時(shí)間段內(nèi)客戶端總數(shù)與訪問多外聯(lián)節(jié)點(diǎn)的客戶端數(shù)量的比值,ICJ表示客戶端總數(shù),{Mn}表示訪問多外聯(lián)節(jié)點(diǎn)的客戶端數(shù)量,按如下公式計(jì)算序列IxJ與{yj在第η個(gè)Δ t內(nèi)的值\與yn χ =爭,y"=》,n=1'2'3-St印3 在檢測服務(wù)器中利用改進(jìn)的CUSUM算法分析Web群體外聯(lián)特征,判斷是否發(fā)生了攻擊;分別計(jì)算IxJ與{yj的第η個(gè)檢測值τ:和Ζ/,其遞推公式如下ζ: = max{0,z 二 +χη-δ-dx},n = 1,2,3,…Zyn = max{O,Z二 + γη-δ-dy}^n = 1,2,3,...其中,《,《分別為KJ和{yj的指數(shù)加權(quán)移動(dòng)平均,dx,cP分別是使《,《在正常情況下小于0的偏移值,為序列{χη}的第n-l個(gè)檢測值,^l1為序列{yJ的第n-l個(gè)檢測值,《為序列IxJ的第η個(gè)檢測值,其用于對帶有外聯(lián)訪問行為的攻擊的檢測,《為序列 {yj的第η個(gè)檢測值,其用于無外聯(lián)訪問的DDoS攻擊檢測;St印4 diZnx,Z/與相應(yīng)的閾值F =慫,hy 分別比較,判斷是否發(fā)生了 Ddos攻擊行為;St印5 在每一個(gè)時(shí)間段結(jié)束時(shí),向網(wǎng)絡(luò)監(jiān)控終端報(bào)告是否發(fā)生了針對指定Web服務(wù)器的應(yīng)用層DDoS攻擊。
2.如權(quán)利要求1所述的基于Web通信群體外聯(lián)行為的拒絕服務(wù)攻擊檢測方法,其特征是,所述^epl中,所述通信群體指的是相互通信關(guān)系密切且具有相同的負(fù)載特征的一組主機(jī)的集合。
3.如權(quán)利要求1所述的基于Web通信群體外聯(lián)行為的拒絕服務(wù)攻擊檢測方法,其特征是,所述乂印2中,提取通信群體的過程如下A.監(jiān)聽網(wǎng)絡(luò)鏈路,發(fā)現(xiàn)一個(gè)新的報(bào)文后,提取出其源IP地址,目的IP地址及其目的端Π ;B.判斷目的地址是否是指定的web服務(wù)器地址,且目的端口為80端口的SYN報(bào)文,如是則轉(zhuǎn)入步驟C執(zhí)行,反之轉(zhuǎn)入步驟E執(zhí)行;C.判斷其源IP地址是否已在客戶端記錄中,如是則返回步驟A繼續(xù)執(zhí)行,反之則給該 web服務(wù)器增加一個(gè)客戶端記錄,然后返回步驟A繼續(xù)執(zhí)行;D.判斷其源IP地址或目的IP地址是否為客戶端地址,如是則轉(zhuǎn)入步驟E繼續(xù)執(zhí)行,反之返回步驟A繼續(xù)執(zhí)行;E.判斷源IP地址和目的IP地址是否在外聯(lián)邊記錄中出現(xiàn),若無則增加一條記錄,返回A
4.如權(quán)利要求1所述的基于Web通信群體外聯(lián)行為的拒絕服務(wù)攻擊檢測方法,其特征是,所述乂印3中,311與(1的計(jì)算方法如下
5.如權(quán)利要求1所述的基于Web通信群體外聯(lián)行為的拒絕服務(wù)攻擊檢測方法,其特征是,所述乂印4中,判斷過程如下對于與τ:和Z/相對應(yīng)的閾值
全文摘要
本發(fā)明公開了一種基于Web通信群體外聯(lián)行為的拒絕服務(wù)攻擊檢測方法,其步驟為1).在網(wǎng)絡(luò)設(shè)備上設(shè)置端口鏡像,使流經(jīng)該設(shè)備的所有網(wǎng)絡(luò)報(bào)文被復(fù)制發(fā)送到攻擊檢測前置機(jī);2).攻擊檢測前置機(jī)提取特定Web服務(wù)器的通信群體及其外聯(lián)行為,發(fā)送至攻擊檢測服務(wù)器;3).攻擊檢測服務(wù)器統(tǒng)計(jì)Web通信群體的外聯(lián)行為參數(shù),即與多外聯(lián)節(jié)點(diǎn)連接的客戶端數(shù)量CN_MLN和客戶端總數(shù)CN,并用改進(jìn)的CUSUM算法監(jiān)測兩個(gè)參數(shù)比值的偏移,據(jù)此來判斷應(yīng)用層DDoS攻擊行為的發(fā)生;4).在每一個(gè)時(shí)間段結(jié)束時(shí),向網(wǎng)絡(luò)監(jiān)控終端報(bào)告是否發(fā)生了針對指定Web服務(wù)器的應(yīng)用層DDoS攻擊。
文檔編號H04L29/08GK102238047SQ20111019906
公開日2011年11月9日 申請日期2011年7月15日 優(yōu)先權(quán)日2011年7月15日
發(fā)明者林豐波, 王風(fēng)宇, 胡毅, 郭山清, 龔斌 申請人:山東大學(xué)