程磊,滿穎慧
(陸軍軍事交通學(xué)院鎮(zhèn)江校區(qū),江蘇 鎮(zhèn)江 212000)
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域的一個(gè)分支[1],相較于傳統(tǒng)機(jī)器的學(xué)習(xí)技術(shù),深度學(xué)習(xí)可以更加高效地學(xué)習(xí)樣本數(shù)據(jù)的內(nèi)在規(guī)律,當(dāng)其應(yīng)用于入侵檢測系統(tǒng)時(shí)能夠充分地挖掘流量數(shù)據(jù)中蘊(yùn)含的各種信息,大幅提高系統(tǒng)檢測精度,降低系統(tǒng)的檢測成本。常用深度學(xué)習(xí)算法有卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN) ,循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN) ,深度信念網(wǎng)絡(luò)(Deep Belief Network,DBN) 等。通常入侵檢測系統(tǒng)訓(xùn)練深度學(xué)習(xí)模型時(shí)對樣本數(shù)據(jù)的規(guī)模以及分布情況都有一定的要求,而當(dāng)前網(wǎng)絡(luò)攻擊手段變化較快,且網(wǎng)絡(luò)數(shù)據(jù)中正常樣本數(shù)據(jù)較多,異常樣本數(shù)據(jù)較少,樣本數(shù)據(jù)分布不平衡,導(dǎo)致可用訓(xùn)練樣本較少,這就需要入侵檢測系統(tǒng)能夠具備小樣本訓(xùn)練的能力。
可靠標(biāo)簽選擇與學(xué)習(xí)的半監(jiān)督學(xué)習(xí)算法Reliable Label Selection and Learning Base Algorithm for Semi-Supervised Learning,ReLSL) 可以進(jìn)一步降低半監(jiān)督算法對標(biāo)記數(shù)據(jù)的依賴,避免由于初始信息量較少導(dǎo)致的模型啟動(dòng)困難以及偽標(biāo)簽噪聲比困難導(dǎo)致的模型崩潰等情況,提高檢測準(zhǔn)確率[2]。本文對ReLSL 算法進(jìn)行了研究,并通過自適應(yīng)的方法對ReLSL算法中部分超參數(shù)進(jìn)行了優(yōu)化,提出了一種基于可靠標(biāo)簽選擇與學(xué)習(xí)的自適應(yīng)半監(jiān)督學(xué)習(xí)算法的網(wǎng)路入侵檢測模型(Reliable Label Selection and Learning Base Algorithm for Adaptive Semi-Supervised Learning,ReLASL) ,相較于入侵檢測系統(tǒng)常用的深度學(xué)習(xí)模型,該模型能夠適應(yīng)網(wǎng)絡(luò)數(shù)據(jù)分布不均衡的特點(diǎn),可以通過較少的訓(xùn)練樣本標(biāo)簽實(shí)現(xiàn)快速、準(zhǔn)確地識(shí)別網(wǎng)絡(luò)行為。
ReLSL算法將半監(jiān)督學(xué)習(xí)(Semi-Supervised Learning,SSL) 問題轉(zhuǎn)化為在數(shù)據(jù)集Α上訓(xùn)練深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)?(?),用于C分類問題[2],數(shù)據(jù)集Α包括無標(biāo)簽數(shù)據(jù)集與標(biāo)簽數(shù)據(jù)集,其中,為標(biāo)簽,通過one-hot向量表示,維度為C,在極少標(biāo)簽樣本情況下,即KM< 特征提取與基于圖的標(biāo)簽傳染主要目的對無標(biāo)簽樣本進(jìn)行標(biāo)定,主要分三個(gè)步驟,一是特征提取,即使用(Anchor Neighborhood Discovery,AND) 算法提取數(shù)據(jù)集Α 特征ei=φ(xi),其中φ(?)為AND 網(wǎng)絡(luò),采用了ResNet50結(jié)構(gòu);二是計(jì)算相似度,即采用式(1) 根據(jù)提取特征計(jì)算樣本相似度矩陣S,并通過式(2) 對S進(jìn)行規(guī)范化處理。 其中,α為超參數(shù),值越大代表樣本特征距離越大,相似度越小。 三是標(biāo)簽樣本標(biāo)定,即通過式(3) 獲取偽標(biāo)簽隸屬度向量。 其中,γ表示跳向相鄰節(jié)點(diǎn)概率,I為單位矩陣,Y與Y′是維度相同的初始化標(biāo)簽矩陣,當(dāng)獲得Y′后,還需將其徹底轉(zhuǎn)化為one-hot 向量,最終處理得到標(biāo)簽樣本矩陣。 由于初始的訓(xùn)練標(biāo)簽樣本不足,僅通過標(biāo)簽傳染的方式還無法保證偽標(biāo)簽標(biāo)定的準(zhǔn)確率,因此需要對偽標(biāo)簽樣本~Y'進(jìn)行再學(xué)習(xí)與重新標(biāo)定,ReLSL算法應(yīng)用WRN-28-2 網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練模型φ(?),并引入一致性懲罰項(xiàng)對φ(?)損失函數(shù)進(jìn)行優(yōu)化,如式(4) 所示: 為進(jìn)一步準(zhǔn)確挑選正確標(biāo)記樣本,算法通過記錄樣本訓(xùn)練后期的輸出損失,綜合訓(xùn)練損失的均值與方差,確定最終的標(biāo)簽樣本,即由式(5) 確定標(biāo)簽樣本。 其中,lossce(-ep:)表示樣本xi在模型訓(xùn)練最后h次迭代獲得的損失。 ReLSL算法計(jì)算每個(gè)訓(xùn)練樣本的chi值后,以此為依據(jù),對φ(?)輸出的one-hot 標(biāo)簽進(jìn)行排序,并保留前m 個(gè)樣本,其余樣本重新標(biāo)定為未標(biāo)記樣本,則最終標(biāo)定訓(xùn)練數(shù)據(jù)集記為Α′ 標(biāo)簽數(shù)據(jù)集為無標(biāo)簽數(shù)據(jù)集為,,在極少標(biāo)簽條件下 ReLSL算法使用LS與MSC策略進(jìn)行半監(jiān)督學(xué)習(xí),LS策略是為緩解由錯(cuò)誤標(biāo)記導(dǎo)致的無法修正問題,即對Α′M樣本中標(biāo)簽yi進(jìn)行等比例平滑,如式(6) 所示。 其中: ε為平滑系數(shù),隨迭代逐漸變小,η為0 到1 之間的均勻采樣隨機(jī)數(shù),λ為平滑因子,λ值越小,則輸出的向量越平滑。針對yi,ReLSL 算法則是采用了指數(shù)加權(quán)平均操作,即對樣本每次的輸出結(jié)果進(jìn)行了加權(quán)平均: 其中,?(xi)表示樣本xi在模型φ(?)訓(xùn)練時(shí)第t-1次迭代時(shí)的輸出向量,為樣本xi在第t-1次迭代時(shí)的移動(dòng)平均值,δ為動(dòng)量權(quán)重,主要用于控制更新力度。MSC 策略主要為降低錯(cuò)誤標(biāo)簽以及擾動(dòng)對模型訓(xùn)練的影響,首先通過式(8)對數(shù)據(jù)集Α′中每個(gè)樣本在Softmax的輸入向量進(jìn)行指數(shù)加權(quán)平均操作。 進(jìn)而對每一虛擬類中的輸出進(jìn)行平均操作,而對于無標(biāo)簽數(shù)據(jù)∈ΑN的輸出向量,ReLSL算法采用了損失函數(shù)式(9) 進(jìn)行了偏移校正。 ReLASL入侵檢測模型充分利用ReLSL算法小樣本訓(xùn)練的優(yōu)勢的同時(shí)根據(jù)網(wǎng)絡(luò)樣本數(shù)據(jù)分布情況,改進(jìn)了ReLSL 算法超參數(shù)設(shè)置方法,保證能夠快速、高效地檢測網(wǎng)絡(luò)異常數(shù)據(jù)。 相對于ReLSL,ReLASL 僅對特征提取與標(biāo)簽傳染、偽標(biāo)簽學(xué)習(xí)與標(biāo)定進(jìn)行了改進(jìn),因此僅對改動(dòng)部分做具體介紹。 本文特征學(xué)習(xí)方法同樣選用AND 算法,采用ResNet50 結(jié)構(gòu)提取訓(xùn)練樣本特征值,獲取特征。由于網(wǎng)絡(luò)樣本數(shù)據(jù)量較大,相同類型的數(shù)據(jù)特征值之間的距離差較大,無法通過簡單的特征值距離計(jì)算相似度矩陣?,因此引入樣本特征值平均距離的概念改進(jìn)式(1) 超參數(shù)α取值,通過該樣本特征值與其他樣本特征值平均距離決定對遠(yuǎn)距離樣本的敏感程度,當(dāng)樣本特征值距離小于樣本平均特征距離時(shí),特征距離相差較大樣本相似度越小,反之,特征距離相差較大樣本相似度越大。如式(10) 所示。 而后通過式(2) 與式(3) 獲取穩(wěn)定的標(biāo)簽矩陣Y′,并按照原方法將其處理生成標(biāo)簽樣本。 為進(jìn)一步提高偽標(biāo)簽標(biāo)定的準(zhǔn)確率,同樣采用WRN-28-2 網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練模型φ(?),并引入一致性懲罰項(xiàng)對φ(?)損失函數(shù)進(jìn)行優(yōu)化,通常網(wǎng)絡(luò)異常數(shù)據(jù)占比較小,噪聲數(shù)據(jù)較多,增加了訓(xùn)練的不確定性,因此在偽標(biāo)簽學(xué)習(xí)與標(biāo)定階段,通過構(gòu)建的異常數(shù)據(jù)集,以降低噪聲樣本的影響。異常數(shù)據(jù)集主要通過不斷積累歷史訓(xùn)練樣本中的異常數(shù)構(gòu)建而成,因此對式(4)中超參數(shù)β賦值如下: 當(dāng)樣本xi與平均距離較大,表示xi為噪聲樣本可能性較大,則損失函數(shù)需更加關(guān)注對標(biāo)簽的一致程度,反之,則更應(yīng)關(guān)注其對樣本的輸出穩(wěn)定性。 為進(jìn)一步提高模型訓(xùn)練的效率,縮短模型收斂的時(shí)間,對損失函數(shù)中的超參數(shù)?進(jìn)行了進(jìn)一步的優(yōu)化,如式(12) 所示: 其中,Maxepoch為訓(xùn)練最大迭代次數(shù),Currentepoch為當(dāng)前迭代次數(shù),從而引導(dǎo)損失函數(shù)先進(jìn)行大幅度偏移校正快速接近收斂區(qū)域,再進(jìn)行小幅度偏移校正保證損失函數(shù)能夠更快地達(dá)到收斂狀態(tài)。 基于ReLASL 網(wǎng)絡(luò)入侵檢測模型訓(xùn)練過程如下所示: 輸出:訓(xùn)練完成的ReLASL入侵檢測模型; 1) 采集網(wǎng)絡(luò)數(shù)據(jù)并對數(shù)據(jù)進(jìn)行預(yù)處理,構(gòu)建onehot向量表示的入侵?jǐn)?shù)據(jù)集。 2) 采用AND 算法提取樣本特征值(ResNet-50結(jié)構(gòu))。 3) 采用式(10) 計(jì)算特征值相似度矩陣,通過式(2)與式(3) 獲取穩(wěn)定的標(biāo)簽矩陣Y′,并對其中的無標(biāo)簽樣本進(jìn)行處理,通過最大值將其轉(zhuǎn)化為one-hot向量,最終獲得標(biāo)簽矩陣。 4) 采用WRN-28-2網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練模型φ(?),其中優(yōu)化函數(shù)為式(4) 、式(11) ,并通過式(5) 最終確定標(biāo)簽樣本。 5) 根據(jù)式(6) 最確定的標(biāo)簽樣本進(jìn)行平滑操作后代入監(jiān)督學(xué)習(xí)losssl中進(jìn)行訓(xùn)練,同時(shí)將式(9) 與式(12)代入半監(jiān)督學(xué)習(xí)lossssl中進(jìn)行優(yōu)化。 6) 采用訓(xùn)練模型進(jìn)行網(wǎng)絡(luò)異常數(shù)據(jù)檢測。 為驗(yàn)證本文提出入侵檢測模型,使用KDD99數(shù)據(jù)集進(jìn)行評價(jià)[3],該數(shù)據(jù)集包含了500多萬數(shù)據(jù),其中每個(gè)數(shù)據(jù)集包含了1 個(gè)標(biāo)簽與41 個(gè)特征。本文使用了9 469 個(gè)訓(xùn)練數(shù)據(jù)和93 653 個(gè)測試數(shù)據(jù),其中訓(xùn)練數(shù)據(jù)包括了8 220個(gè)無標(biāo)簽數(shù)據(jù)以及1 249個(gè)標(biāo)簽數(shù)據(jù),具體數(shù)量見表1所示。 表1 數(shù)據(jù)訓(xùn)練量 KDD99數(shù)據(jù)集包含了數(shù)值與字符特征,無法直接使用數(shù)據(jù)集進(jìn)行訓(xùn)練檢測,需進(jìn)行預(yù)處理操作。 1) 數(shù)值化 KDD99 數(shù)據(jù)集中的字符型特征需進(jìn)行數(shù)值化處理,因此采用屬性映射的方式對標(biāo)簽protocol_type、service、flag、class進(jìn)行數(shù)值化轉(zhuǎn)換。 2) 歸一化 對數(shù)值化處理后的數(shù)據(jù)進(jìn)行歸一化處理,保證數(shù)據(jù)處于[0,1]之間,如式(13) 所示為歸一化公式: 其中,Rawdata為數(shù)據(jù)集中各字段所對應(yīng)的入侵屬性數(shù)據(jù),Rawmindata表示該字段所對應(yīng)的最小入侵屬性數(shù)據(jù),Rawmindata表示該字段所對應(yīng)的最大入侵屬性數(shù)據(jù)。Normaldata表示歸一化處理后的入侵屬性數(shù)據(jù)。 為驗(yàn)證ReLASL入侵檢測模型性能與常用半監(jiān)督分類方法SWCMR[3]、ML-LOC[4]、SSWL[5]以及ReLSL[2]在KDD99數(shù)據(jù)集中進(jìn)行對比,結(jié)果如表2所示。 表2 檢測性能表 與ReLSL相比,ReLASL入侵檢測模型,結(jié)構(gòu)更加優(yōu)化,參數(shù)自動(dòng)化程度更高,從表2可以看出,ReLASL的檢測性能更優(yōu),此外,相較于其他半監(jiān)督檢測方法,ReLASL 模型的檢測性能也達(dá)到了更優(yōu)的效果,且具備了較好的小樣本訓(xùn)練的能力,在復(fù)雜網(wǎng)絡(luò)環(huán)境中,更具有一定的競爭力。 針對網(wǎng)絡(luò)數(shù)據(jù)變化快,可用訓(xùn)練樣本少且樣本數(shù)據(jù)分布不均勻的情況,提出了一種基于ReLASL 算法的入侵檢測模型,以提高入侵檢測模型的小樣本訓(xùn)練的能力。 模型以ReLSL算法為基礎(chǔ),對ReLSL算法中特征提取與標(biāo)簽傳染階段以及偽標(biāo)簽學(xué)習(xí)與標(biāo)定階段的中超參數(shù)進(jìn)行了自動(dòng)化改進(jìn),并將改進(jìn)后的ReLSL算法應(yīng)用于網(wǎng)絡(luò)入侵檢測中,提高了模型在小樣本不均勻分布數(shù)據(jù)中的檢測性能,從而使模型具備了一定的能夠識(shí)別未知攻擊的能力。 實(shí)驗(yàn)結(jié)果表明,ReLASL 入侵檢測模型在實(shí)時(shí)的網(wǎng)絡(luò)入侵檢測中能夠更準(zhǔn)確地分辨攻擊類型,與常用的檢測模型相比,其能夠顯著的提高入侵檢測模型對小樣本不均衡數(shù)據(jù)的檢測性能。但ReLASL算法步驟較多,需進(jìn)一步降低算法的復(fù)雜度,進(jìn)一步優(yōu)化算法的整體框架。1 ReLASL入侵檢測模型
1.1 特征提取與標(biāo)簽傳染
1.2 偽標(biāo)簽學(xué)習(xí)與標(biāo)定
2 實(shí)驗(yàn)結(jié)果及分析
2.1 數(shù)據(jù)
2.2 數(shù)據(jù)預(yù)處理
2.3 實(shí)驗(yàn)結(jié)果
3 結(jié)束語