摘要:網(wǎng)絡帶給人們自由開放的同時,也帶來不可忽視的安全風險,網(wǎng)絡安全越來越成為人們關注的重點。作為網(wǎng)絡安全研究領域中重要組成部分的網(wǎng)絡流量異常檢測技術研究也逐漸得到重視。在網(wǎng)絡流量異常檢測技術的研究中首先要進行網(wǎng)絡流量的采集,然后對所采集的流量進行分析。網(wǎng)絡流量的采集主要有兩種比較流行的方法:一是基于包的采集方法,另一種是基于流的采集方法。在此主要將這兩種數(shù)據(jù)采集方法進行對比研究,并得出了實驗的結果。
關鍵詞:網(wǎng)絡流量異常檢測;基于包的數(shù)據(jù)采集方法;基于流的數(shù)據(jù)采集方法;網(wǎng)絡安全;對比研究
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)04-0822-03
Comparative Studies on two Methods of Data Collection Technology in Network Traffic Anomaly Detection
CHEN Ming-bing, LIU Zhi-gui
(College of Computer Science and Technology,South West University of the Science and Technology,Mianyang 621010,China)
Abstract: Internet is free and open to people, and at the same time security risks can not be ignored. Network and information security has increasingly become the focus of our attention. As the important part of network security, network traffic anomaly detection technology gradually has been studied more and more.This paper mainly focus on two comparative studies on two methods of network traffic collection (one is packet-based data collection method, another is flow-based data collection method), and gives the simulation results.
Key words: network anomaly detection;packet-based data collection method;flow-based data collection method;network security;comparative studies
1 引言
最近幾年來,隨著網(wǎng)絡安全事故的不斷出現(xiàn),網(wǎng)絡的安全問題越來越受到各方面的重視。人們采用各種各樣的安全策略來確保網(wǎng)絡資源的及時性和可訪問性。相關部門安裝大量的硬件和軟件來保護網(wǎng)絡,讓網(wǎng)絡減少被攻擊和干擾的可能性。與此同時,分布式拒絕服務攻擊和蠕蟲爆發(fā)等威脅頻繁出現(xiàn)使得我們不得不進一步提出新的技術來作出應對。于是出現(xiàn)了許多智能的、實時的解決方案和技術,而網(wǎng)絡流量異常檢測技術就是其中之一[1-4]。
要進行異常檢測,要做的第一件事就是要采集網(wǎng)絡流量,這是所有檢測技術所要分析的對象。研究人員在許多特定環(huán)境下的網(wǎng)絡數(shù)據(jù)采集進行了研究[5-9]。在這里把網(wǎng)絡異常檢測領域中的網(wǎng)絡流量數(shù)據(jù)采集方法分為兩種。一種是基于流的數(shù)據(jù)采集方法,通常依靠存在的網(wǎng)絡設備,如路由器,來產(chǎn)生所謂的流信息來用于分析,從而檢測網(wǎng)絡流量異常。另外一種方法是基于包的數(shù)據(jù)采集方法,它與前一種方法不同,不依靠其它的網(wǎng)絡設備的能力或可訪問性,使用包數(shù)據(jù)來觀察網(wǎng)絡流量的變化從而檢測出網(wǎng)絡流量異常。
2 兩種數(shù)據(jù)采集方法
2.1 基于流的數(shù)據(jù)采集方法
基于流的數(shù)據(jù)采集方法,主要以網(wǎng)絡流的概念為中心。一個流記錄實際上是記錄一個特定的網(wǎng)絡流發(fā)生以及在過去某個時間點兩臺主機互相通信等活動的摘要性指標[10]。一個典型的流記錄包含兩個主機的IP地址,端口,協(xié)議,本次連接中部分數(shù)據(jù)的數(shù)目,以及流發(fā)生的時間和其它的一些標志。有很多網(wǎng)絡設備,如思科的很多路由器,能夠觀察網(wǎng)絡流量和生成這樣的流記錄,思科稱之為Netflow。這些流記錄被寫下來重新生成網(wǎng)絡數(shù)據(jù)包并發(fā)送給接收者分析。
2.2 基于包的數(shù)據(jù)采集方法
基于包的數(shù)據(jù)采集方法與基于流的數(shù)據(jù)采集方法不同,不依賴于第三方設備來生成網(wǎng)絡流量的元信息或摘要信息,而是將所有分析完全基于在網(wǎng)絡連接中實際觀察到正在傳遞的原始數(shù)據(jù)包。
有幾種方法進行基于包的數(shù)據(jù)采集。其中一種是對路由器或交換機的SPAN端口進行配置,然后產(chǎn)生一份在一個或多個端口上發(fā)出或接收到每一個數(shù)據(jù)包的拷貝,同時把這個拷貝傳出SPAN 端口?;诎臄?shù)據(jù)采集方法能夠采集到這些端口的所有進出的網(wǎng)絡流量。另一種方法是采用一種被動設備--網(wǎng)絡分接頭(taps)進行數(shù)據(jù)采集。這種方法允許完全透明地觀察網(wǎng)絡連接中的所有數(shù)據(jù)包。對于光纖連接可以使用光纖分離器。網(wǎng)絡分接頭的優(yōu)點是它是專業(yè)級的數(shù)據(jù)采集設備,效率特別高,用于沒有SPAN端口的時候;缺點是必須專門購買,成本較高。
3 兩種數(shù)據(jù)采集方法的比較
當我們比較兩種數(shù)據(jù)采集方法的效果時,必須考慮網(wǎng)絡系統(tǒng)的體系結構。對于一些特殊網(wǎng)絡情況而言,某種可能有獨特的優(yōu)勢。然而對于大多數(shù)的企業(yè)級網(wǎng)絡、ISPs、甚至更大的服務提供商來說,實際在網(wǎng)絡中采用基于包的數(shù)據(jù)采集方法?;诎臄?shù)據(jù)采集方法有明顯的優(yōu)勢,現(xiàn)在進行詳細的討論。
3.1 訪問原始包數(shù)據(jù)
基于包的數(shù)據(jù)采集方法最重要的特點是允許訪問原始包數(shù)據(jù)。相反基于流的數(shù)據(jù)采集方法僅僅能分析由第三方設備(如路由器)產(chǎn)生的摘要記錄,因此不能訪問原始包數(shù)據(jù),而這對于異常的分析和排除是至關重要的。例如,有些的基于包的數(shù)據(jù)采集方法,即使是零日異常也能夠抽取出特征。這樣的功能只能通過對被觀察的原始數(shù)據(jù)包的內(nèi)容進行復雜統(tǒng)計分析才能實現(xiàn)。
以大規(guī)模同步風暴拒絕服務攻擊為例[11-12]。通常是通過受控制的傀儡機產(chǎn)生大量的TCP-SYN 數(shù)據(jù)包(連接建立請求)來進行的。由于源地址是隨機的,基于流的數(shù)據(jù)采集方法只能為檢測方案提供從客戶機到特定的正在被攻擊的服務器和端口的流量,除此之外沒有其它有用的信息產(chǎn)生。
然而基于包的數(shù)據(jù)采集方法產(chǎn)生的數(shù)據(jù)中我們可以抽取出“犯規(guī)”的數(shù)據(jù)的進一步特征。通常是大規(guī)模的攻擊工具有特定的非隨機的數(shù)據(jù)初始化包頭或內(nèi)容。例如,在一個TCP-SYN 包中有“門徒廣告”功能的TCP窗口大小或序列號就可能被固定。由于基于包的數(shù)據(jù)采集方法可以為檢測方案提供可訪問原始數(shù)據(jù)包,從而可以檢測到異常并提供異常特征然后僅僅阻塞這些“犯規(guī)”的流量,合法的流量將原封不動地繼續(xù)傳遞,而不受影響其它任務。
另外還有一個好處,就是通過訪問原始數(shù)據(jù)包可以對實際的攻擊流量進行鑒定性的檢查,確定攻擊源。基于包的數(shù)據(jù)采集方法得到的原始數(shù)據(jù)可以為后面用來抽取不斷更新的實時特征來使用。同時,這些被保留原始數(shù)據(jù)包可以供今后進一步分析。手工或自動的負載分析就可以檢測出異常的實際應用層協(xié)議或其它方面的性質(zhì),這些都可以幫助我們重構事件或進一步確保應用程序或網(wǎng)絡的安全。
3.2 低延滯
路由器和交換機通常在一定時間的停頓后才輸出信息流,等待時間一般是15秒鐘[13]。因此,如果使用基于流的數(shù)據(jù)采集方法進行數(shù)據(jù)采集,就必須在設備重啟后15 秒鐘后才能開始檢測異常。然后檢測方案才開始它的工作,這就使得判斷出現(xiàn)異常的時間增加了。然而如果使用基于包的數(shù)據(jù)采集方法進行數(shù)據(jù)采集的話,檢測方案就可以實時的方式進行工作的。在網(wǎng)絡流量的統(tǒng)計數(shù)據(jù)有效之前,沒有5 秒鐘的延遲。檢測方案就可以連續(xù)地工作在實時數(shù)據(jù)之上。就此而言基于包的數(shù)據(jù)采集方法可以提高檢測的速度。
現(xiàn)在考慮15秒鐘時間可能產(chǎn)生的作用。對于企業(yè)級的網(wǎng)絡而言。某企業(yè)的一位員工剛好從商業(yè)旅行回來,他打開筆記本電腦,然而不幸的是,他的電腦恰好被一種攻擊性掃描蠕蟲感染,于是這種蠕蟲就開始在他所在公司的網(wǎng)絡中尋找其它的新的受害主機。盡管不同蠕蟲的掃描速度可能不同,但要感染網(wǎng)絡另外一臺主機往往只需要短短的幾秒鐘時間。第二代的紅色代碼蠕蟲[14]能夠在5小時感染10萬臺計算機,每天就可以感染35萬臺計算機。因此,每一秒鐘對于爆發(fā)的加速都具有指數(shù)級的作用,只有最快的檢測方法才能降低它的傳播。使用基于包的數(shù)據(jù)采集方法進行數(shù)據(jù)采集能夠使用檢測方案迅速檢測被感染的主機并在15 秒鐘之內(nèi)檢測的結果發(fā)送給相關的交換機或防火墻等其它網(wǎng)絡安全設備,進行相應的防御,將損失降低到最少。而如果使用基于流的數(shù)據(jù)采集方法進行數(shù)據(jù)采集,就可能會延滯大約15秒鐘時間,從而推遲了對網(wǎng)絡安全事件的反應和防御。
3.3 不依靠第三方網(wǎng)絡設備
基于流的數(shù)據(jù)采集方法一般都依靠第三方的網(wǎng)絡設備,比如路由器和交換機。利用第三方的網(wǎng)絡設備采集流記錄用于檢測當前網(wǎng)絡流量中是否存在異常。然而,許多網(wǎng)絡攻擊和異常往往會將這些網(wǎng)絡設備作為攻擊對象,甚至關掉這些設備從而使基于流的數(shù)據(jù)采集方法失效,檢測方案也就無能為力了。這時就會產(chǎn)生無法預料的后果。
比如由于攻擊造成路由器失效不能夠繼續(xù)提供流記錄,使用基于流的數(shù)據(jù)采集方法采集到的數(shù)據(jù)在這時就會變得不可信:比如恰好就在一個攻擊中間,所有的觀察變得無效,就會導致對攻擊的跟蹤和記錄變得無效。如果路由器負載過重不能產(chǎn)生更多的流記錄,也會使檢測變得無效。盡管攻擊使得網(wǎng)絡流量變得非常的擁擠的時候也可以產(chǎn)生出一部分或大多數(shù)的流記錄,但是不會更多的流記錄產(chǎn)生,從而使得檢測方案在此時變得無效。
可以這樣認為,依靠網(wǎng)絡基礎設施來檢測和觀察攻擊不可取。因為有很多攻擊往往就是針對這些網(wǎng)絡設備的。而使用基于包的數(shù)據(jù)采集方法采集數(shù)據(jù)時就不會出現(xiàn)這樣的問題。因為它的采集數(shù)據(jù)時是獨立于路由器或交換機等第三設備。只要網(wǎng)絡中有流量,就可以進行觀察和分析。由于使用基于包的數(shù)據(jù)采集方法采集數(shù)據(jù)時我們是通過完全被動的設備(分接頭)來獲取網(wǎng)絡流量的,而分接頭在不需要第三方的設備的情況下能夠提供一份所有的網(wǎng)絡流量的拷貝來進行異常檢測。這與使用基于流的數(shù)據(jù)采集方法進行數(shù)據(jù)采集是不同的。
3.4 對于路由器、交換機和網(wǎng)絡沒有太多負載
使用基于流的數(shù)據(jù)采集方法進行數(shù)據(jù)采集時會產(chǎn)生的出大量流記錄,這會對網(wǎng)絡設施產(chǎn)生很明顯的負擔。當流生成功能開啟時,路由器的CPU就會有重的負擔,這也會影響路由器的其它重要任務。在拒絕服務攻擊或蠕蟲爆發(fā)的時候,每一個數(shù)據(jù)包都代表一個新的流。由路由器和交換機產(chǎn)生的流實際上充當了攻擊的放大器。攻擊的數(shù)據(jù)包產(chǎn)生得越多,路由器的CPU 的負載就越重,同時網(wǎng)絡也會由于因為不斷增加的流記錄而變得負擔過重。
使用基于包的數(shù)據(jù)采集方法進行數(shù)據(jù)采集時不會有這樣的問題。因為數(shù)據(jù)包可以遠離網(wǎng)絡而被直接觀察,基于包的檢測方法不會對額外的路由器、交換機和網(wǎng)絡本身產(chǎn)生任何負擔。即使在分布式的情況下,檢測器之間的必要的通信也是完全獨立于整個網(wǎng)絡的。
因此,使用基于基于包的數(shù)據(jù)采集方法進行數(shù)據(jù)采集可以在對正常流量沒有任何影響的情況下運行。特別是它在被攻擊的最壞的情況下也不會對基礎設施產(chǎn)生明顯的負擔,而使用基于流的數(shù)據(jù)采集方法進行數(shù)據(jù)采集時就會產(chǎn)生相反的效果。
3.5 在高負載的情況時也有很高的精確度
抽樣流技術是通常被認為可以緩解因為產(chǎn)生流記錄而對網(wǎng)絡系統(tǒng)資源產(chǎn)生的嚴重沖擊的技術[15]。抽樣流技術可以進一步減少使用基于流的數(shù)據(jù)采集方法所采集的數(shù)據(jù)量,這種方法不是為每一個數(shù)據(jù)包都產(chǎn)生流記錄,僅僅是對第n個數(shù)據(jù)才產(chǎn)生一個流記錄,比如每100個數(shù)據(jù)包抽取一個包產(chǎn)生一個流記錄。很顯然,產(chǎn)生的流記錄的數(shù)量大大減少了,同時CPU 的負擔也減少了,網(wǎng)絡的利用率也提高了,但是這是以犧牲精確度為代價的??紤]一下,100個數(shù)據(jù)包中有99個數(shù)據(jù)包被忽略掉,因此,大多數(shù)更小的流就只能看著一個單獨的數(shù)據(jù)包,無論一個流是否只包含一個數(shù)據(jù)包。對于較小的流,這樣產(chǎn)生的數(shù)據(jù)用于檢測方案,得出的分析結果肯定不可靠,精確度自然降低了一些。
對于較大的流很顯然不會被很好的表示,因為它有很高的機會被抽樣出一個數(shù)據(jù)包,而這樣被抽樣出的數(shù)據(jù)包是不可能展現(xiàn)出網(wǎng)絡的實際狀態(tài)的。另外還有一個不足,就是異常(比如蠕蟲攻擊)檢測的檢測時間會進一步增加,因為需要有更多的數(shù)據(jù)包通過路由器來進行檢測。與此相反,使用基于包的數(shù)據(jù)采集方法進行數(shù)據(jù)采集時,可以不依靠抽樣技術。它的每一個包的操作都快速而有效地進行,因此可以在任何時候都以全速運行同時有很高的精確度。當然要考慮額外的存儲空間。
4 仿真實驗
4.1 實驗原理
要對兩種數(shù)據(jù)采集方法的效果進行實驗性對比,就必須選擇同一種網(wǎng)絡流量異常檢測方案,盡量讓比較公平。本文采用基于小波包的網(wǎng)絡流量異常檢測方案對兩種數(shù)據(jù)采集方法進行比較。
小波分析是門新興學科,是一種在信號處理、圖像處理等領域廣泛的數(shù)學工具[16]。最近年來研究人員把小波分析用于網(wǎng)絡流量異常檢測,用了一定的成果。但由于小波變換的也存在一些不足,于是又提出一些改進的方法,比如采用小波包變換進行網(wǎng)絡流量異常檢測。這是一種大膽的嘗試,并且取得較好的效果。
4.2 所采用的數(shù)據(jù)集
關于所采用的數(shù)據(jù)集。使用MIT林肯實驗的DARPA 1999年評測數(shù)據(jù)集[17-19]。包括覆蓋了Probe,DoS,R2L,U2R和Data等5大類58種典型攻擊方式,是目前最為全面的攻擊測試數(shù)據(jù)集。
4.3 實驗過程及結果
所下載的數(shù)據(jù)用tcpreplay[20]進行回放,然后用上面提及的兩種數(shù)據(jù)采集方法進行數(shù)據(jù)采集并作為基于小波包變換的網(wǎng)絡流量異常檢測程序的輸入數(shù)據(jù),由異常檢測程序得出檢測結果。
實驗結果表明,在所選擇的數(shù)據(jù)集進行的兩者有明顯的差別。
由表1,可以看出使用基于包的數(shù)據(jù)采集方法進行了數(shù)據(jù)采集時,正確率要高一些,誤報率也要低一些。說明前一種方法效果好于后種方法。這與前面的分析比較吻合。實驗所使用計算機的配置是P4 3.0G+RAM 512M+Fedora 9[21]。
5 結論
通過對兩種網(wǎng)絡流量異常檢測中經(jīng)常使用的兩種數(shù)據(jù)采集方法進行對比研究,我們發(fā)現(xiàn)基于包的數(shù)據(jù)采集方法雙基于流量的數(shù)據(jù)采集方法在許多方面的優(yōu)勢?;诎臄?shù)據(jù)采集方法適合于各種不同的情況,再硬件設備日益發(fā)展今天,它更具有可靠性,高精度,有效性和對網(wǎng)絡設施影響小的特點。今后我們將采用其它的網(wǎng)絡流量異常檢測方案,比如基于簽名的檢測方法,基于統(tǒng)計的方法等,進一步對兩種方法進行對比實驗。還可以考慮使用網(wǎng)絡實時數(shù)據(jù)進行實驗室,讓比較結果更加公正。
參考文獻:
[1] Lakhina A,Crovella M,Diot C. Diagnosing Network-Wide Traffic Anomalies[J].ACM SIGCOMM, Portland, August 2004,219-230.
[2] Barford P, HIine J, Plonka D, Ron A. A signal analysis of network traffic anomalies[J].Internet Measurement Workshop,2002,71-82.
[3] Seong Soo Kim, A. L. Narasimha Reddy. Detecting Traffic Anomalies at the Source through aggregate analysis of packet header data[OL].http://dropzone.tamu.edu/techpubs/2003/TAMU-ECE-2003-03.pdf
[4] F. Feather, D. Siewiorek, and R. Maxion, Fault detection in an Ethernet network using anomaly signature matching[J].Proceedings of ACM SIGCOMM ’93, San Francisco, CA, September 2000.
[5] 包鐵,劉渺芬.基于規(guī)則的網(wǎng)絡數(shù)據(jù)采集處理方法[J].計算機工程,2007,1:101-103.
[6] 蔣康明,張筱云,林少銳.多業(yè)務ATM網(wǎng)絡數(shù)據(jù)采集和處理系統(tǒng)研究[J].廣東電力,2008(8):39-42.
[7] 關輔興,韓嘉福,羅曉飛.基于WebGIS的網(wǎng)絡數(shù)據(jù)采集方法[J].測繪與空間地理信息,2006(10):101-104.
[8] 英創(chuàng)信息技術有限公司.基于嵌入式網(wǎng)絡模塊的通用數(shù)據(jù)采集單元,[2003-01].[OL].http://www.emtronix.com.cn.
[9] 包鐵,劉淑芬.普適計算機環(huán)境下網(wǎng)絡數(shù)據(jù)采集處理方法[J].Journal of Software, Vol.17, Supplement, November 2006, pp.219-224.
[10] P. Barford and D. Plonka. Characteristics of network traffic flow anomalies[J]. Proceedings of ACM SIGCOMM Internet Measurement Workshop, San Francisco, CA, November 2001.
[11] Lan Li and Gyungho Lee. DDoS Attack Detection and Wavelets[J]. Computer Communications and Networks, 2003. ICCCN 2003. Proceedings. The 12th International Conference on,20-22 Oct.2003 pp:421-427.
[12] 孫欽東,張德運,鄭衛(wèi)斌,胡國棟.基于時頻分析的分布式拒絕服務攻擊的自動檢測[J].西安交通大學學報.2004.12:39-42.
[13] http://www.esphion.com/pdf/ESP_WP_4_PACKET_V_FLOWS.pdf.
[14] http://en.wikipedia.org/wiki/Code_Red_II.
[15] Duffield N, Grossglauser M. Trajectory sampling for direct traffic observation. In: Gunningberg ]P, Pink S, eds. Proceedings of the ACM SIGCOMM 2000. Stockholm: ACM SIGCOMM, 2000. 271-282.
[16] 成禮智.小波的理論與應用.前言[M].科學出版社,2004.
[17] http://www.ll.mit.edu/IST/ideval/data/data_index.html.
[18] Kendall, Kristopher. A Database of Computer Attacks for the Evaluation of Intrusion Detection
Systems[J]. Masters Thesis, MIT, 1999.
[19] Lippmann, R., et al., The 1999 DARPA Off-Line Intrusion Detection Evaluation[J]. Computer Networks34(4) 579-595,2000.
[20] http://tcpreplay.synfin.net/trac/.
[21] http://fedoraproject.org/.
陳明兵(1974-),男,四川遂寧人,在讀碩士研究生,主要研究方向:網(wǎng)絡安全;
劉知貴(1966-),男,博士學位,教授,博士生導師,主要研究方向:控制理論與控制、計算機技術及其應用。