高一為,賴英旭,吳 歡,陳偉桐
(北京工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,北京 100124)
現(xiàn)有的基于網(wǎng)絡(luò)流量的DDoS攻擊檢測(cè)方法可以按照對(duì)時(shí)間尺度的敏感程度進(jìn)行劃分,通常將小于100 ms的網(wǎng)絡(luò)模型稱為小尺度網(wǎng)絡(luò)模型,將以小時(shí)(hour)或天(day)作為時(shí)間單位的網(wǎng)絡(luò)模型稱為大尺度網(wǎng)絡(luò)模型?;诖蟪叨染W(wǎng)絡(luò)模型的檢測(cè)方法主要有方差分析法(ANVOA)[1]、泛化似然比檢驗(yàn)法(Generalized Likelihood Ratio Test)[2]、自適應(yīng)殘差比較法[3]等,這些方法雖然有較好的檢測(cè)率和較低的誤報(bào)率,但是因其以hour或day為統(tǒng)計(jì)單位而不具備實(shí)時(shí)檢測(cè)的能力。相比之下小尺度網(wǎng)絡(luò)模型更適合于實(shí)時(shí)檢測(cè),但因其表現(xiàn)出多分形性[4]而難以觀測(cè)。參考文獻(xiàn)[5]提出的Holder指數(shù)檢測(cè)法雖然檢測(cè)延時(shí)短,但是受到短相關(guān)性質(zhì)對(duì)網(wǎng)絡(luò)流量整體觀測(cè)能力不足的影響,誤報(bào)率過高。針對(duì)這一問題,參考文獻(xiàn)[6]提出了一種基于傳統(tǒng)Hurst指數(shù)和Holder指數(shù)的分形檢測(cè)法,通過判斷網(wǎng)絡(luò)流量的實(shí)時(shí)分形特性,分別采用兩種不同方法進(jìn)行檢測(cè),雖然提高了分形模型中長(zhǎng)相關(guān)部分的檢測(cè)準(zhǔn)確率,但是當(dāng)流量數(shù)據(jù)表現(xiàn)出短相關(guān)時(shí),誤報(bào)問題仍沒有解決。參考文獻(xiàn)[7]提出了一種基于Hurst指數(shù)的方差-時(shí)間圖法VTP(Variance-Time Plots),試圖利用多分形模型中包含的長(zhǎng)相關(guān)特性進(jìn)行檢測(cè)。受多分形模型中長(zhǎng)相關(guān)特性并不明顯的影響,誤報(bào)率雖然有所下降,但是檢測(cè)率上還存在不足。
現(xiàn)有小尺度網(wǎng)絡(luò)模型通常采用Holder、Hurst等指數(shù)進(jìn)行檢測(cè),Holder指數(shù)觀測(cè)尺度狹窄、誤報(bào)率高;Hurst指數(shù)能夠在整體上對(duì)流量的自相似性進(jìn)行刻畫,具有較高的檢測(cè)精度,但要求觀測(cè)的時(shí)間尺度寬,不利于實(shí)時(shí)檢測(cè)。本文提出的基于數(shù)據(jù)預(yù)處理的DDoS攻擊檢測(cè)方法在Hurst指數(shù)檢測(cè)的基礎(chǔ)上,通過提高流量間相關(guān)度,滿足了Hurst指數(shù)定義對(duì)模型長(zhǎng)相關(guān)程度的要求,從而能夠更準(zhǔn)確地對(duì)具有多分形特性的流量進(jìn)行分析。
小尺度網(wǎng)絡(luò)模型中包含的網(wǎng)絡(luò)業(yè)務(wù)信息相比大尺度網(wǎng)絡(luò)模型少但更為細(xì)致,因而也更易受流量的突發(fā)性影響?;诹髁康腄DoS攻擊檢測(cè)技術(shù)正是利用了流量突發(fā)性對(duì)統(tǒng)計(jì)特性造成的奇異點(diǎn)進(jìn)行檢測(cè),因此為了降低誤報(bào)率就需要降低正常流量發(fā)生時(shí)對(duì)小尺度模型統(tǒng)計(jì)特性的影響。最直接的方法就是增加小尺度模型各節(jié)點(diǎn)包含的信息量,增強(qiáng)其長(zhǎng)相關(guān)性。參考文獻(xiàn)[8]就可能影響流量性能的因素提出了假設(shè),并認(rèn)為均值和方差對(duì)多分形有較大影響。本文在參考文獻(xiàn)[8]的基礎(chǔ)上,提出采用滑動(dòng)平均值來代替原有采樣值的方法,在保證不丟失原有信息特性的前提下,將前后時(shí)間節(jié)點(diǎn)的特性包含進(jìn)來,提高了節(jié)點(diǎn)中包含的信息量,使得小尺度網(wǎng)絡(luò)模型的長(zhǎng)相關(guān)性增強(qiáng),同時(shí)降低了正常流量發(fā)生時(shí)對(duì)統(tǒng)計(jì)特性可能造成的影響。流量預(yù)處理方法如式(1)所示:
式中,t(n)為進(jìn)行預(yù)處理前時(shí)間序列;g(n)為采用滑動(dòng)平均變換后的時(shí)間序列;m為增加關(guān)聯(lián)度的權(quán)系數(shù),m值越大,經(jīng)過預(yù)處理后的時(shí)間序列長(zhǎng)相關(guān)性質(zhì)越強(qiáng)。
利用式(1),將參數(shù) m設(shè)為 100,從時(shí)間序列 t(n)中取100個(gè)序列值(總時(shí)長(zhǎng)為1 s的流量數(shù)據(jù)),作滑動(dòng)平均計(jì)算得到序列g(shù)(n)。
由于傳統(tǒng)的模型和分析工具不適用多分形模型,本文利用小波分解法對(duì)小尺度網(wǎng)絡(luò)模型進(jìn)行分解獲得網(wǎng)絡(luò)流量的高頻系數(shù)(或稱細(xì)節(jié)系數(shù)),為求解Hurst指數(shù)提供基礎(chǔ)。 將 g(n)分為 i個(gè)子區(qū)域 g′(n),i=1,2,…,n,如式(2)所示:
每次獲得的新采樣數(shù)據(jù)插入到序列末尾,這種序列構(gòu)造方式減少了獲取定長(zhǎng)數(shù)據(jù)的等待時(shí)間,提高了構(gòu)造速度。
第i個(gè)子區(qū)的j級(jí)分解低頻系數(shù) (或稱為近似系數(shù))和j級(jí)分解高頻系數(shù)(或稱為細(xì)節(jié)系數(shù))分別用 aig(j,k)和dig(j,k)表示,如 式(3)所 示:
其中j為小波分解層數(shù),k為小波的移動(dòng)尺度,φjk為小波尺度函數(shù),ψjk為小波函數(shù)。
[9,10]的研究表明,消失矩與小波分解求自相似參數(shù)Hurst的準(zhǔn)確性有著密切關(guān)系。根據(jù)參考文獻(xiàn)[9]中的研究結(jié)果,db小波(Daubechies)在求解 Hurst值的過程中準(zhǔn)確性普遍優(yōu)于一般方法(如R/S)。因此本文選取db(3)作為小波消失矩,小波分解層數(shù)為j=10,小波移動(dòng)尺度k=1。
小波分解過程中通常采用二進(jìn)制伸縮的方式,如式(4)所示:
參考文獻(xiàn)[11]中的研究表明,利用小波高頻系數(shù)dig(j,k)求解Hurst指數(shù)的方法主要有方差法、譜估計(jì)法和能量法等。本文選擇方差法求解Hurst指數(shù),如式(5)所示:
根據(jù)式(5)的定義對(duì)小波高頻系數(shù)(或稱細(xì)節(jié)系數(shù))dig(j,k)做零值化處理,以達(dá)到均方誤差最小的目的,如式(6)所示。
經(jīng)過小波變換分解和零值化處理后,通過對(duì)式(5)兩邊取對(duì)數(shù)進(jìn)行線性擬合,如式(7)所示:
得到以 j為自變量,以 log2Var?dig′(j,k)」,k=1,2,…,100 為函數(shù)的直線,其斜率b=2H+1,即為Hurst指數(shù)。
對(duì)于小尺度網(wǎng)絡(luò)模型而言,當(dāng)平穩(wěn)的DDoS攻擊流量發(fā)生時(shí),網(wǎng)絡(luò)流量整體的波動(dòng)性下降,突發(fā)性減弱,自相似性增強(qiáng)。經(jīng)過本文提出的預(yù)處理方法處理,Hurst指數(shù)升高并趨于平穩(wěn)。本文方法正是利用這一原理對(duì)DDoS攻擊進(jìn)行檢測(cè),并通過計(jì)算方差的方法來檢測(cè)Hurst指數(shù)的平穩(wěn)性。
本文提出,對(duì)經(jīng)過預(yù)處理的流量采用Hurst指數(shù)方差平均值 Var[H′]來量化其變化程度,如式(8)所示。
式中E為計(jì)算平均值的尺度大小,V為計(jì)算方差的尺度大小。E和V的選取將會(huì)對(duì)算法的檢測(cè)延遲和誤報(bào)率產(chǎn)生影響。取值越高,觀測(cè)越準(zhǔn)確,誤報(bào)率越低,但也會(huì)造成檢測(cè)延遲上升。相反則會(huì)降低檢測(cè)延遲,提高誤報(bào)率。在此本文將閾值設(shè)定為
本文采用模擬攻擊的方法對(duì)文中提出的網(wǎng)絡(luò)異常檢測(cè)算法進(jìn)行測(cè)試。
實(shí)驗(yàn)數(shù)據(jù)由正常的背景流量和模擬的攻擊流量匯聚而成。
以北京工業(yè)大學(xué)某樓層的真實(shí)流量為正常流量樣本,采用Wireshark截取上午 10:30~11:17之間的全部流量。時(shí)間精度為1 ms,包括各類正常訪問的數(shù)據(jù)包1 620 400個(gè)。分別匯聚為精度10 ms的BJUT-10流量和精度為1 s的BJUT-1000流量。
利用Sprient公司的ThreatEx2600作為攻擊流量的產(chǎn)生工具,模擬了DDoS攻擊中最經(jīng)典的SYN-Flood攻擊流量,并將攻擊強(qiáng)度以1 000 threats/s的幅度逐漸增加。將攻擊行為分為兩次,分別在小背景流量和大背景流量下進(jìn)行,小背景流量攻擊發(fā)生在100 000 ms,大背景流量發(fā)生在200 000 ms。每次攻擊持續(xù)180 s,其中流量上升階段30 s,峰值攻擊 120 s,流量下降階段30 s。測(cè)試環(huán)境如圖1所示。
通過第2.3節(jié)中所描述的檢測(cè)算法對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行檢測(cè),Hurst值的結(jié)果如圖2所示。
在框內(nèi)的部分發(fā)生DDoS攻擊(攻擊發(fā)生于100 000 ms~117 998 ms及 200 000 ms~217 998 ms之間),Hurst值在攻擊發(fā)生時(shí)段明顯趨于穩(wěn)定。
經(jīng)過方差處理后,在低流量背景情況下,Hurst指數(shù)方差值明顯趨于0,比較容易檢測(cè)出攻擊。但是在高流量背景下(后一個(gè)框),攻擊時(shí)Hurst方差值同正常流量的Hurst方差值大小并無明顯區(qū)別,只能從趨勢(shì)和前后節(jié)點(diǎn)數(shù)據(jù)關(guān)聯(lián)性上看出一定特性。
用式(8)方法對(duì)Hurst指數(shù)進(jìn)行方差和均值處理后,如圖3、圖4所示。從圖中可以看出當(dāng)DDoS攻擊發(fā)生時(shí),Hurst指數(shù)方差均值處于所設(shè)的閾值之下。
定義 1:誤報(bào)率 σ,攻擊發(fā)生的次數(shù)為 T,誤報(bào)攻擊的次數(shù)為t。誤報(bào)率為誤報(bào)攻擊的次數(shù)與實(shí)際攻擊發(fā)生次數(shù)的比值,即
定義2:檢測(cè)延遲T,即攻擊被檢測(cè)出的時(shí)間與攻擊發(fā)生時(shí)間之間的延遲。
從實(shí)驗(yàn)結(jié)果可以得出,在利用BJUT-10流量模型進(jìn)行異常檢測(cè)時(shí),當(dāng)攻擊流量達(dá)到背景流量36.90%時(shí),攻擊被檢測(cè)出來,但檢測(cè)完整性較差,僅為2.10%,檢測(cè)延遲91.28 s。
當(dāng)攻擊增強(qiáng)而背景流量不變時(shí),攻擊的檢測(cè)率提高,攻擊檢測(cè)完整性也相應(yīng)提高;當(dāng)攻擊流量占到總流量91.36%時(shí),檢測(cè)率達(dá)到100%,檢測(cè)完整性達(dá)到75.18%,檢測(cè)延遲為26.1 s。
當(dāng)攻擊強(qiáng)度不變,背景流量發(fā)生變化時(shí),在大流量背景下,檢測(cè)的完整性較小流量背景下攻擊的檢測(cè)完整性和檢測(cè)率差距較大,檢測(cè)延遲明顯降低。
為了驗(yàn)證本文算法的性能,采用相同的實(shí)驗(yàn)數(shù)據(jù)與典型檢測(cè)方法進(jìn)行了對(duì)比測(cè)試。
本文重現(xiàn)了參考文獻(xiàn)[6]中的Holder指數(shù)計(jì)算方法,并將關(guān)鍵實(shí)驗(yàn)參數(shù)設(shè)置為λ=0.9,s=10。
根據(jù)參考文獻(xiàn)[6-7]中的 Hurst指數(shù)檢測(cè)法,因Hurst指數(shù)檢測(cè)法只適用于大尺度的網(wǎng)絡(luò)模型,即時(shí)間敏感度大于1s的網(wǎng)絡(luò)模型,因此本文采用BJUT-1000流量進(jìn)行模擬檢測(cè)。采用db(3)小波分解,小波分解層數(shù)為j=10,小波移動(dòng)尺度 k=1,時(shí)間區(qū)間n=10。
本文模擬的DDoS攻擊包含了30 s攻擊速率上升的過程,因此檢測(cè)延遲在一定程度上反應(yīng)了檢測(cè)算法對(duì)攻擊發(fā)生初期(0 s~30 s)的檢測(cè)能力。
從圖5可以看出本文方法在檢測(cè)延遲上同Holder指數(shù)檢測(cè)法性能相當(dāng)。從算法誤報(bào)率上看,本文方法誤報(bào)率較Holder指數(shù)檢測(cè)法有明顯改善。因而本文方法在檢測(cè)率和檢測(cè)完整性上優(yōu)于其他兩種檢測(cè)算法。如圖6所示。
本文提出了一種基于多分形模型數(shù)據(jù)預(yù)處理的異常檢測(cè)方法。利用小波分解的方法對(duì)網(wǎng)絡(luò)流量進(jìn)行分析。通過增加數(shù)據(jù)間相關(guān)性使得短相關(guān)的流量數(shù)據(jù)具備一定的長(zhǎng)相關(guān)特性,而長(zhǎng)相關(guān)數(shù)據(jù)的特性更加明顯。同時(shí)使用Hurst指數(shù)方差平均值對(duì)攻擊流量進(jìn)行檢測(cè)。相比于現(xiàn)有的實(shí)時(shí)檢測(cè)算法,其誤報(bào)率明顯降低,并保持較低的檢測(cè)延遲,提高了檢測(cè)率和檢測(cè)完整性。
參考文獻(xiàn)
[1]JOSEPH L H,FAN Z,PEIWEZ S.Characterizing normal operation of a Web Server:application to workload forecasting and problem detection[C].Proceedings of the Computer Measurement Grouy,1998.
[2]THOTTAN M,JI C Y.Statistical detection of enterprise network problem[J].Journal of Network and Systems Management,1999,7(1):27-45.
[3]曹敏,程?hào)|年,張建輝,等.基于自適應(yīng)閾值的網(wǎng)絡(luò)流量異常檢測(cè)算法[J].計(jì)算機(jī)工程,2009,35(19):164-167.
[4]ABRY P,VEITCH D,Wavelet analysis of long-range dependence traffic[J].IEEE Trans on Information Theory,1998,44(1):2-15.
[5]任義龍,劉淵,一種基于Holder指數(shù)的DDoS攻擊檢測(cè)方法[J].計(jì)算機(jī)應(yīng)用研究,2011,28(2):724-727.
[6]任義龍,劉淵.一種基于小波分析的DDoS攻擊檢測(cè)方法[J/OL].[2011-09-29].http://www.cnki.net/kcms/detail/11.2127.tp.20110929.1037.054.html.
[7]李金明,王汝傳.基于VTP方法的 DDoS攻擊實(shí)時(shí)監(jiān)測(cè)技術(shù)研究[J].電子學(xué)報(bào),2007,35(4):791-796.
[8]胡俊,譚獻(xiàn)海,覃宇飛.基于小波技術(shù)的網(wǎng)絡(luò)流量分析與刻畫[J].計(jì)算機(jī)應(yīng)用,2007,27(11):2659-2665.
[9]任勛益,王汝傳,祁正華.消失矩對(duì)小波分析求解自相似參數(shù)Hurst的影響研究[J],電子與信息學(xué)報(bào),2007,29(9):2257-2261.
[10]任勛益,王汝傳,王海艷.基于自相似檢測(cè)DDoS攻擊的小波分析方法[J].通信學(xué)報(bào),2006,27(5):6-11.
[11]李永利,劉貴忠,王海軍,等.自相似數(shù)據(jù)流的 Hurst指數(shù)小波求解法分析[J].電子與信息學(xué)報(bào),2003,25(1):100-105.