陳 晨,劉 曙,王藝菲,宋亞飛,祝 彥
(1.空軍工程大學防空反導學院, 西安, 710051; 2.西安衛星測控中心, 西安, 710043)
隨著信息和網絡技術的高速發展和日益普及,網絡安全已經成為一個全球嚴重關切的問題。目前已有的安全防護方案有防火墻、數據加密、IDS等技術。其中,IDS是一種積極主動的安全防護技術[1],能夠自動警告和主動攔截網絡入侵,具有很高的實用價值。
為了區分攻擊和正常網絡訪問,IDS采用了不同的機器學習方法。SVM是一種基于統計學習的機器學習算法,能夠有效解決非線性、小樣本、高維度等問題,越來越多的研究人員將其應用在入侵檢測領域。核函數選擇與參數調節直接影響了SVM算法的分類效果,傳統SVM往往是隨機選擇相關參數,導致直接使用入侵檢測數據訓練SVM算法難以實現參數的優化,造成了多分類準確率不高。相關研究人員針對這個問題開展了一系列研究:文獻[2~3]使用改進PSO算法對SVM的參數進行了優化,但是實驗使用的KDD99數據集存在重復記錄等許多固有問題,會對算法效能評估結果造成干擾;文獻[4]設計了一種基于模糊SVM模型的入侵檢測方法,但未對多分類入侵檢測進行研究;文獻[5]提出了用改進遺傳算法優化基于SVM的IDS,有效降低了入侵檢測中惡意流量的特征維度,但收斂速度過慢;文獻[6]中蟻群優化算法被用于優化SVM參數,但由于蟻群算法容易陷入局部最優,導致SVM的檢測率下降。
基于此,本文提出一種具有更佳尋優能力和收斂速度的基于PSOGWO-SVM的網絡入侵方法。
GWO算法是Mirjalili等提出的一種新型群體智能優化算法,它模仿了自然界中灰狼群體的社會等級和捕食行為,灰狼群體的社會等級由高到低分別為α狼、β狼、δ狼和ω狼,通過對狼群跟蹤、包圍、追捕、攻擊獵物等過程進行模擬,重現灰狼群體捕食行為,從而實現優化[8]。
1)包圍。狼群包圍獵物可以表示為:
(1)
式中:t為當前迭代次數;A=2ar1-a和C=2r2,為系數向量(a、r1和r2均為常數);Xp(t)表示獵物的位置向量;X表示灰狼的位置向量。
2)追捕。狼群中α狼、β狼、δ狼距離獵物最近,據此可以先求出其他灰狼與這3只狼之間的距離,繼而確定攻擊獵物的最佳方向。

(2)
式中:k=α、β、δ,i=1,2,3,Xp(t+1)表示灰狼進化到第t+1代時獵物的位置向量。
3)攻擊。捕食行為的最后一步是攻擊,該階段狼群需要捕獲獵物,即GWO算法獲得最優解。攻擊行為主要依據a從2遞減到0來實現,即KA在[-2a,2a]中取任意值。若|A|≤1,灰狼群體對獵物集中攻擊,找到最優解;若|A|>1,狼群在原位置散開,進行全局搜索。
為提高GWO算法的尋優能力和收斂速度[9],引入PSO算法中對粒子自身運動最佳位置信息進行記憶的方法,用粒子位置更新替代灰狼個體位置更新,使其能夠記憶自身進化過程中的最佳位置信息。通過改變慣性常數ω來協調混合算法平衡全局搜索及局部開發的能力,ω的變化范圍為[0.5,1]。則速度和位置的更新為:
(3)
式(2)中的第1式變為:
Dk=|CiXk(t)-ωX(t)|
(4)
SVM是Cortes和Vapnik提出的一種基于統計學習理論和結構風險最小化原理的監督式機器學習算法,其基本思想是構造一個最優決策超平面,使得該平面兩側距離最近的兩類樣本之間的距離最大化[10-11]。在SVM無法分隔兩個類的情況下,通過使用核函數將輸入數據映射到高維特征空間中來解決此問題。在高維空間中,可以創建允許線性分離的超平面(對應于低維輸入空間中的曲面)。此時,樣本數據在高維空間中線性可分的條件可等價為以下最小化問題:
(5)

