李嵐俊,許 青
(馬鞍山學(xué)院,安徽 馬鞍山 243000)
研究人員一直在尋找更有效的方法來檢測網(wǎng)絡(luò)攻擊。傳統(tǒng)的流量檢測通常使用特征工程來提取流量特征,然后使用機(jī)器學(xué)習(xí)方法進(jìn)行分類。肖香梅等提出利用隨機(jī)森林模型進(jìn)行異常檢測,張曉艷提出一種基于改進(jìn)型模糊推理算法的檢測手段。這些方法在某些情況下可以有效地檢測網(wǎng)絡(luò)攻擊,但通常需要大量的人工特征工程,并且在復(fù)雜網(wǎng)絡(luò)環(huán)境中的效果往往不夠理想。
深度學(xué)習(xí)技術(shù)的出現(xiàn)為網(wǎng)絡(luò)流量檢測帶來了新的機(jī)遇。深度學(xué)習(xí)可以自動(dòng)地從原始數(shù)據(jù)中提取流量特征,并且具有很好的表征能力。目前,基于深度學(xué)習(xí)方式的流量檢測已經(jīng)成為眾多學(xué)者的研究對象。Li等提出基于向量機(jī)和LSTM結(jié)合的模型;Gao等提出基于深度神經(jīng)網(wǎng)絡(luò)和關(guān)聯(lián)分析的兩級異常檢測;陳冠衡等提出基于DNN模型改進(jìn)的檢測算法。
在深度學(xué)習(xí)中,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)具備優(yōu)異的特征自適應(yīng)捕獲能力,作為深度學(xué)習(xí)的一種模型,隨著模型層次的加深,退化問題越來越明顯,同時(shí)由于對網(wǎng)絡(luò)流量的多尺度特征的忽視,造成了異常流量的錯(cuò)誤分類檢測。CNN是一種常用的深度模型,是目前已被廣泛應(yīng)用的檢測手段。杭夢鑫等提出一種改變CNN的卷積層和全局池化層的檢測模型,張艷升等提出基于卷積神經(jīng)網(wǎng)絡(luò)改進(jìn)的模型。但是,CNN模型在提取多尺度特征方面存在一定的局限性,通常只能從局部的固定尺度的特征中學(xué)習(xí)。流量的多尺度特征包括流量的時(shí)序分布、周期性、波動(dòng)性和多空間尺度的傳輸路徑等。為能夠有效地提取網(wǎng)絡(luò)流量的多尺度特征,本文在CNN模型的基礎(chǔ)上提出一種能夠融合流量多尺度特征的模型MFM-MPL。
大尺度可以顯示流量信號的整體趨勢,小尺度可以觀察到信號的更多細(xì)節(jié)特征,相比較單一尺度,對不同網(wǎng)絡(luò)流量空間粒度的提取能夠更準(zhǔn)確地檢測異常流量。本文通過將多個(gè)模塊的級聯(lián)構(gòu)造多個(gè)特征提取通道,輸出所有不同尺度特征,匹配異常流量特征數(shù),能夠更精確地識(shí)別異常流量數(shù)量。
MFM-MPL模型由初始ConvBlock、3個(gè)多尺度特征聚合塊(multi-scale traffic feature aggregation module,MFM)、3個(gè)多尺度池化層(multi-scale pooling layer,MPL)模塊和全連接層組成,結(jié)構(gòu)如圖1所示。整個(gè)模型的工作流程:采集流量輸入信號,注入核大小為3×3,Step為1的Conv層,提取流量原始特征,經(jīng)由3個(gè)MFM模塊提取多尺度流量特征,再由3個(gè)MPL模塊將多尺度特征聚合,經(jīng)過通道連接后交給Softmax分類函數(shù)輸出至全連接層,最后經(jīng)過Dropout處理輸出結(jié)果。

圖1 MFM-MPL結(jié)構(gòu)
MFM模塊是模型的核心部分,由4個(gè)ConvBlock、4個(gè)ResBlock和1個(gè)核大小為1×1的Conv組成,其中每個(gè)ConvBlock的核大小不一,ConvBlock通過級聯(lián)的方式將提取到的多尺度特征輸出至ResBlock,通過ReLU函數(shù)交由下一層,然后由通道連接將不同尺度的特征在通道維度上連接,最后與核大小為1×1的Conv層融合。MFM模塊結(jié)構(gòu)如圖2所示。

圖2 MFM模塊結(jié)構(gòu)
MPL模塊結(jié)構(gòu)如圖3所示,由2個(gè)核大小為1×1的Conv層和1個(gè)Average Pooling層組成,3個(gè)MPL的區(qū)別在于參數(shù)不同。

