(1.淮陰工學(xué)院 計算機工程系, 江蘇 淮安 223001;2.南京郵電大學(xué) 計算機學(xué)院, 南京 210003)
摘 要:首先對網(wǎng)絡(luò)流量進行異常檢測,發(fā)現(xiàn)異常后再對數(shù)據(jù)包進行分析,實施相應(yīng)措施,有利于降低系統(tǒng)開銷。針對在使用CUSUM算法進行流量異常檢測時產(chǎn)生的累積和效應(yīng)問題,提出用自適應(yīng)算法消除累積和效應(yīng)的影響,分析了參數(shù)的設(shè)置對解除報警的延遲時間、誤報警等的影響。實驗結(jié)果表明設(shè)計的算法是有效和正確的,可以直接應(yīng)用于檢測SYN洪水攻擊等。
關(guān)鍵詞:流量檢測;累積和算法;指數(shù)加權(quán)滑動平均值算法;報警閾值
中圖分類號:TP393 文獻標(biāo)志碼:A
文章編號:10013695(2009)02050002
Anomaly network traffic detection based on modified CUSUM algorithm
BU Shanyue1,ZHANG Haiyan1,WANG Ruchuan2
(1.Dept. of Computer Engineering, Huaiyin Institute ofTechnology, Huaian Jiangsu 223001, China;2.School of Computer Technology, Nanjing Post Communication University, Nanjing 210003, China)
Abstract:It should be more efficient to detect the anomaly of network traffic firstly rather than to analyze the data packets directly.This paper proposed an autoadapted algorithm to eliminate the cumulative effect occurring when detecting anomalies of network traffic based on the CUSUM algorithm,then investigated the influence on setting parameters of the delay time of alarm relieving and failing alarm,etc.The experiment shows that the algorithm is effective and correct,which can improve the accuracy of anomaly traffic detection and reduce the operation cost.So it can be directly applied in detecting SYN flooding attacks and so on.
Key words:traffic detection;CUSUM(cumulative sum) algorithm;EWMA(exponential weighted moving average)algorithm;alarm threshold
由于分布式拒絕服務(wù)(distributed denial of service,DDoS)攻擊的普遍性和危害性,吸引了眾多的國內(nèi)外網(wǎng)絡(luò)安全研究專家的注意。目前應(yīng)用CUSUM算法對DDoS攻擊的檢測主要集中在對特定類型的DDoS攻擊的分析、檢測和防范,如TCP SYN洪水攻擊[1,2]。按照檢測點的部署位置,又可以分為基于受害端的檢測、基于中間網(wǎng)絡(luò)的檢測[3]和基于攻擊源端的檢測[4]。由于DDoS攻擊的具體方法和類型各不相同,而且新的攻擊手段也會不斷出現(xiàn),針對特定攻擊方法的研究成果缺少普適性,無法解決其他DDoS攻擊問題。基于攻擊源端的檢測部署,可以及時發(fā)現(xiàn)攻擊數(shù)據(jù),并及時過濾掉攻擊數(shù)據(jù),在對整個網(wǎng)絡(luò)造成破壞之前終止攻擊行為。但是在巨大的網(wǎng)絡(luò)節(jié)點中如何發(fā)現(xiàn)攻擊源仍然困擾該成果的應(yīng)用。
本文提出了利用CUSUM算法來發(fā)現(xiàn)網(wǎng)絡(luò)流量的異常事件,與其他研究成果不同的是它只關(guān)注網(wǎng)絡(luò)流量的變化,發(fā)現(xiàn)異常后,再分析數(shù)據(jù)包的內(nèi)容,盡可能減少對網(wǎng)絡(luò)資源的占用。同時還研究了在應(yīng)用CUSUM算法對網(wǎng)絡(luò)異常分析時出現(xiàn)的問題和改進方案、有關(guān)參數(shù)的優(yōu)化設(shè)置等問題。
1 網(wǎng)絡(luò)流量異常分析
在正常情況下,對于一個特定網(wǎng)絡(luò)端口流量的均值在某個時間段內(nèi)應(yīng)該是基本相同的,流量的均值存在一定的統(tǒng)計特征。設(shè)f1和f2分別表示網(wǎng)絡(luò)端口的某個時間段內(nèi)流量的統(tǒng)計均值和實際檢測均值,在正常情況下有
f1~f2,0≤E[|f2-f1|/(f2+f1)]<ε<1(1)
而在發(fā)生流量異常增加的情況下:
f1>>f2 or f1< 對于一個實際的網(wǎng)絡(luò),網(wǎng)絡(luò)流量越大,發(fā)生DDoS攻擊可能性也就越大。同時,網(wǎng)絡(luò)中大量的正常連接同樣會導(dǎo)致網(wǎng)絡(luò)帶寬堵塞、系統(tǒng)無法及時響應(yīng),最終導(dǎo)致網(wǎng)絡(luò)拒絕服務(wù)現(xiàn)象。網(wǎng)絡(luò)流量越小,發(fā)生異常事件的可能性就越小,即使發(fā)生了DDoS攻擊,也不足以對網(wǎng)絡(luò)安全服務(wù)構(gòu)成太大的威脅。 2 CUSUM在流量檢測中的應(yīng)用 CUSUM算法[5]是工業(yè)生產(chǎn)過程中常用的異常檢測算法,它基于這樣一個事實:如果檢測到統(tǒng)計過程的均值發(fā)生變化,則隨機的概率分布也會發(fā)生變化。CUSUM是著名的變化點檢測算法。 設(shè)x1,x2,…,xt為獨立的N(0,1)同分布,xt+1,xt+2,xt+3為獨立的N(δ,1)同分布(其中t+1是未知變點),對于給定檢測序列 x1,x2,…,xn,令v=t+1(v zn=max1≤v<n ni=v+1(xi-δ/2)(3) 如果事先選擇一個閾值h>0,zn-1≤h(i=1,2,…,n-1),說明前n-1個檢測值的均值沒有發(fā)生偏移,網(wǎng)絡(luò)流量為正常狀態(tài)。若某個zn>h,則網(wǎng)絡(luò)流量發(fā)生了異常。令k=δ/2,為了提高式(3)的執(zhí)行效率,可以將其改寫成 zn=(zn-1+xn-k)+,z0=0(4) 其中:X+中上角“+”表示當(dāng)X>0時X+=X,X≤0時X+=0;zn代表xn-k的累積和正值,zn值越大表示網(wǎng)絡(luò)流量異常的可能性越大。若設(shè)定報警閾值為h,在時間n發(fā)生的變化判斷網(wǎng)絡(luò)流量異常函數(shù)可以表示為 fh(zn)=0(zn≤h)1(zn>h)(5) 如果zn≤h,fh(zn)=0,表明網(wǎng)絡(luò)流量正常;如果zn>h,fh(Zn)=1,則表明網(wǎng)絡(luò)流量出現(xiàn)異常現(xiàn)象,并給出報警。 3 報警解除機制 當(dāng)網(wǎng)絡(luò)發(fā)生攻擊行為時,可以利用CUSUM算法對攻擊行為進行報警。但當(dāng)攻擊行為結(jié)束后,由于CUSUM算法累積效應(yīng),zn值仍然會大于h值,產(chǎn)生持續(xù)的誤報警現(xiàn)象。為了解決這個問題,在檢測系統(tǒng)發(fā)現(xiàn)攻擊行為時,使用式(6)(7)來監(jiān)控異常流量的變化,以及時解除報警。 假設(shè)在時間段t處發(fā)現(xiàn)了網(wǎng)絡(luò)異常行為,如果xi是在第i(i>t)個時間段檢測的流量值,i-t-1是在第i-t-1個時間段內(nèi)的網(wǎng)絡(luò)流量均值,則解除報警條件為 ni=n-θ+11{xi<φ i-t-1}≥θ (6) 其中的參數(shù)φ>1,θ是一個整數(shù),θ≥1。式(6)代表在連續(xù)的時間間隔內(nèi)流量下降到滿足xi<φ i-t-1條件的次數(shù),n是滿足解除報警條件的時間段值。滿足解除報警條件后令 zn的取值是[0,h)。 網(wǎng)絡(luò)流量的大小會隨著時間的偏移而變化,每個觀察點與相鄰的檢測值密切相關(guān),而與遠觀察點的關(guān)系不大。所以,可以使用EWMA算法來計算n-t的值,即 i-t=α i-t-1+(1-α)xi-t,t=0(7) 4 實驗結(jié)果與評估 筆者在網(wǎng)絡(luò)安全實驗室搭建了一個局域網(wǎng)測試環(huán)境,有70臺奔騰4計算機,用戶可以正常瀏覽網(wǎng)頁、下載文件、聊天等。其中有10臺計算機安裝有DoS攻擊工具和發(fā)包工具。這10臺機器將根據(jù)實驗要求,在指定的時間段內(nèi)對指定的計算機發(fā)送攻擊包。將交換機的端口流量實時映射到檢測機的端口上,在檢測機上安裝了筆者開發(fā)的網(wǎng)絡(luò)流量異常檢測軟件,主要捕獲TCP、DUP數(shù)據(jù)包,如圖1所示。 圖2(a)是改進CUSUM算法后捕獲某個時間段的流量圖,X軸表示測試時間T,500 ms為一個采樣時間段;Y軸為單位時間段捕獲的流量,每個單位為2 500個數(shù)據(jù)包P/T。在時間段160~220進行DoS攻擊。圖2(b)是對應(yīng)(a)的CUSUM算法累積和zn值曲線圖,其Y軸坐標(biāo)值與(a)的Y軸坐標(biāo)值相比縮小了4倍。圖2的實驗數(shù)據(jù)是k=2 980,β=0.023,h=9 968,α=0.98,φ=1.5,θ=4。攻擊報警時間是168,解除報警時間是228。 圖3是未經(jīng)改進的CUSUM算法zn值曲線圖,相對于圖2(a)流量,要在時間段366處才發(fā)出解除報警信號,比筆者設(shè)計的算法延長了138個時間段。 式(6)中φ參數(shù)取值越小,解除報警的時間就會越長,當(dāng)θ=4,β=0.98,φ=0.1時,zn值變化如圖4所示,解除報警時間延遲到第250時間段。但φ取值太大時,解除報警時的誤報警率會越高,當(dāng)θ=4,β=0.98,φ=2.7時,zn值變化如圖5所示,發(fā)生了過早的解除報警現(xiàn)象,同時又引起了第二次攻擊報警。本文建議的取值在(0.5,2)。 式(6)中θ取值太小時,容易發(fā)生過早的解除報警現(xiàn)象,出現(xiàn)類似圖5所示的現(xiàn)象;θ值的越大,可以減少網(wǎng)絡(luò)隨機因素的干擾,提高解除報警的準(zhǔn)確性,但也會延長解除報警的時間,出現(xiàn)類似圖4所示的現(xiàn)象。實際上,對θ的上限取值并不是太嚴(yán)格,可以根據(jù)實際環(huán)境確定,建議θ的取值在[2,8]。 在式(7)中α的取值太小時,會使最近的檢測數(shù)據(jù)獲得較高的權(quán)重,容易引起多次攻擊報警,出現(xiàn)類似圖5所示的現(xiàn)象;α的取值太大時,又會延長解除報警的時間,出現(xiàn)類似圖4所示的現(xiàn)象。當(dāng)φ=1.5時,實驗中α的取值建議在(0.960,0.989)。 5 結(jié)束語 本文改進了計算量少、容易實現(xiàn)的CUSUM算法,提出了一種比較完整的輕量級網(wǎng)絡(luò)流量異常檢測方法;克服了在使用CUSUM算法進行流量異常檢測報警時產(chǎn)生的累積和效應(yīng),給出了及時解除異常報警算法;同時,分析了系統(tǒng)設(shè)置參數(shù)對解除報警的延遲時間、誤報警的影響,給出了檢測參數(shù)的取值范圍,以實現(xiàn)所需要的檢測效果。實驗證明了本文的算法是有效的,可以應(yīng)用于路由器端口輸入與輸出流量的異常分析[3],也可以用來檢測SYN flooding攻擊,在網(wǎng)絡(luò)QoS異常發(fā)生之前,提前報警。今后的工作是對異常流量的數(shù)據(jù)包進行分析,區(qū)分攻擊類型,并采取相應(yīng)的報警機制和有效的過濾策略。 參考文獻: [1] SIRIS V A,PAPAGALOU F.Application of anomaly detection algorithms for detecting SYN flooding attacks[C]//Proc of Conference on Global Telecommunications.2004:18821886. [2]WANG Haining,ZHANG Danlu,SHIN K G.Detecting SYN flooding attacks[C]//Proc of IEEE INFOCOM’02.New York:[s.n.],2002:15301539. [3]孫知信, 唐益慰, 程媛.基于改進CUSUM算法的路由器異常流量檢測[J].軟件學(xué)報,2005,16(12):21172123. [4]CHEN Wei,YEUNG D Y.Throttling spoofed SYN flooding traffic at the source[J].Telecommunication Systems,2006,33(13):4765. [5]PAGE E S.Continuous inspection schemes[J].Biometrika,1954,41(1/2):100115. [6]JIN Shuyuan,YEUNG D S.A covariance analysis model for DDoS attack detection[C]//Proc of IEEE International Conference on Communications.2004:18821886. [7]FEINSTEIN L,SCHNACKENBERG D,BALUPARI R,et al.Statistical approaches to DDoS attack detection and response[C]//Proc of DARPA Information Survivability Conference and Exposition.2003:303314. [8]HELLERSTEIN J L,ZHANG Fan,SHAHABUDDINP.A statistical approach to predictive detection[J].Computer Networks,2001,35(1):7795.