王文濤,湯婕,王嘉鑫
(中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院&湖北省制造企業(yè)智能管理工程技術(shù)研究中心,武漢 430074)
信息時(shí)代下,網(wǎng)絡(luò)與信息安全的可靠性愈發(fā)的得到大家的重視,入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)被公認(rèn)為是防火墻后的第二道網(wǎng)絡(luò)安全閘門,在網(wǎng)絡(luò)信息安全領(lǐng)域發(fā)揮著重要的作用.IDS根據(jù)輸入數(shù)據(jù)的來源可分為:基于主機(jī)的入侵檢測(cè)系統(tǒng)(Host Intrusion Detection System,HIDS)和基于網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)(Net Intrusion Detection System,NIDS)[1],以下將主要討論NIDS的入侵檢測(cè).
現(xiàn)階段NIDS分為兩種:誤用檢測(cè)(Misuse detection)系統(tǒng)和異常檢測(cè)(Anomaly detection)系統(tǒng)[2].誤用檢測(cè)系統(tǒng)是基于已知特征和模式的知識(shí)來檢測(cè)攻擊,這些特征和模式可以統(tǒng)稱為signature[3].但隨著網(wǎng)絡(luò)傳播速度不斷提高,數(shù)據(jù)維度急劇增加,傳統(tǒng)入侵檢測(cè)系統(tǒng)無法及時(shí)提取有用屬性并做出檢測(cè)判決,造成了誤警率高、檢測(cè)率低的問題[4].
將機(jī)器學(xué)習(xí)應(yīng)用到NIDS已成為近年來網(wǎng)絡(luò)安全領(lǐng)域的研究熱點(diǎn).余等[5]研究了融合粒子群算法和支持向量機(jī)的網(wǎng)絡(luò)入侵檢測(cè)技術(shù).前者通過采用粒子群優(yōu)化算法確定懲罰參數(shù)C和核寬度參數(shù),排除特征集噪聲干擾,優(yōu)化了支持向量機(jī)迭代過程.任等[6]利用K近鄰離群點(diǎn)檢測(cè)算法,先將大量數(shù)據(jù)集分離出小規(guī)模且高質(zhì)量的訓(xùn)練集,再通過多層次的隨機(jī)森林分類器,實(shí)驗(yàn)發(fā)現(xiàn)該方法可以有效檢測(cè)Probe攻擊.
現(xiàn)實(shí)的網(wǎng)絡(luò)流量數(shù)據(jù)存在大量冗余特征,對(duì)冗余特征進(jìn)行分析通常會(huì)占用大量?jī)?nèi)存和計(jì)算資源[7].因此,對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行特征提取是構(gòu)建有效模型的關(guān)鍵.此外,張等[8]研究發(fā)現(xiàn)對(duì)大量的特征訓(xùn)練會(huì)導(dǎo)致分類算法對(duì)訓(xùn)練樣本產(chǎn)生過擬合,難以泛化到新樣本.近年來,深度學(xué)習(xí)(Deep Learning,DL)的出現(xiàn)為解決機(jī)器學(xué)習(xí)的局限性提供了新的思路.
目前深度學(xué)習(xí)在NIDS分類算法主要包括5種:深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)、深度信念網(wǎng)絡(luò)(Deep Belief Network,DBN)和自編碼器(Autoencoder,AE)[9].之前的大部分工作都忽略了時(shí)間維度對(duì)檢測(cè)性能的影響.針對(duì)該問題本研究在深度學(xué)習(xí)模型上選取稀疏自動(dòng)編碼器(Sparse Autoencoder,SAE)、長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)來構(gòu)建入侵檢測(cè)系統(tǒng)分類器.具體研究工作如下:
(1)基于UNSW-NB15數(shù)據(jù)集的包特性聚成4類特征:時(shí)間特征、內(nèi)容特征、基本特征、額外生成特征.其次運(yùn)用特征工程的思想,對(duì)特征進(jìn)行排序:簇間按照隨機(jī)森林重要性排序,簇內(nèi)特征計(jì)算與分類信息的相關(guān)性并設(shè)定相關(guān)性閾值.在排序后的特征簇內(nèi)依次選出大于閾值的重要特征,剩余特征則按照先簇間重要性、后簇內(nèi)相關(guān)性的規(guī)則排序,最終得到全部特征排序,并選出表現(xiàn)較優(yōu)的前13個(gè)特征.
(2)設(shè)計(jì)基于SAE-LSTM的異常流量檢測(cè)模型,運(yùn)用稀疏自動(dòng)編碼器(SAE)重構(gòu)數(shù)據(jù),將重構(gòu)后的數(shù)據(jù)輸入LSTM神經(jīng)網(wǎng)絡(luò)分類器進(jìn)行分類.
從20世紀(jì)90年代末起,入侵檢測(cè)技術(shù)的研究取得了飛速的發(fā)展,特別是在構(gòu)建智能化方面取得了飛速的進(jìn)步[10].入侵檢測(cè)研究重點(diǎn)是對(duì)入侵行為進(jìn)行判斷,本質(zhì)上是一個(gè)分類問題,然而網(wǎng)絡(luò)數(shù)據(jù)中大量冗余及不相關(guān)網(wǎng)絡(luò)特征會(huì)嚴(yán)重干擾IDS的分類過程.
早期研究發(fā)現(xiàn),不同類型的攻擊和正常行為都與數(shù)據(jù)集的各個(gè)特征屬性存在一定程度的關(guān)聯(lián)性.因此尋找到最小的特征子集不僅能簡(jiǎn)化運(yùn)算,還能提升檢測(cè)率[11].由于IDS所需處理的數(shù)據(jù)量極大,系統(tǒng)中的冗余及無關(guān)特征會(huì)造成計(jì)算復(fù)雜度高、資源開銷大的問題.因此,特征選擇已成為入侵檢測(cè)系統(tǒng)的重要部分.2010年,錢[12]提出可從兩方面討論IDS特征選?。合嚓P(guān)性尺度及重要性度量尺度.前者是討論特征與分類標(biāo)簽間的相關(guān)性度量,篩選出相關(guān)性高的特征;后者是將入侵檢測(cè)看作分類系統(tǒng),依據(jù)不同特征對(duì)目標(biāo)分類的貢獻(xiàn)度來打分.學(xué)者在重要性度量方面有諸多研究:BREIMAN[13]提出通過隨機(jī)森林(Random Forest,RF)的置換特征重要性計(jì)算特征的重要性得分.陳[14]在CIC-IDS2017數(shù)據(jù)集上運(yùn)用隨機(jī)森林進(jìn)行特征選擇選取前30個(gè)特征進(jìn)行機(jī)器學(xué)習(xí).2020年,何[15]提出結(jié)合RF與特征遞歸消除的混合特征選擇方法.
不僅在入侵檢測(cè)領(lǐng)域,RF在醫(yī)學(xué)[16]、信息學(xué)[17]等方面也有廣泛運(yùn)用.但RF問題在于:適用于低維的數(shù)據(jù)集特征選擇,當(dāng)特征規(guī)模較大時(shí),計(jì)算效率會(huì)大大降低,通常需引入前向或者后向算法來消除特征.
網(wǎng)絡(luò)攻擊在一段時(shí)間內(nèi)是連續(xù)的,t+1時(shí)刻的數(shù)據(jù)特征和t時(shí)刻可能具有一定的相關(guān)性.RNN目前能夠很好地處理與時(shí)間相關(guān)的序列數(shù)據(jù),但它在時(shí)間序列數(shù)據(jù)過長(zhǎng)時(shí),會(huì)出現(xiàn)梯度消失和梯度爆炸的問題[18].
2017年,WANG[19]等發(fā)現(xiàn)當(dāng)正常流量數(shù)據(jù)包含異常攻擊流量數(shù)據(jù)時(shí),會(huì)產(chǎn)生較高的重構(gòu)誤差,導(dǎo)致較高的漏警率和誤警率.為了解決這一問題,他提出了一種多層的長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short Time Memory,LSTM),用于從上下文中學(xué)習(xí)網(wǎng)絡(luò)數(shù)據(jù)的表示.同時(shí)使用LSTM的編碼器及解碼器的功能來重構(gòu)數(shù)據(jù).
YIESI等[20]利用簡(jiǎn)單的自動(dòng)編碼器和SVM分類器對(duì)入侵檢測(cè)系統(tǒng)的流量數(shù)據(jù)進(jìn)行自動(dòng)特征提取.研究者使用不同的激活函數(shù)和損失函數(shù)分別在KDD-99、NSL-KDD數(shù)據(jù)集上實(shí)驗(yàn),結(jié)果表明,激活函數(shù)為ReLU以及損失函數(shù)為交叉熵?fù)p失函數(shù)取得比其他函數(shù)更高的檢測(cè)精度.
入侵檢測(cè)技術(shù)已成為檢測(cè)網(wǎng)絡(luò)域中各種惡意活動(dòng)的重要機(jī)制.基于前文的研究,提出一種結(jié)合聚類思想的隨機(jī)森林特征選擇以及SAE-LSTM分類器的入侵檢測(cè)模型.首先,對(duì)UNSW-NB15數(shù)據(jù)集按照數(shù)據(jù)包特性進(jìn)行聚類,聚成基本特征、內(nèi)容特征、時(shí)間特征、額外生成特征4大簇.保持其他簇不變逐一對(duì)同一特征簇的特征進(jìn)行隨機(jī)森林置換,通過置換前后預(yù)測(cè)誤差大小來衡量特征簇間重要性.在簇內(nèi),通過計(jì)算簇內(nèi)特征與分類信息的相關(guān)性進(jìn)一步得到簇內(nèi)特征排序.在UNSW-NB15數(shù)據(jù)集上做特征選擇,取出前13個(gè)特征.在分類器上,采用融合稀疏自動(dòng)編碼器(Sparse Autoencoder,SAE)作數(shù)據(jù)重構(gòu)的LSTM分類器.該模型可在一定程度提高IDS的檢測(cè)準(zhǔn)確率,同時(shí)降低誤報(bào)率和漏警率.
為提高NIDS的檢測(cè)性能,提出了一種基于特征選擇的LSTM深度學(xué)習(xí)方法,方法的實(shí)驗(yàn)框架如圖1所示.主要包括三個(gè)階段.
圖1 基于特征工程的SAE-LSTM入侵檢測(cè)模型Fig.1 SAE-LSTM intrusion detection model based on Feature Engineering
特征工程:原始網(wǎng)絡(luò)數(shù)據(jù)集經(jīng)過轉(zhuǎn)換數(shù)值型數(shù)據(jù)后,輸入特征選擇模塊,選取最優(yōu)的特征集合,提高攻擊檢測(cè)效率.
數(shù)據(jù)降維:經(jīng)特征選取后的數(shù)據(jù)集再進(jìn)行清除臟數(shù)據(jù)、歸一化、字符串類型one-hot編碼等處理,再通過SAE進(jìn)行編碼、解碼操作,重構(gòu)數(shù)據(jù)集合,實(shí)現(xiàn)數(shù)據(jù)降維.
檢測(cè)分類:攻擊檢測(cè)模型采用的是LSTM分類器.
隨機(jī)森林在用作特征選擇時(shí)分為兩類:基于基尼(Gini)指數(shù)和基于置換重要性(Permutation Importance,PI).基尼系數(shù)的選擇標(biāo)準(zhǔn)為依據(jù)每個(gè)子節(jié)點(diǎn)達(dá)到最高的純度,即落在子節(jié)點(diǎn)中的所有觀察都屬于同一個(gè)分類,此時(shí)基尼系數(shù)最小,純度最高,不確定度最小.隨機(jī)森林置換重要性是基于“置換檢驗(yàn)”的思想由BREIMAN針對(duì)隨機(jī)森林引入的[13],其核心是對(duì)特征重要性進(jìn)行檢測(cè),通過計(jì)算改變單個(gè)特征數(shù)值后模型對(duì)測(cè)試集數(shù)據(jù)的預(yù)測(cè)結(jié)果誤差.如果模型的誤差提升幅度較大,那么該特征就是“重要的”.如果誤差不變或變化很小,則稱該特征為“不重要”.
置換重要性的步驟可簡(jiǎn)述為:
1.劃分訓(xùn)練數(shù)據(jù)集(Xtrain,Ytrain)來訓(xùn)練模型.
2.對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行預(yù)測(cè)(Xtrain,Y_hat),計(jì)算準(zhǔn)確度得分.
3.計(jì)算每個(gè)特征的置換重要性:
(1)置換訓(xùn)練數(shù)據(jù)集中的第i個(gè)特征的值,保持其它特征不變.生成置換后的訓(xùn)練數(shù)據(jù)集(Xtrain_permuted).
(2)用第2步訓(xùn)練好的模型以及Xtrain_permuted數(shù)據(jù)集進(jìn)行預(yù)測(cè)(Y_hat_permuted)計(jì)算對(duì)應(yīng)的準(zhǔn)確度得分(score_permuted).
置換重要性的缺點(diǎn)在于適用低維度(特征數(shù)小于20)的數(shù)據(jù),隨著數(shù)據(jù)特征增加,采用單個(gè)特征重要性度量的方式會(huì)導(dǎo)致算法運(yùn)行占據(jù)空間大,時(shí)間長(zhǎng),效率低[21].針對(duì)此問題,提出引入聚類后多特征一齊置換的隨機(jī)森林特征選擇方法.
表1中列出選用的UNSW-NB15數(shù)據(jù)集所有統(tǒng)計(jì)特征及其特征描述.根據(jù)數(shù)據(jù)包屬性將特征類型聚為4類[22]:基本特征、內(nèi)容特征、時(shí)間特征、額外生成特征.
表1 UNSW-NB15數(shù)據(jù)集的特征類型分布情況Tab.1 Distribution of feature types in UNSW-NB15 dataset
特征選擇的流程如算法Cluster-RF所示.針對(duì)初始數(shù)據(jù)按照包屬性聚類后,每個(gè)簇進(jìn)行隨機(jī)置換后的準(zhǔn)確度得分除以簇內(nèi)特征個(gè)數(shù)即為該簇的準(zhǔn)確度得分.按照得分大小給簇排序,簇內(nèi)特征按照與分類信息的皮爾森相關(guān)性進(jìn)行排序.選出每個(gè)簇內(nèi)與分類標(biāo)簽相關(guān)性大于0.3[23]的特征(即有相關(guān)性的特征),并按照簇重要性先排序在前.實(shí)驗(yàn)結(jié)果顯示皮爾森相關(guān)性大于0.3的特征數(shù)量為10.而相關(guān)性小于0.3的特征則按照先簇間置換重要性、后簇內(nèi)相關(guān)性依次排序.最終輸出特征排序結(jié)果.
基于聚類的隨機(jī)森林置換重要性算法Cluster-RF流程:
輸入:原始特征集合U
輸出:特征排序列表List
N為原始特征個(gè)數(shù)
{}→feature_selected,{}→feature_surplus
foriin range(N):
if特征與分類標(biāo)簽相關(guān)性>相關(guān)性閾值
feature_selected←特征i;
if特征與分類標(biāo)簽相關(guān)性<相關(guān)性閾值
feature_surplus←特征i;
將剩余特征集合feature_surplus按照特征性質(zhì)聚類成簇Ck←Cluster k={1,2,,d};
對(duì)簇進(jìn)行隨機(jī)森林置換重要性排序得簇重要性排序Rank(Ck);
對(duì)剩余特征集合feature_surplus中的特征按照先簇間重要性、后簇內(nèi)相關(guān)性大小為原則進(jìn)行重新排序賦予新集合feature_surplus_sorted←feature_surplus;
輸出最終特征排序List[1:N]←feature_selected+feature_surplus_sorted
End.
稀疏自動(dòng)編碼器(SAE)具有三層結(jié)構(gòu),包括輸入層、隱藏層和輸出層.自動(dòng)編碼器可分為編碼器和解碼器.編碼器通常用于數(shù)據(jù)壓縮和特征提取.由于減少了隱藏層神經(jīng)元的數(shù)量,編碼將同一類型的數(shù)據(jù)映射到特定的神經(jīng)元上,達(dá)到降維的效果.而將提取的數(shù)據(jù)轉(zhuǎn)化為輸入數(shù)據(jù)的形狀的過程稱為解碼.編碼可以很好地實(shí)現(xiàn)從高維數(shù)據(jù)空間到低維數(shù)據(jù)空間的非線性轉(zhuǎn)換.將網(wǎng)絡(luò)數(shù)據(jù)集原始特征作為輸入向量x輸入公式(1)進(jìn)行編碼:
其中W∈Rp×q為編碼層的權(quán)重矩陣,b∈Rp代表偏置向量.而σ是激活函數(shù)的表示.然后將構(gòu)造特征通過如下公式進(jìn)行解碼.W'代表著解碼層的權(quán)重矩陣,b'代表解碼層的偏置向量.
對(duì)稀疏自動(dòng)編碼器進(jìn)行訓(xùn)練,優(yōu)化稀疏自動(dòng)編碼器中的四項(xiàng)參數(shù),即兩個(gè)權(quán)重矩陣W與W'與兩個(gè)偏置向量b與b'.此時(shí),將已得到的重新構(gòu)造的特征與原始特征相比較,將它們之間的差值稱之為重構(gòu)誤差,公式如下:
為了解決神經(jīng)網(wǎng)絡(luò)中可能會(huì)出現(xiàn)的過擬合現(xiàn)象,稀疏自動(dòng)編碼器在損失函數(shù)中加入權(quán)重懲罰項(xiàng),可以將公式(3)合理地替換為:
其中m為特征數(shù)量,λ為權(quán)重懲罰系數(shù).
編碼可以很好地實(shí)現(xiàn)從高維數(shù)據(jù)到低維數(shù)據(jù)空間的非線性轉(zhuǎn)換.稀疏自動(dòng)編碼器利用反向傳播算法使得輸出盡可能等于輸入,并且隱藏層必須滿足一定的稀疏性,即隱藏層不能攜帶太多信息.所以隱藏層對(duì)輸入進(jìn)行了壓縮,并在輸出層中解壓縮.整個(gè)過程會(huì)丟失信息,但訓(xùn)練能夠使丟失的信息盡可能減少.為了保證隱藏層的稀疏性,自動(dòng)編碼器的代價(jià)方程加入了一個(gè)KL離散度作為懲罰項(xiàng).KL離散度是衡量某個(gè)隱層節(jié)點(diǎn)的平均激活輸出和提出的設(shè)定的稀疏度ρ之間的相似性,公式為:
實(shí)驗(yàn)中的稀疏自動(dòng)編碼器結(jié)構(gòu)如圖2所示:
圖2 稀疏自動(dòng)編碼器結(jié)構(gòu)Fig.2 The structure of sparse automatic encoder
RNN模型面臨的挑戰(zhàn)是梯度消失.為解決這個(gè)問題,HOCHREITER和SCHMIDHUBER[18]利用3個(gè)門控單元來改進(jìn)RNN模型,提出了LSTM模型.門控機(jī)制的工作原理是通過存儲(chǔ)歷史記憶,從而利用不同時(shí)間的信息計(jì)算出隱藏單元在時(shí)間步驟t的激活值ht[16].LSTM單元的結(jié)構(gòu)如圖3所示.獲得神經(jīng)單元的更新激活的過程如下.
圖3 LSTM模型結(jié)構(gòu)Fig.3 LSTM model structure
其中LSTM網(wǎng)絡(luò)中各個(gè)端輸出的公式集合為:
實(shí)驗(yàn)中網(wǎng)絡(luò)數(shù)據(jù)集的每個(gè)時(shí)間戳經(jīng)稀疏自編碼器重構(gòu)后得到32維數(shù)據(jù),再輸入到LSTM模型中.其中每一行即一個(gè)樣本,代表一個(gè)時(shí)序狀態(tài),時(shí)序長(zhǎng)度為1.研究采用的LSTM神經(jīng)網(wǎng)絡(luò)模型的隱層神經(jīng)元結(jié)構(gòu)參考了現(xiàn)有的LSTM模型,另外采用試值法,測(cè)試隱層節(jié)點(diǎn)數(shù)對(duì)異常檢測(cè)模型的影響,最終試驗(yàn)確定每層隱藏神經(jīng)元個(gè)數(shù)為32,層數(shù)為一層.
入侵檢測(cè)實(shí)驗(yàn)在編譯環(huán)境為Python 3.6.4、操作系統(tǒng)為Ubuntu 18.04且配備NVIDIA GeForce RTX 2070顯卡的計(jì)算機(jī)上進(jìn)行.
對(duì)于模型分類后的結(jié)果,實(shí)驗(yàn)采用的評(píng)價(jià)指標(biāo)為:準(zhǔn)確率(Accuracy)、誤警率(FAR)、漏警率(MAR)和檢測(cè)時(shí)間,計(jì)算公式如下.其中,TP(True Positive)表示將攻擊流量預(yù)測(cè)為攻擊流量的樣本數(shù).TN(True Negative)為將正常流量預(yù)測(cè)為正常流量的樣本數(shù).FP(False Positive)為將正常流量預(yù)測(cè)為攻擊流量的樣本數(shù).FN(False Negative)為將攻擊流量預(yù)測(cè)為正常流量的樣本數(shù).準(zhǔn)確率表示模型判斷正確的數(shù)據(jù)數(shù)量占總數(shù)據(jù)的百分比,即:
誤警率表示正常流量被模型判斷為攻擊流量的數(shù)量占樣本中被檢測(cè)為攻擊流量的百分比即:
漏警率表示攻擊流量被模型判斷為正常流量的結(jié)果占樣本實(shí)際攻擊流量數(shù)據(jù)的百分比即:
UNSW_NB15入侵檢測(cè)數(shù)據(jù)集相比于傳統(tǒng)的KDD99和NSLKDD數(shù)據(jù)集更適合研究人員用于入侵檢測(cè)技術(shù)的研究[22].它是結(jié)合真實(shí)世界攻擊與目前幾種典型攻擊于一體的數(shù)據(jù)集,由澳大利亞網(wǎng)絡(luò)安全中心(ACCS)創(chuàng)建.該數(shù)據(jù)集原始特征為49個(gè)、具有9種攻擊類型,分別是Fuzzers,Analysis,Backdoors,DoS,Exploits,Generic,Reconnaissance,Shellcode和Worms.該數(shù)據(jù)集的訓(xùn)練集數(shù)量為175341條,測(cè)試集為82332條.
AWID數(shù)據(jù)集作為wifi數(shù)據(jù)集于2016年公開,其中包含從真實(shí)網(wǎng)絡(luò)世界收集的正常與攻擊入侵?jǐn)?shù)據(jù).該數(shù)據(jù)集中的每一條都有155個(gè)屬性,每個(gè)屬性特征都可解釋.根據(jù)分類類別區(qū)分不同,可以分為AWID-CLS和AWID-ATK數(shù)據(jù)集.CLS數(shù)據(jù)集主要分為4類即正常、Flooding、Impersonation、和Injection.AWID-ATK數(shù)據(jù)集則是根據(jù)前面所述4類里更加細(xì)化的17個(gè)目標(biāo)類別.對(duì)于這一數(shù)據(jù)集,考慮到它為高維數(shù)據(jù)集,研究中用于輔助驗(yàn)證特征選擇方法的有效性.
研究運(yùn)用特征工程的思想探尋對(duì)檢測(cè)精度貢獻(xiàn)度高的特征集合.采取策略為先將數(shù)據(jù)集聚類成簇、再以簇為單位進(jìn)行簇間重要性排序,簇內(nèi)特征又根據(jù)與分類標(biāo)簽的皮爾森相關(guān)性進(jìn)行排序.先取出簇內(nèi)相關(guān)性大于0.3的特征[23]共10個(gè),按簇重要性大小排序.上一步操作后再將剩余特征按照先簇間重要性大小、后簇內(nèi)相關(guān)性大小進(jìn)行排序,最終輸出特征重要性排序.
特征排序后,為了確定最佳特征集合數(shù)量,按照排序從前8個(gè)開始選取.如圖4所示.當(dāng)選取特征數(shù)量為13時(shí),UNSW-NB15數(shù)據(jù)集在提出的SAE-LSTM模型以及邏輯回歸分類器中分別達(dá)到了99.1%、90.5%的準(zhǔn)確率.
圖4 測(cè)試集上選擇特征個(gè)數(shù)與分類器準(zhǔn)確率關(guān)系Fig.4 Relationship between the number of selected features and classifier accuracy on the test set
研究同時(shí)也將UNSW-NB15數(shù)據(jù)集中的8種攻擊流量分別混合正常流量數(shù)據(jù)做特征選擇試驗(yàn).表2展示了特征選擇前后各種攻擊流量類型在邏輯回歸分類器的準(zhǔn)確率表現(xiàn).結(jié)果表明:所提出的特征選擇方法在Backdoors攻擊上可以達(dá)到95.2%的檢測(cè)準(zhǔn)確率.
表2 各種攻擊下選取的最優(yōu)特征子集Tab.2 Optimal subset of features selected under various attacks
此外,特征選擇的方法還在wi-fi數(shù)據(jù)集AWID上進(jìn)行實(shí)驗(yàn).該數(shù)據(jù)集包含155維特征,其中有非數(shù)值化特征”wlan.ra”、”wlan.da”等,且缺失值較多.研究在刪除缺失值大于80%的特征屬性后剩余96維,進(jìn)一步進(jìn)行特征選取,最終得到28維特征.
表3展示了兩數(shù)據(jù)集特征選取前后在SAELSTM模型的準(zhǔn)確率差異.AWID數(shù)據(jù)集準(zhǔn)確率高達(dá)98.33%,較選擇前提升14.57%.同時(shí)在高維數(shù)據(jù)集下,所提出的特征選擇方法可以削減原隨機(jī)森林方法的時(shí)間開銷.
表3 有線及無線數(shù)據(jù)集上特征選擇的表現(xiàn)Tab.3 Performance of feature selection on wired and wireless data sets
圖5、圖6展示了所選取的13維特征與四元組特征[24]即(源IP地址,目的IP地址,源端口號(hào),目的端口號(hào))的Renyi熵在所提出SAE-LSTM模型上作預(yù)測(cè)誤報(bào)率、漏警率實(shí)驗(yàn)對(duì)比.
圖5 四元組Renyi熵特征與選取特征誤警率對(duì)比Fig.5 Comparison of quadratic Renyi entropy features and selected features false alarm rate
圖6 四元組Renyi熵特征與選取特征漏警率對(duì)比Fig.6 Comparison of quadratic Renyi entropy features and selected features missed alarm rate
實(shí)驗(yàn)結(jié)果證明:當(dāng)攻擊比例為0.2時(shí),四元組Renyi熵特征檢測(cè)誤報(bào)率到達(dá)0.17,而特征選取后的誤報(bào)率僅為0.04;攻擊比例為0.8時(shí),特征選取后的13個(gè)特征集合在SAE-LSTM分類器誤報(bào)率僅為0.18,較四元組Renyi熵特征集合下降4%.各項(xiàng)指標(biāo)均表明,特征選取后的特征集合可有效提升檢測(cè)性能.
由于本實(shí)驗(yàn)為二分類實(shí)驗(yàn),實(shí)驗(yàn)中會(huì)除去attack_cat攻擊種類字段.數(shù)據(jù)預(yù)處理過程將訓(xùn)練集和測(cè)試集中的符號(hào)特征protocol,service,state以one-hot編碼轉(zhuǎn)化為數(shù)值表示.
歸一化處理:不同的特征屬性字段之間的量綱會(huì)有所差異,為了消除這類差異給分類器的準(zhǔn)確率造成影響.特此做歸一化,一方面消除不同的特征屬性字段之間的量綱的差異,另一方面使得數(shù)據(jù)的量綱更具有可比較性.
實(shí)驗(yàn)使用Python進(jìn)行編碼,Keras框架構(gòu)建神經(jīng)元網(wǎng)絡(luò).在數(shù)據(jù)預(yù)處理階段,除去有重復(fù)項(xiàng)的src_ip、dst_ip,src_port、dst_port四個(gè)特征.隨后通過特征選擇從45維特征選取13維特征.模型訓(xùn)練包含兩個(gè)階段:第一階段是訓(xùn)練SAE重構(gòu)網(wǎng)絡(luò)數(shù)據(jù).根據(jù)理論分析和查閱前人工作經(jīng)驗(yàn)[25]表明隱藏層數(shù)、單位數(shù)和稀疏常數(shù)是影響SAE性能的主要因素.實(shí)驗(yàn)采用枚舉法選取參數(shù)訓(xùn)練不同的SAE,確定ρ=0.04的SAE[128,32,32]達(dá)到了最好的性能,因此選擇其作為SAE的參數(shù).經(jīng)測(cè)試,最終選取兩層隱含層的SAE結(jié)構(gòu)[26,29].第二階段,將編碼后的數(shù)據(jù)作為L(zhǎng)STM分類模型輸入.
圖7(a)、圖7(b)顯示SAE-LSTM模型隨時(shí)間戳步長(zhǎng)增加,訓(xùn)練集與測(cè)試集精度變化情況.對(duì)訓(xùn)練數(shù)據(jù)集,隨著時(shí)間戳步長(zhǎng)的增加,精度的提高不太明顯.在測(cè)試數(shù)據(jù)集上,分類精度隨著時(shí)間戳步長(zhǎng)增加提升較明顯,并且在時(shí)間戳步長(zhǎng)為8時(shí),檢測(cè)準(zhǔn)確率最高.
圖7 不同時(shí)間步長(zhǎng)的LSTM模型與其他模型準(zhǔn)確率對(duì)比Fig.7 Accuracy of LSTM models with different fetch steps vs.other models
表4所示,對(duì)比同樣采用UNSW-NB15數(shù)據(jù)集的相關(guān)論文模型,結(jié)合特征選擇的SAE-LSTM入侵檢測(cè)模型的檢測(cè)率達(dá)99.1%、誤報(bào)率為4.18%、漏報(bào)率為2.1%,具有更高的檢測(cè)率、更低的誤報(bào)率和漏報(bào)率.
表4 實(shí)驗(yàn)?zāi)P团c其他文獻(xiàn)模型結(jié)果對(duì)比 %Tab.4 Comparison of the results of this model with other models in the literature %
為削減特征冗余對(duì)入侵檢測(cè)的干擾,提高入侵檢測(cè)系統(tǒng)的準(zhǔn)確率及泛化能力,提出一種入侵檢測(cè)的有效框架,包括特征選擇與檢測(cè)分類兩大塊.首先,采用融合聚類思想的隨機(jī)森林特征打分機(jī)制,在UNSW-NB15網(wǎng)絡(luò)數(shù)據(jù)集上選取出貢獻(xiàn)最大的前13個(gè)特征,并在155維數(shù)據(jù)集AWID上進(jìn)行試驗(yàn)以證明特征選擇方法的有效性.
特征選取后的數(shù)據(jù),經(jīng)由稀疏自動(dòng)編碼器提取低維的數(shù)理特征,最后將編碼器的輸出數(shù)據(jù)作為L(zhǎng)STM輸入,并將時(shí)間戳步長(zhǎng)作為研究的重要參數(shù).實(shí)驗(yàn)結(jié)果表明,時(shí)間戳步長(zhǎng)為8時(shí),實(shí)驗(yàn)?zāi)P途哂凶罴褭z測(cè)精度.準(zhǔn)確度達(dá)到98%以上,同時(shí)FAR低于4.18%.在未來的研究中,將著重于通過引入注意力機(jī)制來提高訓(xùn)練數(shù)據(jù)的性能.