汪世義
(巢湖學院信息工程學院,安徽 巢湖 238000)
基于機器學習的入侵檢測方法研究
汪世義
(巢湖學院信息工程學院,安徽 巢湖 238000)
入侵檢測技術是幾年來快速發(fā)展的一種動態(tài)的網絡安全技術,應用機器學習方法處理入侵檢測問題,是把它對應成一個模式識別與分類問題來處理的。因此討論幾種機器學習的分類方法的原理,為下一步把機器學習算法應用到入侵檢測系統(tǒng)中提供了相關的思路與方法。
網絡安全;機器學習;入侵檢測
網絡安全防護體系中,入侵檢測是一種動態(tài)的主動防護技術,能在網絡及其系統(tǒng)受到攻擊時提供實時安全保護,這些攻擊行為包括內部或外部攻擊行為以及誤操作,入侵檢測技術的應用能在主機或網絡系統(tǒng)受到危害之前對相應入侵行為進行攔截并作出相應處理,目前把機器學習算法應用在入侵檢測技術中是一個研究的熱點問題。
機器學習是從大量的和數(shù)據(jù)中自動或半自動地尋找模式的過程,而且這個模式必須是有用的;而學習可理解為:當事物以令其自身在將來表現(xiàn)更好為標準來改變其行為時,它學到了東西。作為一個快速發(fā)展的新的交叉學科,它與多學科聯(lián)系緊密,成為人工智能的一個重要分支。把數(shù)據(jù)挖掘的相關理論應用到入侵檢測系統(tǒng)中,是基于機器學習理論的入侵檢測技術和方法的重要體現(xiàn)。這個過程主要包括三個方面:一是對從主機或網絡獲取的入侵或正常的特征數(shù)據(jù)進行特征提取或行為分析;二是對獲取的不同類別的數(shù)據(jù)進行學習;三是利用入侵檢測決策支持系統(tǒng)對獲取的數(shù)據(jù)進行深層次地分析與判斷。在這個過程中,選用的機器學習算法主要是對不同的分類的特征數(shù)據(jù)進行了自適應調整。
從本質上來說,機器學習方法在入侵檢測問題中的主要應用,是把它對應成一個模式識別與分類的問題來進行處理,主要是對系統(tǒng)的正常行為和異常行為作出分類,其中分析的數(shù)據(jù)包括網絡流量特征和相關的主機審計信息記錄[1-3]。因此下面討論幾種機器學習的分類方法在入侵檢測中的應用,是一項很有意義的工作。
樸素貝葉斯分類器是產生概率估計來替代類預測的。對于每個類值,它們都是估計某個實例用于屬于這個類的概率。前提是給定其他屬性的值,所估計的是類屬性的條件概率分布。Bayes網絡是變量集合的連接概率分布的圖形模型,可用來挖掘和發(fā)現(xiàn)數(shù)據(jù)間的內在關系[4]。
P中的每一元素為數(shù)據(jù)變量Xi的條件概率密度表示為p(Xi|Pai,ζ)。則由概率的鏈規(guī)則得
這樣對于任一數(shù)據(jù)變量Xi,一定可以找到一個與Xi條件都不獨立的最小子集使得
此時,πi中的變量就為Bayes網絡中的Xi的父結點,所以
由(S,P)就構成了一個Bayes網絡。
2.1.1 Bayes網絡的學習
Bayes網絡的學習的過程[4]就是建立一種學習算法,主要是定義兩個組成部分:一個是基于某個數(shù)據(jù)集的網絡進行評估的評估函數(shù),另一個是在所有的可能的網絡空間中搜索的搜索方法。Bayes網絡的學習是要找出一個網絡模型,數(shù)據(jù)庫中各數(shù)據(jù)變量之間的依賴關系能在這個模型中能夠最理想地表現(xiàn)。例如對一個數(shù)據(jù)變量集記為,對于每一個Xi,它的值域為。D為數(shù)據(jù)樣本,其中的元素Ci則稱為一個事例。Dl為l-1個事例集。數(shù)據(jù)樣本D由Bayes網絡結構S所產生的事件記為Sh。Bayes網絡的學習過程也就是找出后驗概率p(Sh|D,ζ)最大的Bayes網絡結構S的過程,主要是根據(jù)數(shù)據(jù)樣本D和先驗知識ζ來實現(xiàn)的。由Bayes概率公式得:
樣本D的先驗概率p(D|ζ)不依賴于網絡結構S,所以只需找出聯(lián)合概率p(Sh,D|ζ)最大的網絡結構S。記先驗概率的參數(shù)變量:
2.1.2 貝葉斯分類器
貝葉斯分類算法是一類利用概率統(tǒng)計知識進行分類的算法,如NB(Na?ve Bayes)算法,這些算法是主要利用Bayes定理來預測一個未知類別的樣本屬于各個類別的可能性即概率大小。選擇其中可能性最大的一個類別作為該樣本的類別歸屬。換句話說,貝葉斯分類器就是利用貝葉斯公式需要很強的獨立性假設為前提,由對象的先驗概率得到對象的后驗概率,然后以最大后驗概率確定對象所屬的類別,然而這種獨立性的假設在實際情況中經常是不成立的,因而對其分類準確性產生影響,因此在應用中如何設計降低獨立性假設的Bayes分類算法是值得研究的問題。
決策樹從某種意義上來說相對于是對原決策表規(guī)則集的一個樹型表示,創(chuàng)建一個規(guī)則對應其中的每個葉子結點,而每個分割都成為一條規(guī)則中的一個條件,所以只要采用某種搜索規(guī)則對生成的決策樹進行搜索,就可以得到一個規(guī)則集。決策樹歸納學習算法中ID3算法通過對一個樣例集使用屬性信息熵增益進行學習生成一棵判定樹[4]。從根結點開始,在每個結點處選擇一個屬性C,需要檢查每個記錄上對應于C的屬性值計算剩余熵,時間復雜度和決策樹中葉結點的最大數(shù)目、屬性個數(shù)和屬性最大可能的屬性值個數(shù)相關,基于剩余熵的屬性排序策略使生成的決策樹越小越好在ID3算法中得到應用。
定義1 如果根據(jù)一個屬性把一個元素集T劃分為不相交子集合C1,C2,…,Ck,那么Info(T)=I(P)是識別T中元素的類屬所需要的信息,其中P是劃分(C1,C2,…,Ck)的概率分布
定義2 如果先依據(jù)非分類屬性X將T劃分成互不相交的子樹T1,T2,…,Tn,那么識別Ti中元素的類屬所需要的信息的權平均就成為T中元素的類屬所需要的信息。權平均表示為:
定義3 屬性X信息墑增益Gain(X,T)為識別T中元素的類屬所需要的信息與獲取屬性X值后識別T中元素的類屬所需要的信息之差,記為:
ID3算法以屬性的信息墑增益進行決策樹新結點的構造,采用遞歸的方法對全部候選屬性進行比較,構建決策樹的過程中,選擇從根結點到當前結點未被選擇而且屬性信息墑增益最大的結點作為新結。這種決策樹中規(guī)則相對于粗糙集算法生成的規(guī)則來說,由于搜索和匹配路徑的唯一性,算法效率較高,但漸近式學習的問題成為這一算法在應用中的問題之一。
首先討論了入侵檢測作為一種快速發(fā)展的動態(tài)網絡安全技術,提出了把機器學習算法應用在入侵檢測中進行分類,是把入侵檢測對應成一個模式識別問題來進行處理的;然后主要詳細討論和分析了Bayes網絡的學習和貝葉斯分類算法以及決策樹學習算法作為分類器的基本原理,為后繼的研究進一步把機器學習方法更好地應用在入侵檢測中做了一定的前期準備工作。
[1]張義榮,肖順平,鮮明,等.基于機器學習的入侵檢測技術概述[J].計算機工程與應用,2006,(2)∶7-10.
[2]楊善林,倪志偉.機器學習與智能決策支持系統(tǒng)[M].北京∶科學出版社,2004.
[3]朱芳芳,李志華,王士同.改進的WSVM入侵檢測方法[J].計算機仿真,2008,(11):157-159.
[4]董琳,邱泉,于曉峰,等.數(shù)據(jù)挖掘實用機器學習技術[M].北京∶機械工業(yè)出版社,2006.
A RESEARCH OF INTRUSION DETECTION METHOD BASED ON MACHINE LEARNING
WANG Shi-yi
(School of Information Engineering,Chaohu College,Chaohu Anhui 238000)
Intrusion detection is a kind of dynamic network security technology which has developed quickly in recent years.Appling the machine learning methods to the intrusion detection is a way of treating it as a pattern recognition and classification problem to deal with.Therefore,discussing the principles of classification of several machine learning methods can provide relevant ideas and methods for the following application of machine learning algorithm to the intrusion detection.
network security;machine learning;intrusion detection
TP393
B
1672-2868(2015)06-0025-03
責任編輯:陳 侃
2015-07-11
安徽省高校省級自然科學研究項目(項目編號:KJ2012Z266);安徽省省級教學研究項目(項目編號:2014jyxm331);巢湖學院博士科研啟動基金資助項目
汪世義(1974-),男,安徽桐城人。巢湖學院信息工程學院,副教授,博士。研究方向:模式識別與智能計算。