一種互聯網宏觀流量異常檢測方法(2007-11-7 10:37) 摘要:網路流量異常指網路中流量不規則地顯著變化。網路短暫擁塞、分布式拒絕服務攻擊、大范圍掃描等本地事件或者網路路由異常等全局事件都能夠引起網路的異常。網路異常的檢測和分析對於網路安全應急響應部門非常重要,但是宏觀流量異常檢測需要從大量高維的富含雜訊的數據中提取和解釋異常模式,因此變得很困難。文章提出一種分析網路異常的通用方法,該方法運用主成分分析手段將高維空間劃分為對應正常和異常網路行為的子空間,並將流量向量影射在正常子空間中,使用基於距離的度量來檢測宏觀網路流量異常事件。公共互聯網正在社會生活的各個領域發揮著越來越重要的作用,與此同時,由互聯網的開放性和應用系統的復雜性所帶來的安全風險也隨之增多。2006年,國家計算機網路應急技術處理協調中心(CNCERT/CC)共接收26 476件非掃描類網路安全事件報告,與2005年相比增加2倍,超過2003—2005年3年的總和。2006年,CNCERT/CC利用部署的863-917網路安全監測平台,抽樣監測發現中國大陸地區約4.5萬個IP地址的主機被植入木馬,與2005年同期相比增加1倍;約有1千多萬個IP地址的主機被植入僵屍程序,被境外約1.6萬個主機進行控制。黑客利用木馬、僵屍網路等技術操縱數萬甚至上百萬台被入侵的計算機,釋放惡意代碼、發送垃圾郵件,並實施分布式拒絕服務攻擊,這對包括骨幹網在內的整個互聯網網路帶來嚴重的威脅。由數萬台機器同時發起的分布式拒絕服務攻擊能夠在短時間內耗盡城域網甚至骨幹網的帶寬,從而造成局部的互聯網崩潰。由於政府、金融、證券、能源、海關等重要信息系統的諸多業務依賴互聯網開展,互聯網骨幹網路的崩潰不僅會帶來巨額的商業損失,還會嚴重威脅國家安全。據不完全統計,2001年7月19日爆發的紅色代碼蠕蟲病毒造成的損失估計超過20億美元;2001年9月18日爆發的Nimda蠕蟲病毒造成的經濟損失超過26億美元;2003年1月爆發的SQL Slammer蠕蟲病毒造成經濟損失超過12億美元。針對目前互聯網宏觀網路安全需求,本文研究並提出一種宏觀網路流量異常檢測方法,能夠在骨幹網路層面對流量異常進行分析,在大規模安全事件爆發時進行快速有效的監測,從而為網路防禦贏得時間。1 網路流量異常檢測研究現狀在骨幹網路層面進行宏觀網路流量異常檢測時,巨大流量的實時處理和未知攻擊的檢測給傳統入侵檢測技術帶來了很大的挑戰。在流量異常檢測方面,國內外的學術機構和企業不斷探討並提出了多種檢測方法[1]。經典的流量監測方法是基於閾值基線的檢測方法,這種方法通過對歷史數據的分析建立正常的參考基線范圍,一旦超出此范圍就判斷為異常,它的特點是簡單、計算復雜度小,適用於實時檢測,然而它作為一種實用的檢測手段時,需要結合網路流量的特點進行修正和改進。另一種常用的方法是基於統計的檢測,如一般似然比(GLR)檢測方法[2],它考慮兩個相鄰的時間窗口以及由這兩個窗口構成的合並窗口,每個窗口都用自回歸模型擬合,並計算各窗口序列殘差的聯合似然比,然後與某個預先設定的閾值T 進行比較,當超過閾值T 時,則窗口邊界被認定為異常點。這種檢測方法對於流量的突變檢測比較有效,但是由於它的閾值不是自動選取,並且當異常持續長度超過窗口長度時,該方法將出現部分失效。統計學模型在流量異常檢測中具有廣闊的研究前景,不同的統計學建模方式能夠產生不同的檢測方法。最近有許多學者研究了基於變換域進行流量異常檢測的方法[3],基於變換域的方法通常將時域的流量信號變換到頻域或者小波域,然後依據變換後的空間特徵進行異常監測。P. Barford等人[4]將小波分析理論運用於流量異常檢測,並給出了基於其理論的4類異常結果,但該方法的計算過於復雜,不適於在高速骨幹網上進行實時檢測。Lakhina等人[5-6]利用主成分分析方法(PCA),將源和目標之間的數據流高維結構空間進行PCA分解,歸結到3個主成分上,以3個新的復合變數來重構網路流的特徵,並以此發展出一套檢測方法。此外還有一些其他的監測方法[7],例如基於Markov模型的網路狀態轉換概率檢測方法,將每種類型的事件定義為系統狀態,通過過程轉換模型來描述所預測的正常的網路特徵,當到來的流量特徵與期望特徵產生偏差時進行報警。又如LERAD檢測[8],它是基於網路安全特徵的檢測,這種方法通過學習得到流量屬性之間的正常的關聯規則,然後建立正常的規則集,在實際檢測中對流量進行規則匹配,對違反規則的流量進行告警。這種方法能夠對發生異常的地址進行定位,並對異常的程度進行量化。但學習需要大量正常模式下的純凈數據,這在實際的網路中並不容易實現。隨著宏觀網路異常流量檢測成為網路安全的技術熱點,一些廠商紛紛推出了電信級的異常流量檢測產品,如Arbor公司的Peakflow、GenieNRM公司的GenieNTG 2100、NetScout公司的nGenius等。國外一些研究機構在政府資助下,開始部署宏觀網路異常監測的項目,並取得了較好的成績,如美國研究機構CERT建立了SiLK和AirCERT項目,澳大利亞啟動了NMAC流量監測系統等項目。針對宏觀網路異常流量監測的需要,CNCERT/CC部署運行863-917網路安全監測平台,採用分布式的架構,能夠通過多點對骨幹網路實現流量監測,通過分析協議、地址、埠、包長、流量、時序等信息,達到對中國互聯網宏觀運行狀態的監測。本文基於863-917網路安全監測平台獲取流量信息,構成監測矩陣,矩陣的行向量由源地址數量、目的地址數量、傳輸控制協議(TCP)位元組數、TCP報文數、數據報協議(UDP)位元組數、UDP報文數、其他流量位元組數、其他流量報文書、WEB流量位元組數、WEB流量報文數、TOP10個源IP占總位元組比例、TOP10個源IP占總報文數比例、TOP10個目的IP占總位元組數比例、TOP10個目的IP占總報文數比例14個部分組成,系統每5分鍾產生一個行向量,觀測窗口為6小時,從而形成了一個72×14的數量矩陣。由於在這14個觀測向量之間存在著一定的相關性,這使得利用較少的變數反映原來變數的信息成為可能。本項目採用了主成份分析法對觀測數據進行數據降維和特徵提取,下面對該演算法的工作原理進行介紹。 2 主成分分析技術主成分分析是一種坐標變換的方法,將給定數據集的點映射到一個新軸上面,這些新軸稱為主成分。主成分在代數學上是p 個隨機變數X 1, X 2……X p 的一系列的線性組合,在幾何學中這些現線性組合代表選取一個新的坐標系,它是以X 1,X 2……X p 為坐標軸的原來坐標系旋轉得到。新坐標軸代表數據變異性最大的方向,並且提供對於協方差結果的一個較為簡單但更精練的刻畫。主成分只是依賴於X 1,X 2……X p 的協方差矩陣,它是通過一組變數的幾個線性組合來解釋這些變數的協方差結構,通常用於高維數據的解釋和數據的壓縮。通常p 個成分能夠完全地再現全系統的變異性,但是大部分的變異性常常能夠只用少量k 個主成分就能夠說明,在這種情況下,這k 個主成分中所包含的信息和那p 個原變數做包含的幾乎一樣多,於是可以使用k 個主成分來代替原來p 個初始的變數,並且由對p 個變數的n 次測量結果所組成的原始數據集合,能夠被壓縮成為對於k 個主成分的n 次測量結果進行分析。運用主成分分析的方法常常能夠揭示出一些先前不曾預料的關系,因而能夠對於數據給出一些不同尋常的解釋。當使用零均值的數據進行處理時,每一個主成分指向了變化最大的方向。主軸以變化量的大小為序,一個主成分捕捉到在一個軸向上最大變化的方向,另一個主成分捕捉到在正交方向上的另一個變化。設隨機向量X '=[X 1,X 1……X p ]有協方差矩陣∑,其特徵值λ1≥λ2……λp≥0。考慮線性組合:Y1 =a 1 'X =a 11X 1+a 12X 2……a 1pX pY2 =a 2 'X =a 21X 1+a 22X 2……a 2pX p……Yp =a p'X =a p 1X 1+a p 2X 2……a p pX p從而得到:Var (Yi )=a i' ∑a i ,(i =1,2……p )Cov (Yi ,Yk )=a i '∑a k ,(i ,k =1,2……p )主成分就是那些不相關的Y 的線性組合,它們能夠使得方差盡可能大。第一主成分是有最大方差的線性組合,也即它能夠使得Var (Yi )=a i' ∑a i 最大化。我們只是關注有單位長度的系數向量,因此我們定義:第1主成分=線性組合a 1'X,在a1'a 1=1時,它能夠使得Var (a1 'X )最大;第2主成分=線性組合a 2 'X,在a2'a 2=1和Cov(a 1 'X,a 2 'X )=0時,它能夠使得Var (a 2 'X )最大;第i 個主成分=線性組合a i'X,在a1'a 1=1和Cov(a i'X,a k'X )=0(k<i )時,它能夠使得Var (a i'X )最大。由此可知主成分都是不相關的,它們的方差等於協方差矩陣的特徵值。總方差中屬於第k個主成分(被第k個主成分所解釋)的比例為:如果總方差相當大的部分歸屬於第1個、第2個或者前幾個成分,而p較大的時候,那麼前幾個主成分就能夠取代原來的p個變數來對於原有的數據矩陣進行解釋,而且信息損失不多。在本項目中,對於一個包含14個特徵的矩陣進行主成分分析可知,特徵的最大變化基本上能夠被2到3個主成分捕捉到,這種主成分變化曲線的陡降特性構成了劃分正常子空間和異常子空間的基礎。3 異常檢測演算法本項目的異常流量檢測過程分為3個階段:建模階段、檢測階段和評估階段。下面對每個階段的演算法進行詳細的介紹。3.1 建模階段本項目採用滑動時間窗口建模,將當前時刻前的72個樣本作為建模空間,這72個樣本的數據構成了一個數據矩陣X。在試驗中,矩陣的行向量由14個元素構成。主成份分為正常主成分和異常主成份,它們分別代表了網路中的正常流量和異常流量,二者的區別主要體現在變化趨勢上。正常主成份隨時間的變化較為平緩,呈現出明顯的周期性;異常主成份隨時間的變化幅度較大,呈現出較強的突發性。根據采樣數據,判斷正常主成分的演算法是:依據主成分和采樣數據計算出第一主成分變數,求第一主成分變數這72個數值的均值μ1和方差σ1,找出第一主成分變數中偏離均值最大的元素,判斷其偏離均值的程度是否超過了3σ1。如果第一主成分變數的最大偏離超過了閾值,取第一主成份為正常主成分,其他主成份均為異常主成分,取主成份轉換矩陣U =[L 1];如果最大偏離未超過閾值,轉入判斷第下一主成分,最後取得U =[L 1……L i -1]。第一主成份具有較強的周期性,隨後的主成份的周期性漸弱,突發性漸強,這也體現了網路中正常流量和異常流量的差別。在得到主成份轉換矩陣U後,針對每一個采樣數據Sk =xk 1,xk 2……xk p ),將其主成份投影到p維空間進行重建,重建後的向量為:Tk =UU T (Sk -X )T計算該采樣數據重建前與重建後向量之間的歐氏距離,稱之為殘差:dk =||Sk -Tk ||根據采樣數據,我們分別計算72次采樣數據的殘差,然後求其均值μd 和標准差σd 。轉換矩陣U、殘差均值μd 、殘差標准差σd 是我們構造的網路流量模型,也是進行流量異常檢測的前提條件。 3.2 檢測階段在通過建模得到網路流量模型後,對於新的觀測向量N,(n 1,n 2……np ),採用與建模階段類似的分析方法,將其中心化:Nd =N -X然後將中心化後的向量投影到p維空間重建,並計算殘差:Td =UUTNdTd =||Nd -Td ||如果該觀測值正常,則重建前與重建後向量應該非常相似,計算出的殘差d 應該很小;如果觀測值代表的流量與建模時發生了明顯變化,則計算出的殘差值會較大。本項目利用如下演算法對殘差進行量化:3.3 評估階段評估階段的任務是根據當前觀測向量的量化值q (d ),判斷網路流量是否正常。根據經驗,如果|q (d )|<5,網路基本正常;如果5≤|q (d )|<10,網路輕度異常;如果10≤|q (d )|,網路重度異常。4 實驗結果分析利用863-917網路安全監測平台,對北京電信骨幹網流量進行持續監測,我們提取6小時的觀測數據,由於篇幅所限,我們給出圖1—4的時間序列曲線。由圖1—4可知單獨利用任何一個曲線都難以判定異常,而利用本演算法可以容易地標定異常發生的時間。本演算法計算結果如圖5所示,異常發生時間在圖5中標出。我們利用863-917平台的回溯功能對於異常發生時間進行進一步的分析,發現在標出的異常時刻,一個大規模的僵屍網路對網外的3個IP地址發起了大規模的拒絕服務攻擊。 5 結束語本文提出一種基於主成分分析的方法來劃分子空間,分析和發現網路中的異常事件。本方法能夠准確快速地標定異常發生的時間點,從而幫助網路安全應急響應部門及時發現宏觀網路的流量異常狀況,為迅速解決網路異常贏得時間。試驗表明,我們採用的14個特徵構成的分析矩陣具有較好的識別准確率和分析效率,我們接下來將會繼續尋找更具有代表性的特徵來構成數據矩陣,並研究更好的特徵矩陣構造方法來進一步提高此方法的識別率,並將本方法推廣到短時分析中。6 參考文獻[1] XU K, ZHANG Z L, BHATTACHARYYA S. Profiling Internet backbone traffic: Behavior models and applications [C]// Proceedings of ACM SIGCOMM, Aug 22- 25, 2005, Philadelphia, PA, USA. New York, NY,USA:ACM,2005:169-180.[2] HAWKINS D M, QQUI P, KANG C W. The change point model for statistical process control [J]. Journal of Quality Technology,2003, 35(4).[3] THOTTAN M, JI C. Anomaly detection in IP networks [J]. IEEE Transactions on Signal Processing, 2003, 51 )8):2191-2204.[4] BARFORD P, KLINE J, PLONKA D, et al. A signal analysis of network traffic anomalies [C]//Proceedings of ACM SIGCOMM Intemet Measurement Workshop (IMW 2002), Nov 6-8, 2002, Marseilles, France. New York, NY,USA:ACM, 2002:71-82.[5] LAKHINA A, CROVELLA M, DIOT C. Mining anomalies using traffic feature distributions [C]// Proceedings of SIGCOMM, Aug 22-25, 2005, Philadelphia, PA, USA. New York, NY,USA: ACM, 2005: 217-228.[6] LAKHINA A, CROVELLA M, DIOT C. Diagnosing network-wide traffic anomalies [C]// Proceedings of ACM SIGCOMM, Aug 30 - Sep 3, 2004, Portland, OR, USA. New York, NY,USA: ACM, 2004: 219-230.[7] SCHWELLER R, GUPTA A, PARSONS E, et al. Reversible sketches for efficient and accurate change detection over network data streams [C]//Proceedings of ACM SIGCOMM Internet Measurement Conference (IMC』04), Oct 25-27, 2004, Taormina, Sicily, Italy. New York, NY,USA: ACM, 2004:207-212.[8] MAHONEY M V, CHAN P K. Learning rules for anomaly detection of hostile network traffic [C]// Proceedings of International Conference on Data Mining (ICDM』03), Nov 19-22, Melbourne, FL, USA . Los Alamitos, CA, USA: IEEE Computer Society, 2003:601-604.