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