?

融合CNN-BiGRU和注意力機制的網絡入侵檢測模型

2024-03-12 09:18楊曉文況立群
信息安全研究 2024年3期
關鍵詞:樣本數網絡流量特征提取

楊曉文 張 健 況立群 龐 敏

(中北大學計算機科學與技術學院 太原 030051)

(機器視覺與虛擬現實山西省重點實驗室 太原 030051)

(山西省視覺信息處理及智能機器人工程研究中心 太原 030051)

近年來,網絡入侵問題愈發嚴重,引起公眾的關注.深度學習已經被應用于網絡入侵檢測領域,并且取得了一些檢測效果.文獻[1]提出了一種基于云計算的網絡入侵檢測模型,利用多層感知機神經網絡和粒子群優化算法實現對NSL-KDD和KDD-CUP數據集的入侵檢測,但是其預測結果的準確性有待進一步提高.文獻[2]提出了一種分布式網絡安全框架,使用隨機森林分類技術對CIC-IDS-2017數據集進行了網絡流量的識別和分類,但是所提出的方法并不能識別每一種流量類別.文獻[3]在CIC-IDS-2018數據集上使用ReLu作為每個卷積層的激活函數,表明了卷積神經網絡的準確度高于循環神經網絡,但是針對一些特定類別的網絡攻擊,其預測精度還是低于70%.文獻[4]提出RNN-LSTM模型的入侵檢測方法,使用KDD99數據集實現了對網絡流量的分類,但是數據集網絡流量種類少,缺乏說服力.文獻[5]提出了CNN-BiLSTM模型,在數據集DARPA1998上進行特征提取并且分類,但是在進行特征提取時會損失特征的時間特性.文獻[6]使用堆疊LSTM網絡檢測拒絕服務攻擊,雖然極大程度地提高了檢測精度,但是由于其模型結構復雜,參數較多,整體預測效率不高.文獻[7]使用長短期記憶循環神經網絡和門控循環單元模型針對物聯網流量數據進行了有效的檢測和追蹤,但是該模型忽略了不同類型流量數據的重要性差異,同等看待不同類型數據流量導致分類預測精度的降低.

根據以上文獻分析,入侵檢測模型的優缺點主要取決于特征提取.在現有研究中,傳統的網絡入侵檢測方法缺乏獨立學習的能力[8],導致檢測的準確性降低.為了解決這些問題,本文針對網絡流量數據的非線性和時序的特點,提出了一種基于CNN-BiGRU-Attention的網絡入侵檢測模型,用于檢測常見的網絡攻擊.

1 相關工作

深度學習模型在入侵檢測領域取得了良好的研究效果,特別是CNN模型和RNN模型,其變體獨立應用和組合應用時,在獲取數據的時空特征方面具有顯著的優勢[9].

CNN模型在深度學習領域應用十分廣泛:Vinayakumar等人[10]的研究表明,CNN及其變體架構在網絡入侵檢測領域優于經典的機器學習架構;文獻[11]的實驗結果表明,基于CNN的入侵檢測模型展現出了良好的特征提取能力和較高的檢測率,提高數據特征的質量,為提高網絡流量入侵檢測的準確性奠定了基礎.鑒于此本文提出的模型引入了CNN架構.

RNN架構在內部反饋方面優于傳統的神經網絡,每層之間都有前饋連接[12],因此可以將CNN與RNN或者其改進模型集成在一個模型中,從而提取數據的時序特征,有效地針對網絡流量進行特征分類[13].

人們在觀察圖像時通常傾向于更多地關注圖像的某些局部區域,而不是圖像的整體.在ImageNet 2017上,Szegedy等人[14]提出了一種基于通道注意力機制激勵網絡,贏得了圖像分類挑戰.卷積注意力模塊(CBAM)[15]是在通道注意力機制激勵網絡的基礎上通過添加Maxpool的信道改進的,文獻[15]通過大量實驗,表明添加注意力機制可以有效地提高模型分類的性能.基于此,本文在網絡流量入侵檢測中引入了注意力機制來提高分類器的性能.

2 本文方法

2.1 網絡入侵檢測模型整體架構

網絡流量數據集是一種時間序列數據,本文提出的CNN-BiGRU-Attention模型在公開可用的數據源上進行訓練,利用CNN網絡的卷積和池化操作提取數據局部特征;利用前向GRU和后向GRU對時序數據進行長期依賴特征提取;并融合注意力機制對各個特征進行不同權重的分配,提出了一種基于CNN-BiGRU并融合注意力機制的入侵檢測模型.模型結構如圖1所示:

圖1 網絡入侵檢測模型結構

2.2 CNN網絡

