摘 要:為提高互聯(lián)網(wǎng)入侵檢測(cè)方法的準(zhǔn)確率,提出一種卷積神經(jīng)網(wǎng)絡(luò)與注意力機(jī)制結(jié)合的入侵檢測(cè)方法。利用Borderline-SMOTE 過(guò)采樣算法和MinMax 歸一化對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,有效緩解入侵?jǐn)?shù)據(jù)量差異較大問(wèn)題,提升非平衡數(shù)據(jù)檢測(cè)性能;使用卷積神經(jīng)網(wǎng)絡(luò)Inception 結(jié)構(gòu)多尺度對(duì)數(shù)據(jù)進(jìn)行特征提取,并配合注意力機(jī)制進(jìn)行維度更新,提高模型處理海量數(shù)據(jù)時(shí)特征表達(dá)的準(zhǔn)確性。研究結(jié)果表明:入侵檢測(cè)方法的平均準(zhǔn)確率為99.57%;相較于SVM 方法、CNN 方法、RNN 方法、BLS-GMM 方法,準(zhǔn)確率分別提升了4.48%、1.35%、1.62%和0.04%,召回率分別提高了4.48%、1.36%、1.62%和0.14%。
關(guān)鍵詞:入侵檢測(cè);卷積神經(jīng)網(wǎng)絡(luò);注意力機(jī)制;過(guò)采樣算法;非平衡數(shù)據(jù)
中圖分類號(hào):TD 824.7 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1008-0562(2024)01-0093-08
0 引言
互聯(lián)網(wǎng)存在網(wǎng)絡(luò)攻擊、信息泄露等安全問(wèn)題,網(wǎng)絡(luò)安全是目前的研究熱點(diǎn)[1]。入侵檢測(cè)系統(tǒng)能有效地檢測(cè)出隱藏在網(wǎng)絡(luò)上的攻擊,是網(wǎng)絡(luò)安全的重要防御手段之一。網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)是一種主動(dòng)防御技術(shù),可以有效檢測(cè)出網(wǎng)絡(luò)攻擊行為,從而為網(wǎng)絡(luò)安全防御提供準(zhǔn)確對(duì)象[2]。入侵檢測(cè)本質(zhì)是一種分類任務(wù),隨著深度學(xué)習(xí)算法研究的深入和完善,深度學(xué)習(xí)算法已經(jīng)在入侵檢測(cè)系統(tǒng)上得到了廣泛的應(yīng)用[3]。文獻(xiàn)[4]、文獻(xiàn)[5]提出的入侵檢測(cè)方法對(duì)數(shù)據(jù)集進(jìn)行過(guò)采樣處理后,使用模型方法解決數(shù)據(jù)樣本分布不均勻的問(wèn)題。但在特征提取方面,卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)面對(duì)海量高維數(shù)據(jù)難以提取準(zhǔn)確有效的特征數(shù)據(jù);文獻(xiàn)[6]、文獻(xiàn)[7]在入侵檢測(cè)方法中引入注意力機(jī)制檢測(cè)惡意行為,側(cè)重于特征提取時(shí)可以有更好的特征表達(dá),但二者未考慮處理數(shù)據(jù)集的失衡問(wèn)題;文獻(xiàn)[8]提出一種卷積神經(jīng)網(wǎng)絡(luò)與Inception 網(wǎng)絡(luò)結(jié)構(gòu)相結(jié)合的入侵檢測(cè)模型,并在該模型中增加Drop Block 層以及注意力機(jī)制模塊,將一維入侵檢測(cè)樣本通過(guò)預(yù)處理變?yōu)槎S圖像樣本,存在計(jì)算量大的問(wèn)題。
針對(duì)入侵檢測(cè)數(shù)據(jù)中存在分布不均勻且樣本數(shù)量不平衡,以及特征表達(dá)能力不夠準(zhǔn)確的問(wèn)題,提出卷積神經(jīng)網(wǎng)絡(luò)與注意力機(jī)制整合的入侵檢測(cè)方法。在全局特征提取過(guò)程中,采用Inception 結(jié)構(gòu)從多個(gè)維度進(jìn)行特征提取,將最大池化換成平均池化,保留數(shù)據(jù)的整體特性;加入全連接層,提高對(duì)小樣本分類性能;加入一定比例的Dropout 正則化,解決過(guò)擬合問(wèn)題,并改善模型泛化能力。通過(guò)卷積塊注意力機(jī)制( convolutional block attentionmodule,CBAM)進(jìn)行維度更新,使其可以有效捕捉全局特征與局部特征之間的關(guān)系,減少噪聲的干擾,檢測(cè)出數(shù)據(jù)細(xì)節(jié)的變化。
1 模型分析
卷積神經(jīng)網(wǎng)絡(luò)與注意力機(jī)制整合的入侵檢測(cè)方法采用Borderline-SMOTE 算法進(jìn)行過(guò)采樣,引入CNN卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,再通過(guò)CBAM注意力機(jī)制網(wǎng)絡(luò)對(duì)數(shù)據(jù)進(jìn)行加權(quán)處理。該方法不僅解決了數(shù)據(jù)不均衡問(wèn)題,而且還改善了網(wǎng)絡(luò)特征表達(dá)能力。傳統(tǒng)的入侵檢測(cè)方法主要是通過(guò)對(duì)入侵模式、攻擊特征的分析、抽取、構(gòu)建規(guī)則庫(kù)、模板庫(kù)等進(jìn)行分析、抽取,因此在識(shí)別精確率和智能方面存在不足,并造成了大量的人為干預(yù)。入侵檢測(cè)方法主要由3 部分組成,分別為數(shù)據(jù)預(yù)處理、特征提取、維度更新和流量預(yù)測(cè)分類。方法框架見(jiàn)圖1。
檢測(cè)過(guò)程分為以下幾個(gè)階段。
(1)預(yù)處理。對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,解決樣本不均衡的問(wèn)題并劃分測(cè)試集和訓(xùn)練集。第一步,對(duì)數(shù)據(jù)集使用Borderline-SMOTE 算法進(jìn)行過(guò)采樣處理,將不足5 000 條的樣本擴(kuò)充到5 000 條,緩解數(shù)據(jù)存在的不平衡問(wèn)題;第二步,由于初始數(shù)據(jù)集中存在空值與無(wú)窮值無(wú)法直接用于實(shí)驗(yàn),去空去無(wú)窮后得到可用數(shù)據(jù)集,隨后分開(kāi)特征樣本與標(biāo)簽樣本;第三步,為了更好地進(jìn)行計(jì)算,通過(guò)歸一化處理縮小數(shù)值的取值范圍;最后,將數(shù)據(jù)集以一定比例分為測(cè)試集和訓(xùn)練集。
(2)特征提取和維度更新。首先,利用Inception結(jié)構(gòu)對(duì)預(yù)處理的數(shù)據(jù)集進(jìn)行特征提取;其次,使用CBAM 雙注意力機(jī)制對(duì)提取的特征進(jìn)行維度更新,加入Dropout 正則化緩解模型出現(xiàn)的過(guò)擬合問(wèn)題,使用Adam 優(yōu)化器對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行改進(jìn),針對(duì)神經(jīng)網(wǎng)絡(luò)層數(shù)以及節(jié)點(diǎn)個(gè)數(shù)進(jìn)行設(shè)計(jì);最后,對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)訓(xùn)練,微調(diào)權(quán)值。
(3)流量預(yù)測(cè)分類。將卷積神經(jīng)網(wǎng)絡(luò)生成的數(shù)據(jù)集輸入softmax 中進(jìn)行入侵檢測(cè)分類。
2 特征提取和維度更新
2.1 特征提取入侵檢測(cè)數(shù)據(jù)特征信息位置的巨大差異導(dǎo)致卷積操作選擇合適的卷積核大小較困難。采用卷積神經(jīng)網(wǎng)絡(luò)中Inception 結(jié)構(gòu)對(duì)入侵檢測(cè)數(shù)據(jù)進(jìn)行特征提取。單純地疊加大量卷積層會(huì)增加計(jì)算資源,因此在進(jìn)行特征提取時(shí),在多個(gè)尺度上進(jìn)行卷積,再進(jìn)行聚類。全局分布的數(shù)據(jù)使用大卷積核,局部分布的數(shù)據(jù)使用小卷積核,通過(guò)把系數(shù)矩陣分解為密集的矩陣運(yùn)算,加快算法的收斂率。由于在相同級(jí)別上運(yùn)行具有多種大小的過(guò)濾器,網(wǎng)絡(luò)將變得更寬。Inception 框架見(jiàn)圖2。
首先,加入BN 層,將網(wǎng)絡(luò)的特征輸出信息規(guī)范到0~1 內(nèi),可有效防止梯度爆炸,也一定程度上較少了參數(shù)個(gè)數(shù),減弱了梯度與參數(shù)初始化的相關(guān)性。通過(guò)這種方法,可以有效提高訓(xùn)練效果,加快訓(xùn)練速度。下一層數(shù)據(jù)無(wú)需從上一層數(shù)據(jù)中了解數(shù)據(jù)的變化,可以更好地整合。
其次,大量采用卷積核大小為1 的矩陣放入Inception 結(jié)構(gòu),主要功能有:降維數(shù)據(jù);增加非線性,提高泛化能力。同時(shí),在原有模型結(jié)構(gòu)基礎(chǔ)上使用一維卷積替換原有的二維卷積,減少對(duì)數(shù)據(jù)集的處理過(guò)程,使數(shù)據(jù)盡可能保持原始狀態(tài)。最大池化每次只保留最大值,打斷梯度回傳,因此將最大池化轉(zhuǎn)為均值池化,以保留整體數(shù)據(jù)特征。此外,在輸出層前加入連接層,將所有上層節(jié)點(diǎn)連接,對(duì)所有特征進(jìn)行整合,有效解決非線性問(wèn)題。在Inception 結(jié)構(gòu)中加入全連接可以提升模型對(duì)小樣本的檢測(cè)性能。
最后,由于加入全連接層和使用均值池化,導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)過(guò)深,出現(xiàn)過(guò)擬合,使梯度更新傳輸?shù)秸麄€(gè)網(wǎng)絡(luò)更加困難。因此,在全連接層之后增大隨機(jī)刪除率(Dropout),減輕模型中的過(guò)擬合。各神經(jīng)元保持一定概率p 與其他神經(jīng)元無(wú)關(guān)。通過(guò)校驗(yàn),可設(shè)定p 為接近神經(jīng)網(wǎng)絡(luò)模型的最優(yōu)值[9],取0.5。
一維卷積網(wǎng)絡(luò)需要對(duì)輸入樣本進(jìn)行卷積運(yùn)算,而文本數(shù)據(jù)則不能橫向滑動(dòng),只需簡(jiǎn)單地向下滑動(dòng)即可,讓N-gram 能夠提取詞和詞間的局部相關(guān)性[14]。將不同濾波器應(yīng)用于不同詞窗,獲得n 個(gè)卷積矢量。對(duì)每個(gè)矢量進(jìn)行最大池化運(yùn)算并進(jìn)行拼接,獲得該特征的特征表達(dá),再利用分類器對(duì)特征向量進(jìn)行分類。一維卷積過(guò)程見(jiàn)圖3。
Inception 特征提取的偽代碼如下。
Detection model:
Input:feature vector
Output:normal or abnormal
CNN:
Inp1=Input(shape)
c1=conv1D(filter,kernel_size,stride)(Inp1)
for block=1,2//雙通道,提取不同的特征
if block=1
c2=conv1D(filter,kernel_size,stride=1)
else
c2=conv1D(filter,kernel_size,stride=2)
a1=CBAM()
p1=GlobalAveragePooling1D()
f1=Dense()
d1=Dropout()
f2=Dense(activation)
2.2 維度更新
CBAM 注意力機(jī)制是一種結(jié)合空間(spatial)和通道(channel)的注意力機(jī)制模塊,對(duì)減少數(shù)據(jù)的噪聲具有良好的效果[10]。結(jié)合卷積神經(jīng)網(wǎng)絡(luò),將模塊經(jīng)過(guò)2 個(gè)分離路徑的通道意力機(jī)制模塊和空間注意力機(jī)制模塊,最后獲得一個(gè)注意力特征圖。
針對(duì)卷積網(wǎng)絡(luò)產(chǎn)生的中間層特征圖 F,CBAM推導(dǎo)出一維通道特征圖Mc 和二維空間特征圖Ms,將其與輸入數(shù)據(jù)相乘得到F′,再求出F′的空間注意力特征圖,并將兩數(shù)相乘得F\"。CBAM 模型框架見(jiàn)圖4。
通過(guò)分析不同通道的數(shù)據(jù)特性,確定不同通道的特征表達(dá)權(quán)重,通道注意力特征圖關(guān)注輸入數(shù)據(jù)中的有用信息。為提高通道注意力機(jī)制的運(yùn)算效率,利用全局最大池和全局平均池算法對(duì)輸入數(shù)據(jù)進(jìn)行壓縮,獲得2 個(gè)不同的空間背景maxFC 和 avqFC 。通過(guò)對(duì)多層MLP 的共享網(wǎng)絡(luò)分析,得出通道注意力特征圖Mc。
空間維度注意力賦予數(shù)據(jù)尺寸空間不同權(quán)重,在特征尺寸空間上,并非所有特征都對(duì)分類任務(wù)有相同作用。這些特征中,通過(guò)sigmoid 激活函數(shù)獲取每個(gè)通道歸一化后的權(quán)重,用以提高識(shí)別準(zhǔn)確率。為計(jì)算空間注意力機(jī)制,首先通過(guò)最大池化和平均池化方法,分別求出不同的特征圖maxFS 和avcFS ,將這兩個(gè)特征圖通過(guò)卷積操作結(jié)合起來(lái),并通過(guò)卷積操作得到空間注意力特征圖Ms(F)。歸一化權(quán)重見(jiàn)圖5。
最后,對(duì)分類影響大的特征分配大的權(quán)重,從而使其特征表達(dá)更為準(zhǔn)確。
CBAM 維度更新的偽代碼為:
/*channel 維度*/
p1=GlobalAvgPooling()
p2=GlobalMaxPooling()
/*spatial 維度*/
p1=Avgpool()
p2=Maxpool()
a1=tf.concat(p1,p1)//延深度方向?qū)1,p2 進(jìn)行堆疊
3 流量預(yù)測(cè)分類
檢測(cè)過(guò)程中測(cè)試集樣本與訓(xùn)練集樣本數(shù)據(jù)維度相同,測(cè)試數(shù)據(jù)與標(biāo)簽輸入訓(xùn)練好的網(wǎng)絡(luò)結(jié)構(gòu)中,通過(guò)向前傳播,得到最終分類結(jié)果,將分類結(jié)果與真實(shí)標(biāo)簽數(shù)據(jù)進(jìn)行對(duì)比得出最終模型的準(zhǔn)確率[11]。
入侵檢測(cè)優(yōu)化器采用 Adam 算法,發(fā)揮善于處理稀疏梯度的Adagrad 算法[12]與善于處理非平穩(wěn)目標(biāo)的RMSprop 算法[13]的優(yōu)點(diǎn),為不同的參數(shù)提供自適應(yīng)學(xué)習(xí)率,適用于高維空間和大數(shù)據(jù)集。具體方法如下。
(1)計(jì)算參數(shù)的梯度g
由 hn-1 與hn 的損失函數(shù)和數(shù)據(jù)集的小批量m,得出計(jì)算參數(shù)的梯度g 為
(2)計(jì)算一階矩、二階矩的誤差估計(jì)
利用指數(shù)衰減率 β1、β2∈[0,1],當(dāng)θt 不收斂時(shí)得出修正后矩陣估計(jì)mt 與vt 分別為
對(duì)一階矩估算和二階矩估算作誤差校正,分別為
進(jìn)行校正后,梯度g 的矩陣估計(jì)得到固定區(qū)間,使得各參數(shù)變得比較平穩(wěn)。
(3)θ 的迭代
當(dāng)參數(shù)θ 沒(méi)有收斂時(shí),循環(huán)迭代更新可表示為
式中,ε 為用于數(shù)值穩(wěn)定的小常數(shù),防止等號(hào)右側(cè)第二項(xiàng)在尋找最優(yōu)梯度時(shí)分母為0 的現(xiàn)象。
4 實(shí)驗(yàn)分析
4.1 實(shí)驗(yàn)環(huán)境與評(píng)估標(biāo)準(zhǔn)
通過(guò)對(duì)相同的數(shù)據(jù)集進(jìn)行訓(xùn)練結(jié)果的準(zhǔn)確率、精確率和召回率來(lái)驗(yàn)證本文提出的方法的穩(wěn)定性。實(shí)驗(yàn)環(huán)境與評(píng)估標(biāo)準(zhǔn)設(shè)置如下。
(1)實(shí)驗(yàn)環(huán)境
操作系統(tǒng):win10_64 統(tǒng)。處理器:Inte(R)Cre(TM) i7-9700F CPU@ 3.00GHz 3GHz。內(nèi)存(RAM):48G。編程環(huán)境:Python3.8,Keras2.7,TensorFlow2.7,Sckit-learn 庫(kù)。
(2)評(píng)估標(biāo)準(zhǔn)
本文使用準(zhǔn)確率(Acc)、精確率(PPV)、召回率(TPR)和F1-Score 用于評(píng)估模型的性能指標(biāo)。4 個(gè)指標(biāo)均以混淆矩陣為基礎(chǔ)得出,見(jiàn)表1。
計(jì)算結(jié)果見(jiàn)式(8)~式(11)。
Acc = (TP + TN) / (TP + TN + FP + FN), (8)
PPV = TP / (TP + FP), (9)
TPR = TP / (TP + FN), (10)
F1 -Score = 2(PPV×TPR )/(PPV + TPR)。(11)
4.2 數(shù)據(jù)集選擇
在構(gòu)建入侵檢測(cè)模型時(shí),所選擇的數(shù)據(jù)要綜合、真實(shí)、有代表性[14],因此在模型建立和實(shí)驗(yàn)過(guò)程中采用了CIC-IDS-2017 數(shù)據(jù)集。
在數(shù)據(jù)集中,每一個(gè)特征數(shù)據(jù)具有不同的數(shù)量級(jí),如“Destination Port” 取值可以為 49 188,而“Flow Duration”取值可以為1,導(dǎo)致利用梯度下降和求取最優(yōu)解時(shí)的速度降低,并且可能由于收斂速度慢或者無(wú)法收斂影響精度[15],因此需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理。
4.3 數(shù)據(jù)預(yù)處理
數(shù)據(jù)集預(yù)處理分過(guò)程為3 部分。
(1)過(guò)采樣
Borderline-SMOTE 過(guò)采樣算法只利用邊界上的少類樣品進(jìn)行合成,提高樣本類別分布[16]。計(jì)算邊界樣本點(diǎn)'i p 與少數(shù)樣本P 的k 鄰近,利用抽樣倍率U,選取s 個(gè)相鄰的k,并進(jìn)行線性內(nèi)插,得到少數(shù)類別抽樣,如式(12)。
式中:dj 為p'i與其s個(gè)近鄰的距離; γj為0 到1 之間的隨機(jī)數(shù)。
(2)數(shù)據(jù)清洗
數(shù)據(jù)清洗分別對(duì)特征和標(biāo)簽進(jìn)行不同操作,特征主要進(jìn)行去空去無(wú)窮操作。提取出數(shù)據(jù)集最后一列用作標(biāo)簽,并把文本型數(shù)據(jù)轉(zhuǎn)化為數(shù)值型數(shù)據(jù),最后將標(biāo)簽變?yōu)橐痪S數(shù)組便于進(jìn)行實(shí)驗(yàn)結(jié)果的對(duì)比分析。
(3)歸一化
假設(shè)數(shù)據(jù)集中共有 N 個(gè)樣本,可將所有樣本的每個(gè)特征屬性映射為x=(x1,x2,…,xN)T,使用MinMax歸一化,可表示為
式中,min(x)和max(x)分別為x 可取值的最大值和最小值。
經(jīng)過(guò)預(yù)處理得到用于仿真實(shí)驗(yàn)的訓(xùn)練集和測(cè)試集。
4.4 實(shí)驗(yàn)結(jié)果分析
(1)模型參數(shù)選擇與分析
目前本文使用的網(wǎng)絡(luò)結(jié)構(gòu)還沒(méi)有明確的理論支撐,因此需要通過(guò)相關(guān)文獻(xiàn)以及大量的實(shí)驗(yàn)驗(yàn)證來(lái)確定相對(duì)優(yōu)秀的模型結(jié)構(gòu)。在數(shù)據(jù)集中抽取一定比例的數(shù)據(jù),使用該數(shù)據(jù)在入侵檢測(cè)方法中進(jìn)行對(duì)比實(shí)驗(yàn),分析參數(shù)對(duì)模型性能的影響。通過(guò)反復(fù)實(shí)驗(yàn)的方式,將入侵檢測(cè)方法其他參數(shù)設(shè)置如下:batch-size 數(shù)量為128(可以根據(jù)樣本的數(shù)量進(jìn)行調(diào)整);epoch 為50時(shí)效果較好,但陷入局部最優(yōu),準(zhǔn)確率開(kāi)始下降,epoch 迭代次數(shù)為100 次,結(jié)果趨于穩(wěn)定達(dá)到全局最優(yōu);數(shù)據(jù)集80%用于訓(xùn)練集,20%用于測(cè)試集,其中訓(xùn)練集10%作為驗(yàn)證集進(jìn)行實(shí)驗(yàn)。
(2)預(yù)處理方式選擇
采用無(wú)處理、歸一化以及標(biāo)準(zhǔn)化方法對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)清洗,將3 種方式處理后的數(shù)據(jù)導(dǎo)入模型中進(jìn)行實(shí)驗(yàn),結(jié)果見(jiàn)表2。由表2 可見(jiàn),未經(jīng)處理數(shù)據(jù)集的準(zhǔn)確率僅為82.27%,經(jīng)標(biāo)準(zhǔn)化和歸一化處理的數(shù)據(jù)集的準(zhǔn)確率均達(dá)到99%以上,其中歸一化后的準(zhǔn)確率相較于標(biāo)準(zhǔn)化提升0.31%,故最終選擇對(duì)數(shù)據(jù)集進(jìn)行歸一化操作。
(3)Dropout 參數(shù)選擇
確定最佳隨機(jī)刪除率 Dropout。將Dropout 設(shè)置為0.3~0.6,對(duì)不同的Dropout 反復(fù)進(jìn)行多次實(shí)驗(yàn),結(jié)果見(jiàn)表3。由表3 可見(jiàn),Dropout 設(shè)置為0.3 時(shí)準(zhǔn)確率最高,但出現(xiàn)較嚴(yán)重的過(guò)擬合;當(dāng)Dropout 設(shè)置為0.4 時(shí),在未出現(xiàn)過(guò)擬合的情況下,準(zhǔn)確率達(dá)到最大值,模型檢測(cè)性能達(dá)到最佳值,由此可以說(shuō)明減小Dropout 不一定會(huì)增加模型的特征提取能力,反而使模型泛化能力減弱,產(chǎn)生過(guò)擬合現(xiàn)象。
(4)優(yōu)化器對(duì)比
選取 4 種常用優(yōu)化算法進(jìn)行比較,分析結(jié)果見(jiàn)表4。由表4 可見(jiàn),選擇Adam 優(yōu)化器時(shí),入侵檢測(cè)方法最有效,準(zhǔn)確率達(dá)到99.57%。
(5)網(wǎng)絡(luò)結(jié)構(gòu)選擇與分析
在深度學(xué)習(xí)中,模型的網(wǎng)絡(luò)結(jié)構(gòu)對(duì)分類結(jié)果影響較大,因此通過(guò)設(shè)置不同大小的低維特征表達(dá)和CBAM 在網(wǎng)絡(luò)結(jié)構(gòu)中的放置位置,進(jìn)行實(shí)驗(yàn)對(duì)比。分別從準(zhǔn)確率、精確率兩個(gè)方面對(duì)入侵檢測(cè)的最佳模型結(jié)構(gòu)進(jìn)行討論。
有、無(wú) CBAM 時(shí)對(duì)不同攻擊類型的分類結(jié)果見(jiàn)圖6。由圖6 可知,經(jīng)過(guò)CBAM 維度更新的分類結(jié)果比無(wú)維度更新的準(zhǔn)確率提高了0.92%,個(gè)別樣本差距不大,其中對(duì)于Web Attack Sql Injection 攻擊類型的檢測(cè)精確率提高較大,為18.57%,對(duì)于Heartbleed 攻擊類型的檢測(cè)精確率提高了13.98%。從實(shí)驗(yàn)可以看出,在CNN 提取特征后使用CBAM進(jìn)行維度更新可以提高分類的精確率和準(zhǔn)確率。
不同結(jié)構(gòu)注意力機(jī)制放在特征提取的前、后的精確率對(duì)比見(jiàn)圖7。盡管在CNN 特征提取后加入注意力機(jī)制部分,對(duì)大多數(shù)攻擊樣本的精確率變化較小,但是針對(duì)SSH-Patator、FTP-Patator、Bot 和PortScan 不同的攻擊類型,特別是SSH-Patator 攻擊類型,在CNN 特征提取后,通過(guò)增加維度更新部分,精確率提高了14.46%。因此,在CNN 的特征抽取后采用CBAM 維度更新,可以得到較好的結(jié)果。
(6)不同算法檢測(cè)準(zhǔn)確率對(duì)比
不同算法對(duì)不同攻擊類型的分類準(zhǔn)確率有所不同,分別對(duì)5 種模型的準(zhǔn)確率、召回率、F1-Score和精確率進(jìn)行對(duì)比,結(jié)果見(jiàn)表5、表6。對(duì)比結(jié)果驗(yàn)證了本文方法的可行性。
雖然傳統(tǒng)機(jī)器學(xué)習(xí)對(duì)PortScan 和Infiltration 準(zhǔn)確率可以達(dá)到100%,但是支持向量機(jī)對(duì)少數(shù)量樣本的檢測(cè)精確率明顯不足,如圖7 所示,Bot、WebAttack Sql Injection、Web Attack Sql Injection 和SSHPatator 精確率均為0。相比SVM 分類器,其余算法均為以神經(jīng)網(wǎng)絡(luò)為主體的網(wǎng)絡(luò)安全入侵檢測(cè)方法。對(duì)比普通CNN 與Inception-CBAM的檢測(cè)結(jié)果,Bot 提升了72.76%,Web Attack Sql Injection 檢測(cè)精確率提升了65%,Heartbleed 檢測(cè)精確率提升了64.06%。同樣基于RNN 本文方法的精確率提升1.35%,對(duì)于部分樣本精確率也有一定提升。與BLS-GMM 對(duì)比,本文方法在Heartbleed 和WebAttack Brute Force 兩類標(biāo)簽樣本上的提升較大,精確率分別提升了48.5%與38.01%。運(yùn)用卷積神經(jīng)網(wǎng)絡(luò)的分類特性,從通道和空間兩方面進(jìn)行了數(shù)據(jù)的維度更新,結(jié)果表明本文方法的檢測(cè)精確率達(dá)99.57%,具有一定的有效性和實(shí)用性。
(7)不同數(shù)據(jù)集對(duì)比
為驗(yàn)證模型對(duì)多種數(shù)據(jù)集的適用性,對(duì)3 種不同數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),結(jié)果見(jiàn)表7。由表7 可以看出,3 種不同數(shù)據(jù)集檢測(cè)的準(zhǔn)確率均高于90%,其中NSL_KDD 與UNSW_NB15 數(shù)據(jù)集準(zhǔn)確率達(dá)到96.77%和91.63%。結(jié)合各項(xiàng)指標(biāo)可以說(shuō)明所提方法有良好的泛化性,可以較好地完成入侵檢測(cè)。
5 結(jié)論
針對(duì)海量高維、不平衡的數(shù)據(jù),采用卷積神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制相結(jié)合的方法, 進(jìn)行CICIDS-2017 數(shù)據(jù)集的訓(xùn)練和測(cè)試,結(jié)論如下。
(1)利用Borderline-SMOTE 過(guò)采樣算法對(duì)小類樣本進(jìn)行樣本合成,有效提升了小類樣本的檢測(cè)率。采用Inception 結(jié)構(gòu)從多維度對(duì)數(shù)據(jù)進(jìn)行特征提取,通過(guò)加入CBAM 注意力機(jī)制進(jìn)行維度更新,并引入一定概率的Dropout 算法,有效解決了卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)模型過(guò)擬合問(wèn)題。采用Adam 算法優(yōu)化損失函數(shù),提高了網(wǎng)絡(luò)收斂性與檢測(cè)性能。
(2)實(shí)驗(yàn)結(jié)果表明:與其他方法相比,本文所提方法的準(zhǔn)確率、精確率和召回率均有所提高。
(3)雖然所提方法具有較良好的、穩(wěn)定的檢測(cè)性能,但依然有改進(jìn)空間,進(jìn)一步的研究可針對(duì)提升模型異常樣本檢測(cè)實(shí)時(shí)性方面進(jìn)行。
參考文獻(xiàn)(References):
[1] 郇文明,林海濤.基于采樣集成算法的入侵檢測(cè)系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)科學(xué),2021,48(S2):705-712.
HUAN Wenming,LIN Haitao.Design of intrusion detection systembased on sampling integration algorithm[J].Computer Science,2021,48(S2):705-712.
[2] 劉奇旭,王君楠,尹捷,等.對(duì)抗機(jī)器學(xué)習(xí)在網(wǎng)絡(luò)入侵檢測(cè)領(lǐng)域的應(yīng)用[J].通信學(xué)報(bào),2021,42(11):1-12.
LIU Qixu,WANG Junnan,YIN Jie,et al.Application of anti-machinelearning in the field of network intrusion detection[J].Journal ofCommunications,2021,42(11):1-12.
[3] ZHANG J.Distributed network security framework of energy internetbased on internet of things[J].Sustainable Energy Technologies andAssessments,2021,44:101051.
[4] 田桂豐,單志龍,廖祝華,等.基于Faster R-CNN 深度學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)模型[J].南京理工大學(xué)學(xué)報(bào),2021,45(1):56-62.
TIAN Guifeng,SHAN Zhilong,LIAO Zhuhua,et al.Network intrusiondetection model based on Faster R-CNN deep learning[J].Journal ofNanjing University of Technology,2021,45(1):56-62.
[5] 劉全明,李尹楠,郭婷,等.基于Borderline-SMOTE 和雙Attention 的入侵檢測(cè)方法[J].計(jì)算機(jī)科學(xué),2021,48(3):327-332.
LIU Quanming,LI Yinnan,GUO Ting,et al.Intrusion detection methodbased on Borderline-SMOTE and do。uble Attention[J].ComputerScience,2021,48(3):327-332.[6] 張全龍,王懷彬.基于膨脹卷積和門控循環(huán)單元組合的入侵檢測(cè)模型[J].計(jì)算機(jī)應(yīng)用,2021,41(5):1372-1377.
ZHANG Quanlong,WANG Huaibin.Intrusion detection model based oncombination of expansion convolution and gated loop unit[J].Journal ofComputer Applications,2021,41(5):1372-1377.
[7] 馬明艷,陳偉,吳禮發(fā).基于CNN-BiLSTM 網(wǎng)絡(luò)的入侵檢測(cè)方法[J].計(jì)算機(jī)工程與應(yīng)用,2022,58(10):116-124.
MA Mingyan,CHEN Wei,WU Lifa.Intrusion detection method based onCNN-BiLSTM network[J].Computer Engineering and Application,2022,58(10):116-124.
[8] 謝金鑫,王懷彬.基于卷積神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)入侵檢測(cè)研究[J].天津理工大學(xué)學(xué)報(bào),2022,38(3):32-36.
XIE Jinxin,WANG Huaibin.Research on network intrusion detectionbased on convolution neural network model[J].Journal of TianjinUniversity of Technology,2022,38(3):32-36.
[9] 陳虹,趙建智,肖成龍,等.改進(jìn)ADASYN-SDA 的入侵檢測(cè)模型研究[J].計(jì)算機(jī)工程與應(yīng)用,2020,56(2):97-105.
CHEN Hong,ZHAO Jianzhi,XIAO Chenglong,et al.Research onimproved ADASYN-SDA intrusion detection model[J].ComputerEngineering and Application,2020,56(2):97-105.
[10] WOO S,PARK J,LEE J Y,et al.Cbam:convolutional block attentionmodule[C]//Proceedings of the European Conference on ComputerVision (ECCV),2018:3-19.
[11] KIZILOZ H E.Classifier ensemble methods in feature selection[J].Neurocomputing,2021,419:97-107.
[12] LYDIA A,F(xiàn)RANCIS S. Adagrad—an optimizer for stochastic gradientdescent[J].International Journal of Information and Computer Science,2019,6(5):566-568.
[13] XU D,ZHANG S,ZHANG H,et al.Convergence of the RMSProp deeplearning method with penalty for nonconvex optimization[J].NeuralNetworks,2021,139:17-23.
[14] GU J,WANG Z,KUEN J,et al.Recent advances in convolutional neuralnetworks[J].Pattern Recognition,2018,77:354-377.
[15] DWIVEDI S,VARDHAN M,TRIPATHI S.Defense against distributed DoSattack detection by using intelligent evolutionary algorithm[J].InternationalJournal of Computers and Applications,2022,44(3):219-229.
[16] 李蒙蒙,劉藝,李庚松,等.不平衡多分類算法綜述[J].計(jì)算機(jī)應(yīng)用,2022,42(11):3307-3321.
LI Mengmeng,LIU Yi,LI Gengsong,et al.Survey on unbalancedmulti-class classification algorithms[J].Journal of ComputerApplications,2022,42(11):3307-3321.
基金項(xiàng)目:國(guó)家自然科學(xué)基金項(xiàng)目(62173171)