歐元芳 繆祥華,b
(昆明理工大學(xué)a.信息工程與自動(dòng)化學(xué)院;b.云南省計(jì)算機(jī)技術(shù)應(yīng)用重點(diǎn)實(shí)驗(yàn)室)
入侵檢測(cè)系統(tǒng)是計(jì)算機(jī)網(wǎng)絡(luò)信息的安全衛(wèi)士,能夠檢測(cè)出網(wǎng)絡(luò)入侵行為,及時(shí)發(fā)出警告并做出響應(yīng), 可以有效避免網(wǎng)絡(luò)安全事故的發(fā)生。目前,常用的入侵檢測(cè)方法是利用收集到的入侵檢測(cè)數(shù)據(jù)進(jìn)行建模,有效地對(duì)各種網(wǎng)絡(luò)攻擊行為進(jìn)行分類,以便及時(shí)采取安全防范措施[1]。
目前,研究人員將基于深度學(xué)習(xí)和基于機(jī)器學(xué)習(xí)的算法(如K近鄰[2]、決策樹[3]、極限學(xué)習(xí)機(jī)[4]及支持向量機(jī) (Support Vector Machine,SVM)[5]等)應(yīng)用于入侵檢測(cè)。
Vapnik V N提出SVM后, 就有許多研究者將其用于入侵檢測(cè)領(lǐng)域,并且取得了較好的成效[6]。徐雪麗等將CNN-SVM模型應(yīng)用于入侵檢測(cè),首先將預(yù)處理好的二維數(shù)據(jù)輸入到CNN中學(xué)習(xí)有效特征,后面通過SVM將低維特征進(jìn)行分類,準(zhǔn)確率和訓(xùn)練速度都優(yōu)于GRU-Softmax模型[7]。 雖然SVM具有強(qiáng)大的分類能力,但在面對(duì)高維、非線性特征時(shí)無法展現(xiàn)其良好的性能。 因此,要解決SVM進(jìn)行入侵檢測(cè)分類面臨的“維數(shù)災(zāi)害”[8],就必須對(duì)高維數(shù)據(jù)進(jìn)行降維,獲得有表征性的低維特征,再輸入到SVM中充分發(fā)揮其強(qiáng)大的分類性能。
在網(wǎng)絡(luò)流量大、復(fù)雜的網(wǎng)絡(luò)環(huán)境下,入侵檢測(cè)識(shí)別率、穩(wěn)定性都得不到保證[9]。 近些年,越來越多的研究人員采用深度學(xué)習(xí)算法進(jìn)行特征提取,效果較好。Javaid A等使用SAE進(jìn)行特征提取,采用Softmax分類器進(jìn)行分類識(shí)別[10]。 郭旭東等將改進(jìn)的稀疏去噪自編碼器(ISSDA)應(yīng)用于入侵檢測(cè),在ISSDA中加入了新的約束,提高了其解碼能力,得到了有效的特征抽象表達(dá)[11]。
面對(duì)高維、海量數(shù)據(jù),為提高入侵檢測(cè)的分類性能, 筆者提出首先使用降噪自編碼器(Denoising Autoencoder,DAE)進(jìn)行特征提?。蝗缓笫褂秒S機(jī)動(dòng)態(tài)調(diào)整收斂因子的灰狼算法(IGWO)去尋找SVM的最優(yōu)參數(shù),用獲得的最優(yōu)參數(shù)建立性能較優(yōu)的分類模型——IGWO-SVM, 以期提高入侵檢測(cè)分類精度。
DAE通過對(duì)輸入數(shù)據(jù)加入噪聲, 經(jīng)過編碼、解碼得到無噪聲原始數(shù)據(jù)。 這樣的過程能夠提高模型的抗干擾能力,具有較高的魯棒性,提取到的特征更本質(zhì)、更具代表性。 相比于傳統(tǒng)自編碼器 (AE),DAE能夠重構(gòu)含有噪聲的輸入數(shù)據(jù),這一過程使提取的低維特征更具代表性、更本質(zhì)和更具魯棒性。
其中,w和b′分別為編碼器的權(quán)重和偏置。
對(duì)式(1)中特征提取結(jié)果h進(jìn)行解碼,可得:
其中,w*和b*分別為解碼器的權(quán)重和偏置,w*=wT。
SVM的實(shí)現(xiàn)就是一個(gè)分類過程,是尋找出一個(gè)超平面,將不同類別的樣本分開。
對(duì)于線性可分?jǐn)?shù)據(jù)集(xi,yi),i=1,2,…,n,xi∈Rn,yi∈{-1,1},它分類的超平面是:
其中,ω為分類超平面的系數(shù)向量,b為偏移量。
求最優(yōu)超平面可轉(zhuǎn)化為一個(gè)凸二次規(guī)劃問題:
其中,εi是松弛向量,C是懲罰系數(shù)。
引入拉格朗日乘子ai,將式(4)轉(zhuǎn)化為對(duì)偶形式:
且滿足約束條件:
其中,K(xi,xj)為核函數(shù)。
相應(yīng)的決策函數(shù)為:
本研究采用RBF高斯核函數(shù),其公式如下:
其中,d為核參數(shù)。
灰狼優(yōu)化 (Grey Wolf Optimization,GWO)算法是依據(jù)灰狼捕食獵物而開發(fā)的一種智能優(yōu)化算法[12]。 灰狼優(yōu)化算法中的狼群被分為α′、β′、δ′和ω′4類。 其中α′狼是頭狼,是最高領(lǐng)導(dǎo)者;β′是α′的下屬狼, 服從并輔助α′做決策;δ′聽從α′和β′的決策命令;最底層是ω′,服從α′、β′、δ′狼,并通過α′、β′、δ′狼的位置尋找獵物。
灰狼捕食獵物的行為定義為:
其中,D為狼群個(gè)體與獵物之間的相對(duì)距離,t為當(dāng)前迭代次數(shù),X(t)為狼的當(dāng)前位置,Xp(t)為獵物的當(dāng)前位置。
系數(shù)向量A和C′可表示為:
其中,r1,r2分別為[0,1]之間的隨機(jī)數(shù),收斂因子a是從2線性遞減至0,即:
其中,tmax為最大迭代次數(shù)。
群體中其他灰狼個(gè)體根據(jù)α′、β′、δ′的位置分別更新各自的位置,即有:
其中,X1、X2、X3表示ω′分別向α′、β′、δ′方向的位移量,X(t+1)是灰狼個(gè)體ω′的位置,X′是灰狼當(dāng)前的位置,Xα′、Xβ′、Xδ′分別為灰狼α′、β′、δ′的位置。
在基本GWO算法中,當(dāng)|A|>1時(shí)灰狼分散在各區(qū)域,希望尋找更好的獵物,即全局勘探;當(dāng)|A|<1時(shí)灰狼集中在某個(gè)區(qū)域?qū)ΛC物進(jìn)行最后攻擊,即局部搜索[13]。
由式(11) 可知,A的取值受收斂因子a的影響。 收斂因子a采用線性遞減策略,如果在迭代前期找不到合適的a,算法容易陷入局部最優(yōu),達(dá)不到收斂精度。 因此,筆者提出隨機(jī)動(dòng)態(tài)調(diào)整收斂因子的灰狼算法。 采用隨機(jī)選取收斂因子a的方式,可得相對(duì)較大的a值,避免在迭代過程中群體只集中在某個(gè)區(qū)域?qū)ふ耀C物, 陷入局部最優(yōu);迭代后期,隨機(jī)選取方式可以得到相對(duì)較小的a值,有利于加快尋優(yōu)速度,提高收斂精度[14]。 筆者設(shè)計(jì)的隨機(jī)調(diào)整收斂因子策略為:
其中,uinitial和ufinal分別為收斂因子a的初始值和終止值,uinitial=2,ufinal=0;rand()為0~1之間的隨機(jī)數(shù)。
如圖1所示,入侵檢測(cè)模型的整體流程包括3部分: 數(shù)據(jù)預(yù)處理、DAE進(jìn)行特征提取和IGWOSVM分類模型構(gòu)建。
圖1 入侵檢測(cè)模型的整體流程
首先采用獨(dú)熱編碼(one-hot code)的方法將原數(shù)據(jù)集中的字符特征數(shù)值化,然后對(duì)特征進(jìn)行歸一化處理。
使用DAE對(duì)預(yù)處理好的數(shù)據(jù)進(jìn)行特征提取。筆者設(shè)計(jì)的DAE主要由編碼結(jié)構(gòu)和解碼結(jié)構(gòu)組成。 輸入部分是隨機(jī)抽取KDD CUP99數(shù)據(jù)集的2%, 經(jīng)過獨(dú)熱編碼等預(yù)處理后得到的109維數(shù)據(jù)。 首先,在編碼階段,對(duì)含噪聲的數(shù)據(jù)進(jìn)行編碼,得到低維特征;然后在解碼階段對(duì)低維特征解碼重構(gòu),通過最小化重構(gòu)誤差對(duì)DAE的參數(shù)進(jìn)行調(diào)整, 使用梯度下降法對(duì)權(quán)重參數(shù)進(jìn)行更新,逐層訓(xùn)練,反復(fù)迭代[15]。 訓(xùn)練結(jié)束后,保存低維特征,達(dá)到數(shù)據(jù)降維的目的。
當(dāng)SVM的參數(shù)C和g取值不同時(shí),SVM的分類性能區(qū)別很大。 要得到高維空間的最優(yōu)分類模型,需要選擇合適的SVM參數(shù)[16]。 因灰狼算法實(shí)現(xiàn)簡(jiǎn)單、參數(shù)少,且在收斂性、尋優(yōu)性等方面優(yōu)于PSO、DE等算法[17]。 故選擇灰狼算法尋找SVM的最優(yōu)參數(shù)。 IGWO-SVM分類模型流程如圖2所示。
圖2 IGWO-SVM分類模型流程
IGWO-SVM分類模型的具體步驟如下:
a. 將預(yù)處理好的數(shù)據(jù)集送入DAE進(jìn)行降維,得到降維后的訓(xùn)練集和測(cè)試集。
b. 初始化IGWO的種群規(guī)模、最大迭代次數(shù)、uinitial和ufinal的值,同時(shí)對(duì)SVM中的參數(shù)C和g進(jìn)行編碼,成為狼群中位置的兩個(gè)維度。
c. 計(jì)算適應(yīng)度值,確定適應(yīng)度值排名前三的個(gè)體,即α′狼、β′狼和δ′狼。 將錯(cuò)誤率fitness作為適應(yīng)度值,fitness=2-ACCtest-ACCtrain,其中,ACCtest表示測(cè)試集的準(zhǔn)確率,ACCtrain表示訓(xùn)練集的準(zhǔn)確率。
d. 更新灰狼個(gè)體位置。
e. 根據(jù)式(16)更新a,根據(jù)式(11)、(12)更新A和C′。
f. 驗(yàn)證是否滿足最大迭代次數(shù),若滿足則轉(zhuǎn)到步驟g;否則,返回步驟c。
g. 輸出SVM的最優(yōu)參數(shù)(C,g)。
h. 采用最優(yōu)參數(shù)訓(xùn)練分類模型。
i. 運(yùn)用IGWO-SVM模型對(duì)測(cè)試集數(shù)據(jù)進(jìn)行分類。
本次實(shí)驗(yàn)采用的是KDD CUP99數(shù)據(jù)集,每條數(shù)據(jù)由41個(gè)特征和1個(gè)標(biāo)簽構(gòu)成[18]。 標(biāo)簽屬性可分為5類:Normal、U2R、DOS、R2L和Probe, 其中,Normal是正常類,其余4類是異常類。
考慮到SVM在處理小樣本方面性能較優(yōu),由于KDD CUP99數(shù)據(jù)集樣本相對(duì)較大,故從10%的KDD CUP99數(shù)據(jù)集中抽取2%得到訓(xùn)練集,從Corrected數(shù)據(jù)集抽取2%得到測(cè)試集。 由此可以得到9 880條訓(xùn)練集,6 221條測(cè)試集。對(duì)隨機(jī)抽取的數(shù)據(jù)集進(jìn)行預(yù)處理的過程如下:
a. 字符特征的數(shù)值化。采用獨(dú)熱編碼的方式對(duì)字符型數(shù)據(jù)進(jìn)行特征映射。 例如,其中protocoltype的3種協(xié)議類型可表示為TCP=[1,0,0],UDP=[0,1,0],ICMP=[0,0,1]。 類似地,將service字符特征和flag字符特征進(jìn)行獨(dú)熱編碼。
本實(shí)驗(yàn)采用準(zhǔn)確率(ACC)、召回率(DR)、精確率(PR)、誤報(bào)率(FPR)和F1-measure(F1)作為評(píng)價(jià)指標(biāo),其公式為:
其中,TP是將異常類預(yù)測(cè)為異常類的數(shù)據(jù)量,TN是將正常類預(yù)測(cè)為正常類的數(shù)據(jù)量,F(xiàn)P是將正常類預(yù)測(cè)為異常類的數(shù)據(jù)量,F(xiàn)N是將異常類預(yù)測(cè)為正常類的數(shù)據(jù)量。
3.3.1 壓縮維度對(duì)模型的影響
進(jìn)行實(shí)驗(yàn)1的目的是, 在保證較高的準(zhǔn)確率時(shí),使用DAE選擇相對(duì)較小的特征向量維數(shù)。 含噪聲的輸入特征向量經(jīng)過DAE隱含層的重構(gòu),得到隱含層的向量可以看作是輸入數(shù)據(jù)的壓縮。 其中,選擇壓縮維度從5變化到9,即特征個(gè)數(shù)從5到9進(jìn)行實(shí)驗(yàn)對(duì)比,壓縮維度對(duì)模型的影響見表1。
表1 壓縮維度對(duì)模型的影響 %
由表1可知,DAE-SVM模型將數(shù)據(jù)降維為6個(gè)特征時(shí),準(zhǔn)確率(ACC)和召回率(DR)是最高的,其中誤報(bào)率(FPR)也是最低的。該實(shí)驗(yàn)表明,使用DAE特征提取后得到相對(duì)較少的維度數(shù)就具有很強(qiáng)的表征性,可獲得較優(yōu)的分類性能。
3.3.2 不同特征提取方法的對(duì)比
為驗(yàn)證DAE特征提取的可取性,在確保使用SVM作分類器的同等情況下, 使用主成分分析(PCA)、獨(dú)立成分分析(ICA)和奇異值分解(SVD)3種特征提取方法進(jìn)行實(shí)驗(yàn)對(duì)比,結(jié)果見表2。
表2 不同特征提取方法實(shí)驗(yàn)對(duì)比 %
從表2可以看出,DAE在準(zhǔn)確率(ACC)、召回率(DR)及誤報(bào)率(FPR)等指標(biāo)上都優(yōu)于其他特征提取方法。 該實(shí)驗(yàn)說明,與PCA-SVM、ICA-SVM等常用降維算法相比,DAE能夠有效利用次要特征中的重要信息,而不是一味舍棄次要特征。 因此, 采用DAE進(jìn)行特征提取得到的低維抽象特征,更有利于分類[19]。
3.3.3 IGWO的SVM參數(shù)優(yōu)化
入侵檢測(cè)數(shù)據(jù)集使用DAE降維后, 在GWOSVM和IGWO-SVM上尋找SVM的最優(yōu)參數(shù)C和g時(shí)的適應(yīng)度值的變化情況如圖3所示。其中,GWO和IGWO算法的種群規(guī)模為20,最大迭代次數(shù)為25,以錯(cuò)誤率fitness作為適應(yīng)度值, 錯(cuò)誤率越小則結(jié)果越優(yōu)。
圖3 兩種模型的最佳適應(yīng)度曲線
由圖3可知,IGWO-SVM模型在迭代前、中、后期適應(yīng)度值都有波動(dòng),說明在尋優(yōu)過程中避免了陷入局部最優(yōu)解的情況。 GWO-SVM模型雖然收斂較快,但在尋優(yōu)過程中波動(dòng)較少,未找到最優(yōu)適應(yīng)度值,精度較低,且較快收斂的原因可能是陷入局部最優(yōu)解。
DAE-SVM、DAE-GWO-SVM 和 DAE-IGWOSVM模型的性能比較見表3, 可以看出, 當(dāng)利用IGWO來尋找SVM的最優(yōu)參數(shù)C和g后,能夠提高SVM的分類性能,與DAE-SVM模型相比,提高了0.978 9%的準(zhǔn)確率(ACC),提高了1.324%的召回率(DR)。
該實(shí)驗(yàn)說明, 使用改進(jìn)后的灰狼算法優(yōu)化SVM進(jìn)行分類,既能避免灰狼算法陷入局部最優(yōu)解的問題,也能提高入侵檢測(cè)分類的準(zhǔn)確率和召回率,是可行有效的改進(jìn)方法。
3.3.4 與不同分類算法的對(duì)比
為驗(yàn)證IGWO-SVM分類模型的性能, 選擇極限學(xué)習(xí)機(jī)(ELM)、隨機(jī)森林(RF)和AdaBoost算法作為入侵檢測(cè)的分類器進(jìn)行二分類的實(shí)驗(yàn)對(duì)比,結(jié)果見表4。
表4 不同分類算法的實(shí)驗(yàn)對(duì)比 %
由表4可以看出,DAE-IGWO-SVM模型的誤報(bào)率(FPR)雖然略遜于DAE-ELM模型,但其準(zhǔn)確率(ACC)、召回率(DR)和F1-measure(F1)均優(yōu)于其他模型。綜合來看,IGWO-SVM分類模型總體性能優(yōu)于其他分類模型。
筆者針對(duì)SVM參數(shù)設(shè)置不當(dāng)導(dǎo)致入侵檢測(cè)分類性能不佳的問題,提出一種改進(jìn)灰狼算法優(yōu)化SVM的入侵檢測(cè)模型——IGWO-SVM。 實(shí)驗(yàn)結(jié)果表明, 利用DAE對(duì)入侵檢測(cè)高維數(shù)據(jù)降維后,能發(fā)揮SVM強(qiáng)大的分類性能;使用隨機(jī)調(diào)整收斂因子的灰狼算法(IGWO),不僅能降低算法陷入局部最優(yōu)的概率, 而且可以得到SVM的最優(yōu)參數(shù),提高入侵檢測(cè)分類準(zhǔn)確率、召回率及精確率等指標(biāo)。
下一步, 筆者將把IGWO-SVM模型應(yīng)用到入侵檢測(cè)領(lǐng)域的其他數(shù)據(jù)集上, 同時(shí)優(yōu)化模型,進(jìn)一步提高入侵檢測(cè)性能。