摘要:在深入研究網絡異常行為及異常檢測系統相關現狀的基礎上,提出了基于NB分類方法的網絡異常檢測模型,并詳細論述了該模型的工作原理。實驗結果表明該方法是有效的。
關鍵詞:網絡異常檢測;樸素貝葉斯網絡;貝葉斯分類方法
中圖分類號:TP393文獻標志碼:A
文章編號:1001-3695(2008)02-0569-03
隨著計算機網絡技術的迅猛發展和廣泛應用,網絡技術正逐步影響著人們的生活和工作方式。社會信息化程度日益增加,對網絡依賴性日益增強,目前網絡互聯領域的廣度和深度不斷擴展,開放特性不斷深化,造成越來越多的網絡系統面臨威脅。然而要想完全避免異常的發生并不現實,網絡管理人員所能做到的只能是盡力發現和察覺網絡異常,以便采取有效的措施來修復系統。
網絡異常檢測問題被定義為[1,2]:當網絡發生異常,其行為與正常狀態時不同或失調,網絡異常檢測的任務就是要尋找引起這些異常征兆的可能原因。最早用于網絡異常的方法是統計假設檢驗[3],典型的有SPRT 和LR 檢驗。Wald 證明了有效SPRT 族中一定存在一個一致最有效的貫序檢驗,該方法的缺點是突發性異常會對系統當前檢測任務的運行產生嚴重影響。LR 檢驗對于網絡異常檢測具有顯著的適用性和良好的統計性,缺點是在有限樣本的情況下,缺乏容錯能力。Iserman[4]提出基于參數估計的異常監測方法,該方法的不足在于對不確定時變#65380;變結構#65380;變參數問題難以勝任。文獻[5]提出一種基于專家系統的異常實時檢測方法,該方法對于網絡這種規模較大的系統,存在沖突消解和組合爆炸。Siraj 等人[6]在2001 年提出建立模糊知識圖和模糊規則庫來支持因果式知識推理過程,但是沒有提出具體的檢測方法和實驗結論。
文獻[7,8]首先提出了融合人工智能中的概率和符號方法來完成網絡異常檢測的思想。Forrest等人[9]將網絡異常檢測問題看做是區分自我(即正常)和非自我(即異常)的過程,提出了基于免疫模型的網絡異常檢測技術。Ghosh等人[10]利用神經絡來提取特征和分類。Wenke Lee等人[11]從數據挖掘的角度探討了異常檢測的實現問題。 這些網絡異常檢測研究均集中在針對某個單一征兆,采用單一的檢測技術,檢測思路是將征兆特征與特征庫中的特征相匹配,系統檢測性能和自適應性較差。
網絡異常檢測可以看做是一個分類問題。針對給定的網絡數據進行分類,什么樣的數據是正常的,什么樣的數據是異常的。利用貝葉斯網絡進行建模,不僅可以解決在建立網絡異常檢測模型時因無法收集所有異常樣本而導致的模型推廣性能差的問題,而且可以提高檢測率#65380;降低誤報率,提高入侵檢測系統的效率。
1網絡異常檢測模型框架
網絡異常檢測系統主要由四個組件組成:數據采集器#65380;數據分析器#65380;響應單元和知識庫,如圖1所示。
數據采集器是從網絡環境中獲得網絡數據包,并提供給系統的其他單元;數據分析器分析網絡數據并產生分析結果;響應單元對分析結果作出反應,如切斷網絡連接#65380;改變文件屬性#65380;簡單報警等應急響應;知識庫存放異常檢測模型及各種中間和最終數據,數據存放的形式可以是復雜的數據庫。網絡異常檢測的具體實施過程如圖2所示。
2基于NB分類方法的網絡異常檢測算法
2.1系統建模
網絡數據是無結構的記錄,需要將其轉換成向量模型才能進行計算。
2.2系統工作原理
基于NB分類方法的網絡異常檢測系統工作原理如圖3所示。數據處理器用來對大量的網絡記錄進行處理或轉換。貝葉斯分類器只能處理離散型數據,但網絡數據中存在許多連續型數據,因此,筆者必須將原始數據轉換成貝葉斯分類器能夠識別的離散值向量。貝葉斯分類器對這些數字向量進行分類,產生判決結果。當然,這些判決結果可以直接作為整個異常檢測系統的輸出,但是為了進一步提高整個系統的正確率,可以設定一些判定準則,如發生數目#65380;百分比等來進行最終的判定。這個過程是由決策系統完成的。
整個系統的工作分為訓練和檢測兩個階段。在訓練階段,使用已知的正常和異常網絡數據作為樣本,貝葉斯網絡學習引擎從樣本數據中學習網絡結構和參數,并存儲在知識庫中;在檢測階段,預處理器先將未知狀態的網絡數據形成離散型向量的形式,然后通過貝葉斯分類器對這些向量進行分類,將分類結果提交給決策系統作出判決。
3仿真實驗
3.1數據來源
實驗采用的數據來源于1998 年美國國防部研究局作IDS評測時獲得的數據基礎上恢復出來的網絡連接信息。該數據集共包括七周的網絡流量,大約五百萬條連接記錄,包含大量的正常網絡流量數據和上百種網絡攻擊。KDD99(knowledge discovery databases)的數據[15]是這些數據的不同版本, 本文中所用的數據就是KDD99的數據。
3.2數據預處理
由于NB分類器只能處理離散值變量,必須對網絡特征屬性中的連續型屬性進行離散化分析。在這里,離散化是指將數值屬性的值域劃分成若干子區間,每個區間對應一個離散值,最后將原始數據更新為離散值。本文采用帶權重的信息損耗離散化(weighted information-loss discretization,WILD) 方法[16]。
3.3實驗步驟
a)將經過預處理后的數據集分成兩部分,即訓練樣本和測試樣本。本文選取80%的數據作為訓練數據集,其余數據作為測試數據集。
b)訓練過程。從訓練樣本中學習出樸素貝葉斯網絡結構。
c)驗證過程。將測試樣本集中的每條記錄輸入給已經訓練好的NB分類器,通過貝葉斯公式計算每個測試實例屬于各個類的后驗概率值:
d)決策過程。根據P(C|X)的最大值來確定X最大可能的類,即測試樣本的類別。
3.4實驗結果分析
基于NB分類方法的網絡異常檢測模型的網絡結構是固定的,如圖4所示,即類節點作為根節點,其他各個特征屬性作為類節點的子節點,子節點之間是相互獨立的。
通過基于NB分類方法與其他模型的網絡異常檢測率對比(表2)來看,該方法的網絡異常檢測模型是有效的,對DoS和Probing類攻擊的檢測率均在90%以上;對U2R和R2L類攻擊的檢測效果不是很好。這主要是由于U2R和R2L類攻擊的特點是通過獲得該機器的當地訪問權限或管理員權限,從而進行獲得數據#65380;修改權限等遠程攻擊,其攻擊模式難以用網絡特征屬性來描述。
4結束語
貝葉斯分類器是一種基于概率理論的分類方法,具有良好的學習效率和分類性能,已經廣泛地用于人臉識別等許多方面。本文初步探討了它在網絡異常檢測方面的應用,提出了基于NB分類方法的網絡異常檢測模型,并利用KDD Cup99的網絡異常檢測數據集進行了仿真試驗,驗證了該算法的有效性。
參考文獻:
[1]GAVALAS D, GREENWOOD D,GHANBARI M. Advanced network monitoringapplications based on mobile/intelligent agent technology[J]. Computer Communications, 2002, 34 (23):720-730.
[2] TAGLIAFERRI R,ELEUTERI A,MENEGANTI M, et al. Fuzzy min-max neural network: from classification to regression[J]. Soft Computing, 2001, 43 (5):69-76.
[3]BASSEVILLE M,NIKIFOROV IV. Detection of abrupt changes:theory and application [M]. New York:Prentice Hall, 1993.
[4] ISERMAN R. Process fault detection based on modeling and estimation and knowledge processing[J].Automatic, 1999, 29(4):815-835.[5] BULLELL P,INMAN D. An expert system for the analysis of faults in an electricity supply network: problems and achievements [J]. Computer in Industry, 1998, 24 (37):113-123.
[6] SIRAJ A,BRIDGES S M,VAUGHN R B. Fuzzy cognitive maps for decision support in an intelligent intrusion system[C]//Proc of ISFA World Congress and the 20th NAFIPS International Conference.2001:2165-2170.
[7] GURER D,KHAN I,OGIER R,et al. An artificial intelligence approach to network fault management [EB/OL]. (2003-02-01). http://citeseer.nj.nec.com/105695.htm1.
[8] RUSSELL PNS.Artificial intelligence:a modern approach[M]. New Jersey: Prentice Hall, 1995.
[9] FORREST S, PERRELASON A S, ALLEN L, et al. Self_nonself discrimination in a computer[C]//Proc of IEEE Symposium on Research in Security and Privacy. Oakland: IEEE Computer Society, 1994:202-212.
[10] GHOSH A K, MICHAEL C, SCHATZ M. A real-time intrusion detection system based on learning program behavior[C]//Proc of Recent Advances in Intrusion Detection.Toulouse:SpingerVerlag, 2000:93-109.
[11]LEE W, STOLFO S J. A data mining framework for building intrusion detection model[C]//Proc of IEEE Symposium on Security and Privacy. Oakland: IEEE Computer Society, 1999:120-132.
[12]DUDAR O, HARTP E. Pattern classification and scene analysis [M]. New York: Wiley, 1973.
[13]PEARL J. Probabilistic reasoning in intelligent systems:networks of plausible inference [M]. San Mateo:Morgan Kaufmann, 1988.
[14]LANGLEY P, IBA W, THOMPSON K. An analysis of Bayesian classifiers[C]//Proc of the 10th National Conference on Artificial Intelligence. Menlo Park: AAAI Press, 1992: 223-228.
[15]KDD cup 1999 data[DB/OL]. http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html.
[16]李剛. 知識發現的圖模型方法[D].北京:中國科學院軟件研究所, 2001.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”