在本文的研究中,由于網絡數據集是1維序列數據,所以使用1維卷積層進行特征提取.首先使用CNN網絡對網絡入侵流量數據提取特征并進行分析;CNN模型中交替配置卷積層與池化層,可以提高特征提取的效率[16];卷積層將網絡流量數據連續映射到高維,并且從這些網絡流量數據中訓練出特征數據,并且及時糾正模型的檢測效果;最后使用Softmax分類器對提取到的網絡入侵流量特征進行分類,即可實現對網絡入侵流量數據的特征提取與分類.

2.3 BiGRU網絡

GRU(門控循環單元)是RNN網絡的改進模型,其內部結構簡單,參數更少,不僅能夠避免反向傳播中的梯度消失問題,而且在計算速度和效率方面優于RNN.在GRU單元中,將之前的隱藏狀態與當前的輸入連接,乘以各自的權重,然后通過sigmoid函數傳遞.重置門的結果矢量輸出與之前的隱藏狀態相乘,將當前輸入添加到該狀態,并通過tanh函數傳遞[17].

(1)

(2)

(3)

(4)

u′=Uv⊙(ht-1),

(5)

ht=r′⊙(1-Uv)+u,

(6)

式中,σ為sigmoid函數,h為輸入的網絡流量信息,W為更新門與重置門對應輸入流量數據的權值矩陣,U為本神經元輸出隱狀態對本神經元內隱狀態數據ht與上一神經元傳遞隱狀態數據的Hadamard乘積所賦的權重值,b為偏置值,以上學習參數隨著模型的訓練而更新.

在本文的網絡安全態勢預測中,由于網絡流量數據具有時間序列的特征,具有時間依賴性[18],因此需要更深入的時間特征提取,盡管GRU在順序數據的處理方面表現出強大的能力,但是它的隱藏狀態只考慮前向連接進行信息捕獲,而忽略后向連接進行信息捕獲,相比之下,雙向門控循環單元(BiGRU)能獲取過去的信息并且能預測未來的狀態,而且BiGRU能充分利用不同類型流量的時間相關性實現全局檢測并發現潛在的異常行為.

2.4 注意力機制

注意力機制專注于輸入數據的最關鍵部分,充分挖掘了網絡流量數據的深層次特征信息,聚焦于高影響的流量類別特征,從而實現了對不同類別的流量數據基于重要程度分配不同的權值.注意力機制的轉換過程如式(7)~(10)所示:

(7)

(8)

(9)

(10)

3 實 驗

3.1 實驗環境

實驗采用的服務器處理器為Intel?Xeon?W-2245 CPU@3.90GHz,內存為64.0GB,顯卡為GeForce RTX 3090,操作系統為Linux,編程語言為python3.8.13,框架為Keras2.4.3,后端采用Tensorflow 2.6.0.

3.2 數據集預處理

3.2.1 數據集清洗

CIC-IDS-2017入侵檢測數據集[8]是加拿大網絡安全研究所發布的,該數據集包含良性流量和惡性攻擊,經過數據清洗后的數據包含78個數據特征字段和1個類別標簽.

3.2.2 數據集平衡

在整個數據集中,包含1362行“NULL”和“NaN”值,占比不足整個數據集的1%,因此刪除了這些樣本數據.然后對數據進行歸一化處理,所用到的方法是min-max歸一化,如式(11)所示:

(11)

式(11)中x表示將要進行歸一化的值,Mmin為同一維度下的最小數值,Mmax為同一維度下的最大數值.

由實驗可知,清洗過后的數據集高度不平衡,因此,刪除了高度不平衡的網絡流量攻擊分類,并利用隨機欠采樣技術減少大多數類別的大小,完成數據集的平衡.經過平衡后的數據集數據按照8∶2的比例拆分為訓練集和測試集.同時為了將數據集輸入深度學習模型,使用從0~10的標簽編碼器將分類變量編碼為整數值.

3.3 評估指標

為了對不同類型的網絡入侵流量進行精準的預測與分類,本文對不同類型的網絡入侵流量分類時,將該網絡流量類型視為正樣本,其余流量類型均視為負樣本.實驗采用準確率(Accuracy)、精確率(Precision)、召回率(Recall)以及F1值(F1-Score)作為模型評價指標.TP表示正確預測該網絡流量類型的樣本數,FP表示錯誤地把其他類型的網絡流量預測為該網絡流量類型的樣本數,TN表示正確地將其他類型的網絡流量預測為該網絡流量類型的樣本數,FN表示錯誤地將該網絡流量類型預測為其他類型的網絡流量類型的樣本數[19].

Accuracy表示預測正確網絡流量類型的樣本數占總樣本數的比重,計算公式如下:

(12)

Precision表示被預測為該類網絡流量類型的樣本數中正樣本的比重,計算公式如下:

(13)

Recall表示被預測為該網絡流量類型的樣本數占總的該網絡流量類型樣本數的比重,計算公式如下:

