陳猛 洪偉


摘 要:本文提出了一種集成異種分類器的數據流入侵檢測模型EDKCDS(Ensemble of Different Kind of Classifiers on Data Stream),目的是在適應概念漂移的前提下,利用多個時間段的數據學習生成異種分類器,并集成各個異種分類器,檢測入侵行為,使其能達到目標類召回率和精度的平衡,并且能取得較高的分類準確率。
關鍵詞:入侵檢測;組合分類器;數據流
中圖分類號:TP393.08文獻標識碼:A文章編號:1003-5168(2018)29-0021-02
Abstract: This paper proposed a new integration approach, called EDKCDS (Ensemble of Different Kind of Classifiers on Data Stream). The purpose is to generate heterogeneous classifiers based on multi-time data learning and integrate heterogeneous classifiers to detect intrusion behavior under the premise of adapting to conceptual drift. It can achieve a balance between recall and accuracy of target class, and achieve higher classification accuracy.
Keywords: intrusion detection;ensemble;data stream
1 研究背景
當今社會已進入網絡時代,如何保障計算機系統的安全是尤為突出的問題。入侵檢測技術能保護系統免受攻擊,也能把給定數據分為正常數據和異常數據,其本質上是一個分類問題。
集成學習方法利用多個弱分類器的組合來改善算法的分類性能,同時數據流環境又有其特點,如在信用卡事務流等類似的應用中,連續產生出海量的數據,并且數據的分布會隨著時間的更迭而發生變化(概念漂移[1])。如何在海量數據流中選擇出充分的數據并訓練出分類模型以進行有效預測,正是數據流入侵檢測所要解決的難點。
本文提出一種集成異種分類器的數據流入侵檢測模型EDKCDS,該模型首先利用數據流中不同時間段的訓練樣本構造不同類型的分類器(稱為基分類器)。當對數據進行分類預測時,EDKCDS取各個基分類器的預測結果加權投票,根據表決的結果進行分類,從而發現異常數據。
2 入侵檢測的性能評價
在入侵檢測問題中,一般稱攻擊類為目標類,正常類為非目標類。評估標準可使用召回率(recall)、精度(precision)。定義如下:
3 分類方法
3.1 決策樹分類
決策樹采用自頂向下的分治方法構造。隨著樹的構造,數據集集合空間被分割成兩個或多個塊。在樹結構模型中,每個葉子節點代表一個類,而由根節點到一個葉節點的路徑則構成一類分類規則。決策樹分類模型被廣泛應用在數據挖掘和機器學習等領域。本文構造基分類器用的是C4.5算法。
3.2 樸素貝葉斯分類方法
貝葉斯分類是利用統計學知識進行分類的方法。由貝葉斯公式可知,可以利用先驗概率(Prior Probability)來計算后驗概率(Posterior Probability),而后驗概率能提供更多的信息,可以作為分類的標準。在本文中,筆者利用樸素貝葉斯算法構造基本分類器,其假定一個屬性值對給定類的影響獨立于其他屬性的值,這個假定稱作類條件獨立。
3.3 K-最臨近分類
K-最臨近分類用n維數值屬性描述一個訓練樣本,對應n維空間中一個點。當要分類一個未知樣本時,該算法會在n維空間中找出最接近未知樣本的K個訓練樣本,也稱為K個“近鄰”,根據這K個最“近鄰”進行分類。K-最臨近分類是基于類比學習的分類方法,也是一種懶散的學習法。
3.4 神經網絡分類
神經網絡模型包括輸入層、隱藏層、輸出層。每一層由若干單元組成,網絡的輸入對應元組的屬性,每個連接都與一個權值相關聯。在本文中,筆者使用后向傳播算法在神經網絡上進行學習構造,迭代地得到一組權重用于元組類標號預測。
3.5 基于eEP的分類方法
在基于顯露模式的分類方法中,EP是一個項集,其支持度從類A(B)到類B(A)顯著地增加,因此具有很好的區分能力。給定支持度和增長率閾值,基于EP的分類方法挖掘滿足支持度和增長率閾值的EP。若要對數據S進行分類,基于EP的分類方法會聚合S中的[Ci]類EP的區分能力,計算出S屬于[Ci]類的得分,根據得分高低預測S類別。本文構建基分類器采用的基于eEP的分類算法是對CAEP的改進算法CEEP[2]。
4 算法基本思想
由于數據流是不斷流入的,不可能存儲所有的數據來建立模型,而是考慮使用距離最近的[SW]個窗口的數據,為此引入了滑動窗口的機制:假設BW是一個基本窗口,對應一個數據流子序列;SW是一個滑動窗口,對應一個連續的基本窗口序列,表示為SW=bw1,…,bwi,…,bwk,在基本窗口bwi訓練得到對應的基分類器為Ci。
本文提出的集成異種分類器的數據流入侵檢測模型EDKCDS(Ensemble of Different Kind of Classifiers on Data Stream)在滑動窗口SW內訓練5個基分類器的集合E。假設初始時,EDKCDS分別使用決策樹(C4.5)、樸素Bayes(NB)、最近鄰(k-NN)、后向傳播(BP)和eEP構造分類器C1…C5。當滑動到第K+1個基本窗口時,先讓每個基分類器Ci獨立地作出預測,然后,根據基分類器Ci的F-度量計算其權重,將權重最小的基分類器Ci移出集合E,在基本窗口K+1上按照Cl的算法學習得到分類器CK+1,加入集合E,以E中基分類器加權表決的方式確定待分類樣本所屬的類。算法如下:
EDKCDS( D, E) //? 其中D:bwK+1的數據;E:基分類器集合。方法如下:
①對基本窗口BW1,BW2,BW3,BW4,BW5分別按照C4.5、NB、k-NN、BP、eEP構造基分類器C1、C2、C3、[Us]、R0。
②while (bwK+1數據到達) {
③for (Ci∈E ) { 計算Ci在[Tn2]上的F-度量;//公式(3)
計算[Ci]對應權重[wi];}
④將權重最小的基分類器[Cl]移出集合E;
⑤在D上按照[Cl]的算法學習得到分類器[CK+1],加入集合E;
[Ci]權重[wi]用式(4)計算:
5 結語
本文提出一種集成異種分類器的數據流入侵檢測模型EDKCDS(Ensemble of Different Kind of Classifiers on Data Stream)。該模型利用多個時間段的數據學習生成異種分類器,并集成各個異種分類器,檢測入侵行為。入侵檢測是現在應用領域多、研究比較熱的方向,如何找到更好的方法在海量數據流上快速分析檢測是一個值得研究的問題。
參考文獻:
[1] Widmer G, Kubat M. Learning in the Presence of Concept Drift and Hidden Contexts[J]. Machine Learning,1996(1):69-101.
[2]范明,劉孟旭,趙紅領.一種基于基本顯露模式的分類算法[J].計算機科學,2004(11):213-216.