一種自動化網(wǎng)絡應用指紋提取方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種自動化網(wǎng)絡應用指紋提取方法,步驟包括:1)接收網(wǎng)絡應用數(shù)據(jù)包,通過語言模型學習輸出字節(jié)向量;2)對上述網(wǎng)絡應用數(shù)據(jù)包載荷的逐個字節(jié)值所對應的字節(jié)向量進行連接操作,得到數(shù)據(jù)包載荷向量;3)根據(jù)上述數(shù)據(jù)包載荷向量,將上述網(wǎng)絡應用數(shù)據(jù)包載荷劃分成多個不同的聚簇;4)對每一個聚簇中一系列頻繁共現(xiàn)的字節(jié)序列串進行提取,獲得應用指紋。本發(fā)明還提供一種自動化網(wǎng)絡應用指紋提取系統(tǒng),包括:數(shù)據(jù)預處理模塊、字節(jié)向量學習模塊、數(shù)據(jù)包載荷向量化表示模塊、數(shù)據(jù)包載荷聚類模塊和應用指紋提取模塊。
【專利說明】
一種自動化網(wǎng)絡應用指紋提取方法及系統(tǒng)
技術領域
[0001] 本專利屬于網(wǎng)絡安全技術領域,涉及網(wǎng)絡應用指紋提取技術,特別涉及一種自動 化網(wǎng)絡應用指紋提取方法及系統(tǒng)。
【背景技術】
[0002] DPI技術在工業(yè)界應用廣泛,具有重要意義,DPI的關鍵技術難題在于網(wǎng)絡應用指 紋提取?,F(xiàn)有的網(wǎng)絡應用指紋提取方法主要包括人工提取和自動化提取方法,其中,人工方 法人力成本高、效率低;而自動化方法也存在以下不足:一是所提取的指紋質量無法滿足實 際應用識別的高精度需求,二是對所需的訓練集數(shù)據(jù)質量要求較高,在應用實踐中較難獲 取。因此,本專利公開了一種基于字節(jié)向量的自動化網(wǎng)絡應用指紋提取方法和系統(tǒng)。
【發(fā)明內容】
[0003] 為了克服上述不足,本發(fā)明提供一種自動化網(wǎng)絡應用指紋提取方法及系統(tǒng),其基 于字節(jié)向量學習,所需訓練集質量的依賴程度低,提取的應用指紋質量高。
[0004] 為了解決上述技術問題,本發(fā)明所采用的技術方法是:
[0005] -種自動化網(wǎng)絡應用指紋提取方法,步驟包括:
[0006] 1)接收網(wǎng)絡應用數(shù)據(jù)包,通過語言模型學習輸出字節(jié)向量;
[0007] 2)對上述網(wǎng)絡應用數(shù)據(jù)包載荷的逐個字節(jié)值所對應的字節(jié)向量進行連接操作,得 到數(shù)據(jù)包載荷向量;
[0008] 3)根據(jù)上述數(shù)據(jù)包載荷向量,將上述網(wǎng)絡應用數(shù)據(jù)包載荷劃分成多個不同的聚 簇;
[0009] 4)對每一個聚簇中一系列頻繁共現(xiàn)的字節(jié)序列串進行提取,獲得應用指紋。
[0010] 進一步地,所述網(wǎng)絡應用數(shù)據(jù)包是以單向流為單位的數(shù)據(jù)包序列,通過原始網(wǎng)絡 數(shù)據(jù)包進行IP重組和TCP流還原操作獲得。
[0011] 進一步地,所述語言模型為循環(huán)神經(jīng)網(wǎng)絡語言模型,通過所述網(wǎng)絡應用數(shù)據(jù)包的 樣本庫構建,為一用來計算給定字節(jié)序列出現(xiàn)概率的概率模型。
[0012] 進一步地,所述循環(huán)神經(jīng)網(wǎng)絡語言模型由輸入層、隱藏層以及輸出層組成。
[0013] 進一步地,所述字節(jié)向量為一固定長度的用于刻畫字節(jié)值的實值向量,初始值采 用l-of-η編碼表示。
[0014] 進一步地,根據(jù)K-Means聚類算法,將所述網(wǎng)絡應用數(shù)據(jù)包載荷劃分成多個不同的 聚簇。
[0015] 進一步地,所述聚簇的聚類效果通過輪廓系數(shù)進行評估。
[0016] 進一步地,根據(jù)漸進多序列比對算法,對每一個聚簇中一系列頻繁共現(xiàn)的字節(jié)序 列串進行提取,該漸進多序列比對算法是基于成對序列比對算法。
[0017] 進一步地,所述對每一個聚簇中一系列頻繁共現(xiàn)的字節(jié)序列串進行提取是指,從 漸進多序列比對結果中提取一致性序列,該一致性序列由每一位置上出現(xiàn)頻率最高的字節(jié) 值按序組成,再根據(jù)插入的gap對該一致性序列進行分割,保留長度大于2的字節(jié)序列。
[0018] -種自動化網(wǎng)絡應用指紋提取系統(tǒng),包括如下模塊:
[0019] 一數(shù)據(jù)預處理模塊,接收原始網(wǎng)絡數(shù)據(jù)包,進行IP重組和TCP流還原操作,輸出以 單向流為單位的數(shù)據(jù)包序列;
[0020] -字節(jié)向量學習模塊,接收并對以單向流為單位的數(shù)據(jù)包序列進行提取以構建訓 練集,輸出通過循環(huán)神經(jīng)網(wǎng)絡語言模型學習的字節(jié)向量;
[0021 ] -數(shù)據(jù)包載荷向量化表示模塊,通過字節(jié)向量對網(wǎng)絡應用數(shù)據(jù)包載荷進行逐字節(jié) 值所對應的字節(jié)向量的連接操作,輸出數(shù)據(jù)包載荷向量;
[0022] -數(shù)據(jù)包載荷聚類模塊,根據(jù)數(shù)據(jù)包載荷向量,通過執(zhí)行K-Means聚類算法,將網(wǎng) 絡應用數(shù)據(jù)包載荷劃分成多個不同的聚簇;
[0023] -應用指紋提取模塊,對每一個聚簇中的網(wǎng)絡應用數(shù)據(jù)包載荷進行漸進多序列比 對算法,輸出一系列頻繁共現(xiàn)的字節(jié)序列串作為應用指紋。
[0024] 本發(fā)明的有益效果是,與現(xiàn)有技術相比,本發(fā)明能夠提供網(wǎng)絡應用指紋的自動化 提取,有效解決了人工提取成本高、效率低的問題;所提取的應用指紋質量更高,即采用該 指紋的DPI方法具有更高的網(wǎng)絡應用檢測精度,并且對所需訓練集質量的依賴程度更低。
【附圖說明】
[0025] 圖1為一種自動化網(wǎng)絡應用指紋提取方法的框架圖。
[0026] 圖2為一展開3個時刻的循環(huán)神經(jīng)網(wǎng)絡的語言模型示意圖。
[0027] 圖3為一種自動化網(wǎng)絡應用指紋提取系統(tǒng)的框架圖。
[0028] 圖4為本發(fā)明ProDigger與現(xiàn)有技術ProWord的Precis ion對比實驗結果。
[0029] 圖5為本發(fā)明ProDigger與現(xiàn)有技術ProWord的Recall對比實驗結果。
【具體實施方式】
[0030]為使本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合所附圖作 詳細說明如下。
[0031]本實施例提供一種自動化網(wǎng)絡應用指紋提取方法,有四個核心步驟:基于循環(huán)神 經(jīng)網(wǎng)絡語言模型的字節(jié)向量學習、載荷向量化表示、載荷聚簇劃分和應用指紋提取,如圖1 所示。
[0032] (1)基于循環(huán)神經(jīng)網(wǎng)絡語言模型的字節(jié)向量學習:面向網(wǎng)絡應用數(shù)據(jù)包載荷的語
言模型是指用來計算給定字節(jié)序列在網(wǎng)絡應用數(shù)據(jù)包載荷中出現(xiàn)概率的概率模型,需要基 于經(jīng)過預處理的網(wǎng)絡應用數(shù)據(jù)包載荷樣本庫構建。本發(fā)明利用循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural NetW〇rk,RNN)描述該語言模型,即循環(huán)神經(jīng)網(wǎng)絡語言模型。在循環(huán)神經(jīng)網(wǎng)絡語言模 型中,輸入層是一系列的字節(jié)向量,在構建語言模型的過程中,這些字節(jié)向量從給定初值不 斷迭代更新最終趨于穩(wěn)定,即字節(jié)向量從循環(huán)神經(jīng)網(wǎng)絡語言模型中學習而得。形式化地,一 ?^^丁字 萬丨丨((V)。-. · _ - (V) +-I - (V) + (V) +ii -. · _ (V) T-11 Μ~1 ?Ο?! Mff τρ V ~bu K ·
[0033]
[0034] 從上述公式可以看出,關鍵在于P(cot+1| ω〇,···,cot-h cot)概率分布的計算,該分 布表示給定一個字節(jié)序列計算下一個字節(jié)Wt+1所有可能取值的條 件概率分布。計算Ρ( ω t+11 ω 〇,…,ω t-:l,ω t)的公式為:
[0035]
[0036] 這里 表示第t+1字節(jié)(從第0字節(jié)開始計算)取值為在字節(jié)表中索引ID為k的 值。
[0037] 如圖2所示,循環(huán)神經(jīng)網(wǎng)絡語言模型由輸入層、隱藏層以及輸出層組成。輸入層由 兩部分構成,一部分是當前時刻t的輸入字節(jié)值ω t對應的字節(jié)向量以,初始值為l-of-η編碼 表示(也就One hot representation),即一個維度為字節(jié)表大小的向量,取值為1的位置表 示當前輸入字節(jié)值在字節(jié)表中的索引ID;另一部分是上一時刻t-Ι所存儲的歷史上下文信 息向量ht-i。隱藏層則以Xt與ht-i為輸入,sigmoid為激活函數(shù),生成歷史上下文信息向量ht。 輸出層也是一個維度為字節(jié)表大小的向量氣,每一維度表示下一個字節(jié)值為該索引ID所代 表的字節(jié)值的概率。
[0038]圖2表示一個展開3個時刻(3timeS-Step)的循環(huán)神經(jīng)網(wǎng)絡語言模型示意圖,該網(wǎng) 絡結構的形式化定義如下:
[0039] ' "
[0040]
[0041] 其中,Whx、Whh、Why是各層之間權重矩陣,softmax為激活函數(shù)。在循環(huán)神經(jīng)網(wǎng)絡語言 模型的訓練時使用了基于期望輸出與實際輸出的交叉熵損失函數(shù),在時刻t,對于輸出層的 第k個神羥?日毎輸m'fstK輸,屮P 咖其交叉熵損失函數(shù)定義為:
[0042]
[0043] 進而,對于實際輸出向量綣與期望輸出向量yt間的交叉熵損失函數(shù)定義如下:
[0044]
[0045] 進一步,由于期望輸出向量是一個l-of-η向量,其中為1的位置為當前訓練輸入字 節(jié)值的下一個字書倌的索引TD,日標損生函教(目卩hi術奪Y熵損失函數(shù))變?yōu)椋?br>[0046]
[0047] 本發(fā)明采用BPTT算法進行RNN的訓練,BPTT算法是BP算法一個擴展。因此通過展開 τ時刻時,在時刻t,要最大化的目標損失函數(shù)變?yōu)椋?br>[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059] (2)載荷向量化表示:該步驟基于步驟(1)預先學習的字節(jié)向量,通過連接操作,獲 得網(wǎng)絡應用數(shù)據(jù)包載荷的向量化表示,即獲得網(wǎng)絡應用數(shù)據(jù)包的數(shù)據(jù)包載荷向量。給定一 個數(shù)據(jù)包載荷P,其向量化Xp(即數(shù)據(jù)包載荷向量)形式化定義如下:
[0060]
[0061] 其中,Θ是連接操作符,x1:t表示據(jù)包載荷P的第1字節(jié)值到第t字節(jié)值對應字節(jié)向 量的連接。由于字節(jié)向量捕獲了數(shù)據(jù)包載荷的上下文信息,因此基于字節(jié)向量連接而成的 數(shù)據(jù)包載荷向量也具有同樣的信息,進而能夠用于度量數(shù)據(jù)包載荷之間的差異性和相似 性。
[0062] (3)載荷聚簇劃分:通過步驟(2)獲得網(wǎng)絡應用數(shù)據(jù)包載荷的向量化表示之后,通 過部署無監(jiān)督K-Means聚類算法將網(wǎng)絡應用數(shù)據(jù)包載荷聚集和劃分,從而獲得多個不同的 聚簇,每個聚簇中數(shù)據(jù)包載荷在語法結構和語義信息上具有高度相似性,而在不同聚簇之 間的數(shù)據(jù)包載荷則差異性較大,這為下一步驟(4)漸進多序列比對算法排除噪音,有利于得 到更好的比對結果。為了確定聚簇的個數(shù),采用輪廓系數(shù)(SilhouetteCoefficient)作為評 價指標,該指標能夠用于無標簽數(shù)據(jù)聚類效果的評估,主要針對每一個數(shù)據(jù)包載荷樣本i的 聚類結果的質量好壞進行度量,其計算公式如下:
[0063]
[0064] 其中,a(i)表示數(shù)據(jù)包載荷樣本i與在同一個聚簇中的其它樣本的平均差異度,b (i)表示數(shù)據(jù)包載荷樣本i與其它聚簇中樣本的平均差異度的最小值,s(i)取值在-1~1之 間,值越大,表示聚類效果越好。通過計算所有數(shù)據(jù)包載荷樣本的輪廓系數(shù),并求其平均值 即為當前聚類結果的整體輪廓系數(shù)。
[0065] (4)應用指紋提取:該步驟基于上一步驟(3)獲得純度高的多個聚簇之后,進一步 在每個聚簇中部署漸進多序列比對算法提取一系列頻繁的共現(xiàn)字節(jié)序列串作為應用指紋。 漸進多序列比對算法的基本思想是首先對所有的序列進行兩兩成對序列比對并計算其相 似性分值,然后依據(jù)相似性分值構建一個指導樹,進而根據(jù)該指導樹提供的序列間關系親 密度,按順序從最緊密的兩條序列開始,逐步引入鄰近的序列并不斷重新構建比對,直到所 有序列都被加入位置。漸進多序列比對算法的核心基礎算法是成對序列比對算法,該步驟 利用步驟(1)輸出的字節(jié)向量對成對序列比對算法中計算字節(jié)間的相似性打分函數(shù)進行了 改進,成對序列比對算法的基本思想是利用動態(tài)規(guī)劃思想計算出兩個序列之間的最優(yōu)比 對,即迭代的計算兩個序列之間的相似性分值,并保存于一個得分矩陣中,然后根據(jù)這個得 分矩陣回溯出最佳比對。形式化地,給定兩個字節(jié)序列{ai,a2,···,ai}和{bi,b2,···,bj},成對 比對算法的目的逐步填充得分矩陣M,該矩陣每個單元M iu的計算公式如下:
[0066]
[0067]其中,Si, j是字節(jié)ai與字節(jié)bj的相似性打分函數(shù),d是對于插入一個'gap'的懲罰值。 本發(fā)明在計算字節(jié)X與字節(jié)y之間的相似性分值通過如下公式:
[0068]
[0069] 這里e( ·)表示對應字節(jié)值的字節(jié)向量,m表示字節(jié)匹配獎勵分值,u是字節(jié)不匹配 懲罰分值。當獲得多序列比對結果后,從比對結果中提取一致性序列,一致性序列是由每一 位置上出現(xiàn)頻率最高的字節(jié)值按序組成,進而依據(jù)插入的gap對一致性序列進行分割,并保 留長度大于2的字節(jié)序列作為應用指紋。上述漸進多序列比對算法是計算生物領域中廣泛 應用且成熟的算法,本步驟對該算法進行了擴展和改進以適用于本發(fā)明所處理的問題。
[0070] 結合上述自動化網(wǎng)絡應用指紋提取方法,本實施例提供一種自動化網(wǎng)絡應用指紋 提取系統(tǒng),由數(shù)據(jù)預處理模塊、字節(jié)向量學習模塊、數(shù)據(jù)包載荷向量化表示模塊、數(shù)據(jù)包載 荷聚類模塊以及應用指紋提取模塊五部分構成。
[0071] 1)數(shù)據(jù)預處理模塊:本模塊接收原始網(wǎng)絡數(shù)據(jù)包,并對其進行預處理,即進行IP重 組和TCP流還原操作,輸出以單向流為單位的數(shù)據(jù)包序列。在基于TCP/IP協(xié)議簇的網(wǎng)絡體系 結構中,由于數(shù)據(jù)鏈路層采用MTU(Maximum TransmissionUnit,最大傳輸單元)限制所能傳 輸數(shù)據(jù)包的大小,因此當網(wǎng)絡主機發(fā)送端數(shù)據(jù)包的大小大于MTU時,就需要進行分片操作, 相應地在網(wǎng)絡主機接收端進行重組操作,IP分片重組依賴于IP數(shù)據(jù)包首部的16位標識。TCP 協(xié)議是面向連接的可靠傳輸協(xié)議,而TCP下層的IP協(xié)議卻是面向報文的不可靠協(xié)議,這將導 致IP不能保證TCP報文可靠地、順序地傳輸。為了解決該問題,TCP采取滑動窗口機制、字節(jié) 流編號機制和快速重傳算法機制等來保證數(shù)據(jù)的可靠傳輸。因此,在網(wǎng)絡主機接收段需要 依據(jù)TCP首部序列號重組IP數(shù)據(jù)包進行TCP會話還原。
[0072] 2)字節(jié)向量學習模塊:本模塊接收經(jīng)過IP重組和TCP流還原的網(wǎng)絡單向流,然后對 單向流的前幾個數(shù)據(jù)包載荷進行提取以構建訓練集,進而基于循環(huán)神經(jīng)網(wǎng)絡語言模型進行 迭代學習輸出字節(jié)向量。
[0073] 3)數(shù)據(jù)包載荷向量化表示模塊:本模塊以前一個模塊學習的字節(jié)向量為基礎,對 網(wǎng)絡應用數(shù)據(jù)包載荷進行逐字節(jié)值對應字節(jié)向量的連接操作,輸出數(shù)據(jù)包載荷向量。
[0074] 4)數(shù)據(jù)包載荷聚類模塊:本模塊接收數(shù)據(jù)包載荷向量,通過執(zhí)行K-Means聚類算 法,對網(wǎng)絡應用數(shù)據(jù)包載荷進行聚集和劃分,輸出高純度的多個不同的聚簇。
[0075] 5)應用指紋提取模塊:本模塊對上一個模塊所得的每一個聚簇中的網(wǎng)絡應用數(shù)據(jù) 包載荷進行漸進多序列比對算法計算,通過分析比對結果,輸出一系列頻繁共現(xiàn)的字節(jié)序 列串作為應用指紋輸出。
[0076] 圖4、圖 5為本發(fā)明(即ProDigger)與現(xiàn)有技術ProWorcKZhuo Zhang,Zhibin Zhang,P.P.C.Lee,Yunjie Liu and Gaogang Xie,''ProWord:An unsupervised approach to protocol feature word extraction,"INFOCOM,2014Proceedings IEEE1Toronto,0N, 2014,pp. 1393-1401 .doi :10.1109/INF0C0M. 2014.6848073)實驗結果對比。該實驗是基于 !1111\?0?3、331^、0吧、??3杜6&111五種廣泛使用的網(wǎng)絡應用層協(xié)議,對于每種協(xié)議,首先基于 ProDigger和ProWord分別進行網(wǎng)絡應用指紋的自動化提取,進而將所提取的應用指紋部署 至ljL7-filter進行應用識別。數(shù)據(jù)集的構建和實驗結果的評估內容如下:
[0077] 1)數(shù)據(jù)集的構建:對于所評估的每一種網(wǎng)絡應用協(xié)議,均構建了訓練集和測試集 兩個集合。訓練集用于應用指紋的提取,全部由某種協(xié)議的數(shù)據(jù)包載荷正樣本構成,不包含 任何其它協(xié)議的數(shù)據(jù)包載荷;測試集用于應用識別,包含目標協(xié)議正樣本和負樣本的混合 數(shù)據(jù)集。
[0078] 2)實驗結果的評估:本實驗所使用的評價指標均是從二值分類器輸出的四個不同 的預測結果集合衍生而來,四個預測結果集合如下:
[0079] True Positives(TP):該集合中的流是由協(xié)議識別系統(tǒng)正確預測為正樣本的流。 [0080] False Positives(FP):該集合中的流是由協(xié)議識別系統(tǒng)錯誤預測為正樣本的流。 [0081] True Negatives(TN):該集合中的流是由協(xié)議識別系統(tǒng)正確預測為負樣本的流。 [0082] False Negatives(FN):該集合中的流是由協(xié)議識別系統(tǒng)錯誤預測為負樣本的流。
[0083] 基于上述四種預測結果集合,采用在眾多研究領域中廣泛使用的準確率 (Precision)和召回率(Recall)兩種評價指標進行驗證評估。準確率是指正確地被預測的 正樣本的樣本數(shù)與總共被預測為正樣本的樣本數(shù)的比值;召回率是指正確地被預測的正樣 本的樣本數(shù)與真實的正樣本的樣本數(shù)的比值;評價指標的形式化定義如下:
[0084]
[0085]
[0086]從圖中可以看出,本發(fā)明所提供的方法較ProWord方法在不降低甚至有提升召回 率的情況下可顯著增加準確率,驗證了本發(fā)明的有效性和優(yōu)勢。
[0087]與現(xiàn)有技術相比,本發(fā)明能夠提供網(wǎng)絡應用指紋的自動化提取,有效解決了人工 提取成本高、效率低的問題;所提取的應用指紋質量更高,即采用該指紋的DPI方法具有更 高的網(wǎng)絡應用檢測精度,并且僅依賴于網(wǎng)絡應用數(shù)據(jù)流的前幾個數(shù)據(jù)包,無需緩存整個流 的全部數(shù)據(jù)包,即對所需訓練集質量的依賴程度更低。
【主權項】
1. 一種自動化網(wǎng)絡應用指紋提取方法,步驟包括: 1) 接收網(wǎng)絡應用數(shù)據(jù)包,通過語言模型學習輸出字節(jié)向量; 2) 對上述網(wǎng)絡應用數(shù)據(jù)包載荷的逐個字節(jié)值所對應的字節(jié)向量進行連接操作,得到數(shù) 據(jù)包載荷向量; 3) 根據(jù)上述數(shù)據(jù)包載荷向量,將上述網(wǎng)絡應用數(shù)據(jù)包載荷劃分成多個不同的聚簇; 4) 對每一個聚簇中一系列頻繁共現(xiàn)的字節(jié)序列串進行提取,獲得應用指紋。2. 根據(jù)權利要求1所述的自動化網(wǎng)絡應用指紋提取方法,其特征在于,所述網(wǎng)絡應用數(shù) 據(jù)包是以單向流為單位的數(shù)據(jù)包序列,通過原始網(wǎng)絡數(shù)據(jù)包進行IP重組和TCP流還原操作 獲得。3. 根據(jù)權利要求1所述的自動化網(wǎng)絡應用指紋提取方法,其特征在于,所述語言模型為 循環(huán)神經(jīng)網(wǎng)絡語言模型,通過所述網(wǎng)絡應用數(shù)據(jù)包的樣本庫構建,為一用來計算給定字節(jié) 序列出現(xiàn)概率的概率模型。4. 根據(jù)權利要求3所述的自動化網(wǎng)絡應用指紋提取方法,其特征在于,所述循環(huán)神經(jīng)網(wǎng) 絡語言模型由輸入層、隱藏層以及輸出層組成。5. 根據(jù)權利要求1所述的自動化網(wǎng)絡應用指紋提取方法,其特征在于,所述字節(jié)向量為 一固定長度的用于刻畫字節(jié)值的實值向量,初始值采用l-of-η編碼表示。6. 根據(jù)權利要求1所述的自動化網(wǎng)絡應用指紋提取方法,其特征在于,根據(jù)K-Means聚 類算法,將所述網(wǎng)絡應用數(shù)據(jù)包載荷劃分成多個不同的聚簇。7. 根據(jù)權利要求1或6所述的自動化網(wǎng)絡應用指紋提取方法,其特征在于,所述聚簇的 聚類效果通過輪廓系數(shù)進行評估。8. 根據(jù)權利要求1所述的自動化網(wǎng)絡應用指紋提取方法,其特征在于,根據(jù)漸進多序列 比對算法,對每一個聚簇中一系列頻繁共現(xiàn)的字節(jié)序列串進行提取,該漸進多序列比對算 法是基于成對序列比對算法。9. 根據(jù)權利要求1或8所述的自動化網(wǎng)絡應用指紋提取方法,其特征在于,所述對每一 個聚簇中一系列頻繁共現(xiàn)的字節(jié)序列串進行提取是指,從漸進多序列比對結果中提取一致 性序列,該一致性序列由每一位置上出現(xiàn)頻率最高的字節(jié)值按序組成,再根據(jù)插入的gap對 該一致性序列進行分割,保留長度大于2的字節(jié)序列。10. -種自動化網(wǎng)絡應用指紋提取系統(tǒng),包括如下模塊: 一數(shù)據(jù)預處理模塊,接收原始網(wǎng)絡數(shù)據(jù)包,進行IP重組和TCP流還原操作,輸出以單向 流為單位的數(shù)據(jù)包序列; 一字節(jié)向量學習模塊,接收并對以單向流為單位的數(shù)據(jù)包序列進行提取以構建訓練 集,輸出通過循環(huán)神經(jīng)網(wǎng)絡語言模型學習的字節(jié)向量; 一數(shù)據(jù)包載荷向量化表示模塊,通過字節(jié)向量對網(wǎng)絡應用數(shù)據(jù)包載荷進行逐字節(jié)值所 對應的字節(jié)向量的連接操作,輸出數(shù)據(jù)包載荷向量; 一數(shù)據(jù)包載荷聚類模塊,根據(jù)數(shù)據(jù)包載荷向量,通過執(zhí)行K-Means聚類算法,將網(wǎng)絡應 用數(shù)據(jù)包載荷劃分成多個不同的聚簇; 一應用指紋提取模塊,對每一個聚簇中的網(wǎng)絡應用數(shù)據(jù)包載荷進行漸進多序列比對算 法,輸出一系列頻繁共現(xiàn)的字節(jié)序列串作為應用指紋。
【文檔編號】G06N3/04GK105938562SQ201610230313
【公開日】2016年9月14日
【申請日】2016年4月13日
【發(fā)明人】張永錚, 桑亞飛, 常鵬, 庹宇鵬
【申請人】中國科學院信息工程研究所