摘 要:網絡流量是局域網和廣域網的重要特征之一,小波分析能將復雜的非線性網絡流量時間序列分解成不同頻率的子序列。基于小波分解的思想,利用網絡流量的自相似特性來對網絡的異常行為進行檢測,給出了根據網絡流量自相似特征參數的偏差來檢測攻擊的方法,對不同分辨率下Hurst參數的變化進行了比較分析。在DARPA上的測試結果表明,該方法不僅能夠發現網絡中存在的突發性流量攻擊,還能夠確定異常發生的位置。
關鍵詞:網絡流量;小波分析;自相似性;Hurst參數;異常檢測
中圖法分類號:TP393.08文獻標識碼:A
文章編號:1001—3695(2007)02—0299—03
入侵檢測中通常用到的異常檢測方法有統計學方法、免疫學方法[1]、神經網絡[2]、數據挖掘[3]、機器學習[4]及有限自動狀態機[5]等。通過對網絡流量進行統計分析來識別入侵仍然是目前研究的一個熱點。在基于網絡流量統計分析的異常檢測中,時間序列模型起著相當重要的作用。文獻[6]使用累積和(Cumulative Sum)的方法檢測洪流(SYN-flooding)攻擊。該方法基于:如果有變化發生,隨機序列的概率分布也會發生改變,以此來判斷是否發生異常。文獻[7]把小波分析引入了入侵檢測,利用小波分析可以提供多時間尺度信息的特點來對流量統計特性進行識別。文獻[8]中描述了利用統計模型結合流量的預期、方差或者其他統計參數,再利用假說檢驗的方法來檢測攻擊行為的算法。該方法是假設歷史數據是正常的數據,其缺陷主要是假設統計模型的數據能正確地反映系統的正常數據,實際中往往很復雜。文獻[9]在基于異常的檢測中使用數據挖掘技術,從正常的網絡流量中挖掘模糊規則。當有攻擊流量時,通過尋找與正常模式的偏離來發現入侵。自相似特征方法,文獻[10]從數學上證明了可以用Hurst參數的顯著變化來發現攻擊行為。
雖然有了一些基于網絡流量統計分析的入侵檢測方法,但由于網絡系統具有的異構性、混沌性、可擴展性,網絡流量一方面呈現出一種高度非線性、耗散與非平衡的特性;另一方面并非所有的入侵都表現為網絡流量異常,而且系統的軌跡難以計算和更新,這使得入侵檢測的研究更加困難,目前還沒有一種很成熟的解決方法。
基于網絡流量具有的長期相關性和較小時間尺度上的多重分形性,首先在小波域內對網絡流量進行分解,計算表征網絡流量突發性的重要參數(Hurst指數),然后根據正常網絡流量Hurst指數和異常網絡流量Hurst指數的偏差來檢測攻擊,對不同時間尺度下Hurst指數的變化進行了比較分析。
1 網絡流量的自相識性定義
網絡流量的自相似性定義為:對于給定的一個過程或函數{f(t):t∈(-∞,∞)},當且僅當Hurst參數滿足c-Hf(ct)=f(t),c>0,t∈(-∞,∞),則該過程和函數是自相識的。研究結果表明,對自相似函數f,Hurst參數的值在0.5—1之間,任何偏離表示數據中存在異常。
2 多分辨率的性質
平方可積函數f(t)∈L2(R)可以看成是某一逐級逼近的極限情況。每級逼近均用某一底通平滑函數(t)對f(t)進行平滑的結果,在逐級逼近時平滑函數(t)也進行逐級伸縮,即用不同分辨率來逐級逼近待分析函數f(t)。空間進行逐級二分解產生一組逐級包含的子空間如式(1)所示。
3 離散小波變換的Mallat分解算法
4 Hurst參數的計算
5 實驗結果
實驗數據選用迄今為止對入侵檢測系統(IDS)評估最有影響的數據DARPA 1998[12],對該數據集進行處理后只包含網絡數據的集合稱為KDDcup’99[13]數據集。這里訓練數據集大約包含500萬條記錄,測試數據集大約包含30萬條記錄,每一條記錄包含41個屬性,其中34個數值字段,7個符號字段。本文實驗中選擇的數據是Corrected.gz數據集, 該數據集對每一個記錄進行了正確標注,選擇該數據集的原因是為了方便驗證本文提出的方法的有效性。選擇的數據內容是第23個字段Count,它表示在過去2s內連接到相同主機的流量。
圖1表示正常情況下(偶爾也可能存在攻擊)連接到主機的網絡流量。表征網絡流量自相似性的參數(Hurst指數)如圖2所示,實驗中選用的時間尺度為200,Hurst指數的值均在0.5—1之間,表明了正常網絡流量的自相似特性。發生Smurf攻擊時的網絡流量如圖3所示。時間尺度為200時,網絡流量的Hurst指數如圖4所示。比較圖2正常網絡流量的Hurst指數和圖4所示的Hurst指數變化可以準確地判斷在800s左右發生了洪流攻擊。但是當Smurf形成穩定的攻擊洪流時,攻擊網絡流量也表現出自相識性,在1 500s左右,Hurst參數的值也落在0.5—1之間,這一方面說明了當時間尺度選擇較小時,Hurst指數并不能準確地用來判斷是否發生了洪流攻擊;另一方面也說明了小尺度的分辨率更能準確地反映網絡流量的自相似性,與文獻[14]結論一致。
當發生Smurf攻擊,時間尺度為400時,Hurst指數的變化如圖5所示;時間尺度為600時,Hurst指數的變化如圖6所示。
從圖5和圖6 Hurst指數的變化可以判斷在800s左右發生了洪流攻擊。因此不同的時間尺度對Hurst指數的計算有較大的影響,對判斷網絡是否真正受到攻擊也有較大的影響。對于突發的、長時間網絡流量攻擊應選擇較大的時間尺度。
6 結論
作為入侵檢測研究的分支之一,基于網絡流量的入侵檢測仍處在初級階段。入侵檢測系統中最重要的就是如何識別入侵,目前通過網絡流量的統計分析來識別網絡入侵是一個研究的熱點,但同時也面臨著很大的挑戰。對于復雜并且數據量極大的網絡流量如何提供實時的統計模型分析,如何有效地辨別含有入侵攻擊的流量統計特點,如何有效地提高檢測精度等都是需要解決的問題。對此,本文利用網絡的自相似特性來對網絡的異常行為進行檢測,根據網絡自相似特征參數的偏差來檢測攻擊。對不同時間尺度下網絡流量的表征的Hurst參數進行了比較分析,在DARPA上的測試表明了該方法的有效性。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。