馮興杰,焦文歡
(中國民航大學 計算機科學與技術學院,天津300300)
基于網絡流量的自相似性并根據Hurst(赫斯特)指數來檢測異常的方法已經被廣泛應用于異常檢測模型中[1],文獻 [2]根據網絡流量的自相似性,采用小波分析法求取自相似Hurst指數并根據Hurst指數值的變化情況來檢測異常。然而,由于在進行檢測時采用了固定閾值的方法,該模型未考慮網絡流量自相似的統計特性隨網絡環境的變化情況,因而不能有效的適應動態變化的網絡環境;文獻[3]設計了一種異常流量動態自適應檢測方法,其通過設置動態置信區間來判斷閾值變化,改善了固定閾值法適應能力差的問題。但是,該方法需要存儲和計算大量的歷史流量數據,增加了系統開銷,降低了模型的檢測效率。
針對以上提出的異常檢測方法中存在的不足,本文設計了一種基于動態閾值的檢測模型,該模型在采用Hurst指數分析的基礎上,根據EWMA和滑動窗口模型計算并動態調整自適應檢測閾值,最后通過判斷Hurst指數值的變化是否超過動態閾值來進行異常檢測。實驗驗證了該方法能夠適應動態變化的網絡環境,且具有較高的檢測率和較好的運算效率。
自相似性是復雜系統中常見的一種性質,具有自相似性的系統在某種測度的不同尺度上表現出相似的性質。在網絡流量異常檢測過程中,研究對象是在時間尺度上表現出自相似性的網絡流量時間序列,即該時間序列無論在哪個分辨率上都表現出相同的模式,在不同的時間尺度上不規則的程度保持恒定[4]。
定義1假設x={xj,j=1,2,…}為一協方差平穩隨機序列,即x具有恒定均值μ=E [xj]和有限方差σ2=E [(xj-μ)2],其自相關函數
僅與k有關,即r(k)~k-βL1(k),k→∞,其中0<β<1;對于(x>0,L1滿足
H被稱為Hurst指數,它是描述自相似度的唯一參數,H的大小是判斷系統是否具有自相似性以及衡量自相似度的重要指標。自相似的網絡流具有長相關性,表現為長時間的記憶特性。大量研究表明,正常的網絡流具有較強的自相似性,而異常流量的出現會對網絡流的自相似性產生明顯的影響[6]。正常流量的 Hurst指數范圍為(0.5,1),其值越大,自相似特性越強。現有文獻根據自相似指數的變化對DDOS攻擊進行了檢測,并且取得了一定的效果[7-8]。
常用的Hurst指數求解方法有:小波分析法、R/S分析法、Variance-time法、殘差方差法等[9]。在小波分析法中,主要有3種利用小波分析求解Hurst指數值的方法:能量法、譜估計法和小波系數方差法,它們都是基于能量的方法來分析自相似信號。本文將使用小波系數方差法求解Hurst指數,其基本思想是對自相似信號進行離散小波變換后的小波系數求方差,然后根據該方差與小波分解尺度的關系求出Hurst指數值。小波系數方差法的算法實現過程可參看文獻 [10-12]。
指數權重移動平均(exponentially weighted moving average)又稱為指數平滑模型,它是一種由前一時刻的觀測值和前一時刻的預測值來獲取當前預測值的算法[13],具有適應性較強、樣本需求量少、結果較穩定等特點。假設ht表示當前時刻t的觀測值,表示當前時刻t的預測值,那么t+1時刻的預測值的計算公式為
式中:β(0<β<1)——平滑系數,它確定了在預測過程中歷史數據權重的衰減程度(1-β)。這種預測方法假設下一時刻的預測值與距離它最近的觀測值關系最大,平滑系數β調節上一時刻的觀測值和預測值對當前時刻預測值的影響程度,表明當前預測值的大小是上一時刻的觀測值和預測值共同作用的結果,這樣可以在一定程度上減小個別異常觀測值引起的偏差。
由于EWMA受序列隨機波動的影響較大,因此模型的合理性在很大程度上依賴于它在建模過程中是否能夠盡可能多的減少隨機波動的影響。為此我們在上一個步驟中通過小波變換來消除隨機波動。小波變換對頻率的自適應特性,使其能夠對不同的頻率成分采用合適的采樣步長,可以對指定頻域和時段內的信號成分進行多層次分析,在時頻兩域都能很好的表征信號的局部特征,特別能夠對具有瞬時性的暫態信號進行準確的檢測,這也是在求Hurst指數值時采用小波系數方差法來提高模型檢測率的原因。
由于傳統Hurst指數模型采用了固定閾值的方法,不能根據網絡流量的變化有效的調整閾值范圍,同時,對大量歷史數據的重復統計計算不僅會降低模型的執行效率而且是不必要的。為此,本文設計了一種基于動態閾值的異常檢測方法。為了降低序列隨機波動產生的影響,模型采用小波系數方差法對原始隨機序列進行處理,并求出網絡流量Hurst指數值;通過滑動窗口模型控制有效Hurst值的個數,以最小的計算代價掌握最新網絡流量的波動情況,在最小系統開銷的基礎上準確的調整動態閾值范圍;根據EWMA模型對經過小波處理的Hurst指數序列進行分析,判斷下一時刻的Hurst預測值和觀測值的差值是否超過閾值,如果超出閾值,則認為發生異常;否則,網絡流量正常。
通過滑動窗口內有效數據的變化情況可以準確掌握當前數據流的狀態,這為設定動態閾值提供了可靠的依據,在保證準確率的同時,改善了以往檢測方法中對所有歷史數據都進行計算而導致檢測方法效率低的問題。另外,由于異常流量的發生可能會持續較長時間,這將產生一個連續異常的Hurst指數序列,仍然采用相鄰Hurst值作差值的方法可能會檢測不到異常,而引入EWMA模型做預測后,可以通過正常歷史流量的Hurst值和當前時刻的預測值準確把握下一時刻流量的變化趨勢,從而降低誤檢率。
一般情況下,網絡流處于穩定狀態中,然而在較長的時間段內,網絡流量是不平穩的,這將引起Hurst指數也發生較大的波動。因此,有必要對閾值范圍進行動態設定。本文方法的檢測過程如圖1所示。
具體的檢測步驟如下:
(1)對單位時間內的網絡流量進行統計分析,求出數據集的原始流量序列;采用小波方差法求取每一個時間窗內網絡流量的Hurst指數值Ht,為下一步的檢測分析提供數據準備。
(2)預設滑動窗口的大小為w,求出動態滑動窗口內有效觀測值的均值avg和均方差Vt。其中
圖1 基于動態閾值異常檢測模型的檢測過程
(3)通過EWMA模型的計算公式對下一時刻的Hurst指數值Ht+1進行預測。為了得到一個較好的預測初始值,實驗在開始時采用滑動窗口內數據的均值作為初始時刻Hurst的預測值H0。
(4)計算下一時刻的觀測值Ht+1和EWMA模型預測值的差值(H,并判斷該差值是否大于動態均方差δVt(δ為均方差系數)。如果(H 在均方差范圍之內,則網絡正常;否則,可以判斷網絡出現異常,應當采取有效措施阻止異常的繼續發生。
(5)將滑動窗口前移,跳轉到步驟(2),進行下一時刻的流量檢測。
實驗采用MIT林肯實驗室提供的標準數據集DARPA 2000LL_DDoS_2.0.2,它記錄了2000年4月16日美國空軍基地大約1h45min的網絡流量數據。該實驗數據集反映了DDOS攻擊的4個階段:①查詢探測被控終端;②入侵被控終端;③通過FTP上傳攻擊腳本并控制更多攻擊源;④通過Telnet登錄、控制攻擊源并發動DDOS攻擊。數據集的具體介紹請參看文獻 [14]。
實驗平臺為主頻是2.3GHz、內存為1G的Windows下的Visual Studio開發環境,編寫的檢測工具如圖2所示。
步驟1:為了實現較好的對比效果,實驗根據文獻 [3]的做法將整個數據集劃分成48個時間段,每個時長128s的時間段又被平均劃分為10個小的時間段。將10個統計流量值作為一個時間窗做小波系數方差分析,采用誤差較小的DB3小波[15]求出各個時間窗內統計數據的Hurst指數值。另外,本實驗中,預設參數值如下:
(1)β=0.6;
圖2 實驗檢測工具界面
(2)w=5;
(3)δ=1.6。
實驗數據集的原始網絡流量統計分布圖如圖3所示。
圖3 實驗數據集流量分布
從圖3的統計結果可以粗略的看出網絡流量的大致分布范圍。對數據集進行小波分析,按照時間窗劃分數據集后各個時間段的Ht指數值序列圖如圖4所示。
圖4 實驗數據集Hurst指數
步驟2:根據2.2節所述檢測步驟對實驗數據進行異常檢測,檢測結果如圖5所示。
由圖5可以看出,閾值曲線根據Hurst差值的的變化動態的進行了調整,符合網絡流量的變化趨勢。Hurst差值曲線取值越接近于0,表明網絡流量越趨于正常,而在時間段20、26-29、39-42附近,Hurst差值(H 超過了閾值范圍。通過進一步分析發現,在這些時間段網絡均出現了異常流量,可以認定網絡遭到了DDOS攻擊。對比文獻[3]中的實驗結果發現,本方法也能檢測出文獻 [3]中的異常時間段。
圖5 實驗檢測結果曲線
另外,實驗結果還發現,在時刻10和38兩處也出現了Hurst差值大于動態閾值的情況。經分析,在時刻10處,網絡出現了大量的ACK報文,很可能是DDOS掃描攻擊時產生的;而在時刻38處,出現了指數級的標記為RST的TCP報文,這些報文全部是由IP為131.84.1.31的攻擊源向其他主機發起的,可以肯定,它們都屬于異常流量。這也表明了采用本檢測模型可以檢測出較多的異常點,具有更好的檢測率。
我們對預設參數值的取值變化進行了分析,進一步調整實驗參數值進行反復測試,結果如圖6所示。
圖6 參數取值變化曲線
測試發現,在圖6(a)中,當w、δ一定時,隨著β的增大,模型的檢測率先增加后減小,誤報率先減小后增加,并同時在β=0.6附近出現最優值;在圖6(b)中,當w、β一定時,隨著δ的增大,模型的檢測率先增加后減小,但始終在 [0.6,0.8]之間徘徊,誤報率先減小后增加,最后穩定在0.3,最優值出現在δ=1.5、1.6附近;在圖6(c)中,當δ、β一定時,隨著w的增大,模型的檢測率先增加后減小,而誤報率呈起伏變化狀態,最優值出現在w=5、6附近。可以看出,在對實驗數據進行DDOS攻擊檢測時,預設參數值的最優值穩定在有限的幾個數之間,由此可以得出實驗開始時預設參數的最優值。
在本部分實驗中,通過反復測試確定了檢測DDOS攻擊時的預設參數值,且利用滑動窗口模型有效的掌握了各個時間段網絡流量的變化情況,因此能夠從EWMA預測值和實際觀測值的差值中有效的判斷出網絡異常情況。模型的檢測時間穩定在 [3.72s,3.78s],執行效率較好。本實驗檢測模型的執行效率如圖7所示。
圖7 實驗模型的檢測時間
與文獻 [3]的實驗方法相比,本模型應用滑動窗口模型,根據最近的自相似指數判斷網絡的波動狀態并準確的進行了預測,避免了對所有歷史觀測值都進行分析而導致預測值偏差較大、檢測效率低的問題。另外,我們不是直接用實際的Hurst指數值來做閾值判斷,而是在EWMA模型的預測基礎上跟動態閾值進行比較,因而可以在一定程度上降低由于異常觀測值造成的預測誤差。可以看出,實驗結果也進一步說明了本方法在通過動態閾值進行DDOS異常檢測時具有更高的準確性。
本文提出了一種基于動態閾值的網絡異常檢測方法,該方法通過滑動窗口控制了有效Hurst指數值的個數,采用EWMA預測Hurst指數值并設定動態閾值范圍來檢測異常,改善了現有方法中由于設置固定閾值導致模型彈性較差,無法適應動態網絡變化的情況。實驗結果驗證了該方法具有較高的檢測率,并且能夠檢測變化較大的網絡流量,從而為保證網絡安全和防止入侵提供了保障。下一步的研究工作將圍繞模型的檢測效率,從網絡上實時獲取報文并對網絡狀態進行實時檢測展開。
[1]WANG Xin,FANG Binxing.An exploratory development on the Hurst parameter variety of network traffic abnormity signal[J].Journal of Harbin Institute of Technology,2005,37(8):1046-1049(in Chinese).[王欣,方濱興.Hurst參數變化在網絡流量異常檢測中的應用 [J].哈爾濱工業大學學報,2005,37(8):1046-1049.]
[2]REN Xunyi,WANG Ruchuan,WANG Haiyan,et al.Wavelet choice for detection of DDoS attack based on self-similar testing[J].Journal of Nanjing University of Aeronautics & Astronautics,2007,39(5):588-592(in Chinese).[任勛益,王汝傳,王海艷,等.基于自相似檢測DDOS攻擊的小波選擇 [J].南京航空航天大學學報,2007,39(5):588-592.]
[3]XIA Zhengmin,LU Songnian,LI Jianhua.Self-adaptive detection method for abnormal traffic based on self-similarity [J].Computer Engineering,2010,36(5):23-25(in Chinese).[夏正敏,陸松年,李建華.基于自相似的異常流量自適應檢測方法 [J].計算機工程,2010,36(5):23-25.]
[4]XIAO Zhenghong,PAN Meisen,YIN Hao.Survey of research on anomaly detection of wavelet analysis based on network traffic [J].Application Research of Computers,2007,24(2):299-301(in Chinese).[肖政宏,潘梅森,尹浩.基于網絡流量小波分析的異常檢測研究 [J].計算機應用研究,2007,24(2):299-301.]
[5]ZHANG Xiaoming,XU Xiaodong,ZHU Shirui.Detecting method for DDoS attack based on variance analysis of hurst exponent[J].Computer Engineering,2008,34(14):149-151(in Chinese).[張小明,許曉東,朱士瑞.基于 Hurst指數方差分析的DDOS攻擊檢測方法 [J].計算機工程,2008,34(14):149-151.]
[6]LV Liangfu,ZHANG Jiawan,ZHANG Dan.DDoS attack detection method based on improved wavelet analysis [J].Computer Engineering,2010,36(6):29-31(in Chinese).[呂良福,張加萬,張丹.基于改進小波分析的DDOS攻擊檢測方法[J].計算機工程,2010,36(6):29-31.]
[7]REN Xunyi,WANG Ruchuan,ZHANG Dengyin.Study and comparison of R/S and wavelet analysis for DDoS attack detection [J].Journal of Nanjing University of Posts and Telecom-munications,2006,26(6):48-51(in Chinese).[任勛益,王汝傳,張登銀.R/S和小波分析法檢測DDoS攻擊的研究與比較 [J].南京郵電大學學報,2006,26(6):48-51.]
[8]ZHOU Gang,LIU Yuan,CHEN Xiaoguang.Analysis of DDoS traffic based on wavelet[J].Computer Engineering,2008,34(15):156-158(in Chinese).[周剛,劉淵,陳曉光.基于小波的DDoS入侵流分析 [J].計算機工程,2008,34(15):156-158.]
[9]JIN Hongwei,ZHOU Jinglun,LUO Pengcheng,et al.Longrange-dependent traffic parameter estimation using wavelet transform [J].Computer Simulation,2010,27(12):129-132(in Chinese).[金宏偉,周經倫,羅鵬程,等.基于小波變換的網絡長相關業務Hurst參數估計 [J].計算機仿真,2010,27(12):129-132.]
[10]Darryl Veitch.Code for the estimation of scaling exponents [CP].http://www.cubinlab.ee.unimelb.edu.au/~darryl/,2007.
[11]LV Jia,TANG Guangming.DDoS attack detection model based on wavelet [J].Application Research of Computers,2011,28(4):1450-1452(in Chinese).[呂佳,湯光明.一種基于小波求解的DDoS攻擊檢測模型 [J].計算機應用研究,2011,28(4):1450-1452.]
[12]LI Yongli,LIU Guizhong,WANG Haijun,et al.On waveletbased methods for hurst index estimation of self-similar traffic[J].Journal of Electronics &Information Technology,2003,25(1):100-105(in Chinese).[李永利,劉貴忠,王海軍,等.自相似數據流的Hurst指數小波求解法分析 [J].電子與信息學報,2003,25(1):100-105.]
[13]LUO Na,LI Aiping,WU Quanyuan,et al.Sketch-based anomalies detection with IP address traceability [J].Journal of Software,2009,20(10):2899-2906(in Chinese).[羅娜,李愛平,吳泉源,等.基于概要數據結構可溯源的異常檢測方法 [J].軟件學報,2009,20(10):2899-2906.]
[14] MIT Lincoln Laboratory.LLDOS 2.0.2-Scenario Two[DB].http://www.ll.mit.edu/mission/communications/ist/corpora/ideval/data/2000data.html,2000.
[15]CHEN Ning,CHEN Xiaosu,LIU Huiyu,et al.Anomaly detection and location method of network traffic based on wavelet analysis [J].Journal of Chinese Computer Systems,2010,31(1):55-61(in Chinese).[陳寧,陳曉蘇,劉輝宇,等.一種基于小波分析的網絡流量異常檢測與定位方法 [J].小型微型計算機系統,2010,31(1):55-61.]