圖3 MPL模塊結(jié)構(gòu)
為了能夠提取到網(wǎng)絡(luò)流量信號的多尺度特征,從而更加準(zhǔn)確地檢測出異常網(wǎng)絡(luò)流量,MFM-MPL模型由初始Conv層提取原始流量特征,初始Conv層利用卷積運(yùn)算將輸入數(shù)據(jù)進(jìn)行特征映射,得到淺層特征;MFM模塊利用4個(gè)ConvBlock的級聯(lián)來提供模型的數(shù)據(jù)捕獲能力和特征挖掘能力,從Conv層初步提取的淺層特征中去除部分特征圖通道,同時(shí)利用ResBlock的級聯(lián)避免特征梯度消失,再通過通道連接將每個(gè)特征提取通道連接在一起,利用一維卷積提取出多尺度特征;同時(shí),利用MPL模塊將MFM模塊提取到的多尺度特征融合,提取最有效全局特征數(shù)。當(dāng)檢測的流量信號與驗(yàn)證集的特征值數(shù)量不匹配則判定為異常流量。
MFM-MPL模型參數(shù)見表1,CA表示通道連接,N表示異常流量數(shù)量,L表示數(shù)據(jù)流長度,4×L表示特征圖有4個(gè)通道,L/4表示Pooling內(nèi)核大小為特征圖的1/4。3個(gè)MFM模塊的核大小和Step一致,輸出特征尺寸不一。

表1 MFM-MPL模型參數(shù)
本實(shí)驗(yàn)采用Keras深度學(xué)習(xí)前端框架,后端采用tensorflow框架,實(shí)驗(yàn)環(huán)境配置見表2。使用優(yōu)化器Adam、CrossEntropyLoss函數(shù)為損失函數(shù),設(shè)置學(xué)習(xí)率(learning rate)為0.001、epoch為10、批量大小(batch size)為64。

表2 實(shí)驗(yàn)環(huán)境配置
本次實(shí)驗(yàn)采用4個(gè)公開的網(wǎng)絡(luò)流量樣本集NSL-KDD、KDD99、UNSW-NB15和IDS2017,每個(gè)樣本集包括訓(xùn)練集數(shù)、測試集數(shù)、正常樣本數(shù)、異常樣本數(shù)和特征數(shù)(表3)。

表3 數(shù)據(jù)樣本集 單位:個(gè)
本次實(shí)驗(yàn)采用精確率和召回率來檢驗(yàn)?zāi)P偷木取?/p>
精確率(P),正確預(yù)測的正例樣本在正例樣本值中的比重,公式如下
P=P_T/(P_T+P_F)
召回率(R)正確預(yù)測的正例樣本在實(shí)際正例樣本值中的比重,公式如下
R=P_T/(P_T+N_F)
其中,P_T表示檢測正確的正常流量,P_F表示檢測錯(cuò)誤的正常流量,N_F表示檢測錯(cuò)誤的異常流量。
為驗(yàn)證本文所提的模型優(yōu)越性,將MFM-MPL模型與多個(gè)模型進(jìn)行檢測精確率比較(表4),其中Res-3和Res-7分別是內(nèi)核大小為3×1和7×1的單尺度殘差網(wǎng)絡(luò),與MFM-MPL不同的地方在于沒有Conv層,并且使用全局平均池化層(GAP)代替多尺度池化層。

表4 多模型精確率比較
通過表4可以看出,比較各種模型的最大、最小和平均精確度,MFM-MPL模型具備最高的值。其中MFM-MPL要比DNN模型的精準(zhǔn)率高很多,這說明MFM-MPL具有良好的卷積運(yùn)算數(shù)據(jù)的映射能力,MFM-MPL模型比Res-3高,說明了殘差塊的加速學(xué)習(xí)性能。對樣本的測試時(shí)長方面,因?yàn)镸FM-MPL結(jié)構(gòu)的復(fù)雜性,耗費(fèi)的時(shí)間偏長。同時(shí)比較不同模型的召回率(表5)。

表5 多模型召回率比較
通過表5可以看出,MFM-MPL的召回率達(dá)到97.56%,在所有模型當(dāng)中最高。
本文提出了一種基于多尺度特征融合的異常流量檢測模型MFM-MPL,該模型由多個(gè)多尺度特征聚合模塊和多尺度池化層組成。MFM-MPL模型能夠使用多尺度特征聚合模塊的多個(gè)卷積塊的級聯(lián)來提供模型的數(shù)據(jù)捕獲能力和特征挖掘能力;同時(shí),利用殘差模塊的級聯(lián)能夠避免流量特征的梯度消失問題,再使用多尺度池化層的聚合并提取到異常網(wǎng)絡(luò)流量的多尺度特征。對比不同模型,MFM-MPL模型能夠具備更高的精確率和召回率。實(shí)驗(yàn)表明,本文提出的模型具備優(yōu)異的異常網(wǎng)絡(luò)檢測能力。