摘要:由于相當一部分異常流量由于采用了特殊的生成機制而在結構上有別于遵循基本網絡協議的正常流量,本文提出了一種基于IP報文Identification標識字段分布識別網絡中異常流量的方法。通過CERNET網絡不同時段的IP報文檢測結果證明了該方法的準確性。
關鍵詞:Identification標識;二項分布;異常流量檢測
中圖分類號:TP393文獻標識碼:A 文章編號:1009-3044(2008)30-0576-02
Abnormal Network Traffic Detection based on Identification Mark of IP Packet
ZHOU Ming1, XU Yan2
(1.Anhui Electric Power, Hefei 230061, China ; 2.Mechanical Electrical Department, Suzhou Institute of Trade Commerce, Suzhou 215031, China)
Abstract: A new method of abnormal network traffic based on the distribution of IP packets' Identification is proposed in this paper because many of abnormal network traffics are generated by special mechanisms, which are different from the ordinary traffics created on the basic network protocols. The correctness of this method is proved by the results of IP packets detect with different time on CERNET.
Key words: identification mark; binomial distribution; abnormal traffic detection
1 引言
隨著Internet的發展,網絡流量急劇增長,由于網絡的發展具有一定的規律性,可以通過對網絡協議的分析和網絡流量的預測定義網絡流量的正常行為,當觀測所得的流量行為偏離正常時,對網絡流量的進一步分析可能發現異常的原因。目前基于網絡主干和邊界的異常流量檢測研究主要集中在流矩陣,報文分析等方面,但由于基于網絡的探測,入侵和攻擊行為也變得越來越普遍和復雜,這些方法在測量規模和粒度上不能達到很好平衡。本文提出了一種基于IP報文Identification標識字段分布的異常流量識別方法,可以以較小的代價有效地識別網絡中的
流量異常,適用于主干網絡和邊界網絡,并通過實驗驗證了其可行性。
2 問題提出
目前Internet絕大部分使用TCP/IP協議簇進行網絡傳輸,而IP協議是其中最重要也是最基本的協議。位于應用層的協議通過將服務內容切割成分片(fragment)的形式傳遞給TCP層協議,在TCP層加上相應的頭部信息又傳遞給IP層。由于在接受端需要對分片進行重組獲得完整的服務內容,而網絡的延時、擁塞和報文本身的傳輸方式都可能導致分片的亂序,所以需要對IP報文進行標識。在IP協議[1]中Identification字段用于標識該報文而區別于來自相同源宿地址對使用同一個協議的其他報文。由于該字段被定義為16bit長,也就是說它所能表示最大數目為216即65536。為保證服務的正常,網絡中必須確保來自同一IP地址使用相同協議的報文應當有其唯一的Identification標識(該標識值位于0-65535之間)。
在文獻[1]中并沒有給出Identification標識的具體取值方式,但由于規定了其取值范圍,采用不同取值方式的主機所選取的初始Identification應當是一個位于0-65535之間的隨機數且取值相互獨立,而大部分服務被分解為若干個IP報文進行傳送,在每個主機中都維護一個計數器(Counter),每發送一個IP報文該計數器加1。可以做出以下假設:
假設1 在較大規模網絡中,從宏觀的角度分析Identification標識的取值是近似均勻分布的。
經過大量實驗證明,在絕大多數情況下,Identification標識是近似均勻分布的,有關實驗的驗證將在下節中具體介紹。在假設1的基礎上,根據Identification標識的選取方式可以做出相關結論如下:
引理1 在較大規模的網絡中用于正常服務的IP報文的Identification標識是近似服從參數為n,p的二項分布,其中n為65536,p為0.5。
證明:由于每個源主機所發送的Identification標識是隨機或者采用一定的機制選取的,而每個源主機選取的方式是相互獨立的。設每個IP報文所對應的Identification為隨機取以下值之一:X1=0,X2=1,…,Xn=n-1(n為65536),它們的取值服從同一(0-1)分布,其分布率為:
已知X1+X2+……+Xn服從二項分布,那么比較容易證明X是近似服從參數為n,p的二項分布。
分異常IP報文,它們的主要來源之一是人為構造的攻擊報文。這些異常IP報文和正常IP報文共同構成了網絡中存在的IP報文。
引理2 在網絡中實際觀測到的IP報文Identification標識的分布應當是正常IP報文分布和異常IP報文分布的疊加。
因此,可以通過區分這兩部分分布,有效地識別網絡中可能存在的流量異常,為其他檢測方法(如報文分析)提供預警,從而為網絡行為分析、入侵檢測等提供必要的依據。
3 基于標識字段的異常檢測方法
本文基于IP報文Identification標識的角度將IP報文分為正常IP報文和異常IP報文,整個網絡的流量也是由其分別對應的正常流量和異常流量構成的。從較大規模網絡(主干網絡和部分局域網)的角度分析,正常IP報文Identification標識的分布規律由引理1可知近似為二項分布,而異常報文的分布具有隨機性和多樣性,也就導致了其的不可預測性。但是根據引理2,可以通過繪制網絡流量曲線并從中分離出正常流量,就可以得到目前網絡中異常流量的曲線,然后對這些流量的進一步分析就可以獲得或部分獲得流量異常的原因。
將獲取的所有IP報文不同Identification標識數量的非空有限集合定義為P, 則根據IP協議的定義可知:,其中隸屬于正常IP報文的集合定義為 ,異常IP報文的集合為Pb,P=PaUPb。
根據引理1可知,在集合Pa中j應服從參數為(na,0.5)的二項分布,則集合中的元素pa(x)的值應當基本等于其均值。采用報文總數n乘以一個預定義的比例r來估計正常IP報文的數量,由于在非極端情況下,正常IP報文數量占報文總數量的絕大多數,所以r值的估計偏差比較小,還可以根據網絡當前的狀況動態地調整r的取值。這樣就可以從IP報文集合里分離出正常IP報文集合,從而獲得異常IP報文結合,然后根據異常IP報文集合中元素的分布狀況給進一步分析提供依據。
對異常IP報文的分析,主要通過定義一個閾值(Fthreshold)來將可能存在的網絡異常流量從其他原因所引起的噪聲區別出來,這個閾值可以設定初始值然后根據識別結果動態修正。
基于IP報文Identification標識的異常流量發現算法
通過大量的實驗證明,在一般情況下,異常IP報文的Identification集中在0附近,有時還出現個別標識的報文數量偏移平均值較遠。
4 流量行為的實例分析
針對CERNET主干網絡的長期觀測結果顯示,在大多數情況下,Identification標識的分布是十分均勻的,具有某個特定Identification值的IP報文數量均在基于標識的平均報文數量附近。從整個分布曲線來看,IP報文數是圍繞平均值作平穩的小幅振動,這也證實了第2節所提出的假設1。
觀測結果還發現,在所有觀測時段中,Identification標識為0的IP報文數量遠遠高于平均值,這與文獻[2]中實驗觀察結果相一致,這不符合正常IP報文均勻分布這個論斷,所以在標識為0的IP報文中有可能大量存在非正常報文。對Identification標識為0的IP報文進行分析發現,有大量相同源宿IP和相同端口的IP報文在短時間內重復出現,所以導致了標識為0的IP報文數量大大超過平均值,在剔除了這些異常報文之后,所剩的IP報文數量非常接近于平均值。由此可見,標識為0的IP報文數量異常的主要原因是因為大量存在這些異常IP報文。對實驗觀測所得的其他標識的IP報文數量異常進行進一步分析,發現結果與此相類似。在實驗中還發現相當數量的來自同一源IP和源端口對應不同宿IP的相同宿端口的IP報文,這是典型的掃描攻擊的表現。
本文對不同時段在CERNET主干網采集的IP報文進行分析(每個時段持續10分鐘),分析所得報文分布曲線如圖1所示。
選取參數r=0.98, 獲得各個時段對應正常報文集合Pa,并從總體IP報文集合中去除正常IP報文集合獲得異常報文數量分布曲線如圖2所示。
采用初始閥值Fthreshold=1,除去了可能存在的網絡其他噪聲后,可以得到在Identification標識為若干特定值的IP報文中可能存在相當數量的異常報文,從而為進一步的報文分析提供預警。實驗數據顯示,在2007年8月17日01:00和2007年8月21日22:00在網絡中存在一定的流量異常。
5 結束語
本文提出了一種新型的基于IP報文Identification字段進行網絡異常流量發現和分析方法,該方法的主要優點在于算法簡單,所占用的系統資源較小,誤報率低,可以較方便地嵌入到目前流量檢測工具中和其他報文分析方法及工具結合使用等等。但是由于其觀測的對象所限,該方法并不能有效地發現偽裝成正常IP報文的異常流量,它必須和其他報文分析工具配合使用才能達到最佳的效果。
參考文獻:
[1] DARPA Internet Program Protocol Specification.Internet Protocol. Information Sciences Institute University of Southern California.1981(RFC791).
[2] 程光.大規模高速IP網絡流量抽樣測量及行為分析研究[D],東南大學博士論文,2003(1):41-44.
[3] 程光,龔儉,丁偉.基于抽樣測量的高速網絡實時異常檢測模型[J],軟件學報,2003,14(3):594-599.
[4] 鄒柏賢.一種網絡異常實時檢測方法[J],計算機學報,2003,26(8):940-947.
[5] 高艷,管曉宏,孫國基,等.基于實時擊鍵序列的主機入侵檢測[J],計算機學報,2004,27(3):396-401.
[6] 徐永紅,楊云,等.基于權重包標記策略的IP跟蹤技術研究[J],計算機學報,2003,27(11):1598-1603.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文