李曉歌
摘 要:網(wǎng)絡流量異常檢測對網(wǎng)絡管理和保證網(wǎng)絡正常運行具有重要意義。本文從檢測所需的網(wǎng)絡流量數(shù)據(jù)及其特征、檢測性能指標、具體的檢測技術(shù)分類幾個方面全面綜述了網(wǎng)絡流量異常檢測的相關技術(shù),深入研究了各種網(wǎng)絡流量異常檢測技術(shù),并分析了各種方法的優(yōu)缺點,指出目前檢測方法存在的不足,以期對未來異常檢測研究提供一定的借鑒和指導。
關鍵詞:網(wǎng)絡流量;異常檢測;分布式拒絕服務;流量特征
中圖分類號:TP393 文獻標識碼:A 文章編號:1003-5168(2018)31-0010-03
Survey and Research of Network Traffic Anomaly Detection
LI Xiaoge1,2
(1.College of Intelligent Manufacturing and Automation, Henan University of Animal Husbandry and Economy,Zhengzhou Henan 450000;2.Henan Engineering Research Center on Animal Healthy Environment and Intelligent Equipment,Zhengzhou Henan 450000)
Abstract: Network traffic anomaly detection is very important to network management and operation. This paper comprehensively summarized the related technologies of network traffic anomaly detection from the aspects of network traffic data and its characteristics, detection performance indicators, and specific detection technology classification. It deeply studied various network traffic anomaly detection technologies, and analysed the advantages and disadvantages of various methods, and pointed out the existing detection methods, in order to provide some reference and guidance for future anomaly detection research.
Keywords: network traffic;anomaly detection;distribute deny of service;traffic feature
對網(wǎng)絡流量異常檢測進行梳理、分類和分析可以全面細致地了解各種流量異常檢測技術(shù),對及時發(fā)現(xiàn)網(wǎng)絡異常和保證網(wǎng)絡正常運行具有重要意義[1]。基于此,本文首先介紹網(wǎng)絡流量異常檢測技術(shù),然后介紹異常檢測的性能指標,并對流量異常檢測方法進行分類,最后對全文進行總結(jié)并探討分析目前異常檢測方法存在的不足。
1 網(wǎng)絡流量異常檢測技術(shù)概述
網(wǎng)絡入侵檢測系統(tǒng)(Network Intrusion Detection System,NIDS)是指對收集漏洞信息、造成拒絕訪問及獲取超出合法范圍的系統(tǒng)控制權(quán)等危害計算機系統(tǒng)安全的行為進行檢測的軟件與硬件的組合。按照異常檢測方式,NIDS可分為兩類:一類是基于匹配異常特征字符串的誤用檢測;另一類是基于流量特征正常行為建模的異常檢測。
誤用檢測的優(yōu)點是檢測準確率高、誤報率低,通過規(guī)則的添加增大檢測范圍。誤用檢測最大的缺陷是其只能檢測出寫入特征庫中的那些已知特征的異常,不能檢測出不在特征庫中的未知特征的新異常。此外,誤用檢測需要專業(yè)人員不斷提取異常的特征,并將其寫成規(guī)則要求的正則表達式形式,耗費了大量人力。再者,誤用檢測時要執(zhí)行對所有規(guī)則的匹配,吞吐率低,擴展性差,難以滿足高速網(wǎng)絡的要求。這些缺陷都限制了誤用檢測的發(fā)展。
由于基于模式匹配的檢測方法要將每種特征人工寫入模式庫,因此這種方法的發(fā)展要遠落后于惡意代碼增長,這使得新的檢測方法的研究,即對基于流量行為模式的異常檢測進行研究顯得尤為重要。異常檢測通過建模網(wǎng)絡流量特征的正常流量行為,把偏出部分識別為異常。不同于誤用檢測,其可以發(fā)現(xiàn)一些未知的攻擊模式,不需要人工維護特征模式庫就可以檢測到新的異常情況。
2 流量異常檢測性能指標
性能指標的一個方面是檢測能力,另一個方面是時間性能。時間性能通常用于分析檢測系統(tǒng)能否實現(xiàn)在線檢測,能對多大帶寬的鏈路做到在線檢測[2]。檢測能力通常用誤報率(False Alarm Rate)和檢測率(Detection Rate)衡量。檢測率也叫真陽率(True Positive Rate,TPR),是指正確檢測到的異常和總的異常數(shù)的比率;誤報率也叫假陽率(False Positive Rate,F(xiàn)PR),是指正常樣本被誤判為異常的數(shù)目占所有正常數(shù)目的比率。
對于已知流量異常情況的數(shù)據(jù)集,可以人工打好標簽標明流量數(shù)據(jù)中的正常點和異常點,可以得出TPR和FPR的值。同時,由于這兩個值是相對的,在一定條件下,F(xiàn)PR會隨TPR增大而變大,因此這種情況下也常用ROC(Receiver Operating Characteristics)曲線來比較不同檢測方法的性能,如圖1所示。ROC曲線代表了TPR與FPR之間的折中。曲線越靠近左上角(對應0%的FPR和100%的TPR),代表異常檢測系統(tǒng)的性能越高。
3 流量異常檢測方法分類
異常檢測包括針對某種具體的異常類型的檢測技術(shù)和泛泛的應對所有異常的檢測技術(shù)。目前的研究主要是針對所有可能的網(wǎng)絡異常的檢測方法。而對這部分異常檢測方案的劃分,按檢測范圍可分為單鏈路的檢測模型和全網(wǎng)分布式多點檢測模型。另外,近年來的學術(shù)論文中按檢測方式將異常檢測分為基于流量大小和流量特征兩大類。由于目前全網(wǎng)分布式多點檢測方法主流基本上是PCA狀態(tài)子空間方法,所以,這部分調(diào)研筆者按異常流量的檢測方式來劃分(PCA方法會在相應的類別中介紹)。其中,基于流量特征的方案是近年來發(fā)展的主流方案,因此,接下來會側(cè)重調(diào)研基于流量特征的異常檢測方案。
3.1 基于特定異常的檢測技術(shù)
特定類型異常的檢測主要是基于目前一些特定異常類型的特有特征進行檢測的技術(shù)。由于每類異常的檢測方法較多,這里不一一介紹,只針對每種特定常見異常簡要列舉一種常見的檢測方法。
Jung等基于遠程和本地主機是否成功連接的頻率特征,設計TRW(Threshold Random Walk)算法來快速檢測端口掃描;Schechter等集成假設檢驗和連接速率限制兩種方法,用一種混合方法來更好地識別蠕蟲;Zheng等提出了利用數(shù)據(jù)平面信息來檢測前綴綁架的一種輕量級、分布式的實時檢測技術(shù)。
3.2 基于流量大小的檢測技術(shù)
基于流量大小的方案認為,異常會導致流量大小產(chǎn)生明顯的變化,因此,把流量的尖峰和突變作為可疑事件。但一些正常的應用也可能導致流量變化,因此這種方案誤報率高。此外,這種方法無法檢測出一些不易產(chǎn)生流量明顯變化的攻擊。
Krishnamurthy等提出用Sketch建立流量數(shù)據(jù)的壓縮摘要來代替記錄每流的信息,其設計了一個可變的Sketch數(shù)據(jù)結(jié)構(gòu)K-ary Sketch,只需要固定的很小的內(nèi)存,并且更新和重組的代價也是固定的。這種線性特征可以使定義的數(shù)據(jù)結(jié)構(gòu)在不同層次概要流量數(shù)據(jù),Krishnamurthy等基于這樣的概要信息,通過一個多樣的時間序列的預測模型來檢測預測得到流量和實際流量的偏差程度,根據(jù)偏差的大小判斷是否發(fā)生異常。
Brutlag結(jié)合流量實時監(jiān)控和可視化開源軟件RRDtool及Cricket,提出用Holt-Winters預測模型集成到RRDtool/Cricket來進行實時的異常行為檢測,主要過程為:首先根據(jù)流量歷史數(shù)據(jù)用Holt-Winters預測當前時間序列的流量大小,然后計算當前實際的流量大小與預測得到流量大小的偏差,最后根據(jù)設置的閾值來判斷所得的偏差是否是異常行為。當偏差大于設定的閾值時,認為當前時間序列的流量存在異常。
Zhang等提出一個用于網(wǎng)絡Anomography的框架,可以從鏈路的流量數(shù)據(jù)應用各類異常檢測算法來推斷整個網(wǎng)絡的異常情況,這種方法能成功識別引起整個網(wǎng)絡流量大小發(fā)生偏離的異常,但對引起整個網(wǎng)絡流量大小不太明顯的Stealthy攻擊并不是很有效。
3.3 基于流量特征的檢測技術(shù)
基于流量特征方案的主要思想是把包頭一些域或流量的行為模式作為流量特征,而正常情況下的流量特征模式會被異常行為改變。這種方案是目前發(fā)展的主流方案。接下來對基于流量特征的檢測方法進行相對詳細的調(diào)研和分類。為了保證分類和調(diào)研的全面性,分類方法中包含一些相對較老或部分用于主機檢測異常的方法,筆者在文中會著重說明類別中那些近幾年研究的比較主流的針對網(wǎng)絡異常的檢測方法。
基于流量特征的異常檢測技術(shù)大致分為四類:基于分類的、基于聚類的、基于統(tǒng)計的和基于信息理論的。
3.3.1 基于分類的異常檢測技術(shù)。分類用于從有標注的數(shù)據(jù)集中學習一個基線模型,這個過程通常稱為訓練。學得的基線模型通常稱為分類器,然后,用學得的基線模型來劃分待測試的實例,這個過程通常稱為測試。因此,基于分類的異常檢測技術(shù)具有類似的兩個階段的操作,訓練過程用標注的歷史數(shù)據(jù)學習一個分類器,測試過程用分類器對待測樣本進行分類,劃分正常和異常樣本。基于分類的異常檢測技術(shù)通?;跈C器學習的方法,如神經(jīng)網(wǎng)絡方法、貝葉斯網(wǎng)絡方法、支持向量機方法和基于規(guī)則方法等。
3.3.2 基于聚類的異常檢測技術(shù)。聚類用于將相似的數(shù)據(jù)實例歸入不同的簇中。聚類是一種非監(jiān)管的技術(shù),基于聚類的檢測技術(shù)通常分為三類。
第一類基于這樣的假設:正常數(shù)據(jù)屬于一個簇,異常數(shù)據(jù)不屬于任何簇。這類聚類算法不強制每個數(shù)據(jù)實例都屬于一個簇,如DBScan。這類方法的缺點是不能進行最優(yōu)化。
第二類聚類算法基于這樣假設:正常數(shù)據(jù)實例的位置接近于最近的簇的中心,而異常實例的位置則遠離最近的簇的中心。這類技術(shù)通常分兩個步驟:第一步,使用聚類算法對數(shù)據(jù)進行聚類;第二步,對每個數(shù)據(jù)實例,根據(jù)其到最近的聚類中心的距離來計算其異常分數(shù)。
如果一些異常實例自身組成一個簇,第二類聚類算法就不能檢測出這些異常。為了解決該問題,引出了第三類聚類算法,其基于這樣的假設:正常數(shù)據(jù)屬于大的和密集的簇,異常數(shù)據(jù)屬于小的和稀疏的簇。因此,當簇的大小和密集程度低于一個閾值時,認為是異常簇。
3.3.3 基于統(tǒng)計的異常檢測技術(shù)。統(tǒng)計技術(shù)通常是分析給定數(shù)據(jù)的特征,選取符合正常的數(shù)據(jù)特征的統(tǒng)計模型,然后對待測數(shù)據(jù)進行統(tǒng)計推斷來判斷是否屬于選定的模型。如果推斷結(jié)果顯示被測數(shù)據(jù)實例屬于模型的概率較低,則認為是異常情況?;诮y(tǒng)計的異常檢測技術(shù)基于這樣的假設:正常數(shù)據(jù)具有較高的概率符合統(tǒng)計模型,而異常數(shù)據(jù)只有很低的概率符合統(tǒng)計模型。
有參數(shù)的異常檢測技術(shù)常用的有基于高斯模型、基于回歸模型。無參數(shù)的異常檢測技術(shù)的模型結(jié)構(gòu)并不是事先定義好的,而是由數(shù)據(jù)本身決定的,相對于有參數(shù)的技術(shù),無參數(shù)的技術(shù)對數(shù)據(jù)假定較少。無參數(shù)的技術(shù)通常用基于直方圖的方法。
3.3.4 基于信息理論的異常檢測技術(shù)。信息理論技術(shù)用不同的信息理論來分析流量數(shù)據(jù)特征的內(nèi)容,主要基于這樣的假設:異常會引起數(shù)據(jù)的信息內(nèi)容發(fā)生不規(guī)則變化。思路如下:若O(D)代表一個給定數(shù)據(jù)集D的復雜度,信息理論技術(shù)的目標是找到D最小的子集I,使O(D)?O(D?I)最大,I中所有的數(shù)據(jù)實例就為異常。數(shù)據(jù)集的復雜度可以用不同的信息理論測度,如Kolomogorov Complexity、熵、條件熵等。
Arning等使用正則表達式的大小測量數(shù)據(jù)的Kolomogorov Complexity來進行異常檢測;Lee等提出幾種信息理論來進行異常檢測,其用熵測量未排序數(shù)據(jù)集的規(guī)則性,用條件熵測量已排序數(shù)據(jù)集中記錄次序依賴關系的規(guī)則性,用相對條件熵測量兩個數(shù)據(jù)集規(guī)則性的相似程度;Nychis等利用標準化的熵來檢驗不同流量特征對異常檢測效果的影響及其相互關系。
上述所有的基于流量特征的異常檢測方法都基于單鏈路的流量,即對單條鏈路可能出現(xiàn)的異常的檢測的方法。對于全網(wǎng)的流量數(shù)據(jù),如基于OD流的流量矩陣,Lakhina等擴充了流量矩陣的概念,把流量矩陣中的元素值從流量大小擴展到流量的特征熵值,用PCA的方法作用到流量矩陣上。Lakhina等發(fā)現(xiàn),高維的流量矩陣的特征通過PCA降維后,主要的帶有趨勢性的流量特征數(shù)據(jù)可以用很少的一些主元表示,稱為正常子空間,剩余的部分稱為異常子空間,即通過PCA把流量數(shù)據(jù)分為兩個子空間,把異常子空間的流量數(shù)據(jù)設定一個閾值,當超出閾值時認為發(fā)生了異常,因此該方法稱為主元素狀態(tài)子空間法。
4 總結(jié)與展望
PCA狀態(tài)子空間方法是目前全網(wǎng)檢測的主流方法。總體來說,目前的異常檢測技術(shù)仍然存在以下問題:①假陽性,高的誤檢率仍是影響其應用的關鍵問題;②目前的方法大多難以達到高速骨干網(wǎng)絡的實時在線的檢測需求;③檢測出異常后,具體的異常類型需要手工分析,缺乏能自動識別異常類型的模型;④現(xiàn)有大部分模型需要訓練歷史數(shù)據(jù)得到用于檢測的基線模型,影響檢測效率且無法避免數(shù)據(jù)污染的影響;⑤全網(wǎng)分布式多點異常檢測方法有限,目前主要是PCA狀態(tài)子空間方法,但這種方法存在很多問題。
這些問題限制了異常檢測方法的應用。目前,工業(yè)界還沒有可以投入使用的商用系統(tǒng)。異常檢測目前尚處于實驗室的探索研究和模擬實驗階段。因此,針對目前異常檢測模型的缺點,提出新的更有效的異常檢測方法,不僅對提高網(wǎng)絡安全管理具有重要的現(xiàn)實意義,而且能為下一代NIDS的設計提供指導。
參考文獻:
[1]張賓.互聯(lián)網(wǎng)異常流量特征分析及其應用研究[D].北京:清華大學,2012.
[2]張賓,楊家海,吳建平.Internet流量模型分析與評述[J].軟件學報,2011(1):115-131.