石 磊,張吉濤,高宇飛,衛(wèi) 琳,陶永才,2
(1.鄭州大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,鄭州 450002;2.鄭州大學(xué) 信息工程學(xué)院,鄭州 450001)
隨著計算機互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)入侵、攻擊以及病毒等網(wǎng)絡(luò)安全問題日益嚴重,對互聯(lián)網(wǎng)用戶的正常使用造成了極大影響。網(wǎng)絡(luò)入侵檢測技術(shù)通過對網(wǎng)絡(luò)流量進行識別分類,及時發(fā)現(xiàn)惡意入侵流量并報告給用戶,提醒用戶采取進一步措施,從而防止重大安全事故發(fā)生。然而,由于互聯(lián)網(wǎng)規(guī)模的不斷擴大,網(wǎng)絡(luò)流量呈現(xiàn)爆炸式增長,結(jié)構(gòu)也愈發(fā)復(fù)雜,如何提高惡意流量的檢測準確率及高效分辨不同惡意流量的類別成為亟待解決的問題。同時,在入侵檢測領(lǐng)域中,正常流量數(shù)據(jù)數(shù)量遠大于異常數(shù)據(jù),若對不平衡數(shù)據(jù)處理不當(dāng),則將導(dǎo)致高假陰性率和低召回率。
目前,入侵檢測系統(tǒng)主要分為傳統(tǒng)方法和基于機器學(xué)習(xí)[1]、深度學(xué)習(xí)[2]的方法兩類。傳統(tǒng)方法具有一定的局限性,無法適應(yīng)日益復(fù)雜的網(wǎng)絡(luò)環(huán)境和攻擊方式。隨著機器學(xué)習(xí)算法在其他領(lǐng)域的成功應(yīng)用,網(wǎng)絡(luò)安全領(lǐng)域開始利用機器學(xué)習(xí)模型實現(xiàn)智能化檢測來提高效率[3]。傳統(tǒng)計算機網(wǎng)絡(luò)安全防御方法主要包括防火墻、殺毒軟件、網(wǎng)絡(luò)安全硬件產(chǎn)品等,即通過模式匹配對入侵流量或病毒程序進行識別,這類方法對已有的入侵行為檢測效果較好,但對于新型的攻擊行為防御效果較差。為此,業(yè)界引入機器學(xué)習(xí)算法,通過學(xué)習(xí)入侵流量特征進而提高對未知攻擊的檢出率。文獻[4-5]結(jié)合隨機森林算法進行入侵檢測研究,提高了入侵檢測的自適應(yīng)性,在不平衡數(shù)據(jù)的多分類問題上具有一定優(yōu)勢。文獻[6]和文獻[7]采用主成分分析(Principal Component Analysis,PCA)對入侵檢測數(shù)據(jù)進行降維:前者使用PCA 方法對KDD 99 數(shù)據(jù)集進行篩選降維,通過支持向量機(Support Vector Machine,SVM)進行訓(xùn)練;后者首先使用信息增益進行屬性特征選取,然后使用PCA 進行數(shù)據(jù)降維,最后使用樸素貝葉斯(Naive Bayes,NB)進行分類檢測。上述方法具有一定優(yōu)勢,但并沒有提高對各類攻擊的檢測率。文獻[8]考慮到數(shù)據(jù)具有時間、空間和內(nèi)容3 個維度的特點,提出一種多維特征融合和疊加集成機制,從原始數(shù)據(jù)提取基本特征數(shù)據(jù),結(jié)合基本特征數(shù)據(jù)形成綜合特征數(shù)據(jù),并將決策樹作為基本學(xué)習(xí)算法、隨機森林作為元學(xué)習(xí)算法,通過集成多種決策樹,有效提高分類精度。基于機器學(xué)習(xí)的方法能夠分析數(shù)據(jù)的表層特征,并通過對特征的學(xué)習(xí)達到自主檢測的目的?;谏疃葘W(xué)習(xí)的方法能夠挖掘數(shù)據(jù)更深層次的特征,提高檢測效率、降低誤報率,有助于發(fā)現(xiàn)潛在安全威脅[9]。文獻[10]使用降維技術(shù)與特征工程結(jié)合的預(yù)處理方法產(chǎn)生有意義的特征,并提出兩種基于深度學(xué)習(xí)的檢測方法。文獻[11]基于數(shù)據(jù)的維度特征和時間序列特征,使用PCA 簡化數(shù)據(jù)特征,并利用基于遷移學(xué)習(xí)的堆疊GRU 檢測模型對簡化后的特征進行入侵檢測。文獻[12]提出一種遺傳卷積神經(jīng)網(wǎng)絡(luò)模型,首先使用結(jié)合了KNN 適應(yīng)度函數(shù)和模糊C 均值聚類的遺傳算法進行特征選擇,獲取改進的特征子集,然后采用五倍交叉驗證選擇效果最好的卷積神經(jīng)網(wǎng)絡(luò)模型,在NSL_KDD 數(shù)據(jù)集上進行了模型驗證。文獻[13-15]采用卷積神經(jīng)網(wǎng)絡(luò)和雙向長短時記憶(Bidirectional Long Short-Term Memory,BiLSTM)網(wǎng)絡(luò)相結(jié)合的方式進行入侵檢測。文獻[16-17]借鑒極限學(xué)習(xí)機(Extreme Learning Machine,ELM)泛化性強的優(yōu)勢,取得了良好的實驗效果。
以上方法雖得到了較高的檢測率,但沒有注意數(shù)據(jù)集不平衡對模型訓(xùn)練的影響[18]。針對不平衡類分布的問題,學(xué)者們進行了大量研究并取得了一定的成果。文獻[19]提出一種基于類平衡動態(tài)加權(quán)損失函數(shù)的類再平衡策略,該策略能夠有效地處理類的不平衡問題,同時提高了校準性能,但并未分析數(shù)據(jù)本身的分布特點,無法產(chǎn)生少數(shù)類數(shù)據(jù)。文獻[20]提出一種新的困難集采樣算法來解決類不平衡問題,該方法首先使用最近鄰算法將訓(xùn)練集劃分為困難集和容易集,然后通過K-Means 算法壓縮困難集中的多數(shù)類樣本,放大少數(shù)類樣本。文獻[21]結(jié)合過采樣和欠采樣技術(shù)來解決不平衡數(shù)據(jù)的分類問題,使用SMOTE 算法進行過采樣,利用互補神經(jīng)網(wǎng)絡(luò)進行欠采樣,但該方法未考慮SMOTE 算法生成少數(shù)類的邊緣分布問題。
為了在解決數(shù)據(jù)不平衡問題的同時提高入侵檢測的準確率,建立一種融合單邊選擇(One-Sided Selection,OSS)、SMOTE 算法以及Wasserstein 生成對抗網(wǎng)絡(luò)(Wasserstein Generative Adversarial Network,WGAN)[22]的上下采樣模型OSW,該模型能夠?qū)W習(xí)到少數(shù)類數(shù)據(jù)的分布,避免生成數(shù)據(jù)的邊緣分布問題。為了使模型在關(guān)注重要特征的同時不丟失局部特征間的聯(lián)系,構(gòu)建一種結(jié)合Transformer和神經(jīng)網(wǎng)絡(luò)的入侵檢測模型TBD。TBD 模型通過引入多頭注意力機制,增加了對不同特征之間以及局部特征與全局特征之間的關(guān)注,從而挖掘特征之間的內(nèi)在聯(lián)系。同時,使用雙向長短時記憶網(wǎng)絡(luò)保留時序特征,利用深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)提取深層次的特征,采用Softmax 分類器對輸出進行分類。
首先,對初始數(shù)據(jù)進行預(yù)處理,通過單邊選擇和SMOTE 算法對原始數(shù)據(jù)進行上采樣和下采樣,為避免SMOTE 算法生成數(shù)據(jù)的邊緣分布問題,只生成少量數(shù)據(jù)。其次,使用WGAN[22]學(xué)習(xí)少數(shù)類數(shù)據(jù)的分布,并通過生成器進行少數(shù)類數(shù)據(jù)的上采樣以構(gòu)建平衡數(shù)據(jù)集,將預(yù)處理后的數(shù)據(jù)輸入Transformer模塊,建立不同特征之間的聯(lián)系,并且通過多頭注意力提取更加豐富的特征信息。然后,將數(shù)據(jù)輸入BiLSTM 神經(jīng)網(wǎng)絡(luò)獲取前后特征之間的聯(lián)系以保留時序信息。最后,通過DNN 進一步提取特征并使用Softmax 分類器對特征進行分類識別得到最終結(jié)果。TBD 模型借鑒各模型的優(yōu)點,同時考慮不同特征之間的聯(lián)系以及特征的時序信息,整體結(jié)構(gòu)如圖1 所示。
圖1 TBD 模型整體結(jié)構(gòu)Fig.1 Overall structure of the TBD model
數(shù)據(jù)預(yù)處理過程如圖1 中數(shù)據(jù)處理部分所示。首先,原始數(shù)據(jù)(X,Y)經(jīng)過OSS-SMOTE 模塊對多數(shù)類數(shù)據(jù)進行下采樣,對少數(shù)類數(shù)據(jù)進行初步上采樣生成數(shù)據(jù)(Xos,Y),其中Xs,l表示經(jīng)過SMOTE 初步上采樣后生成的標簽為l的真實訓(xùn)練數(shù)據(jù)。然后,隨機噪聲數(shù)據(jù)Xr經(jīng)過生成器后生成偽造數(shù)據(jù)Xfake,使用Xs,l和Xfake分別對每個少數(shù)類迭代訓(xùn)練判別器和生成器。最后,使用訓(xùn)練好的生成器生成少數(shù)類數(shù)據(jù)(Xg,Y)。
1.1.1 OSW 模型
OSS 算法是一種經(jīng)典的欠采樣算法,結(jié)合了Tomek links 和KNN,能夠在對多數(shù)類數(shù)據(jù)進行采樣的同時去除噪聲。不同于隨機移除樣本,它在評估每個樣本所含信息量大小的基礎(chǔ)上決定移除哪些樣本。Tomek links 指(xi,xj)樣本對,存在以下關(guān)系:
其中:d(xi,xj)表示xi和xj之間的歐氏距離;xi表示少數(shù)類;xj表示多數(shù)類;xk表示任意其他樣本。
由Tomek links 的定義可知,被標記為Tomek links 的樣本是邊界樣本或噪聲樣本。OSS 算法以最近鄰原則篩選出分類錯誤的樣本,并在這些樣本中找到Tomek links 樣本對,移除多數(shù)類樣本并保留少數(shù)類樣本,達到下采樣的目的。
SMOTE 算法的基本思想是隨機在少數(shù)類樣本中選擇一個樣本中心Xo,通過KNN 算法找到Xo的k個鄰近同類樣本并從中隨機選擇一個樣本Xs。通過Xo和Xs合成新樣本,如式(3)所示:
其中:rand(0,1)表示一個0~1 的隨機數(shù);Xnew表示新生成的樣本。
SMOTE 算法通過在少數(shù)類樣本間生成新的少數(shù)類樣本來達到數(shù)據(jù)平衡,但該算法無法克服非平衡數(shù)據(jù)集的數(shù)據(jù)分布邊緣化問題,容易模糊多數(shù)類與少數(shù)類的邊界,從而增加分類難度。如果初始數(shù)據(jù)量過少,則WGAN 也無法充分學(xué)習(xí)少數(shù)類數(shù)據(jù)的分布。為解決上述問題,本文提出OSW 模型,在SMOTE 生成數(shù)據(jù)的基礎(chǔ)上使用生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)來充分學(xué)習(xí)少數(shù)類數(shù)據(jù)的分布,從而使生成數(shù)據(jù)的質(zhì)量更佳。由于GAN 存在梯度不穩(wěn)定且生成器梯度容易消失的問題,因此使用WGAN 代替GAN。相較于原始GAN,WGAN 去除了判別器最后一層的Sigmoid 并采用Earth-Mover 距離作為Loss,其Loss 函數(shù)計算如式(4)、式(5)所示:
其中:Loss(c)和Loss(g)表示W(wǎng)GAN 中判別器和生成器的損失函數(shù);gθ表示W(wǎng)GAN 中的生成器;fw表示W(wǎng)GAN 中的判別器;x表示真實數(shù)據(jù);z表示隨機噪聲數(shù)據(jù);m表示一個batch 的大小。
在對WGAN 網(wǎng)絡(luò)進行訓(xùn)練時,Adam 會導(dǎo)致模型訓(xùn)練不穩(wěn)定的問題,因此采用RMSProp 作為WGAN 網(wǎng)絡(luò)訓(xùn)練的優(yōu)化器。
1.1.2 MLP 編碼
實驗使用NSL_KDD 數(shù)據(jù)集[23]對模型進行訓(xùn)練驗證。在該數(shù)據(jù)集中有9 個數(shù)據(jù)是離散型數(shù)據(jù),使用one-hot 對其進行編碼處理,并將其插入初始特征,作為整體的一部分進行訓(xùn)練。
類似于自然語言處理中的詞嵌入層,使用一個多層感知機(Multilayer Perceptron,MLP)對每個特征數(shù)據(jù)進行數(shù)據(jù)編碼,將特征放大映射到不同的子空間,提取更豐富的特征并達到模型要求的輸入維度,同時在訓(xùn)練時動態(tài)調(diào)整MLP 的參數(shù)。MLP 結(jié)構(gòu)如表1 所示。
表1 MLP 結(jié)構(gòu)Table 1 Structure of MLP
在二分類和五分類實驗中,原始數(shù)據(jù)標簽具有38 種攻擊類型,因此需要對原始數(shù)據(jù)中的標簽進行預(yù)處理。在執(zhí)行二分類任務(wù)時,將標簽分為正常(Normal)和非正常(Abnormal)2 類,在執(zhí)行五分類任務(wù)時將標簽分為正常以及端口掃描攻擊(Probing)、遠程未授權(quán)訪問攻擊(R2L)、拒絕服務(wù)攻擊(DOS)、本地提權(quán)攻擊(U2R)等5 類。
Transformer 原始模型結(jié)構(gòu)包含編碼和解碼兩部分,由于入侵檢測任務(wù)的具體需要以及數(shù)據(jù)集中每條數(shù)據(jù)定長的特點,TBD 模型只使用Transformer 中的編碼部分,并對其中某些參數(shù)進行微調(diào)。編碼部分包括一個多頭注意力機制和一個前饋神經(jīng)網(wǎng)絡(luò)。注意力機制使用點積注意力,包含query、key 和value 等3 個輸入,使用query 和key 計算出分配給每個值的權(quán)重分數(shù),之后將該權(quán)重與value 計算加權(quán)和得到輸出,使用點積注意力進行并行運算,減少訓(xùn)練時間。注意力計算如式(6)所示:
其中:Q、K、V分別代表Query、Key、Value 矩陣;dk為Key 的維度。
由于實驗輸入數(shù)據(jù)的特點,省去原模型中的Mask 部分。為了使提取的特征更加豐富,使用多頭注意力結(jié)構(gòu)。多頭注意力計算如式(7)所示:
其中:i=1,2,…,n,n為注意力頭的個數(shù);WO表示一個可以學(xué)習(xí)的矩陣,其作用是與多個注意力頭拼接后的結(jié)果進行線性變換。
前饋神經(jīng)網(wǎng)絡(luò)部分只有一個隱藏層的感知機,輸入輸出維度相同,由于單隱藏層網(wǎng)絡(luò)非線性映射能力較弱,考慮到計算復(fù)雜度以及映射能力之間的平衡,因此設(shè)置隱藏層神經(jīng)單元個數(shù)為輸入層的2 倍。使用高斯誤差線性單元激活函數(shù)GeLU 作為激活函數(shù),其相比于ReLU 增加了隨機性,計算公式如式(8)所示:
整個Transformer-Encoder 模塊結(jié)構(gòu)如圖2 所示,使用殘差連接防止出現(xiàn)梯度消失問題。
圖2 Transformer-Encoder 模塊結(jié)構(gòu)Fig.2 Structure of Transformer-Encoder module
長短時記憶(Long Short-Term Memory,LSTM)[24]網(wǎng)絡(luò)是一種解決了長序列遠距離信息丟失的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),用來處理時序信息并解決了RNN 結(jié)構(gòu)中存在的梯度爆炸和梯度消失問題,可記憶有價值的信息。BiLSTM 網(wǎng)絡(luò)由一個前向LSTM 和一個反向LSTM 組成,包含了前向和反向的所有信息,結(jié)構(gòu)如圖3 所示。
圖3 BiLSTM 網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure of BiLSTM network
輸入層(Input)將輸入數(shù)據(jù)分別輸入前向網(wǎng)絡(luò)(Forward)和反向網(wǎng)絡(luò)(Backward)中,對網(wǎng)絡(luò)的輸出(Output)進行拼接處理,輸出如式(9)所示。使用前向和反向的最后一個輸出進行拼接,作為下一層的輸入,并且設(shè)置輸出維度為2 倍的輸入維度以盡可能降低模型的復(fù)雜度。
其中:hj表示第j條輸入數(shù)據(jù)經(jīng)前向輸出和反向輸出拼接后的最終輸出結(jié)果,j=1,2,…,n1,n1表示輸入數(shù)據(jù)的總數(shù)。
深度神經(jīng)網(wǎng)絡(luò)通常也被稱為多層感知機,是深度學(xué)習(xí)的一種框架,TBD 模型中DNN 具有兩個隱藏層。使用ReLU 作為激活函數(shù),隨機失活率(Dropout)設(shè)置為0.5。DNN 結(jié)構(gòu)如表2 所示,其中*表示根據(jù)實際需求進行設(shè)置,如果進行N分類任務(wù),則設(shè)置為N。DNN 計算通式如式(10)所示:
表2 DNN 結(jié)構(gòu)Table 2 Structure of DNN
實驗操作系統(tǒng)為Ubuntu20.04 服務(wù)器版,處理器為Intel Xeon Silver 4210,內(nèi)存為64.0 GB,GPU 為NVIDIA Tesla T4 16 GB,編程語言為Python 3.8,學(xué)習(xí)框架為PyTorch 1.8.1。
實驗數(shù)據(jù)使用NSL_KDD 數(shù)據(jù)集。該數(shù)據(jù)集是TAVALLAEE 等[23]針對KDD CUP 99 數(shù)據(jù)集存在大量冗余記錄、各類數(shù)據(jù)分布不均勻等問題進行改進生成的新數(shù)據(jù)集,包含KDDTrain+、KDDTest+、KDDTest-21、KDDTrain+_20Percent 等4 個子數(shù)據(jù)集,其中,KDDTrain+包含125 973 條記錄,KDDTest+包含22 544 條記錄,KDDTrain+_20Percent包含KDDTrain+中的前25 192條記錄。實驗使用KDDTrain+_20Percent作為訓(xùn)練集,使用KDDTest+作為測試集。在數(shù)據(jù)集中的類標簽表示正常和攻擊類型,其中有1個正常類型和4個攻擊類型,分別為Normal、Probing、R2L、U2R、DOS。各類型數(shù)據(jù)在訓(xùn)練集和測試集上的數(shù)量及所占比率如表3 所示。
表3 初始數(shù)據(jù)集詳情Table 3 Details of initial dataset
訓(xùn)練集經(jīng)過OSW 數(shù)據(jù)預(yù)處理后的數(shù)據(jù)集詳情如表4 所示。
表4 預(yù)處理后的訓(xùn)練集詳情Table 4 Details of pre-processed training set
實驗指標由表5 中的混淆矩陣計算得到,其中,真正例(True Positive,TP)是將正常樣本預(yù)測為正常的數(shù)量,真反例(True Negative,TN)是將異常樣本預(yù)測為異常的數(shù)量,假反例(False Negative,F(xiàn)N)是將正常樣本預(yù)測為異常的數(shù)量,假正例(False Positive,F(xiàn)P)是將異常樣本預(yù)測為正常的數(shù)量。
表5 混淆矩陣Table 5 Confusion matrix
實驗使用的評價指標主要有準確率(A)、查準率(P)、召回率(R)和F1-score,其中,準確率表示模型能夠正確分類的樣本數(shù)占總樣本數(shù)的比率,查準率表示被正確分類的樣本數(shù)與被檢索到的樣本數(shù)的比率,召回率表示被正確分類的樣本數(shù)與應(yīng)當(dāng)被正確分類的樣本數(shù)的比率,F(xiàn)1-score 表示基于查準率和召回率的調(diào)和平均數(shù),計算公式分別如式(11)~式(14)所示:
在多分類任務(wù)中,將所有分類正確的數(shù)據(jù)個數(shù)除以總的數(shù)據(jù)個數(shù)得到多分類的準確率,如式(15)所示:
分別計算每一個分類類型的查準率、召回率和F1-score,之后對這些數(shù)值求和并求平均得到多分類任務(wù)的評價標準。以查準率為例的計算公式如式(16)所示:
其中:m表示分類類型個數(shù)。
不同的超參數(shù)設(shè)置會影響模型收斂速度和實驗結(jié)果,本文實驗超參數(shù)配置情況如表6 所示。
表6 超參數(shù)配置Table 6 Configuration of hyperparameters
在訓(xùn)練過程中,TBD 模型實驗采用Adam 優(yōu)化器來優(yōu)化模型參數(shù),能夠自動調(diào)整學(xué)習(xí)率(Learning Rate),但初始學(xué)習(xí)率仍需要通過實驗來確定,否則可能直接收斂到很差的局部最優(yōu)點。
2.4.1 學(xué)習(xí)率參數(shù)調(diào)優(yōu)實驗
圖4 給出了在不同學(xué)習(xí)率下訓(xùn)練集和測試集上的損失值變化情況。由圖4 可以看出:當(dāng)學(xué)習(xí)率設(shè)置為0.000 01 時,TBD 模型在訓(xùn)練集和測試集上均無法擬合;當(dāng)學(xué)習(xí)率設(shè)置為0.000 1 或0.001 時,TBD模型在訓(xùn)練集上能很好地進行擬合,但在測試集上學(xué)習(xí)率為0.000 1 時的擬合效果優(yōu)于學(xué)習(xí)率為0.001時的擬合效果。因此,選擇0.000 1 作為TBD 模型的訓(xùn)練學(xué)習(xí)率。
圖4 不同學(xué)習(xí)率下的實驗結(jié)果對比Fig.4 Comparison of experimental results with different learning rates
2.4.2 Dropout 參數(shù)調(diào)優(yōu)實驗
圖5 給出了在不同Dropout 下訓(xùn)練集和測試集上的損失值變化情況。由圖5 可以看出:當(dāng)Dropout為0.7 時,由于TBD 模型訓(xùn)練時丟棄網(wǎng)絡(luò)單元過多導(dǎo)致無法充分學(xué)習(xí)數(shù)據(jù)特征,損失值下降,擬合效果不佳;當(dāng)Dropout 為0.3 或0.5 時,TBD 模型在一定的訓(xùn)練時代之后均出現(xiàn)了不同程度的過擬合現(xiàn)象;當(dāng)Dropout 為0.5 時,TBD 模型在測試集上的擬合效果優(yōu)于將Dropout 設(shè)置為0.3 時的擬合效果。此外,還可以采取提前終止訓(xùn)練的方法避免TBD 模型過擬合問題。綜上,TBD 模型選擇0.5 作為Dropout的值。
圖5 不同Dropout 下的實驗結(jié)果對比Fig.5 Comparison of experimental results with different Dropouts
使用常用的SVM、決策樹(Decision Tree,DT)、隨機森林(Random Forest,RF)等機器學(xué)習(xí)算法以及以下4 個深度神經(jīng)網(wǎng)絡(luò)模型作為實驗對比方法:
1)BiLSTM-DNN(BD)。該模型在TBD 模型的基礎(chǔ)上略去了Transformer 模塊,將其作為實驗對比模型以探究Transformer 模塊在本文模型中的重要作用。
2)MultiAttention-BiLSTM-DNN(MABD)。該模型是在TBD 模型的基礎(chǔ)上將Transformer 模塊替換為多頭注意力模塊,用于探究Transformer 模塊中的前饋神經(jīng)網(wǎng)絡(luò)以及殘差連接對訓(xùn)練準確度提升的作用。
3)Transformer-DNN(TD)。該模型在TBD 模型的基礎(chǔ)上略去了BiLSTM 模塊,用于探究BiLSTM模塊在保留數(shù)據(jù)時序特征和長距離依賴信息的作用上是否對分類結(jié)果產(chǎn)生影響。
4)Position-Transformer-DNN(PTD)。該模型在Transformer 的本體結(jié)構(gòu)中,使用位置向量來保留數(shù)據(jù)中的時序信息,通過在TBD 模型中添加位置向量信息并略去BiLSTM 模塊來探究BiLSTM 模塊相對于位置向量的優(yōu)越性。
在進行和未進行訓(xùn)練集數(shù)據(jù)平衡處理的情況下對各個模型和算法進行訓(xùn)練驗證,并且設(shè)置無下采樣、聚類中心(ClusterCentroids)和隨機下采樣(RandomUnder)等3 種算法來取代數(shù)據(jù)預(yù)處理中的下采樣算法以驗證OSS 的有效性。實驗結(jié)果如表7所示,其中SW 表示SMOTE+WGAN。
表7 不同深度神經(jīng)網(wǎng)絡(luò)模型及機器學(xué)習(xí)算法的實驗結(jié)果對比Table 7 Comparison of experimental results of different deep learning network models and machine learning algorithms %
由表7 可以看出:
1)對于二分類而言:本文提出的OSW+TBD 模型準確率達到90.3%,高于經(jīng)過數(shù)據(jù)平衡處理的其他對比模型和算法;省去了前饋神經(jīng)網(wǎng)絡(luò)以及殘差連接的OSW+MABD 模型的準確率為87.5%,位居第二,表明Transformer 模塊相對于單純的多頭注意力模塊具有一定的優(yōu)越性;其他模型和算法的準確率都在87.0%以下;TBD 模型的F1-score 較高。由此可以看出,經(jīng)過數(shù)據(jù)平衡處理后,各個模型的實驗指標均得到較大提升,同時OSS 算法相對于其他下采樣算法在實驗中具有微弱優(yōu)勢,這證明了數(shù)據(jù)平衡處理的必要性以及OSW 數(shù)據(jù)平衡處理模型的有效性。綜上所述,TBD 模型相對于只學(xué)習(xí)淺層特征的SVM、RF、DT 等傳統(tǒng)機器學(xué)習(xí)算法更具優(yōu)越性,通過與BD、MABD、TD、PTD 等模型的比較也驗證了TBD 模型中每個模塊都具有重要的作用。
2)對于五分類而言:本文提出的OSW+TBD 模型準確率達到了79.8%,高于其他對比模型;OSW+TD 模型的準確率達到79.5%,位居第二;在二分類實驗中表現(xiàn)較好的OSW+MABD 模型的準確率只有70.4%,但文獻[25]指出準確率這一指標在不平衡數(shù)據(jù)中具有欺騙性,業(yè)界通常使用其他評估指標對不平衡學(xué)習(xí)進行評估,例如F1-score。由此可以看出,在經(jīng)過OSW 訓(xùn)練集數(shù)據(jù)平衡處理后,TBD 模型的F1-score 達到59.4%,優(yōu)于其他模型。
綜上所述,在多分類實驗中,數(shù)據(jù)平衡處理具有重要的意義。相較于其他模型和算法,本文提出的OSW+TBD 模型在各類指標對比中均具有優(yōu)越性。
本文構(gòu)建針對不平衡數(shù)據(jù)處理的OSW 模型以及TBD 入侵檢測模型。OSW 模型充分發(fā)揮了SMOTE 算法和Wasserstein GAN 的優(yōu)勢,能夠?qū)W習(xí)少數(shù)類數(shù)據(jù)的分布特征。在TBD 模型中:Transformer 模塊通過多頭注意力機制關(guān)注不同屬性特征之間的聯(lián)系,提取更加豐富的特征;BiLSTMDNN 模塊進一步提取深層次特征,并保留了特征的時序信息。實驗設(shè)置BD、MABD、TD、PTD 等4 種對比模型,驗證了TBD 模型中Transformer 模塊以及Transformer 模塊中前饋神經(jīng)網(wǎng)絡(luò)和殘差連接的重要作用,也驗證了BiLSTM 獲取長距離依賴和保留時序信息的能力對結(jié)果具有重要影響。此外,通過對比進行和未進行訓(xùn)練集數(shù)據(jù)平衡處理的模型實驗結(jié)果,證明了數(shù)據(jù)平衡處理的重要性和OSW 數(shù)據(jù)平衡處理模型的有效性。下一步將利用OSW 模型減少不平衡數(shù)據(jù)的影響,融合網(wǎng)絡(luò)流量包數(shù)據(jù)以及人工提取特征,以解決模型普適性[26]問題,并利用深度學(xué)習(xí)技術(shù)在特征提取方面的優(yōu)勢,進一步提高檢測準確率。