何瑞江
(中國移動通信集團甘肅有限公司, 甘肅,蘭州 730070)
為了有效應對網絡威脅,入侵檢測技術被應用于監控網絡系統內,從而及時發現網絡中的惡意行為[1-4]。防火墻屬于一種應用較廣泛的傳統防護措施,但只能對外部網絡入侵起到防護作用,采用入侵檢測方法可以發揮防火墻的保護作用,從而提升網絡系統安全性[5]。該系統可以對網絡日志進行收集分析,監聽網絡信息,對日志與數據包進行自動分析,快速檢測到網絡受到的入侵危險[6-7]。當網絡入侵檢測系統探測到入侵行為時,會將警告信息及時反饋給用戶,有效避免網絡系統受到惡意破壞[8-9]。對網絡入侵過程進行檢測時會產生大量數據,形成許多噪聲,從而對機器的學習算法造成干擾,導致訓練過程發生過擬合情況。神經網絡具備自學習、自組織、自適應的功能,能夠有效克服入侵檢測過程面臨的問題[10]。本文根據RNN神經網絡與LSTM神經網絡運行特征,分析了2種網絡的不足,優化LSTM得到變體GRU神經網絡,構建得到GRU-SVM算法,并跟傳統Softmax分類器進行了對比。
GRU(Gate Recurrent Unit)是根據長短期記憶網絡(Long-Short-Term Memory, LSTM)網絡建立的一種能夠達到更優處理效果的變體,其結構也比LSTM網絡更簡單,使控制效果獲得明顯改善,同時能夠實現與LSTM網絡相同的功能,能夠實現RNN數據記憶的高效分析并滿足梯度處理的要求。
為LSTM網絡配備了輸入輸出門以及遺忘門,可以單獨管理輸入、輸出和記憶數據,對GRU模型進行分析可以發現只含有更新門和重置門。各部分結構如圖1所示。
利用前期獲得的狀態(t-1)和現有節點輸入x(t)建立圖1更新門和重置門,如式(1):
rt=σWr·h(t-1),x(t)
zt=σWz·h(t-1),x(t)

圖1 GRU結構
(1)
可以利用更新門來實現遺忘和選擇記憶的效果,同時為LSTM配備不同的門控結構。之后更新0~1區間中的階段表達式。通過分析發現,當門控信號位于1附近的情況下,表明此時形成了更多“記憶”數據,當門控信號與0相近的情況下,表明更多內容被“遺忘”。
本文利用分類算法SVM特性取代Softmax,以此作為GRU模型的輸出,之后利用交叉熵函數計算出損失。建立式(2)所示的損失函數,以此實現優化L1-SVM的過程。
(2)
對式(2)變形處理獲得L2-SVM,可以發現該損失函數獲得了比L1-SVM更高穩定性,并且也能夠滿足區分的功能。新的損失函數如式(3),
(3)
考慮到L2-SVM具備更高的穩定性,因此本文選擇該算法對GRU-SVM框架進行了預測,得到fx=signwx+b預測值。通過argmax方程計算各x對應的標簽值y如式(4):
predictedclass=arg maxsignwx+b
(4)
由于L2-SVM具備更高穩定性,因此選擇L2-SVM對GRU-SVM框架實施預測。
GRU-SVM模型的具體結構原理如圖2所示。利用SVM分類器獲得輸出結果。

圖2 GRU-SVM模型示意圖
對GRU-SVM模型進行處理的流程如圖3所示。首先將所有數據輸入模型內,再利用神經網絡進行處理,實現對權重與偏差的控制。判斷損失函數與理想值之間的偏差,并對權值與偏差進行多次迭代,訓練獲得到最佳的神經網絡模型。

圖3 GRU-SVM模型流程圖
從表1中可以看到各項實驗參數,其中,batchsize與epochs2個參數會對模型訓練精度與所需的訓練時間都造成影響。為提升訓練效率,經重復測試發現batchsize為512時達到最優狀態,在訓練過程中獲得更準確下降方向,降低訓練震蕩幅度。對神經網絡進行訓練時較易發生過擬合的問題,此時可以通過引入dropout的方法來克服上述問題。Dropout指的是進行神經網絡訓練時,以一定概率丟棄網絡神經元,達到降低神經元間相互作用的程度,使神經網絡結構得以簡化,有效避免發生過擬合情況。本實驗通過測試發現GRU-SVM的dropout率為0.88,GRU-Softmax的dropout比例為0.81。

表1 GRU-SVM模型參數表
表2給出了對算法進行入侵檢測所得結果,對這2個模型以同樣方式進行訓練,都在90 000行網絡流量中完成16次epochs,測試時都是在10 000行網絡流量數據內完成10次epochs。根據表2可知,GRU-SVM模型達到了比GRU-Softmax更高的精確率與檢測率,由此可以推斷將SVM分類器和GRU神經網絡進行結合后獲得了比傳統GRU-Softmax更明顯的二分類優勢。對比訓練時間可知,GRU-SVM獲得了比GRU-Softmax更短的訓練時間,說明GRU-SVM具備更高訓練效率。

表2 算法參數的實驗結果
從表3中可以看到以GRU-Softmax和GRU-SVM2種算法測試各類攻擊得到的精度,GRU-SVM算法相對GRU-Softmax算法發生了精度的大幅提升,其中, Generic類型達到了最高的精度,精度最小的是GRU-Softmax算法。根據檢測率結果可以發現,占比較小的Backdoor,worms以及Analysis算法表現出了更小的檢測率結果。GRU-Softmax算法達到了更小的誤報率,說明GRU-Softmax算法能夠在檢測攻擊時只存在較小的概率將其判斷成正常行為,由此減小了入侵概率。采用GRU-SVM實施入侵檢測時會引起風險概率的明顯提高,因此還需進一步優化。

表3 各攻擊類型算法中的精確測試結果
為評價本文算法泛化特性與監測可靠性,在NSL-KDD數據集上完成檢測過程,并對2種算法進行了各項性能對比,具體如表4所示。可以發現,本文算法各項性能參數都達到了更優狀態。

表4 在NSL-KDD數據對比
本實驗通過測試發現GRU-SVM的dropout率為0.88,GRU-Softmax的dropout比例為0.81。GRU-SVM算法相對GRU-Softmax算法發生了精度的大幅提升,更小的誤報率,說明GRU-Softmax算法能夠在檢測攻擊時只存在較小的概率將其判斷成正常行為,由此減小了入侵概率。采用GRU-SVM實施入侵檢測時會引起風險概率的明顯提高。通過比較本文設計的方法獲得了更優的精確度、檢測率、誤報率與AUC。