歐元芳 繆祥華,b
(昆明理工大學a.信息工程與自動化學院;b.云南省計算機技術應用重點實驗室)
入侵檢測系統是計算機網絡信息的安全衛士,能夠檢測出網絡入侵行為,及時發出警告并做出響應, 可以有效避免網絡安全事故的發生。目前,常用的入侵檢測方法是利用收集到的入侵檢測數據進行建模,有效地對各種網絡攻擊行為進行分類,以便及時采取安全防范措施[1]。
目前,研究人員將基于深度學習和基于機器學習的算法(如K近鄰[2]、決策樹[3]、極限學習機[4]及支持向量機 (Support Vector Machine,SVM)[5]等)應用于入侵檢測。
Vapnik V N提出SVM后, 就有許多研究者將其用于入侵檢測領域,并且取得了較好的成效[6]。徐雪麗等將CNN-SVM模型應用于入侵檢測,首先將預處理好的二維數據輸入到CNN中學習有效特征,后面通過SVM將低維特征進行分類,準確率和訓練速度都優于GRU-Softmax模型[7]。 雖然SVM具有強大的分類能力,但在面對高維、非線性特征時無法展現其良好的性能。 因此,要解決SVM進行入侵檢測分類面臨的“維數災害”[8],就必須對高維數據進行降維,獲得有表征性的低維特征,再輸入到SVM中充分發揮其強大的分類性能。
在網絡流量大、復雜的網絡環境下,入侵檢測識別率、穩定性都得不到保證[9]。 近些年,越來越多的研究人員采用深度學習算法進行特征提取,效果較好。Javaid A等使用SAE進行特征提取,采用Softmax分類器進行分類識別[10]。 郭旭東等將改進的稀疏去噪自編碼器(ISSDA)應用于入侵檢測,在ISSDA中加入了新的約束,提高了其解碼能力,得到了有效的特征抽象表達[11]。
面對高維、海量數據,為提高入侵檢測的分類性能, 筆者提出首先使用降噪自編碼器(Denoising Autoencoder,DAE)進行特征提取;然后使用隨機動態調整收斂因子的灰狼算法(IGWO)去尋找SVM的最優參數,用獲得的最優參數建立性能較優的分類模型——IGWO-SVM, 以期提高入侵檢測分類精度。
DAE通過對輸入數據加入噪聲, 經過編碼、解碼得到無噪聲原始數據。 這樣的過程能夠提高模型的抗干擾能力,具有較高的魯棒性,提取到的特征更本質、更具代表性。 相比于傳統自編碼器 (AE),DAE能夠重構含有噪聲的輸入數據,這一過程使提取的低維特征更具代表性、更本質和更具魯棒性。
其中,w和b′分別為編碼器的權重和偏置。
對式(1)中特征提取結果h進行解碼,可得:

其中,w*和b*分別為解碼器的權重和偏置,w*=wT。
SVM的實現就是一個分類過程,是尋找出一個超平面,將不同類別的樣本分開。
對于線性可分數據集(xi,yi),i=1,2,…,n,xi∈Rn,yi∈{-1,1},它分類的超平面是:

其中,ω為分類超平面的系數向量,b為偏移量。
求最優超平面可轉化為一個凸二次規劃問題:

其中,εi是松弛向量,C是懲罰系數。
引入拉格朗日乘子ai,將式(4)轉化為對偶形式:

且滿足約束條件:

其中,K(xi,xj)為核函數。
相應的決策函數為:

本研究采用RBF高斯核函數,其公式如下:

其中,d為核參數。
灰狼優化 (Grey Wolf Optimization,GWO)算法是依據灰狼捕食獵物而開發的一種智能優化算法[12]。 灰狼優化算法中的狼群被分為α′、β′、δ′和ω′4類。 其中α′狼是頭狼,是最高領導者;β′是α′的下屬狼, 服從并輔助α′做決策;δ′聽從α′和β′的決策命令;最底層是ω′,服從α′、β′、δ′狼,并通過α′、β′、δ′狼的位置尋找獵物。
灰狼捕食獵物的行為定義為:

其中,D為狼群個體與獵物之間的相對距離,t為當前迭代次數,X(t)為狼的當前位置,Xp(t)為獵物的當前位置。
系數向量A和C′可表示為:

其中,r1,r2分別為[0,1]之間的隨機數,收斂因子a是從2線性遞減至0,即:

其中,tmax為最大迭代次數。
群體中其他灰狼個體根據α′、β′、δ′的位置分別更新各自的位置,即有:

