靳燕 姚悅
1 引言
面對日益嚴峻的網絡安全問題,各種安全防御技術已被提出并得以應用。以防范和自我保護為主的被動保護方式,主要包括數據加密、安全路由、訪問控制、報文鑒別等,其在有效防范網絡攻擊上雖有重要作用,但缺少實時發現攻擊行為的能力。入侵檢測系統通過采集主機審計數據和網絡全局流量,來實現關鍵點的實時監控,并依靠檢測分析引擎來發現異常行為,與其他安全技術可有效互補,共同為網絡系統提供安全保障[1]。
檢測分析模塊的構建是入侵檢測技術實施的關鍵,傳統方式下的人工編碼,對專家領域知識依賴大,存在效率低、適應性差、不易擴展等缺點。數據挖掘技術用于入侵檢測分類建模中,可從訓練數據集中自動提取攻擊模式,生成分類模型,有效改善了分類建模效率,提高了分類檢測準確率。分類模型可以判定用戶行為是否異常,在兩類行為的區分認識上,不同算法的處理方式不同。常用的分類算法包括NaiveBayes[2]、RIPPER[3]、SVM(支持向量機Support Vector Machine)[4]等。
Boosting方法屬性能提升算法[5],通過多次迭代來改善基分類器的分類性能,本文將NaiveBayes、RIPPER和SVM作為Boosting方法的基分類算法,在KDD CUP99數據集上加以應用,通過分類結果的相關性能比較來分析Boosting算法的提升效果,并進一步給出更適合于KDD CUP99的基分類算法。
2 分類算法原理分析
分類屬數據挖掘中的預測任務,是根據其他屬性值來預測離散的目標屬性值。在KDD CUP99中,目標屬性是class,取離散的23種類型。分類之前,需要事先產生一個分類模型,不同分類算法學習到的分類模型也不同。
2.1 NaiveBayes算法原理分析
NaiveBayes為貝葉斯分類的一種,其基于統計學原理,通過事件的先驗概率,來獲得事件可能所屬每類的后驗概率,選最大后驗概率的對應類作為該事件的所屬類。
對于KDD CUP99數據集,NaiveBayes引入條件概率來量化數據集的樣本類序列中,出現某類攻擊事件的概率,該條件概率記為P(Itr | Evt),Evt表示樣本類序列,Itr表示某類攻擊事件。使用Bayes公式可得出P(Itr | Evt)的值,如公式(1)所述:
P(Itr | Evt) = P(Evt | Itr) P(Itr)/ P(Evt)(1)
P(Evt) = P(Itr) * P(Evt | Itr) + P(┐Itr)* P(Evt | ┐ Itr) (2)
公式(1)的P(Itr)為先驗概率,可依據領域專家經驗或數據集的樣本分布來給定。P(Evt | Itr)為給定攻擊下的事件序列的條件概率,系統全部事件構成了每個攻擊的事件序列,進而可算出構成給定攻擊的事件序列占全部攻擊事件序列的相對概率,即為P(Evt | Itr)。同樣,可算得P(Evt | ┐ Itr)的條件概率。
應用公式(1)和(2),算得P(Itr | Evt)的值,反映了事件序列中存在攻擊事件的可能程度。攻擊檢測中,將取最大P(Itr | Evt)值所對應的Itr作為檢測類別。
NaiveBayes以屬性相獨立為前提,在屬性相關較小的數據集上的性能較好。當屬性相關較大或屬性較多時,NaiveBayes的分類效果下降。
2.2 RIPPER算法原理分析
RIPPER屬基于規則的分類算法,通過樣本學習可產生類似if cndt1 then class1 elseif cndt2 then class2,…,else default的規則集。if部分為某類的判定條件,then部分為預測類,default為算法定義的默認類。
在兩類問題中,RIPPER選擇多數類為默認類,學習少數類的分類規則。在多類問題中,依據類別出現頻率的大小,按小到大進行排序,設排序后的類別序列為class1, class2,…, classn,class1代表了極少發生的類,classn為最頻繁發生的類,是RIPPER定義的default。
對于KDD CUP99,RIPPER按類別出現頻率遞增產生類別序列,并按此順序為每個類別尋找檢測規則,class1的檢測規則應可將class1與 {class2,…, class23 }相區分,依此產生其他類別的檢測規則。在對用戶行為進行檢測時,仍按規則順序進行匹配,匹配項對應的類別即為檢測類別,沒有滿足的規則時,就檢測為default。
RIPPER算法的類別序使得出現頻率極小的類在預測時得以關注,在不均衡類分布的數據集中[6],其分類性能往往優于其他算法。
2.3 SVM算法原理分析
SVM按線性方程式的求解來對待分類問題,通過尋找類間超平面來實現分類模型的構建。超平面選取基于了結構風險最小化的理論,在樣本的特征空間中,尋找最優的分割超平面,進而產生最優分類器。針對線性不可分的情況,SVM通過引入核函數可將樣本空間轉為高維空間下的線性可分,在分類以及回歸等數據挖掘任務中得到廣泛應用。對于KDD CUP99數據集,SVM將樣本按向量對待,通過求解線性方程的參數,來確定類別的支持向量。
2.4 Boosting算法原理分析
Boosting算法通過多輪迭代以產生一個用于分類預測的函數系列,并結合權重加以組合共同決策,進而改善原有弱分類算法的分類準確度。
將迭代次數記為T次,可產生出T個簡單分類器。每個簡單分類器的分類準確度,通過其發言權加以表達。在進行預測時,T個簡單分類器的加權組合將是最終的分類結果。
3 分類建模及結果分析
3.1 參與分類建模的數據樣本
KDD CUP99網絡攻擊數據集共包含42個屬性,樣本分屬23個類別[7],同類別的樣本實例數量差別極大。本文從KDD CUP99_10%中無放回隨機抽樣,抽樣比例為10%,樣本分布如表1所示。
3.2 參與建模的分類算法及結果比較
本文選用Boosting算法中較具代表性的AdaBoost算法進行模型構建,選用的基算法為:NaiveBayes、RIPPER和SVM。為較直觀的分析Boosting算法的性能提升效果,依次與三類算法產生的單個分類模型進行指標比較。表2、表3和表4分別為單算法和基于該算法的AdaBoost的分類結果(以/作為兩算法的分隔)。
本文做兩類比較。(1)三個基算法間的分類比較。表2、表3和表4的單分類器產生的分類結果中,對數量較多的Normal、Neptune和Smurf,NaiveBayes不及RIPPER和SVM;對極小量的類,RIPPER優于SVM和NaiveBayes,中間類的分類效果較為相似。(2)基算法與AdaBoost算法的分類比較。比較每張表中的基算法與AdaBoost算法的結果,AdaBoost對NaiveBayes的提升無效,對RIPPER和SVM的分類效果改善明顯。
本次所選樣本共包含49402條,使用三類基算法NaiveBayes、RIPPER和SVM的建模耗時依次為:0.33秒、24.77秒和4.54秒;使用AdaBoost后,耗時均有所增加,依次為:79.92秒、179.45秒和72.81秒。
4 結束語
本文圍繞入侵檢測系統的檢測分析模塊的構建方法,分析了Naive Bayes、RIPPER、SVM和Boosting的相關原理,并在KDD CUP99的部分數據上進行分類建模。從實驗分類結果及耗時上做總體比較:RIPPER對KDDCUP 99的總體分類效果較好,尤其在小類分類上表現極佳,但規則學習過程花費時間較長;使用Boosting(本文以AdaBoost算法為代表)后,對基分類的性能改善明顯,但同樣存在建模耗時的問題。針對KDD CUP99的分類學習問題,據本文的實驗結論,可從分類的具體目的出發,如重視哪些類的分類性能、對建模效率有無要求等因素綜合考慮,選取合適的算法。在不考慮分類效率的前提下,可選用基于RIPPER的Boosting算法,既可以提高小類的分類性能,對其他類的分類也較好。
參考文獻
[1] 靳燕.檢測未知攻擊的數據預處理算法研究[J].山西師范大學學報(自然科學版),2013,27(4):23-26.
[2] 韓紹金,李建勛.基于密度核估計的貝葉斯網絡結構學習算法[J].計算機工程與應用, 2014 (15): 107-112.
[3] Seerat B, Qamar U. Rule induction using enhanced RIPPER algorithm for clinical decision support system[C]//Intelligent Control and Information Processing (ICICIP), 2015 Sixth International Conference on. IEEE, 2015: 83-91.
[4] Moraes R, Valiati J F, Neto W P G O. Document-level sentiment classification: An empirical comparison between SVM and ANN[J]. Expert Systems with Applications, 2013, 40(2): 621-633.
[5] 李詒靖,郭海湘,李亞楠等.一種基于Boosting的集成學習算法在不均衡數據中的分類[J].系統工程理論與實踐, 2016(1):44-47.
[6] 靳燕,彭新光.折中規劃分類性能的少數類誤分代價優化設計[J/OL].計算機工程與應用, 2016 http://www.cnki.net/kcms/detail/11.2127.TP.20160414.1542.044.html.
[7] 張新有,賈磊.入侵檢測數據集KDD CUP99研究[J].計算機工程與設計,2010,(22):56-59.
基金項目:
1.山西省自然科學基金資助項目(編號No.2010011022-2);
2.山西大學商務學院科研基金資助項目(編號No.2014010)。
作者簡介:
靳燕(1982-),女,碩士,山西大學商務學院信息學院,講師;主要研究方向和關注領域:網絡安全、數據挖掘。
姚悅(1993-),女,學士,英大商務服務有限公司,初級工程師;主要研究方向和關注領域:數據分析。