侯瑩,陳文勝,王丹寧,程陳,牛詩川,姬瑤
(中國地震局第二監(jiān)測中心,西安710054)
隨著網(wǎng)絡技術的快速發(fā)展,如何維護通信網(wǎng)絡安全成為人們關注的重點,入侵檢測已經(jīng)成為一種重要手段。入侵檢測是一種安全機制,通過檢測網(wǎng)絡行為,識別網(wǎng)絡通信中的異常訪問,并及時給予告警響應[1]。目前網(wǎng)絡技術和通信設備的廣泛應用,導致大量的數(shù)據(jù)被記錄,由于數(shù)據(jù)信息的高維復雜性,增加了入侵檢測的難度。為解決數(shù)據(jù)的維度災難問題,許多研究者考慮對數(shù)據(jù)特征維度進行特征提取,剔除冗余和噪聲數(shù)據(jù)[2-3]。
近年來,基于特征選擇技術和分類器集成技術進行入侵檢測模型構建方式被廣泛研究[4-8]。特征選擇技術能夠選擇出最優(yōu)特征子集,提高模型的檢測性能。由于每種特征選擇算法的側重點不同,各種集成特征選擇方法相繼被研究[2]。而且集成或者混合檢測模型的構建方式能夠有效避免單個分類器出現(xiàn)的問題,能夠提高檢測模型的分類性能[4,9-10]。
本文提出了一種基于集成特征選擇的入侵檢測模型,首先采用集成方式選擇出最佳的特征子集。其次構建多個分類器模型,采用多數(shù)加權投票原則確定最終的決策判斷。經(jīng)實驗證明,此模型通過集成特征選擇方式能提高訓練效率和縮短訓練時間,并在多個檢測評價指標上有所提升,能夠有效地提高檢測模型的分類性能。
每種特征選擇算法的側重點不盡相同[11],本文提出的集成算法結合了基于相關性特征選擇(CFS)算法和基于互信息(MI)兩種算法。其中,CFS 算法能全面考慮特征與特征之間的關聯(lián)程度,而MI 算法考慮特征和類標之間的依賴關系。
本文所提出的集成特征選擇方法的工作過程如下:
(1)每種特征選擇算法執(zhí)行后可以得到各自的特征等級序列,按特征重要程度可以劃分為三個子集:非常有用、有用和無用的特征。因此,執(zhí)行CFS 算法可以得到三個等級序列子集:C1、C2 和C3,同理執(zhí)行MI 算法可以將特征序列分為三部分:M1、M2 和M3。其中C1 和M1 集合的特征包含重要的分類信息,是不能剔除的,否則會影響算法的精度;C2 和M2 集合相比于無用特征對于類型的檢測識別來說是比較重要的,應該被選擇;C3 和M3 集合特征對于分類檢測是沒有重大幫助,應該被剔除以提高處理速度和精度。
(2)對六個特征子集進行并或交運算,整合出新的特征子集。首先將C1 和M1 進行合并,得到非常有用的特征子集Union;其次C2 和M2 進行交操作得到有用的特征子集Inter;最后刪除C3 和M3 所包括的無用特征,由于這些特征增加了模型訓練的時間但并沒有提高模型的檢測精度。
(3)進一步合并Union 和Inter 兩個特征集合,能夠選擇出多個重要特征,并依此對訓練集和測試集數(shù)據(jù)進行特征篩選。
所提出的入侵檢測模型除了對特征選擇算法進行研究,還構建了一種多分類方法。基于特征提取后的數(shù)據(jù)集構建出支持向量機(SVM)、決策樹算法(DT)和K-近鄰算法(KNN)三個分類器,并采用多數(shù)投票算法構建入侵檢測模型。其中SVM 分類器的γ值取樣本類別數(shù)目的倒數(shù)。KNN 分類器的k 設定了默認值5,選擇歐幾里得作為距離判斷標準。
本文提出的基于集成特征選擇的入侵檢測模型流程圖如圖1 所示,從圖中可以看出,模型的工作過程可以劃分為四個部分:①對原始數(shù)據(jù)的預處理過程;②數(shù)據(jù)特征選擇過程,并產(chǎn)生重要特征集合;③集成分類模型的訓練;④基于測試數(shù)據(jù)集進行模型性能檢測。
圖1 入侵檢測模型流程圖
UNSW-NB15 數(shù) 據(jù) 集[12]不同于 KDDCUP99 數(shù)據(jù)集,是一個基于真實正常行為和人為造成攻擊的混合數(shù)據(jù)集。通過研究可以統(tǒng)計出,NUSW-NB15 的數(shù)據(jù)樣本共有49 個特征,其中標簽特征Label 取值0 和1,分別對應正常樣本和攻擊樣本。
用于本文實驗的數(shù)據(jù)集包括:訓練集UNSWNB15 Training Set 和測試集 UNSW-NB15 Testing Set,其中訓練集有175341 條數(shù)據(jù),測試集有82332 條數(shù)據(jù)。而且數(shù)據(jù)集滿足以下3 點:①訓練集和測試集之間沒有任何冗余數(shù)據(jù);②訓練集和測試集的分布基本一致;③訓練集中出現(xiàn)的攻擊類型均在測試集中包含。
通過分析可知,該數(shù)據(jù)集中包含了多個不相關和冗余的特征,會在一定程度上降低檢測模型的性能,為此在實驗時首先進行以下數(shù)據(jù)預處理操作:
(1)去除多余特征:特征id 只是簡單的序號,去除。
(2)名詞性特征數(shù)值化:NUSW-NB15 數(shù)據(jù)集中有多個屬性為符號性變量:包括特征proto、service、state、attack_cat,對其數(shù)值化處理:proto 屬性數(shù)值化為:0-130;service 數(shù)據(jù)化為:0-12;state 數(shù)值化為:0-6;attack_cat 數(shù)值化為:0-9。
(3)采用 z 分數(shù)轉換,將特征值進行標準化:NUSW-NB15 數(shù)據(jù)集中有多個屬性維度之間差異度較大,會產(chǎn)生難以聚類的問題,包括 sload、stcpb、dtcpb、rate、dbyte、sbyte 等特征。對其進行 z 標準化,統(tǒng)一量綱。
入侵檢測模型性能的好壞需要一個定量的評價標準,本文選用了五個評價指標,從不同的角度對所提出的基于集成特征選擇的網(wǎng)絡入侵檢測模型進行性能評價。每個評價指標的計算公式如下:
準確率:
召回率:
精確度:
F 分數(shù)(又稱調(diào)和平均數(shù)):
G 平均:
其中,公式(1)-(5)中的 TP 和 TN 分別表示正陽性(表示預測結果和實際樣本均為攻擊類型的樣本個數(shù))和正陰性(表示預測結果和實際樣本均為正常類型的樣本個數(shù)),F(xiàn)P 和FN 分別表示假陽性和假陰性。假陽性是指將正常類型錯誤識別為攻擊類型的樣本個數(shù),假陰性是指檢測模型將攻擊類型錯誤識別為正常類型的樣本個數(shù)。
為更加全面的驗證所提出的基于集成特征選擇的網(wǎng)絡入侵檢測模型的有效性,本文設計了以下兩組實驗,從兩個不同的角度對模型性能進行驗證。
驗證集成選擇的特征數(shù)量對入侵檢測模型性能的影響。
本文所提出的模型涉及到特征選擇的數(shù)量,為展示特征數(shù)量與分類準確率之間的關系,通過選擇不同的交并參數(shù),產(chǎn)生了從18 到42 不同特征個數(shù),在不同特征數(shù)量下檢測模型的分類預測性能如圖2 所示。在圖中用灰色的不同標記展示每種模型的平均指標,從圖中可以看出,本文所提出的模型在不同特征子集下的性能均優(yōu)于其他模型。決策樹模型(DT)的曲線變化波動比較大,原因可能是其算法本身選擇信息增益為決策準則,選取的特征數(shù)量對其影響比較大。
此外,分析每個方法隨著特征數(shù)量的變化曲線,可以看出進行特征選擇之后,每種模型的準確率均有所提升,說明通過使用集成特征選擇算法可以提高入侵檢測模型的檢測性能。
圖2 特征數(shù)量與準確率關系圖
從多個性能指標層面分析模型的性能。
不同算法的指標平均統(tǒng)計結果見表1 所示,每個指標值均是多種特征數(shù)量情況下實驗的平均值。通過對表1 中數(shù)據(jù)分析可知,本文所提算法在五個指標上有1%到28%不等的提升,特別是在F 分數(shù)和G 平均這兩個綜合性評價指標上提升比較明顯,這說明本文所提出的模型具有良好的性能,能有效地識別異常。
表1 各種算法多性能比較
為了更加直觀地展示模型的性能,選用直方圖來顯示四個檢測模型的整體性能,每個算法在每個指標下的指標對比如圖3 所示。從圖3 中可以看出來,本文所提出的模型(純灰色區(qū)域)的指標值均高于其他算法,進一步說明本文所提出的模型檢測性能均優(yōu)于其他模型。
圖3 多算法多性能對比圖
本文提出一種基于集成特征選擇的入侵檢測模型。該模型能有效處理高維、復雜的不平衡數(shù)據(jù)分類問題,并采用集成的特征選擇算法避免了單一方法的局限性,提高了模型的檢測性能。在今后的工作中,在特征選擇算法的選擇上需要進行研究,通過引入二叉樹結構設計,對真實網(wǎng)絡流量數(shù)據(jù)進行研究,進一步應用到實際網(wǎng)絡異常檢測過程中。