其中,X1、X2、X3表示ω′分別向α′、β′、δ′方向的位移量,X(t+1)是灰狼個體ω′的位置,X′是灰狼當前的位置,Xα′、Xβ′、Xδ′分別為灰狼α′、β′、δ′的位置。
在基本GWO算法中,當|A|>1時灰狼分散在各區域,希望尋找更好的獵物,即全局勘探;當|A|<1時灰狼集中在某個區域對獵物進行最后攻擊,即局部搜索[13]。
由式(11) 可知,A的取值受收斂因子a的影響。 收斂因子a采用線性遞減策略,如果在迭代前期找不到合適的a,算法容易陷入局部最優,達不到收斂精度。 因此,筆者提出隨機動態調整收斂因子的灰狼算法。 采用隨機選取收斂因子a的方式,可得相對較大的a值,避免在迭代過程中群體只集中在某個區域尋找獵物, 陷入局部最優;迭代后期,隨機選取方式可以得到相對較小的a值,有利于加快尋優速度,提高收斂精度[14]。 筆者設計的隨機調整收斂因子策略為:

其中,uinitial和ufinal分別為收斂因子a的初始值和終止值,uinitial=2,ufinal=0;rand()為0~1之間的隨機數。
如圖1所示,入侵檢測模型的整體流程包括3部分: 數據預處理、DAE進行特征提取和IGWOSVM分類模型構建。

圖1 入侵檢測模型的整體流程
首先采用獨熱編碼(one-hot code)的方法將原數據集中的字符特征數值化,然后對特征進行歸一化處理。
使用DAE對預處理好的數據進行特征提取。筆者設計的DAE主要由編碼結構和解碼結構組成。 輸入部分是隨機抽取KDD CUP99數據集的2%, 經過獨熱編碼等預處理后得到的109維數據。 首先,在編碼階段,對含噪聲的數據進行編碼,得到低維特征;然后在解碼階段對低維特征解碼重構,通過最小化重構誤差對DAE的參數進行調整, 使用梯度下降法對權重參數進行更新,逐層訓練,反復迭代[15]。 訓練結束后,保存低維特征,達到數據降維的目的。
當SVM的參數C和g取值不同時,SVM的分類性能區別很大。 要得到高維空間的最優分類模型,需要選擇合適的SVM參數[16]。 因灰狼算法實現簡單、參數少,且在收斂性、尋優性等方面優于PSO、DE等算法[17]。 故選擇灰狼算法尋找SVM的最優參數。 IGWO-SVM分類模型流程如圖2所示。

圖2 IGWO-SVM分類模型流程
IGWO-SVM分類模型的具體步驟如下:
a. 將預處理好的數據集送入DAE進行降維,得到降維后的訓練集和測試集。
b. 初始化IGWO的種群規模、最大迭代次數、uinitial和ufinal的值,同時對SVM中的參數C和g進行編碼,成為狼群中位置的兩個維度。
c. 計算適應度值,確定適應度值排名前三的個體,即α′狼、β′狼和δ′狼。 將錯誤率fitness作為適應度值,fitness=2-ACCtest-ACCtrain,其中,ACCtest表示測試集的準確率,ACCtrain表示訓練集的準確率。
d. 更新灰狼個體位置。
e. 根據式(16)更新a,根據式(11)、(12)更新A和C′。
f. 驗證是否滿足最大迭代次數,若滿足則轉到步驟g;否則,返回步驟c。
g. 輸出SVM的最優參數(C,g)。
h. 采用最優參數訓練分類模型。
i. 運用IGWO-SVM模型對測試集數據進行分類。
本次實驗采用的是KDD CUP99數據集,每條數據由41個特征和1個標簽構成[18]。 標簽屬性可分為5類:Normal、U2R、DOS、R2L和Probe, 其中,Normal是正常類,其余4類是異常類。
考慮到SVM在處理小樣本方面性能較優,由于KDD CUP99數據集樣本相對較大,故從10%的KDD CUP99數據集中抽取2%得到訓練集,從Corrected數據集抽取2%得到測試集。 由此可以得到9 880條訓練集,6 221條測試集。對隨機抽取的數據集進行預處理的過程如下:
a. 字符特征的數值化。采用獨熱編碼的方式對字符型數據進行特征映射。 例如,其中protocoltype的3種協議類型可表示為TCP=[1,0,0],UDP=[0,1,0],ICMP=[0,0,1]。 類似地,將service字符特征和flag字符特征進行獨熱編碼。