(6)
核函數的選擇是影響分類模型效果的一個關鍵,在線性、多項式、高斯等眾多核函數中,高斯核函數能夠實現非線性映射,同時僅有2個參數C和g可以適當降低模型復雜度。通過調節核函數參數g,可實現線性與非線性兩種分類器,具有很好的靈活性,因而應用最為廣泛[11]。考慮到網絡入侵特征向量與入侵行為類型之間存在一定的隨機性和非線性,為此本文將采用高斯核(RBF):
(7)
利用PSOGWO方法尋優能力強、收斂速度快,不易陷入局部最優的特點,對SVM中的參數C和g進行尋優,來確定SVM模型,進而提出一種基于PSOGWO算法優化SVM(PSOGWO-SVM)的網絡入侵檢測模型。該模型的具體構建過程如下:

圖1 PSOGWO-SVM網絡入侵檢測模型的工作流程
1)抽取NSL-KDD數據集中的部分數據,分別獲得訓練數據集和測試數據集,并對數據集進行歸一化處理。
2)設定狼群規模與最大迭代次數,將SVM中的參數C和g設定為狼群個體位置的二維坐標,隨機初始化C和g。
3)通過訓練集樣本對SVM模型進行訓練,以計算適應度值。狼的等級(α狼、β狼、δ狼和ω狼)根據適應度值進行分類。計算適應度值為:
(8)
式中:yt是正確分類個數;yf是錯誤分類個數。
4)根據公式(3)更新灰狼的位置。
5)計算更新后的個體的適應度值,將當前代數的最優適應度值記錄為Fbest。如果Fbest>Fα(α狼的適應度),則Fα被更新為Fbest,并記錄相應的位置;如果Fβ 6)判斷迭代次數是否達到最大迭代次數。如果達到,則循環終止,并得到最佳參數Cbest和gbest;否則返回到步驟4)繼續迭代。 7)使用Cbest和gbest建立PSOGWO-SVM模型。 8)使用PSOGWO-SVM模型在測試數據集上進行驗證,并對模型的預測結果進行性能評價。 硬件配置:CPU為AMD R5-4600H 3 GHz,內存為16 GiB,硬盤為512 GB;操作系統:Windows10;測試平臺:Matlab R2016b。 1)實驗1:選擇13個基準函數做測試,其中F1~F7是單峰基準函數,F8~F13是多模態基準函數,見表1。 表1 13個基準函數 續表1 2)實驗2:UCI數據集詳細信息見表2。wine數據集是UCI數據集中的一個標準測試數據集,能夠很好測試各算法的多分類效果。圖2展示了wine數據集中13個屬性特征的分布情況。 表2 UCI數據集 3)實驗3:NSL-KDD數據集中抽取部分數據,類型構成如表3所示。 表3 NSL-KDD數據類型構成 3.3.1 實驗1:PSOGWO尋優效果實驗 圖3為13個基準函數的圖像及其在30維度時各算法的收斂曲線。在PSOGWO與GWO算法中,種群數量為30,最大迭代次數為500次。從圖中可以看出,PSOGWO的尋優效果均比GWO的尋優效果好:①當兩種算法都尋不到最優值時,PSOGWO的值更接近最優值;②當二者都可以尋到最優值時,例如F5函數,PSOGWO的收斂速度更快。 圖3 基準函數圖和收斂曲線圖 3.3.2 實驗2:UCI數據集實驗 為驗證所提算法在真實分類數據集上的有效性,在UCI數據集上將PSOGWO-SVM與SVM、GWO-SVM作對比。在SVM算法中,C=10、g=30;在PSOGWO-SVM與GWO-SVM算法中,種群數量為20,最大迭代次數為200次,C、g取值范圍為[0.01,100],得到的最優參數C、g見表4。 表4 各算法準確率 在表4中列出了各算法的準確率,PSOGWO-SVM的準確率最高,可以達到100%。 3.3.3 實驗3:NSL-KDD數據集實驗 將Normal、Probe、Dos、U2R、R2L等5類數據類型分別記為1、2、3、4、5,依次進行分類對比,分類結果對比見表5~10和圖4,并在圖5中給出了混淆矩陣。在SVM算法中,C=10,g=30;在PSOGWO-SVM與GWO-SVM算法中,種群數量為20,最大迭代次數為200次,C、g取值范圍為[0.01,100],得到的最優參數C、g見表5。 表5 各算法的關鍵參數值和準確率 表6 各算法在Normal上的性能評價指標 表7 各算法在Probe上的性能評價指標 表8 各算法在Dos上的性能評價指標 表9 各算法在U2R上的性能評價指標 表10 各算法在R2L上的性能評價指標 PSOGWO-SVM的準確率為94.4%,與其他算法比較是最高的。由于NSL-KDD數據集為非平衡數據集,本文根據精確率、TPR、FPR、F值和AUC等5個評價指標進一步衡量各算法的入侵檢測能力。 從表10中可以看出,3種算法對于R2L數據類型的檢測效果均不理想,是因為R2L數據類型屬于入侵行為的稀有類[12],KDD99競賽中的冠軍對于稀有類的入侵檢測效果也很不理想。故本文主要對Normal、Probe、Dos和U2R共4類數據類型的分類效果進行對比。 從圖4(a)中可以看出,PSOGWO-SVM的精確率均高于90%,而其他2種算法對于U2R數據類型的精確率均低于63%,說明PSOGWO-SVM較其他2種算法,在4類數據類型上都能夠保持很高的精確率,對數據集具有更廣泛的適用性。 從圖4(b)中可以看出,3種算法在Normal數據類型上的TPR基本持平,在Probe、Dos、U2R等3類數據類型上,PSOGWO-SVM的TPR均為最高,因此綜合表現更好。 從圖4(c)中可以看出,對于Normal、Probe、Dos等3類數據類型,PSOGWO-SVM與GWO-SVM的FPR基本持平,同時遠遠低于SVM的FPR;PSOGWO-SVM在U2R數據類型上面的FPR要高于GWO-SVM,說明PSOGWO-SVM在FPR指標上的表現要略低于GWO-SVM。 從圖4(d)中可以看出,PSOGWO-SVM對于Normal、Probe、Dos和U2R等4類數據類型的F值均為最高值,說明PSOGWO-SVM的模型平衡性最優。 從圖4(e)中可以看出,PSOGWO-SVM對于Probe、U2R等2類的AUC均為最高值,而對于Normal、Dos等2類數據類型的AUC與最高值相差無幾。將4類綜合起來看,PSOGWO-SVM的AUC總能保持最高或者近似最高的數值,而其他2種算法的AUC在不同數據類型上的表現有明顯起伏,故PSOGWO-SVM在多分類效能上具有最優的表現。 圖4 分類結果對比 圖5 各算法混淆矩陣 從圖5(b)、5(c)中可以看出,GWO-SVM和PSOGWO-SVM算法的前3種分類的深色區域都集中在對角線上,但是PSOGWO-SVM算法對于第2類的檢測率明顯高于其他2種算法;對于第4、5種分類,3種算法的結果都不是很明顯,一是因為后2類屬于入侵行為的稀有類,二是與Dos和Probe相比較,U2R和R2L的數據記錄中不具有頻繁的序列模式[13]。故PSOGWO-SVM具有更好的分類檢測效果。 為了提高入侵檢測的準確性,提出了基于PSOGWO-SVM算法的檢測模型。首先使用PSO算法提升GWO算法的尋優能力和收斂速度,然后使用PSOGWO算法優化SVM的相關參數。最后,本文將其與GWO-SVM和SVM在NSL-KDD數據集上進行多分類比較實驗。實驗結果證明,該方法顯著提高了入侵檢測的正確率。在準確度、精確度、TPR、FPR、F值和AUC等方面的綜合表現要優于原始SVM和GWO-SVM,具有更好的檢測性能。 由于PSOGWO-SVM算法中參數的初始值對尋優能力和收斂速度有很大影響,因此后期工作將研究如何產生合適的參數初始值,從而提高PSOGWO-SVM的分類性能。3 實驗分析
3.1 實驗環境
3.2 實驗數據









3.3 結果與分析



























4 結語