您所在的位置: 首頁 >
新聞資訊 >
技術(shù)前沿 >
基于 CNN 與 WRGRU 的網(wǎng)絡(luò)入侵檢測模型
摘? 要:
針對當(dāng)前的入侵檢測方法普遍存在準(zhǔn)確率與泛化性較低的問題,提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和權(quán)重縮減門控循環(huán)單元(Weight Reduction Gated Recurrent Unit,WRGRU)的網(wǎng)絡(luò)入侵檢測模型(CNN-WRGRU)。該模型首先利用 CNN 進(jìn)行入侵檢測數(shù)據(jù)集的特征提取,其次利用 WRGRU 來學(xué)習(xí)數(shù)據(jù)特征之間的依賴關(guān)系,保留了特征之間的長期相關(guān)性,有效地防止了過擬合現(xiàn)象的出現(xiàn),提高了模型的識別準(zhǔn)確率及泛化性。在實驗中,將 CNN-WRGRU 與傳統(tǒng)方法在公開數(shù)據(jù)集上進(jìn)行了檢測性能比較,結(jié)果證明 CNNWRGRU 模型具有更好的識別效果,有效地提高了入侵檢測的識別精度。
內(nèi)容目錄:
1 相關(guān)理論基礎(chǔ)
1.1 卷積神經(jīng)網(wǎng)絡(luò)
1.2 GRU 神經(jīng)網(wǎng)絡(luò)
2 權(quán)重縮減 GRU 神經(jīng)網(wǎng)絡(luò)
3 基于 CNN 與 WGRU 的網(wǎng)絡(luò)入侵檢測模型
4 仿真實驗
4.1 實驗數(shù)據(jù)
4.2 性能評估
4.3 實驗對比分析
5 結(jié) 語
隨著互聯(lián)網(wǎng)通信技術(shù)的進(jìn)步,每天都會產(chǎn)生大量的來自醫(yī)療保健、交通、社交媒體和生產(chǎn)制造等行業(yè)的數(shù)據(jù)。這些海量的數(shù)據(jù)具備被定義為大數(shù)據(jù)的 4 個特征:海量性、多樣性、高速性和準(zhǔn)確性。由于大數(shù)據(jù)的范圍極大地提高了可利用的攻擊點(diǎn),因此很難在大數(shù)據(jù)環(huán)境中進(jìn)行入侵檢測。Denning等人 于 1986 年首次引入了入侵檢測系統(tǒng),建立了一個入侵檢測模型,以識別網(wǎng)絡(luò)系統(tǒng)中的異常行為。由于大數(shù)據(jù)結(jié)構(gòu)的不斷發(fā)展和變化,以及網(wǎng)絡(luò)數(shù)據(jù)系統(tǒng)速率的提高,入侵檢測系統(tǒng)(Intrusion Detection System,IDS)仍然是一個重要的研究主題。
許多用于 IDS 的傳統(tǒng)機(jī)器學(xué)習(xí)方法由于體系結(jié)構(gòu)較淺,不適合在大數(shù)據(jù)環(huán)境中處理入侵檢測,如支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)、隱馬爾可夫模型和模糊邏輯等,它們很難識別未知的攻擊,不能實時提供解決方案,也不能處理普遍存在于大數(shù)據(jù)中的噪聲。因此,需要更加強(qiáng)大、有效的機(jī)器學(xué)習(xí)(Machine Learning,ML)技術(shù)來進(jìn)行實時的入侵檢測。
近年來,不斷涌現(xiàn)出利用深度學(xué)習(xí)技術(shù)在各種應(yīng)用程序中處理大數(shù)據(jù)的案例,這些深度學(xué)習(xí)技 術(shù) 包 括 深 度 信 念 網(wǎng) 絡(luò)(Deep Belief Networks,DBN)、 卷 積 神 經(jīng) 網(wǎng) 絡(luò)(Convolutional Neural Networks,CNN)、 長 短 期 記 憶(Long-Short Term Memory,LSTM)網(wǎng)絡(luò)、門控循環(huán)單元神經(jīng)(Gated Recurrent Unit,GRU) 網(wǎng) 絡(luò)。DBN 主要用于模式分析,而且它們的訓(xùn)練速度比其他深度學(xué)習(xí)技術(shù)更快 。CNN 主要用于圖像處理應(yīng)用程序,它們比DBN 具有更好的鑒別能力。LSTM 網(wǎng)絡(luò)是一種循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),它可以比其他類型的 RNN 更好地學(xué)習(xí)提取特征之間的依賴關(guān)系 。LSTM 的另一種變體是權(quán)重丟棄長短 期 記 憶(Weight Decrement Long-term and Shortterm Memory,WDLSTM) 網(wǎng) 絡(luò)。WDLSTM 是 在LSTM 中的隱含層權(quán)值矩陣上使用連接權(quán)重丟棄技術(shù)(DropConnect),以保持提取特征之間的長期依賴性,并防止循環(huán)連接的過擬合 。
然而,迄今為止,還沒有哪種方法能有效地使用上述深度學(xué)習(xí)算法在大數(shù)據(jù)環(huán)境中進(jìn)行入侵檢測。Vinaykumar 等人提出了一個深度神經(jīng)網(wǎng)絡(luò)模型,以檢測和分類 IDS 中不可預(yù)見的和不可預(yù)測的網(wǎng)絡(luò)攻擊。Faker 等人 使用深度神經(jīng)網(wǎng)絡(luò)、隨機(jī)森林和梯度增強(qiáng)樹 3 個分類器對二進(jìn)制模式和多類模式的攻擊進(jìn)行分類。在文獻(xiàn) [12] 中,作者提出了一個兩階段的深度學(xué)習(xí)模型以有效地檢測網(wǎng)絡(luò)入侵。為了在大數(shù)據(jù)環(huán)境中提高入侵檢測的性能,本文提出了一種基于 CNN 和 WRGRU 網(wǎng)絡(luò)的混合深度學(xué)習(xí)模型。本文的主要貢獻(xiàn)如下:(1)基于 CNN 可權(quán)重共享和可快速進(jìn)行數(shù)據(jù)處理的特點(diǎn),進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)流量中的特征提取;(2)使用 GRU 神經(jīng)網(wǎng)絡(luò)來保留提取特征之間的長期依賴關(guān)系,避免了梯度消失問題;(3)基于 WDLSTM 模型,在 GRU 中的隱含層單元權(quán)重權(quán)值矩陣上使用 DropConnect 技術(shù),避免過擬合問題。
在實驗中,本文使用公共的 UNSW-NB15 數(shù)據(jù)集對 CNN-WRGRU 模型進(jìn)行評估。
1、相關(guān)理論基礎(chǔ)
1.1 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一種前饋神經(jīng)網(wǎng)絡(luò),人工神經(jīng)元可以響應(yīng)周圍單元,可以進(jìn)行大型圖像處理,同時它可以應(yīng)用在文本分類中 。CNN 是在深度學(xué)習(xí)領(lǐng)域中取得最大成功的算法之一。CNN 包括 1 維、2 維 和 3 維神經(jīng)網(wǎng)絡(luò),序列類的數(shù)據(jù)處理是 1 維的 CNN主要應(yīng)用,2 維 CNN 經(jīng)常用于對于文本的識別,3維神經(jīng)網(wǎng)絡(luò)主要應(yīng)用在處理醫(yī)學(xué)圖像以及一些視頻數(shù)據(jù)。
如 圖 1 所 示,CNN 的整體結(jié)構(gòu)是由輸入層(Import Layer)、卷積層(Convolution Layer)、池化層(Pooling Layer)、全連接層(Fully Connected Layer) 與 輸 出 層(Output Layer)按順序連接構(gòu)成的,其中,卷積層和池化層可以在隱藏層出現(xiàn)多次。
圖 1 CNN 結(jié)構(gòu)
圖 1 的 CNN 結(jié)構(gòu)與原始的 LeNet 類似,將輸入的圖像根據(jù)對應(yīng)的類別進(jìn)行分類,輸出層中所有概率的總和應(yīng)為 1。卷積層內(nèi)部包含多個卷積核,卷積核的各個元素對應(yīng)有一個權(quán)重系數(shù)和偏差量。卷積層內(nèi)每個神經(jīng)元都與前一層位置接近的神經(jīng)元相連。卷積層的功能是將輸入數(shù)據(jù)進(jìn)行處理,得到相關(guān)特征,在工作時會有規(guī)律地掃過輸入特征,在前一層位置接近的區(qū)域內(nèi)對輸入特征進(jìn)行矩陣元素乘法求和并疊加偏差量。
池化層的作用是將經(jīng)過卷積層處理后的特征進(jìn)行選擇并進(jìn)行信息過濾,再通過池化層預(yù)設(shè)的池化函數(shù)將單個點(diǎn)替換為相鄰區(qū)域的特征統(tǒng)計量。
CNN 中的全連接層等價于傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)的隱含層,全連接層位于神經(jīng)網(wǎng)絡(luò)中的最后位置,信號只會傳遞給其他全連接層。全連接層的作用是將經(jīng)過卷積層與池化層后的特征進(jìn)行非線性組合得到輸出,將輸出結(jié)果傳遞給輸出層。
1.2 GRU 神經(jīng)網(wǎng)絡(luò)
LSTM 中引入了 3 個門來控制網(wǎng)絡(luò),輸出門控制輸入值,遺忘門控制記憶值,輸出門控制輸出值,而在 LSTM 的變體 GRU 中只需要更新門和重置門。由于 LSTM 具有 3 個功能各不相同的門,所以它的參數(shù)相對來說會比較多,在訓(xùn)練時會比較困難。為解決這個問題,本文采用 GRU 的神經(jīng)網(wǎng)絡(luò),正如上文所述它只有兩個門,在解決 RNN 神經(jīng)網(wǎng)絡(luò)長距離依賴問題上也能夠達(dá)到和 LSTM 一樣的效果,訓(xùn)練易于實現(xiàn)。GRU 神經(jīng)網(wǎng)絡(luò)的更新門可以看作將LSTM 的輸入門和遺忘門二者合一的結(jié)果,更新控制的是控制的前一時刻帶入的程度;重置門是控制前一時刻狀態(tài)代入候選集中的程度。GRU 的結(jié)構(gòu) [14]如圖 2 所示。
圖2 GRU 結(jié)構(gòu)
圖 2 中 σ 為 sigmoid 激活函數(shù),tanh為另一個激活函數(shù),h1 為序列輸出的當(dāng)前狀態(tài),x1 為序列輸入數(shù)據(jù)。相關(guān)公式為:
式中:r1 為重置門輸出;為候選狀態(tài)輸出; z1 為更新門輸出; w2 為更新門與隱含單元之間的連接權(quán)重;為序列上一時刻的輸出狀態(tài);為重置門與隱含單元之間的連接權(quán)重;* 代表兩個矩陣相乘。
2、權(quán)重縮減 GRU 神經(jīng)網(wǎng)絡(luò)
權(quán)重縮減 GRU 神 經(jīng) 網(wǎng) 絡(luò)(Weight reduction gated recurrent unit,WRGRU)是 GRU 神經(jīng)網(wǎng)絡(luò)的一個變形,其主要使用 DropConnect 技術(shù)將動態(tài)稀疏性引入到神經(jīng)網(wǎng)絡(luò)的連接權(quán)重上,使得每次迭代時神經(jīng)網(wǎng)絡(luò)的權(quán)重參數(shù)規(guī)模得以縮減。DropConnect技術(shù)與神經(jīng)元丟棄技術(shù)(Dropout)的不同之處在于,在每次迭代中神經(jīng)元間每個連接權(quán)重被丟棄的概率為 p。在 WRGRU 中,為了避免過擬合現(xiàn)象的出現(xiàn),隱含層單元間的權(quán)重參數(shù)被隨機(jī)地丟棄,WRGRU神經(jīng)網(wǎng)絡(luò)的輸出 yt 可以被寫為:
式中:M 為編碼連接信息的二進(jìn)制矩陣;U 為神經(jīng)網(wǎng)絡(luò)的權(quán)重參數(shù)矩陣。在訓(xùn)練階段的每次迭代過程中,通過更改 M 中的元素可以實現(xiàn)對于神經(jīng)網(wǎng)絡(luò)不同連接權(quán)重的丟棄。
3、基于 CNN 與 WGRU 的網(wǎng)絡(luò)入侵檢測模型
使用混合深度學(xué)習(xí)模型進(jìn)行數(shù)據(jù)流量的入侵分類, 并 將 CNN 與 WRGRU 相 結(jié) 合, 構(gòu) 建 了 CNNWRGRU 模型。模型架構(gòu)如圖 3 所示。與其他基于神經(jīng)網(wǎng)絡(luò)的入侵檢測模型相比,該混合模型由于結(jié)合了 CNN 和 WRGRU 的優(yōu)勢,因此可以更有效地進(jìn)行入侵檢測。CNN-WRGRU 模型包含兩個 1 維卷積層,1 個 1 維的最大池化層,1 個 1 維的 WRGRU層和 1 個全連接層。ReLU 函數(shù)為兩個卷積層中的激活函數(shù),其表達(dá)式為:
圖 3 CNN-WRGRU 模型結(jié)構(gòu)
在 CNN-WRGRU 模型中,兩個 1 維的卷積層在進(jìn)行特征提取后,提取的特征被傳輸至最大池化層,最大池化層的輸出又會被傳遞到 1 維 WRGRU層中進(jìn)行提取的特征之間的依賴關(guān)系的提取,最后1 維 WRGRU 層的輸出被傳遞到全連接層。全連接層的激活函數(shù)為 softmax,利用該函數(shù)進(jìn)行入侵類別概率分布的計算公式為:
式中:x1 和分別為類別 i 和 j 在經(jīng)過模型計算后的數(shù)值; p1 為類別 i 的判別概率。CNN-WRGRU 模型中的重要參數(shù)包括 CNN中 濾 波 器 的 數(shù) 量、 訓(xùn) 練 次 數(shù)、 學(xué) 習(xí) 速 率, 以 及WRGRU 中隱含層單元的數(shù)量、連接權(quán)重丟失率drop-connect 的大小、批處理大小,所有這些參數(shù)在訓(xùn)練階段通過試錯得到。
4、仿真實驗
4.1 實驗數(shù)據(jù)
UNSW-NB15 是澳大利亞的新南威爾士大學(xué)于2015 年發(fā)布的用于網(wǎng)絡(luò)入侵檢測研究的開放數(shù)據(jù)集 [15]。UNSW-NB15 中包括 9 種攻擊類型和 1 種正常類型,各種類型所占比例如表 1 所示。UNSWNB15 數(shù)據(jù)集由 3 個名義特征、2 個二進(jìn)制特征和37 個數(shù)值特征組成,UNSW-NB15 是按照時間順序進(jìn)行排序記錄的,能夠充分代表數(shù)據(jù)之間的時序相關(guān)性。在實驗中,本文將 UNSW-NB15 數(shù)據(jù)集中的70% 用于訓(xùn)練,30% 用于測試。表 2 說明了訓(xùn)練集和測試集的分布。
表 1? 各種類型數(shù)據(jù)所占比例
4.2 性能評估
為了評估 CNN-WRGRU 模 型 的 性 能, 利 用python 進(jìn)行仿真實驗分析,采用準(zhǔn)確率(Accuracy)、精度(Precision),召回率(Recall)和 F1 值作為評估指標(biāo)。這些指標(biāo)的計算方法如下:
式中:TP 為正樣本且分類正確的實例數(shù)量;TN 為負(fù)樣本且分類器識別正確實例的數(shù)量;FP 為負(fù)樣本且分類識別結(jié)果錯誤的實例數(shù)量;FN 為正樣本且分類識別結(jié)果錯誤的實例數(shù)量。
表 2? 訓(xùn)練集和測試集的分布
4.3 實驗對比分析
本文實驗在 CPU 為 i7 4510U,運(yùn)行內(nèi)存為8 GB,操作系統(tǒng)為 64 位 Windows 10 的筆記本電腦上進(jìn)行。為了獲得 CNN-WRGRU 模型超參數(shù)的最佳設(shè)置,本文在模型訓(xùn)練過程中為相關(guān)超參數(shù)選擇了初始值,然后對其進(jìn)行動態(tài)調(diào)整,通過反復(fù)試驗獲得最佳結(jié)果。最終,當(dāng)模型取得最佳檢測效果時,訓(xùn)練次數(shù)為 50,學(xué)習(xí)率為 0.005,drop-connect 的大小為 0.1,第一層和第二層的卷積濾波器的數(shù)量分別為 32 和 64,最大池化長度為 2。
圖 4 給出了訓(xùn)練中模型的準(zhǔn)確率和損失,其中測試集被用于進(jìn)行模型驗證。從中可以看出,CNN-WRGRU 模型在訓(xùn)練中能夠穩(wěn)定收斂,很好地抑制了模型的過度擬合。
圖 4 模型在訓(xùn)練階段的準(zhǔn)確率及損失
表 3? 模型在二元分類任務(wù)下的混淆矩陣
表 3 和表 4 分別為模型 CNN-WRGRU 在 UNSW-NB15 測試集上執(zhí)行二元分類任務(wù)得到的正常和異常樣本的混淆矩陣,執(zhí)行多元分類任務(wù)得到的所有分類的混淆矩陣。從表 3 中可以看出,該模型在執(zhí)行二元分類任務(wù)時對測試集中的 649 336 個樣本進(jìn)行了正確分類;表 4 中可以看出,該模型在執(zhí)行多元分類任務(wù)時對 657 612 個樣本進(jìn)行了正確分類。
表 4? 模型在執(zhí)行多元分類下的混淆矩陣
表 5 和表 6 分別給出了模型 CNN-WRGRU 在執(zhí)行二元分類任務(wù)和多元分類任務(wù)時的性能指標(biāo)值。
表 5? 模型在二元分類任務(wù)下的性能指標(biāo)
表 6? 模型在二元分類任務(wù)下的性能指標(biāo)
如表 5 和表 6 所示,模型 CNN-WRGRU 在二元分類和多元分類下的總體準(zhǔn)確率分別為 97.17%和 98.58%。對于指標(biāo) F1-score,模型在 generic、reconnaissance、shellcode 和 exploit 4種類別數(shù)據(jù)上的結(jié)果分別為 0.99、0.83、0.80 和 0.72;對于稀有的類別數(shù)據(jù)(Shellcode、Backdoors、Analysis),由于數(shù)據(jù)規(guī)模不足,模型 CNN-WRGRU 的檢測效果較差??傮w而言,隨著不同類別的數(shù)據(jù)分布存在不平衡現(xiàn)象,但是 CNN-WRGRU 模型仍取得了非常好的檢測結(jié)果。表7 給出了CNN-WRGRU 模型與TSDL、KDDwinne、CSVAC、CPSO-SVM、Dendron[19]模型在 UNSW-NB15 數(shù)據(jù)集上分別執(zhí)行二元分類時的準(zhǔn)確率結(jié)果。由表 7 中的對比結(jié)果可以看出,CNN-WRGRU 模型由于能夠從大量訓(xùn)練數(shù)據(jù)中提取到更為準(zhǔn)確的特征表示,相較于其他模型在進(jìn)行入侵檢測時更為有效。
表 7 CNN-WRGRU 模型與其他模型的入侵檢測準(zhǔn)確率
表 8 給出了 CNN-WRGRU 模型與其他 5 種模型在UNSW-NB15數(shù)據(jù)集上每條數(shù)據(jù)的平均執(zhí)行時間。
如表 8 所示,CNN-WRGRU 模型的平均執(zhí)行時間非常低(略低于 TSDL 模型),非常適合實時的入侵檢測。這主要是因為該模型能夠在離線模式下定期訓(xùn)練最新的網(wǎng)絡(luò)流量特征,并且能夠檢測入侵攻擊在線模式。
表 8? 每條數(shù)據(jù)的平均檢測執(zhí)行時間
5、結(jié) 語
本文將 CNN 與權(quán)重縮減 GRU 神經(jīng)網(wǎng)絡(luò)結(jié)合起來,提出了一種基于 CNN 與 WRGRU 的網(wǎng)絡(luò)入侵檢測模型(CNN-WRGRU)。該模型利用 CNN 進(jìn)行入侵檢測數(shù)據(jù)集的特征提取,然后利用 WRGRU來學(xué)習(xí)數(shù)據(jù)特征之間的依賴關(guān)系。WRGRU 由于在訓(xùn)練過程中使用 dropout 技術(shù)隨機(jī)地忽略了一些神經(jīng)元,使得模型可以有效避免過擬合問題的出現(xiàn)。在實驗時,本文利用 TSDL、KDDwinner、CSVAC、CPSO-SVM、Dendron、CNN-WRGRU 等模型在UNSW-NB15 數(shù)據(jù)集上進(jìn)行對比仿真實驗,結(jié)果表明:CNN-WRGRU 模型具有最好的識別精度。
CNN-WRGRU 模型在 UNSW-NB15 上雖具有較好的識別效果,但是在實際應(yīng)用中還有若干問題有待解決,如入侵檢測的實時性,以及在具有更大規(guī)模的數(shù)據(jù)集上的有效性,這些問題都有待進(jìn)一步研究。
引用本文:王運(yùn)兵 , 姬少培 , 查成超 . 基于 CNN 與 WRGRU 的網(wǎng)絡(luò)入侵檢測模型 [J]. 通信技術(shù) ,2022,55(4):486-492.
作者簡介 >>>王運(yùn)兵,男,學(xué)士,高級工程師,主要研究方向為信息安全;姬少培,男,碩士,工程師,主要研究方向為數(shù)據(jù)安全;查成超,男,碩士,工程師,主要研究方向為大數(shù)據(jù)安全。
選自《通信技術(shù)》2022年第4期(為便于排版,已省去參考文獻(xiàn))
來源:信息安全與通信保密雜志社