馬甜甜,洪 征,陳 乾
(陸軍工程大學(xué) 指揮控制工程學(xué)院,江蘇 南京 210014)
未知協(xié)議識(shí)別是指在網(wǎng)絡(luò)通信中識(shí)別出無(wú)法被預(yù)先確定的、類型未知的協(xié)議的過(guò)程。未知協(xié)議識(shí)別方法依據(jù)協(xié)議特征對(duì)網(wǎng)絡(luò)流量進(jìn)行分類,有助于發(fā)現(xiàn)異常的網(wǎng)絡(luò)通信活動(dòng)[1]。提高未知應(yīng)用層協(xié)議的識(shí)別能力,有利于安全高效地提供網(wǎng)絡(luò)服務(wù)[2]。
基于深度聚類的未知協(xié)議識(shí)別方法[3]通過(guò)神經(jīng)網(wǎng)絡(luò)模型對(duì)網(wǎng)絡(luò)流量進(jìn)行特征提取,并進(jìn)行聚類分配。該方法適用于不同協(xié)議的特征和流量分布。
與此同時(shí),基于深度聚類的未知協(xié)議識(shí)別方法[4]主要存在以下問(wèn)題:
(1)特征提取和聚類分配是相互獨(dú)立的過(guò)程,聚類結(jié)果不能指導(dǎo)特征提取,導(dǎo)致聚類性能不佳。
(2)未知協(xié)議的特征不確定,僅從時(shí)間或空間的單一維度提取特征會(huì)造成特征不充分。
(3)嵌入式聚類分配模塊對(duì)不同特征的影響程度不同[5],但在分配初始權(quán)重時(shí)采用隨機(jī)或相等的權(quán)重值,模型需要多次更新,收斂速度較慢。
AE-CM[6]在現(xiàn)有深度聚類模型的基礎(chǔ)上設(shè)計(jì)了嵌入式聚類分配模塊,克服了聚類分配模塊對(duì)特征提取模塊指導(dǎo)性不強(qiáng)的問(wèn)題。該文以AE-CM為基礎(chǔ),提出了未知協(xié)議識(shí)別模型(DAEC-NM)。該文的主要研究工作如下:
(1)提出了一種新的未知協(xié)議識(shí)別模型,改進(jìn)了AE-CM,并將改進(jìn)模型應(yīng)用于未知協(xié)議識(shí)別。
(2)在特征提取模塊中插入重新設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)模塊,增強(qiáng)了模型對(duì)協(xié)議時(shí)空特征的提取能力。經(jīng)過(guò)特征提取模塊獲取的豐富特征能夠被用于指導(dǎo)聚類簇的產(chǎn)生。
(3)使用Two-branch[7]中提出的鄰居模型提高協(xié)議識(shí)別的準(zhǔn)確性。使用鄰居分支來(lái)捕獲鄰居樣本的格式信息和關(guān)聯(lián)特征,并根據(jù)鄰居特征提高主分支中相關(guān)協(xié)議特征的權(quán)重。
(4)在聚類模塊中引入了注意力評(píng)分機(jī)制。記錄模型特征提取過(guò)程中的特征權(quán)重,并在樣本聚類分配過(guò)程中為相關(guān)特征設(shè)置合理的初始權(quán)重,指導(dǎo)樣本進(jìn)入相應(yīng)的聚類簇。
(5)實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有的基于深度聚類的未知協(xié)議識(shí)別方法相比,DAEC-NM在ACC、ARI和NMI等指標(biāo)上都有明顯提升。
未知協(xié)議的識(shí)別主要包括協(xié)議數(shù)據(jù)預(yù)處理以及協(xié)議識(shí)別,如圖1所示。數(shù)據(jù)預(yù)處理包括三個(gè)步驟。流量清理主要去除與協(xié)議識(shí)別無(wú)關(guān)的數(shù)據(jù)包,提高協(xié)議識(shí)別準(zhǔn)確性。流重組和分割將網(wǎng)絡(luò)流量轉(zhuǎn)換為符合深度自編碼器輸入格式的數(shù)據(jù),并將請(qǐng)求與響應(yīng)組合在一起,便于分析協(xié)議內(nèi)的關(guān)聯(lián)關(guān)系。此后從網(wǎng)絡(luò)流的開頭截取固定長(zhǎng)度的段,并根據(jù)需要執(zhí)行截?cái)嗪吞畛洳僮鳌W詈?流量數(shù)據(jù)歸一化對(duì)獲得的固定長(zhǎng)度的序列進(jìn)行歸一化操作,并將序列轉(zhuǎn)換為固定格式的二維張量。通過(guò)數(shù)據(jù)預(yù)處理,可以提高輸入數(shù)據(jù)的質(zhì)量,減少數(shù)據(jù)噪聲,保證模型訓(xùn)練的有效性和準(zhǔn)確性。
圖1 未知協(xié)議識(shí)別的流程
該文提出的DAEC-NM如圖2所示,主要包含一個(gè)深度聚類分支(DAEC-branch)和一個(gè)鄰居分支(NM-branch)。其中DAEC分支中包含協(xié)議特征的提取模塊(feature extraction module)、聚類分配模塊(clustering module)和協(xié)議重構(gòu)模塊(protocol reconstruction module)。各模塊的具體工作將在后文詳細(xì)論述。
圖2 DAEC-NM結(jié)構(gòu)
深度聚類模型DAEC的設(shè)計(jì)如圖3所示,特征提取編碼器根據(jù)其功能模塊將輸入的數(shù)據(jù)流張量轉(zhuǎn)換為協(xié)議特征,聚類分配模塊根據(jù)協(xié)議特征輸出聚類簇分配結(jié)果,并根據(jù)協(xié)議簇分配結(jié)果重新調(diào)整協(xié)議特征權(quán)重,協(xié)議重構(gòu)解碼器根據(jù)協(xié)議特征重構(gòu)協(xié)議樣本。在設(shè)計(jì)未知協(xié)議識(shí)別模型中的特征提取編碼器時(shí),傳統(tǒng)的堆棧自編碼器處理非局部特征信息時(shí)不夠靈活。DAEC模型采用了簡(jiǎn)單卷積模塊、時(shí)序卷積模塊和多層感知機(jī)模塊來(lái)提取協(xié)議樣本的特征。簡(jiǎn)單卷積模塊采用高維卷積對(duì)協(xié)議樣本進(jìn)行空間特征提取,以增強(qiáng)對(duì)不同協(xié)議的區(qū)分能力。時(shí)序卷積模塊是一種時(shí)間序列模型,通過(guò)殘差鏈接塊和膨脹因果卷積提取協(xié)議數(shù)據(jù)中的時(shí)間相關(guān)特征,以提高聚類分配的準(zhǔn)確性。多層感知機(jī)模塊采用全連接層對(duì)前兩個(gè)模塊提取的特征進(jìn)行組合和抽象,增強(qiáng)對(duì)協(xié)議特征的區(qū)分能力。為了避免模型計(jì)算冗余參數(shù)的壓力,該文向MLP中插入衰減層Dropout1,Dropout2,提高模型的泛化能力和穩(wěn)健性。這些模塊相互結(jié)合,可以挖掘協(xié)議數(shù)據(jù)的空間特征和時(shí)間特征,增強(qiáng)挖掘特征對(duì)不同協(xié)議的區(qū)分能力。
圖3 DAEC自編碼器模型結(jié)構(gòu)
1.1.1 簡(jiǎn)單卷積模塊
簡(jiǎn)單卷積模塊由兩個(gè)卷積層組成,用于提取協(xié)議樣本的空間特征。協(xié)議特征在卷積層的輸出值計(jì)算方法為:
y=ReLU(Wyx+by)
(1)
其中,y代表卷積操作后的輸出,Wy代表卷積核權(quán)重,by表示偏置,ReLU表示激活函數(shù)。
1.1.2 時(shí)序卷積模塊
TCN由多個(gè)殘差模塊(Residual Convolutional Block)構(gòu)成,其處理函數(shù)為TCN(),它的正向傳播計(jì)算過(guò)程如下:
ht=ReLU(max(Whxt+bh))
(2)
(3)
(4)
ft=Wfxt+bf
(5)
(6)
1.1.3 多層感知機(jī)模塊
從TCN模塊輸出的特征輸入MLP模塊,MLP模塊的正向傳播計(jì)算公式如下:
z1=W1x+b1
(7)
(8)
x1=z1·d1
(9)
z2=W2x1+b2
(10)
(11)
x2=z2·d2
(12)
z3=W3x2+b3
(13)
其中,W1,W2和W3表示權(quán)重,b1,b2和b3表示偏置,p1和p2表示衰退層保留節(jié)點(diǎn)的概率。
高維特征空間表示可能無(wú)法捕捉到協(xié)議數(shù)據(jù)的語(yǔ)義和局部聯(lián)系。為了解決這些問(wèn)題,該文采用了Two-branch方法設(shè)計(jì)鄰居分支,采集鄰居特征獲得更豐富的協(xié)議信息,增強(qiáng)模型對(duì)協(xié)議的學(xué)習(xí)能力。鄰居分支對(duì)鄰居樣本的二維張量進(jìn)行特征提取,使用平均池化來(lái)得到一組鄰居中心特征,從而獲得一組通道特征和局部相關(guān)特征。這樣,鄰居分支可以幫助深度聚類模型更好地捕獲協(xié)議數(shù)據(jù)的語(yǔ)義和局部聯(lián)系,從而提高協(xié)議識(shí)別的準(zhǔn)確性。
1.2.1 鄰居編碼器模塊設(shè)計(jì)
模型的編碼器可分為X編碼器和鄰居編碼器,如圖4所示。兩個(gè)分支結(jié)構(gòu)的網(wǎng)絡(luò)模型相同且同步輸入,X編碼器分支輸入樣本x,鄰居分支通過(guò)最近鄰方法[8]將前次聚類結(jié)果中x的k個(gè)最近鄰樣本作為輸入。假設(shè)一個(gè)輸入鄰居樣本為z,它的前向傳播過(guò)程如下:
圖4 編碼器模型鄰居分支結(jié)構(gòu)
簡(jiǎn)單卷積模塊的處理:
yz=ReLU(Wyz+by)
(14)
時(shí)序卷積模塊的處理:
rz=TCN(yz)
(15)
多層感知機(jī)模塊的處理,簡(jiǎn)寫為:
mz=Wmz+bm
(16)
其中,Wm表示權(quán)重,bm表示偏置,需要通過(guò)多層感知機(jī)訓(xùn)練學(xué)習(xí)得到。
1.2.2 鄰居編碼器權(quán)重加強(qiáng)設(shè)計(jì)
樣本鄰居的特征可以為協(xié)議分析提供更全面的信息,同時(shí)可以發(fā)現(xiàn)其他樣本的特征模式,進(jìn)而深入了解數(shù)據(jù)的總體特征。
X分支和鄰居分支獲得整體樣本特征表示z=[z1,ze,z3,…,ze]和鄰居特征表示m=[mz1,me,…,mzk,0,0,0,…](k (17) 其中,θ表示增強(qiáng)參數(shù),一般小于0.5,防止鄰居特征中的冗余特征過(guò)強(qiáng),影響原樣本特征。 將加強(qiáng)后的特征輸入聚類層之前的隱藏層,篩選權(quán)重較強(qiáng)的特征,其前向傳播計(jì)算為: (18) 在AE-CM中使用RMABs[9]映射方法,設(shè)計(jì)嵌入式聚類模塊,它將原始特征空間映射到低維的嵌入空間,并在嵌入空間中進(jìn)行聚類。 在RMABs映射方法中,將EM算法迭代過(guò)程封裝為一個(gè)小型自編碼器表示的聚類模塊,映射過(guò)程如下: F-step:Rd→RK,F(x)=〈p(z=k|x)〉{1≤k≤K}= γ~softmax(XWenc+Benc)=Γ (19) (20) AE-CM中聚類模塊的gamma層的初始權(quán)重矩陣采用隨機(jī)數(shù)進(jìn)行設(shè)置,需要多輪訓(xùn)練來(lái)找到合適的特征權(quán)重初始值,降低了模型的識(shí)別效率,增加了訓(xùn)練開銷。為解決這一問(wèn)題,該文使用加性注意力評(píng)分機(jī)制[10]生成初始權(quán)重矩陣。該評(píng)分機(jī)制捕獲特征關(guān)聯(lián)性和重要性評(píng)分,得到特征權(quán)重評(píng)分矩陣,并使用該評(píng)分矩陣作為初始化的gamma層權(quán)重矩陣,從而使gamma層在幾次迭代后快速收斂。這種方法可以降低訓(xùn)練次數(shù),減少訓(xùn)練開銷,提高模型的識(shí)別效率,同時(shí)保持聚類模塊的對(duì)稱性。 聚類模塊總體設(shè)計(jì)如圖5所示,gamma層對(duì)于上層網(wǎng)絡(luò)提取的每一個(gè)協(xié)議特征,通過(guò)注意力評(píng)分函數(shù)獲得注意力評(píng)分,用來(lái)表示該特征的重要性。在此基礎(chǔ)上,對(duì)注意力評(píng)分進(jìn)行加權(quán)平均f,得到最終的初始注意力評(píng)分矩陣Wh,通過(guò)gamma層將該樣本特征表示輸入相應(yīng)簇中。相較于公式19,加入注意力評(píng)分機(jī)制的gamma層前向傳播計(jì)算方法為: 圖5 基于注意力評(píng)分機(jī)制的聚類模塊 (21) h=Wha+bh (22) (23) 其中,Wv,Wq和Wk表示權(quán)重,bh表示偏置,a為注意力評(píng)分后加權(quán)平均層,h為隱藏層,g為gamma聚類層輸出。 公式20中原mu layer是一個(gè)逆線性變化層ΓWdec+Bdec,為了抵消加性注意力機(jī)制的影響,聚類模塊中G-step設(shè)計(jì)為一個(gè)多級(jí)權(quán)重衰減[11]的逆線性變化過(guò)程,mu layer前向傳播計(jì)算為: mu=Γ?Dropout(Wh)+b (24) 其中,Wh是gamma層提供的注意力權(quán)重。 該文提出的未知協(xié)議識(shí)別模型,通過(guò)四個(gè)步驟(特征提取、聚類分配、協(xié)議重構(gòu)、模型優(yōu)化)進(jìn)行協(xié)議識(shí)別。特征提取模塊采用兩個(gè)分支的設(shè)計(jì),嵌入式聚類分配模塊使用gamma層進(jìn)行聚類分配,使用mu層調(diào)整未知協(xié)議特征的影響權(quán)重,最后使用重構(gòu)誤差和聚類損失來(lái)聯(lián)合優(yōu)化模型。模型不需要標(biāo)記標(biāo)簽就能夠自動(dòng)識(shí)別未知協(xié)議的分布情況。 基于Tensoflow2.0構(gòu)建了未知協(xié)議識(shí)別原型系統(tǒng)。為評(píng)價(jià)模型的性能,主要考慮了以下標(biāo)準(zhǔn): (1)評(píng)價(jià)鄰居數(shù)量以及鄰居分支對(duì)協(xié)議識(shí)別性能的影響。 (2)評(píng)價(jià)改進(jìn)聚類模塊對(duì)協(xié)議識(shí)別性能的影響。 (3)與其他協(xié)議識(shí)別模型進(jìn)行比較,并對(duì)協(xié)議識(shí)別模型的整體性能進(jìn)行了評(píng)價(jià)。 選擇數(shù)據(jù)集IDS2017[12]進(jìn)行實(shí)驗(yàn)。數(shù)據(jù)集包含的是網(wǎng)絡(luò)流量數(shù)據(jù),以pcap的格式提供。提取了四種應(yīng)用層協(xié)議(HTTP,FTP,DNS和SMB)進(jìn)行測(cè)試。根據(jù)預(yù)處理方法對(duì)協(xié)議數(shù)據(jù)進(jìn)行預(yù)處理后,得到了45 514條有序的網(wǎng)絡(luò)流。在實(shí)驗(yàn)中,協(xié)議的標(biāo)簽被刪除,從而使所有的協(xié)議都可以被視為未知的協(xié)議。為了評(píng)估所提出的協(xié)議識(shí)別模型的有效性,選擇了精確度(ACC)、歸一化互信息(NMI)和調(diào)整蘭德指數(shù)(ARI)作為評(píng)估指標(biāo)。 2.2.1 鄰居的影響 該文通過(guò)鄰居分支提取樣本鄰居的特征作為補(bǔ)充特征。在鄰居分支的設(shè)計(jì)過(guò)程中,通過(guò)近似算法選取k個(gè)樣本鄰居。需要設(shè)置實(shí)驗(yàn)分析鄰居數(shù)量對(duì)協(xié)議識(shí)別效果是否有影響。此外,需要設(shè)置實(shí)驗(yàn)探究鄰居分支對(duì)協(xié)議識(shí)別模型識(shí)別精度的提升效果。 (1)鄰居數(shù)量的影響。 探究鄰居數(shù)量對(duì)協(xié)議識(shí)別模型效果影響,設(shè)計(jì)k鄰居數(shù)量范圍為1~300,實(shí)驗(yàn)通過(guò)NMI值隨k值變化,探究鄰居數(shù)量的影響。 從圖6分析可得,鄰居數(shù)量小于90時(shí),NMI曲線波動(dòng)小,鄰居數(shù)量超過(guò)110時(shí),NMI曲線恢復(fù)平穩(wěn)波動(dòng);而鄰居數(shù)量在100左右時(shí),NMI曲線急劇下降。NMI值在鄰居數(shù)量小于100時(shí)較高(約0.9),在鄰居數(shù)量超過(guò)100時(shí)較低(約0.66)。 圖6 NMI值隨k的變化 從實(shí)驗(yàn)結(jié)果可以看出,較遠(yuǎn)處的鄰居與原樣本相差較大,從而導(dǎo)致原樣本的特征被鄰居樣本的補(bǔ)充特征干擾。因此,該文選擇較小數(shù)量的k值,能夠呈現(xiàn)較好的協(xié)議識(shí)別效果。 (2)鄰居分支的影響。 為探究鄰居分支對(duì)協(xié)議識(shí)別模型的效果影響,通過(guò)實(shí)驗(yàn)比較帶鄰居分支的模型和不帶分支的模型的識(shí)別效果。實(shí)驗(yàn)中分別獲得協(xié)議識(shí)別模型(DAEC)帶鄰居分支(NM)和不帶鄰居分支(NA)情況下,模型的精確度(ACC)、調(diào)整蘭德指數(shù)(ARI)和歸一化互信息(NMI)。 從表1中得出以下結(jié)論:帶鄰居分支的深度聚類模型協(xié)議識(shí)別表現(xiàn)優(yōu)于不帶鄰居的模型。 表1 有無(wú)鄰居狀態(tài)下協(xié)議識(shí)別模型表現(xiàn) % 表2 有無(wú)注意力評(píng)分機(jī)制的聚類模塊對(duì)協(xié)議識(shí)別模型表現(xiàn)的影響 % 2.2.2 注意力評(píng)分機(jī)制在聚類模塊中的影響 探究注意力評(píng)分機(jī)制在聚類模塊中對(duì)協(xié)議識(shí)別模型的效果影響,通過(guò)實(shí)驗(yàn)比較聚類模塊(CM)包含和不包含注意力評(píng)分機(jī)制對(duì)協(xié)議識(shí)別模型的效果。實(shí)驗(yàn)結(jié)果顯示,相較于不包含注意力評(píng)分機(jī)制的聚類模塊,包含注意力評(píng)分機(jī)制的聚類模塊的協(xié)議識(shí)別模型表現(xiàn)更優(yōu)。精確度提升了4.23百分點(diǎn),ARI指數(shù)提升了11.63百分點(diǎn),NMI指數(shù)提升了10.78百分點(diǎn)。其原因在于,注意力評(píng)分機(jī)制側(cè)重于提高協(xié)議識(shí)別模型對(duì)于重要特征的關(guān)注度,有利于提高聚類效果。具體來(lái)說(shuō),注意力評(píng)分機(jī)制可以通過(guò)動(dòng)態(tài)給不同的特征分配不同的權(quán)重,使得那些更具有代表性和區(qū)分度的特征能夠更好地被聚類模塊所利用。 2.2.3 與其他模型的橫向比較 為了驗(yàn)證所提出的未知協(xié)議識(shí)別模型的性能,將該模型與DEC[13],CAE[14],AE+K-Means[15],K-Means和GMM進(jìn)行橫向比較。 其中,K-Means和GMM是傳統(tǒng)的聚類算法,常用于協(xié)議識(shí)別模型中。根據(jù)本研究實(shí)驗(yàn)結(jié)果設(shè)置它們的參數(shù),K-Means聚類簇?cái)?shù)為4,GMM的成份數(shù)為4。深度聚類的方法包含DEC,CAE,AE+K-Means,AECM以及DAEC-NM(ours),其中除該文設(shè)計(jì)的網(wǎng)絡(luò)外,其他方法的自編碼器均為對(duì)稱的堆棧多層感知機(jī)。 不同協(xié)議識(shí)別模型的協(xié)議識(shí)別結(jié)果如表3所示。在表3所示的協(xié)議識(shí)別模型中,K-Means和GMM表示基于機(jī)器學(xué)習(xí)的協(xié)議識(shí)別模型,其余為基于深度聚類的未知協(xié)議識(shí)別模型。實(shí)驗(yàn)結(jié)果表明,提出的深度聚類協(xié)議識(shí)別模型優(yōu)于傳統(tǒng)聚類模型,在此基礎(chǔ)上,基于高斯混和聚類的模型優(yōu)于基于K-Means聚類的模型。同時(shí),嵌入式模型優(yōu)于異步訓(xùn)練的模型,因?yàn)榍度胧侥P湍軌蚋玫貙⒕垲惐憩F(xiàn)融入到編碼器的訓(xùn)練中。此外,增加卷積模塊的自編碼器模型也優(yōu)于原堆棧編碼器模型,能夠增強(qiáng)模型的時(shí)間、空間特征的提取能力,從而提高識(shí)別精度??傮w而言,提出的協(xié)議識(shí)別模型比DEC模型在ACC,ARI和NMI評(píng)判標(biāo)準(zhǔn)上分別提高了12.03百分點(diǎn),25.52百分點(diǎn)和17.78百分點(diǎn)。 表3 各種方法下協(xié)議識(shí)別模型表現(xiàn) % 該文提出了一種未知應(yīng)用層協(xié)議識(shí)別模型(DAEC-NM)。該模型的特征提取模塊包含兩個(gè)分支,主分支采用時(shí)空卷積網(wǎng)絡(luò)來(lái)提取協(xié)議數(shù)據(jù)的時(shí)空特征,鄰居分支捕獲鄰居樣本間的局部關(guān)聯(lián)特征作為補(bǔ)充。模型的聚類模塊通過(guò)增加注意力評(píng)分機(jī)制的方法進(jìn)一步優(yōu)化識(shí)別模型,并實(shí)現(xiàn)聚類簇分配。實(shí)驗(yàn)結(jié)果表明,該模型在識(shí)別性能上優(yōu)于其他協(xié)議識(shí)別模型。在未來(lái)的工作中,考慮把該模型應(yīng)用于協(xié)議逆向分析、入侵檢測(cè)等領(lǐng)域,為網(wǎng)絡(luò)安全提供有效的保障。1.3 基于注意力評(píng)分機(jī)制的聚類模塊的設(shè)計(jì)
1.4 協(xié)議識(shí)別過(guò)程
2 實(shí)驗(yàn)分析
2.1 數(shù)據(jù)集與評(píng)價(jià)標(biāo)準(zhǔn)
2.2 實(shí)驗(yàn)結(jié)果分析
3 結(jié)束語(yǔ)