本發(fā)明涉及數(shù)據(jù)安全傳輸;尤其是一種基于序列特征融合的加密流量分類方法。
背景技術(shù):
1、隨著加密技術(shù)的發(fā)展,客戶端和服務(wù)器之間的加密通信現(xiàn)已成為常態(tài),大部分web服務(wù)現(xiàn)在通過安全超文本傳輸協(xié)議(https)運(yùn)行。網(wǎng)絡(luò)流量分類與識別是網(wǎng)絡(luò)檢測和管理的重要基礎(chǔ),也是維護(hù)網(wǎng)絡(luò)空間安全的關(guān)鍵技術(shù)之一。然而,網(wǎng)絡(luò)流量的高度動態(tài)性、復(fù)雜性,以及加密環(huán)境下的信息隱藏等特性,使得網(wǎng)絡(luò)流量的識別和分類變得愈發(fā)艱巨。
2、面對這種形勢,傳統(tǒng)的通信流量識別方法在處理現(xiàn)狀挑戰(zhàn)時(shí)顯得無力。傳統(tǒng)依賴端口號識別的流量方法,因?yàn)槎丝趥窝b和應(yīng)用程序的多態(tài)性存在,其實(shí)際效果并不理想。同樣,盡管基于深度包檢查的方法能分析相關(guān)字段來解析流量類別,但是這種方法中的檢查有效載荷內(nèi)容可能違反用戶隱私策略,且在遭遇加密技術(shù)應(yīng)用時(shí)可能無法解析負(fù)載包,容易引發(fā)誤差。
3、因此,面對這些新挑戰(zhàn),研究人員提出很多采用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)對加密流量進(jìn)行分類?;跈C(jī)器學(xué)習(xí)的加密流量分類方法通過統(tǒng)計(jì)大量數(shù)據(jù)流和數(shù)據(jù)包特征,采用機(jī)器學(xué)習(xí)算法構(gòu)建分類模型?;跈C(jī)器學(xué)習(xí)的方法重點(diǎn)在于提取流量的統(tǒng)計(jì)特征或者時(shí)空特征,這高度依賴于專家的知識和經(jīng)驗(yàn)。同時(shí)在加密流量實(shí)時(shí)增長的真實(shí)場景下,需要耗費(fèi)大量的資源,耗時(shí)長。
4、神經(jīng)網(wǎng)絡(luò)因其卓越的自動特征學(xué)習(xí)能力,使得深度學(xué)習(xí)技術(shù)在加密流量分類問題上得以應(yīng)用。深度學(xué)習(xí)的顯著優(yōu)點(diǎn)在于,模型能通過訓(xùn)練自我選擇特征,無需領(lǐng)域?qū)<疫^多介入,且其學(xué)習(xí)能力十分強(qiáng)大。于是,眾多的網(wǎng)絡(luò)流量識別問題開始采用基于深度學(xué)習(xí)的方法來解決。廣大的研究成果也證明,基于深度學(xué)習(xí)的加密流量分類方法在大多數(shù)情況下達(dá)到了良好的精度。然而,隨著網(wǎng)絡(luò)環(huán)境的持續(xù)變化,現(xiàn)有的加密流量分類方法的不足也逐漸顯現(xiàn)。
5、(1)在數(shù)據(jù)預(yù)處理階段,需要對原始流量進(jìn)行裁剪并統(tǒng)一其大小,這個過程會導(dǎo)致一部分重要的結(jié)構(gòu)信息丟失,以至于模型無法全面獲取流量特性;
6、(2)除了初始握手和一些以純文本形式傳輸?shù)臉?biāo)頭字段,流量或數(shù)據(jù)包通常幾乎完全加密,就計(jì)算機(jī)視覺領(lǐng)域而言,加密流量生成的圖像對于深度學(xué)習(xí)來說更像是一張模糊的圖,因此將大部分原始流量作為輸入,降低了模型分類效率。
7、(3)由于加密流量具備動態(tài)性,因此加密流量的特征可能會受到網(wǎng)絡(luò)條件以及流量特征的時(shí)間變化所影響,這對分類模型提出了適應(yīng)性方面的要求。
8、因此,針對當(dāng)前不斷更新的加密流量變化,現(xiàn)有的方法呈現(xiàn)出適應(yīng)性不足的問題,使得它們難以在真實(shí)的網(wǎng)絡(luò)環(huán)境中快速地進(jìn)行實(shí)時(shí)流量分類。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明所要解決的技術(shù)問題是提供一種能夠優(yōu)化分類任務(wù),適用于多種分類環(huán)境的同時(shí)保證分類準(zhǔn)確性的基于序列特征融合的加密流量分類方法。
2、本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:基于序列特征融合的加密流量分類方法,包括以下步驟:
3、s1、數(shù)據(jù)預(yù)處理;
4、s11、對流量進(jìn)行劃分,所述流量劃分依據(jù)五元組信息;將原始pcap文件中的連續(xù)流量分割為獨(dú)立的會話流文件;連續(xù)的原始流量被分解為一組數(shù)據(jù)包,用表示,其中,是流量中的數(shù)據(jù)包總數(shù);每個單獨(dú)的數(shù)據(jù)包定義如下:
5、;
6、其中,代表五元組信息,是數(shù)據(jù)包的起始時(shí)間,而表示數(shù)據(jù)包的字節(jié)長度;
7、s12、劃分流量后,對流量進(jìn)行清理;計(jì)算所有文件的哈希值,并移除哈希值相同的重復(fù)文件;同時(shí),通過將相關(guān)字符串替換為0x00刪除流量中的ip地址和mac地址;并且清理空文件和重復(fù)文件;
8、s2、數(shù)據(jù)的特征處理;
9、s21、對輸入的原始流量數(shù)據(jù)進(jìn)行截?cái)嗵幚?,僅保留握手?jǐn)?shù)據(jù)包的tls標(biāo)頭;
10、s22、從原始流量中抽取時(shí)空特征信息,所述時(shí)空特征信息包括數(shù)據(jù)包大小和流到達(dá)時(shí)間;
11、s23、將tls握手標(biāo)頭字節(jié)與時(shí)空特征序列進(jìn)行融合;
12、將握手標(biāo)頭字節(jié)特征向量表示為,所述握手標(biāo)頭字節(jié)特征向量包含截?cái)嗪蟮腸lienthello和serverhello消息中的關(guān)鍵字段信息;
13、將時(shí)空特征序列中的每個數(shù)據(jù)包向量進(jìn)行拼接,得到流的時(shí)空特征矩陣;
14、將握手標(biāo)頭特征向量與時(shí)空特征矩陣進(jìn)行拼接,得到一個綜合特征矩陣;具體形式如下:;
15、s3、對流量進(jìn)行分類;
16、采用stfnt分類方法對流量進(jìn)行分類;所述stfnt分類方法將流時(shí)間序列和tls握手標(biāo)頭作為輸入;兩個輸入中的每一個都被饋送到一組單獨(dú)的神經(jīng)網(wǎng)絡(luò)層,這些層的輸出隨后被連接并通過額外的全連接層以產(chǎn)生最終的分類;
17、將tls握手標(biāo)頭饋送到具有最大池化的深度一維cnn;得到cnn特征向量;
18、;式中是卷積核權(quán)重矩陣,負(fù)責(zé)從輸入數(shù)據(jù)中提取局部特征;是輸入特征序列,表示tls握手標(biāo)頭特征;是偏置項(xiàng)(bias),為卷積層提供一個常數(shù)偏移;
19、將流時(shí)間序列通過第一全連接層后進(jìn)入到三個lstm層;得到lstm特征向量;
20、,
21、式中,是指lstm?中用于計(jì)算輸出的權(quán)重矩陣;它將隱藏狀態(tài)和當(dāng)前輸入進(jìn)行線性變換以生成?oto_tot;
22、是在時(shí)間步的隱藏狀態(tài)向量,表示當(dāng)前時(shí)間步的lstm單元的內(nèi)部狀態(tài),包含累積的信息;
23、是在時(shí)間步的輸入向量,即當(dāng)前數(shù)據(jù)包的特征;
24、是lstm?輸出門的偏置項(xiàng);用于調(diào)節(jié)輸出結(jié)果;
25、表示sigmoid激活函數(shù),用于將輸出限制在?(0,1)?的范圍內(nèi);
26、是在時(shí)間步的記憶單元狀態(tài),表示?lstm?的長期記憶狀態(tài);
27、表示雙曲正切激活函數(shù),用于將輸入壓縮到?(-1,1)?的范圍內(nèi),使得?lstm能夠捕捉更細(xì)微的輸入變化;
28、通過全連接層將cnn特征向量和lstm特征向量進(jìn)行融合,構(gòu)建輸入樣本?;
29、
30、式中,是全連接層的權(quán)重矩陣,負(fù)責(zé)提取輸入向量中的重要信息;是偏置向量,用于調(diào)整神經(jīng)元的激活閾值;
31、使用softmax函數(shù)對結(jié)果進(jìn)行分類,sofmax函數(shù)的公式如下:
32、
33、式中,是輸入向量的第i個元素softmax的輸出值,都在0到1之間,并且所有的輸出值之和為1。
34、具體的,步驟s1中所述五元組信息包括源ip、源端口、目標(biāo)ip、目標(biāo)端口、協(xié)議。
35、進(jìn)一步的,在步驟s2中,時(shí)空特征信息的提取包括以下步驟:
36、從每個流中獲取一份記錄,該記錄包含流中每個數(shù)據(jù)包的信息;每個數(shù)據(jù)包的信息包括數(shù)據(jù)包大小和流到達(dá)時(shí)間;
37、得到每個數(shù)據(jù)包的時(shí)空特征后,將數(shù)據(jù)包大小和流到達(dá)時(shí)間兩個特征統(tǒng)一表示為一個包含兩個特征字段的固定格式,即;其中代表ip數(shù)據(jù)包大小,代表流到達(dá)時(shí)間;
38、將時(shí)空特征進(jìn)行上述表示后,采用最小-最大標(biāo)準(zhǔn)化的方法對數(shù)據(jù)進(jìn)行規(guī)格化,具體公式為:
39、
40、式中,是原始特征值,即未經(jīng)過標(biāo)準(zhǔn)化處理的數(shù)據(jù)點(diǎn);是特征的最小值;特征的最大值;xnew是指原始特征值進(jìn)行規(guī)格化處理后得到的新的特征值;
41、經(jīng)過規(guī)格化處理后,所有統(tǒng)計(jì)特征都映射到了[0,1]的范圍內(nèi);將ip數(shù)據(jù)包大小和流到達(dá)時(shí)間這兩個特征統(tǒng)一表示成一個向量,即數(shù)據(jù)包向量,它的形式為:
42、;
43、其中是經(jīng)過特征嵌入和轉(zhuǎn)換處理后的兩個特征,是映射矩陣。
44、本發(fā)明的有益效果
45、本發(fā)明所述的基于序列特征融合的加密流量分類方法具有以下優(yōu)點(diǎn):
46、1、本發(fā)明所述的基于序列特征融合的加密流量分類方法通過使用時(shí)空特征序列來補(bǔ)充原始流量預(yù)處理過程中因剪切丟失的結(jié)構(gòu)特征信息,通過卷積神經(jīng)網(wǎng)絡(luò)cnn分析tls握手原始流量獲取全局特征,借助長短期記憶網(wǎng)絡(luò)lstm,挖掘數(shù)據(jù)包大小和流到達(dá)時(shí)間序列的深層特性,從而能夠更全面地理解和識別流量的各種特性,進(jìn)而提升分類任務(wù)的性能;
47、2、本發(fā)明所述的基于序列特征融合的加密流量分類方法通過兩個分支分別對兩種特征維度進(jìn)行建??梢蕴崛〕龈辛Φ奶卣餍畔ⅲ瑥亩鰪?qiáng)了分類能力。
48、3、本發(fā)明所述的基于序列特征融合的加密流量分類方法可以有效地遷移到不同的數(shù)據(jù)集,并在新數(shù)據(jù)集上保持較高的性能。
49、4、本發(fā)明所述的基于序列特征融合的加密流量分類方法在處理新的、未知的任務(wù)時(shí)具有良好的適應(yīng)性和魯棒性。