胡潔 蔡瓊
摘 要:快速準確地診斷流量異常是大型計算機網(wǎng)絡(luò)有效運行的關(guān)鍵,然而其通常存在兩方面不足,一方面網(wǎng)絡(luò)流量數(shù)據(jù)無法進行實時詳細的分析,另一方面,一些通用的檢測指標診斷異常的能力較低。為了解決相關(guān)問題,提出基于度分布的流量異常在線檢測方法。在該方案中,首先利用度分布配置流量特征,然后用熵來確定和反饋度分布的變化,通過改變熵的值,從而準確區(qū)分一個網(wǎng)絡(luò)事件通過閾值時是否正常。該方案的測試結(jié)果表明,它對在線異常檢測是可行和有效的。
關(guān)鍵詞:異常檢測;在線檢測;度分布;熵;流量特征
DOIDOI:10.11907/rjdk.162346
中圖分類號:TP309
文獻標識碼:A 文章編號文章編號:16727800(2016)011018402
0 引言
異常流量相對于平穩(wěn)的網(wǎng)絡(luò)流量有著顯著變化,它來自于網(wǎng)絡(luò)中的擁塞和路由器上的資源過載。網(wǎng)絡(luò)運營商必須及時準確地檢測異常流量,否則網(wǎng)絡(luò)無法有效、可靠地運行[1]。研究人員采用了各種分析技術(shù),從基于體積分布的分析到基于網(wǎng)絡(luò)流量分布的分析來研究流量異常檢測。而最近研究表明,基于熵的異常檢測具有更好的效果。該方法是在流量分布中捕捉細粒度的模式,使用熵來跟蹤流量分布的變化具有兩方面優(yōu)勢:①利用熵可以提高檢測靈敏度,異常事件的發(fā)生可能未表現(xiàn)出存儲量異常;②使用流量特征可以診斷信息異常事件的性質(zhì)(如區(qū)分蠕蟲、DDoS攻擊或掃描)[2]。
一般而言,大多數(shù)研究者認為Flow頭的功能(如IP地址、端口和流量大?。┛勺鳛榛陟氐漠惓z測的備用選擇[3]。然而,端口和地址分布的兩兩相關(guān)性大于0.95,異常檢測到的端口和地址分布明顯重疊,這是產(chǎn)生深層流量模式的本質(zhì)原因。此外,異常掃描、DoS和P2P事件都不能通過端口和地址分布進行精確檢測,或只有在顯著的網(wǎng)絡(luò)流量異常事件發(fā)生時才能檢測出異常??紤]到端口和地址分布的有限作用,應選擇流量分布作為基于熵的異常檢測指標。
本文提出一種利用度分布提高端口和地址分布檢測能力的異常檢測機制。使用入度和出度分布來估算每個主機通信的目的/源IP地址,對于每個入度值(出度值),通過計算熵來診斷異常。其中,選擇目的/源IP地址作為唯一備用指標,而不是兩個地址和端口,不需要使用具有相同底層屬性的不同分布來增加計算開銷。同時,為了捕捉動態(tài)網(wǎng)絡(luò)流量的本質(zhì),引入了一個固定時間寬度的滑動窗口機制。
1 相關(guān)研究
網(wǎng)絡(luò)流量的異常檢測是保證網(wǎng)絡(luò)正常有效運行的重要手段。網(wǎng)絡(luò)流量異常檢測技術(shù)自提出以來,經(jīng)過多年發(fā)展,誕生了多種檢測方法,但這些方法通常都存在一定缺陷。因此,如何進一步提高檢測準確性、減少誤報率仍然是國內(nèi)外學者的研究熱點。其中,許多方法都集中在使用流量分布來診斷異常,如Thottan[4]使用單獨的MIB變量的統(tǒng)計分布來檢測網(wǎng)絡(luò)流量的突然變化。在各種異常統(tǒng)計檢測技術(shù)中,基于熵的方法已被證明在檢測異常的流量矩陣時間序列中的準確性和效率。張航等[5]利用最大值和相對熵建立了一種基于行為的異常檢測方法。以最大熵為基礎(chǔ)的基線分布由預先標記的訓練數(shù)據(jù)構(gòu)成,但該基線適應網(wǎng)絡(luò)流量動態(tài)變化的機制仍然不清楚。本文提出一個機制,根據(jù)動態(tài)網(wǎng)絡(luò)流量在測量期間的變化來構(gòu)建自適應基線,并調(diào)整基線在一個特定的時間跨度內(nèi)。
在線檢測異常受大流量數(shù)據(jù)的實時統(tǒng)計影響。吳靜等[6]采用五元組流分布(即源地址、目的地址、源端口、目的端口、協(xié)議)進行流量分析,導致內(nèi)存和處理能力的高開銷。一些網(wǎng)絡(luò)入侵檢測系統(tǒng),如FlowMatrix與Snort匹配數(shù)據(jù)包到一個預定義的規(guī)則集,使它們無法檢測未知異常[7]。本文認為地址和端口具有高相關(guān)性,并使用地址作為獨特的度量來代替元組,用于檢測異常度分布的熵,不僅可減輕計算過程中在線分析階段的開銷,而且在發(fā)現(xiàn)新的異常類型方面比常規(guī)方法效果更好。
2 基礎(chǔ)理論
大多數(shù)流量異常都有一個共同特點,它們誘導流量頭特征分布的異常變化,如源地址、目的地址與端口,一般顯示出分散或集中分布的現(xiàn)象[8]。
例如,圖1顯示了3種類型攻擊的流量特征分布。圖1(a)顯示了一個典型的分布式拒絕服務(wù)(DDoS)攻擊。在這種情況下,大量主機發(fā)送信息到一個特定主機。同樣,許多網(wǎng)絡(luò)蠕蟲通過發(fā)送隨機探測,即到隨機區(qū)域產(chǎn)生大量目的地IP地址,從而使受感染的計算機繼續(xù)感染其它脆弱的計算機,如圖1(b)所示。在一些掃描事件中,一個源IP地址隨機掃描多個IP地址,如圖1(c)所示。
從以上分析得知,網(wǎng)絡(luò)流量發(fā)生異常時,會使源/目的地址、源/目的端口分布出現(xiàn)變化(見表1)。接下來需要研究:①采用什么指標可以準確配置這些異常流量特征,并明確表明上述攻擊的發(fā)生;②如何有效地量化異常大小,并揭示非正常的流量行為。
3 診斷方法
3.1 系統(tǒng)模型
總體架構(gòu)包括3個主要功能部分:處理引擎(后端)、數(shù)據(jù)庫和WebGUI(前端)。處理引擎執(zhí)行顯式算法WebGUI和數(shù)據(jù)庫之間的通信。引擎主要實現(xiàn)以下幾方面任務(wù):①接收NetFlow記錄的數(shù)據(jù),如路由器、交換機、防火墻等,并以一個特定方式將數(shù)據(jù)通過緩沖存儲到數(shù)據(jù)庫;②獲得相關(guān)參數(shù)后,可通過使用SQL查詢來計算熵值度分布的原始流量數(shù)據(jù);③根據(jù)測量期間的網(wǎng)絡(luò)狀態(tài)自動調(diào)整檢測閾值。流量統(tǒng)計數(shù)據(jù)庫提供了結(jié)構(gòu)化存儲,簡化了熵值的分布程度計算。WebGUI前端可通過圖形方式顯示檢測結(jié)果。
3.2 算法設(shè)計
進行在線流量分析時,要提高異常檢測精度,減少計算時的開銷,異常檢測的流程與算法必須是輕量級的。首先,設(shè)計一個數(shù)據(jù)源和數(shù)據(jù)庫之間的緩沖區(qū)進行存儲和檢索。其次,考慮到許多攻擊一般只有幾分鐘時間,如DDoS攻擊一般只持續(xù)兩分鐘,因此要設(shè)置一個有限的時間段作為一個基本測量時間窗口的度量單位。
從概念上講,該算法可以分為3個階段:在第一階段,配置Netflow在特定時間段內(nèi)的頁面流量統(tǒng)計,根據(jù)訓練數(shù)據(jù)和預定義的閾值熵排除異常值,以便在測量期間準確校準基線。自適應閾值在檢測過程中生效;第二階段為處理階段,滑動時間窗口時,計算該窗口中流量特征的熵值;第三階段為后處理階段,設(shè)置閾值為下一個檢測過程的計算均值熵和方差。該算法的偽代碼如下:
4 結(jié)語
本文介紹了基于度分布的流量異常在線檢測方法,該方法具有以下優(yōu)點:①可以準確、高效地使用流量頭特征捕捉細粒度的流量模式分布,不僅減少了在線處理時間,也提高了檢測能力;②利用熵可以提高檢測靈敏度的特點來發(fā)現(xiàn)已知或未知的流量異常,并將其量化;③具備一種可降低誤警率的自適應閾值。下一步工作是進一步分析流量異常特征,尋找診斷網(wǎng)絡(luò)異常的方法。此外,降低報警延遲也是需要考慮的問題之一。
參考文獻:
[1] 王秀英,邵志清,陳麗瓊.異常流量檢測中的特征選擇[J].計算機工程與應用,2010(28):129131.
[2] 崔錫鑫,蘇偉,劉穎.基于熵的流量分析和異常檢測技術(shù)研究與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2013(5):126129.
[3] 鄭黎明,鄒鵬,韓偉紅.基于多維熵值分類的骨干網(wǎng)流量異常檢測研究[J].計算機研究與發(fā)展,2012(9):154163.
[4] THOTTAN M,JI C.Anomaly detection in IP networks[J].IEEE Transation on Signal Processing,2003,51(8):21912204.
[5] 趙飛翔,張航,何小海.基于多層分塊的異常行為檢測算法[J].科學技術(shù)與工程,2015(10):112116.
[6] 孟凡雪,劉衍珩,吳靜.基于分布式統(tǒng)計時間序列的網(wǎng)絡(luò)流量分析[J].計算機科學,2010(7):116120.
[7] 唐謙,張大方.基于Snort的入侵檢測引擎比較分析[J].計算機工程與設(shè)計,2005(11):2628.
[8] 劉仁山,孟祥宏.基于時間特征的網(wǎng)絡(luò)流量異常檢測[J].遼寧工程技術(shù)大學學報:自然科學版,2013(4):114118.
(責任編輯:黃 健)