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