本實驗采用準確率(ACC)、召回率(DR)、精確率(PR)、誤報率(FPR)和F1-measure(F1)作為評價指標,其公式為:

其中,TP是將異常類預測為異常類的數據量,TN是將正常類預測為正常類的數據量,FP是將正常類預測為異常類的數據量,FN是將異常類預測為正常類的數據量。
3.3.1 壓縮維度對模型的影響
進行實驗1的目的是, 在保證較高的準確率時,使用DAE選擇相對較小的特征向量維數。 含噪聲的輸入特征向量經過DAE隱含層的重構,得到隱含層的向量可以看作是輸入數據的壓縮。 其中,選擇壓縮維度從5變化到9,即特征個數從5到9進行實驗對比,壓縮維度對模型的影響見表1。

表1 壓縮維度對模型的影響 %
由表1可知,DAE-SVM模型將數據降維為6個特征時,準確率(ACC)和召回率(DR)是最高的,其中誤報率(FPR)也是最低的。該實驗表明,使用DAE特征提取后得到相對較少的維度數就具有很強的表征性,可獲得較優的分類性能。
3.3.2 不同特征提取方法的對比
為驗證DAE特征提取的可取性,在確保使用SVM作分類器的同等情況下, 使用主成分分析(PCA)、獨立成分分析(ICA)和奇異值分解(SVD)3種特征提取方法進行實驗對比,結果見表2。

表2 不同特征提取方法實驗對比 %
從表2可以看出,DAE在準確率(ACC)、召回率(DR)及誤報率(FPR)等指標上都優于其他特征提取方法。 該實驗說明,與PCA-SVM、ICA-SVM等常用降維算法相比,DAE能夠有效利用次要特征中的重要信息,而不是一味舍棄次要特征。 因此, 采用DAE進行特征提取得到的低維抽象特征,更有利于分類[19]。
3.3.3 IGWO的SVM參數優化
入侵檢測數據集使用DAE降維后, 在GWOSVM和IGWO-SVM上尋找SVM的最優參數C和g時的適應度值的變化情況如圖3所示。其中,GWO和IGWO算法的種群規模為20,最大迭代次數為25,以錯誤率fitness作為適應度值, 錯誤率越小則結果越優。

圖3 兩種模型的最佳適應度曲線
由圖3可知,IGWO-SVM模型在迭代前、中、后期適應度值都有波動,說明在尋優過程中避免了陷入局部最優解的情況。 GWO-SVM模型雖然收斂較快,但在尋優過程中波動較少,未找到最優適應度值,精度較低,且較快收斂的原因可能是陷入局部最優解。
DAE-SVM、DAE-GWO-SVM 和 DAE-IGWOSVM模型的性能比較見表3, 可以看出, 當利用IGWO來尋找SVM的最優參數C和g后,能夠提高SVM的分類性能,與DAE-SVM模型相比,提高了0.978 9%的準確率(ACC),提高了1.324%的召回率(DR)。
該實驗說明, 使用改進后的灰狼算法優化SVM進行分類,既能避免灰狼算法陷入局部最優解的問題,也能提高入侵檢測分類的準確率和召回率,是可行有效的改進方法。
3.3.4 與不同分類算法的對比
為驗證IGWO-SVM分類模型的性能, 選擇極限學習機(ELM)、隨機森林(RF)和AdaBoost算法作為入侵檢測的分類器進行二分類的實驗對比,結果見表4。

表4 不同分類算法的實驗對比 %
由表4可以看出,DAE-IGWO-SVM模型的誤報率(FPR)雖然略遜于DAE-ELM模型,但其準確率(ACC)、召回率(DR)和F1-measure(F1)均優于其他模型。綜合來看,IGWO-SVM分類模型總體性能優于其他分類模型。
筆者針對SVM參數設置不當導致入侵檢測分類性能不佳的問題,提出一種改進灰狼算法優化SVM的入侵檢測模型——IGWO-SVM。 實驗結果表明, 利用DAE對入侵檢測高維數據降維后,能發揮SVM強大的分類性能;使用隨機調整收斂因子的灰狼算法(IGWO),不僅能降低算法陷入局部最優的概率, 而且可以得到SVM的最優參數,提高入侵檢測分類準確率、召回率及精確率等指標。
下一步, 筆者將把IGWO-SVM模型應用到入侵檢測領域的其他數據集上, 同時優化模型,進一步提高入侵檢測性能。