(14)

F1-Score表示Recall和Precision的一種調和平均,計算公式如下:

(15)

3.4 實驗結果分析

3.4.1 對比實驗

為了驗證本文所提出CNN-BiGRU-Attention模型的有效性,在平衡后的數據集上進行了對比實驗.這些集成模型與本文提出的CNN-BiGRU-Attention模型結構相似.在將本文提出模型中的BiGRU和Attention層進行替換或者消除時,保持了替換模型的參數一致.

由圖2可知,本文提出的CNN-BiGRU-Attention模型在網絡流量特征提取與分類方面均優于對比集成模型,針對Web Attack-Brute Force類型的攻擊流量,本文提出的集成模型對其識別分類的準確率達到86%,檢測精度明顯高于對比模型,其次本文提出的集成模型在3個評價指標中均獲得最高的得分,各類型攻擊流量類別的總評準確率比CNN-BiLSTM模型提升了2.24%,總評召回率提升了2.3%,總評F1值比CNN-BiLSTM-Attention模型提升了2.19%.最后在CNN-BiLSTM-Attention模型與本文提出的CNN-BiGRU-Attention模型對比中,針對該數據集的網絡流量入侵檢測,本文模型特征提取更全面,同時準確率更高.

圖2 對比實驗各模型評估指標對比

3.4.2 消融實驗

為了定量評估本文所提出CNN-BiGRU-Attention集成模型的合理性,在平衡后的數據集上進行了消融實驗.在將本文模型中的BiGRU和Attention層進行替換或者消除時保持了替換模型的參數一致.

由圖3可知,本文模型顯示出良好的特征提取與識別分類能力,CNN-BiGRU模型相較于單一CNN模型,檢測準確率有一定的提升,印證了BiGRU模型的有效性,同時本文模型在集成BiGRU模型的基礎上,融合了注意力機制對不同類型攻擊流量的相對重要性,多分類準確率提升了2.71%,從而印證了融合注意力機制的合理性.

圖3 消融實驗各模型評估指標對比

3.4.3 多角度K折交叉驗證

在本文的實驗中,經過平衡后的數據集仍然存在整體數據量偏小以及不同類別的流量樣本數差異較大的情況,為了更有效地對比不同特征提取算法之間的性能,避免因為數據集本身的流量類別分布帶來算法的過擬合問題[22],在確定了各模型的最優參數的前提下,對該數據集進行了6折交叉驗證劃分訓練集和驗證集,以此驗證不同入侵檢測模型的性能.

圖4示出基于CNN-BiLSTM的K折交叉驗證模型訓練效果.同樣隨著系數K的變化,針對不同流量類別的分類準確率波動較大,其中DoS Slowhttptest類型的異常流量在K=2時,其檢測精確度達到最高,但是在其余K值下其檢測精確度較低.

圖5示出基于CNN-BiLSTM-Attention的K折交叉驗證模型訓練效果.隨著系數K的變化,不同流量類別的分類準確率波動較小,其中DoS Slowhttptest類型的異常流量在K=4時,其檢測準確度達到最低.

圖5 基于CNN-BiLSTM-Attention的K折交叉驗證對準確率的影響

圖6示出基于本文模型CNN-BiGRU-Attention的K折交叉驗證模型訓練效果.隨著系數K的變化,不同流量類別的分類精確率整體浮動很小,趨于平穩,表明該模型對流量的多分類識別檢測是有效的.其次針對絕大多數流量類別,隨著K值的逐漸變化,模型的泛化性能逐漸增強,同時也有效避免了過擬合現象的發生,表明本文模型的有效性與穩定性.

圖6 基于CNN-BiGRU-Attention的K折交叉驗證對準確率的影響

4 結 語

本文提出一種基于卷積神經網絡的入侵檢測算法,使用CIC-IDS-2017數據集對模型進行了訓練和測試.

實驗結果表明,對于不同類型的網絡攻擊流量,本文模型相較于LSTM網絡模型單向GRU網絡模型,提取特征能力更強、分類效果更好、檢測準確率更高、泛化性能更好.通過對比論證實驗和交叉驗證,印證了本文模型的有效性、合理性和穩定性.下一步研究將專注于如何更好地平衡數據集以及提高模型檢測效率.

猜你喜歡
樣本數網絡流量特征提取
基于多元高斯分布的網絡流量異常識別方法
勘 誤 聲 明
基于神經網絡的P2P流量識別方法
基于Daubechies(dbN)的飛行器音頻特征提取
AVB網絡流量整形幀模型端到端延遲計算
Bagging RCSP腦電特征提取算法
Fisher線性判別式閾值優化方法研究
三時間間隔圓錐補償姿態更新算法性能分析
基于MED和循環域解調的多故障特征提取
網絡流量監控對網絡安全治理的重要性
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合