一種基于n-gram多特征的流量載荷類型檢測方法
【專利摘要】本發(fā)明公開了一種基于n?gram多特征的流量載荷類型檢測方法。本方法為:1)讀取樣本網(wǎng)絡流的數(shù)據(jù)包,根據(jù)該數(shù)據(jù)包的按五元組標記其所屬的樣本網(wǎng)絡流;然后計算該樣本網(wǎng)絡流五元組的哈希值作為鍵,如果哈希表中不存在該項,則將該哈希值作為新的鍵并分配一結構體作為鍵值Value,插入哈希表中;如果存在該鍵,則在哈希表中獲得對應的結構體,將該數(shù)據(jù)包的載荷數(shù)據(jù)保存到該結構體中;2)對每一結構體中的載荷數(shù)據(jù)進行n?gram子串分割,生成該樣本網(wǎng)絡流的特征向量;3)根據(jù)特征向量訓練得到一分類模型;4)對于待分類的網(wǎng)絡流,生成該網(wǎng)絡流的特征向量,然后利用該分類模型判斷該網(wǎng)絡流的類型。本發(fā)明大大提高了檢測效率。
【專利說明】
-種基于n-gram多特征的流量載荷類型檢測方法
技術領域
[0001] 本發(fā)明屬于網(wǎng)絡流量信息安全領域,設及一種對流量按其載荷類型進行檢測的方 法,能夠應用于提高網(wǎng)絡服務質量、優(yōu)化網(wǎng)絡帶寬分配、加強網(wǎng)絡安全管理等方面。
【背景技術】
[0002] 隨著互聯(lián)網(wǎng)的普及和網(wǎng)絡技術的快速發(fā)展,網(wǎng)絡流量呈現(xiàn)爆炸式增長,如何高效 地網(wǎng)絡帶寬規(guī)劃、網(wǎng)絡入侵檢測與防御W及流量計費,是當前網(wǎng)絡服務提供商和網(wǎng)絡管理 者所面臨的挑戰(zhàn)。網(wǎng)絡流量分類技術能夠按照網(wǎng)絡應用類型或協(xié)議類型對流量進行分類, 可為上述亟需解決的問題提供重要的技術支撐。
[0003] 目前已有的網(wǎng)絡流量分類技術,主要是將網(wǎng)絡流量分類到具體的網(wǎng)絡應用和網(wǎng)絡 協(xié)議,方法有4種:基于端口的流量分類方法、基于有效負載的流量分類方法、基于主機行為 模式的流量分類方法W及基于機器學習的流量分類方法。
[0004] (1)基于端口的流量分類方法
[0005] 能夠用于高速實時流量分類,但是由于隨機端口 W及端口偽裝技術的濫用,該方 法已逐漸失效。
[0006] (2)基于有效負載的流量分類方法
[0007] 在實際工程中應用最為廣泛,主要得益于快速準確的類字符串指紋匹配算法。但 是由于應用協(xié)議指紋的提取只能針對已知的非加密網(wǎng)絡應用,因此無法處理加密流量或者 其它未知網(wǎng)絡應用的流量。
[000引(3)基于主機行為模式的流量分類方法
[0009] 該方法具有很強的理論意義,不依賴協(xié)議特征,不需要對數(shù)據(jù)包進行解析,通過主 機交互的行為信息來識別網(wǎng)絡流量,由于模型較為復雜難W保證實時性要求,并且無法精 細化識別出應用類型。
[0010] (4)基于機器學習的流量分類方法
[0011] 假設對于給定的網(wǎng)絡應用,流的行為統(tǒng)計特征(流間隔、單包字節(jié)長度、相鄰包時 間間隔等)具有唯一性,可W基于此類特征分類不同網(wǎng)絡應用流量。但缺點是很難找出有效 的特征對網(wǎng)絡應用或協(xié)議產(chǎn)生的流量進行準確的分類,而且分類過程耗費資源較多,應用 于在線環(huán)境有一定困難。
[0012] 針對未知應用流量和加密流量的分析和識別問題,提出了對流量載荷類型進行識 別與分類,方法主要有W下巧中:
[0013] (1)基于假設檢驗的分類方法
[0014] 該方法主要針對的是加密流量的識別,利用加密數(shù)據(jù)的隨機性特點,對網(wǎng)絡報文 逐一實施累積和檢驗,根據(jù)報文長度將結果進行加權綜合,無需解密操作,也無需匹配特定 內(nèi)容,實現(xiàn)了對加密流量的普適識別.可動態(tài)調整報文的檢測數(shù)量,W達到時延和準確率的 統(tǒng)一。缺點是無法應用于其他載荷類型的識別,且容易誤識別壓縮類型的網(wǎng)絡流量。
[0015] (2)基于流行為特征的分類方法
[0016] 由于特定加密協(xié)議在連接建立階段交互的報文,內(nèi)容相似,格式固定,往往具有特 定的流量特征,如報文長度、報文到達時間等。利用運些特定流量特征,借助于機器學習的 方法可實現(xiàn)對特定加密協(xié)議的識別。但是由于加密操作通常不會明顯改變報文的長度和到 達時間,運使得大部分業(yè)務數(shù)據(jù)使用明文傳輸和使用加密傳輸時具有相同的流量特征。一 些算法聲稱能夠識別加密流量,本質上是識別經(jīng)加密傳輸?shù)臉I(yè)務。例如P2P軟件經(jīng)明文傳輸 和經(jīng)加密傳輸數(shù)據(jù)時,其流量特征相同。無論是否加密傳輸,運些算法都能夠識別其為P2P 業(yè)務。但是,運些算法無法識別其業(yè)務流量是否加密。
[0017] (3)基于載荷賭值等統(tǒng)計特征的分類方法
[0018] 目前已有很多研究者將賭值特征應用于載荷類型的分類,并結合機器學習 SVM等 方法,將載荷類型分類為文本、加密、二進制等類型,但是W往的運類方法采用了較為單一 統(tǒng)計特征來刻畫不同的載荷類型,并且忽略了子串頻數(shù)分布的"長尾效應",導致整體分類 平均準確率僅在86%左右,個別類別的準確甚至低于80%,難W滿足實際需求。
【發(fā)明內(nèi)容】
[0019]針對上述已有方法存在的問題,本發(fā)明公開了一種基于n-gram多特征的流量載荷 類型(文本、音頻、視頻、圖片、可執(zhí)行文件、壓縮、加密等)檢測方法。
[0020] 首先給出本
【發(fā)明內(nèi)容】
設及的部分定義:
[0021] (1)定義l:n-gram連續(xù)子串集合指的是W長度為η的滑動窗口分割原串得到的子 串集合,運里的原串指的是載荷內(nèi)容;
[0022] 例如,原串為"alAcccde妃',η = 2時,滑動窗口如圖1,得到2-gram子串集合:
[0023] S2= {ab,t)b,bc,cc,cc,cd,de,ef ,fg}
[0024] (2)定義2:高頻連續(xù)子串集合指的是對n-gram連續(xù)子串集合去重,并統(tǒng)計各個子 串的頻數(shù),由頻數(shù)超過闊值k的子串所構成的集合;
[002引例如,η = 2,k = 1時,高頻連續(xù)子串集合,即超過闊值1的2-gram連續(xù)子串集合為:
[0026] S ' 2,1 = {ab, t)b, be, CC, cd, de, ef, f g}
[0027] (3)定義3:連續(xù)相同字符子串集合指的是由形如"bb","ccc"運樣僅包含一種字符 的連續(xù)子串所構成的集合;
[0028] 本發(fā)明具體步驟包括:
[0029] (1)初始化參數(shù):Payload結構體置0,Payload結構體中包括分別緩存對應網(wǎng)絡流 已經(jīng)接收的載荷數(shù)據(jù)payloadjxiff,pa^oatbuff中接收的載荷數(shù)據(jù)長度payloatlen和 已經(jīng)處理的數(shù)據(jù)包數(shù)pkt_num;Payload_ft結構體置0,用于保存對每條網(wǎng)絡流提取的載荷 特征;設置方法全局參數(shù)max_payload_len,表示接收每條流載荷數(shù)據(jù)的最大長度;設置 min_payload_len,表示用于提取載荷特征的最小數(shù)據(jù)長度;設置heatlen,表示數(shù)據(jù)包協(xié) 議頭估計的長度;設置max_packet_num,表示用于采集載荷特征的最大包數(shù);設置最大高頻 子串頻數(shù)闊值K,設置最大n-gram最大窗口長度闊值N; train_f lag初始置為true,表示先進 入分類模型的訓練階段,在模型訓練完成后置為化Ise,進入在線分類階段;
[0030] Payload 結構體為:
[0034] (2)設置train_flag為化ue,進入模型的訓練階段,輸入已知載荷類型的樣本網(wǎng)絡 流量;
[0035] (3)讀取數(shù)據(jù)包并進行流重組:讀取網(wǎng)絡流量中的數(shù)據(jù)包,按五元組(源IP、目的 IP、源端口、目的端口、TCP/UDP)標記該數(shù)據(jù)包所屬的網(wǎng)絡流,計算該網(wǎng)絡流五元組的哈希 值,作為鍵Key,在哈希表中查找,如果不存在該項,則W該哈希值作為新的鍵Key,為該網(wǎng)絡 流分配一新的化yload結構體作為鍵值Value,插入哈希表中;如果哈希表中存在該項,則進 行步驟4);
[0036] (4)根據(jù)數(shù)據(jù)包的五元組計算得到的哈希值作為鍵Key,在哈希表中獲得對應的 Payload結構體,跳過數(shù)據(jù)包開始位置head_len長度后,將之后的載荷數(shù)據(jù)保存進化yload 中,并將該流已處理數(shù)據(jù)包數(shù)pkt_num加1,直至達到max_payload_len長度,轉入步驟(5); 如果當前處理的數(shù)據(jù)包數(shù)超過max_packe t_num,且pa}d oad_l en不小于min_pa}d oad_l en則 轉入步驟(5);如果當前處理的數(shù)據(jù)包是該流最后一個數(shù)據(jù)包,且payloa^len不小于min_ pa}doad_len,則轉入步驟(5),如果該網(wǎng)絡流處理完畢后的pa}doad_len小于min_payload_ len,則不對該流進行后續(xù)特征提取,并將該流移除哈希表;繼續(xù)執(zhí)行步驟(3);
[0037] (5)若train_flag為true,則執(zhí)行步驟(6),否則執(zhí)行步驟(9);
[0038] (6)對流的載荷數(shù)據(jù)進行n-gram子串分割,取[1,N]間各個不同值η作為滑動窗口 大小,分割原載荷數(shù)據(jù),得到n-gram連續(xù)子串集合W及形如"bb","CCC"運樣僅包含一種字 符的連續(xù)相同字符子串集合;
[0039] (7)統(tǒng)計n-gram連續(xù)子串集合中各項的頻數(shù),取[1,Κ]間各個不同值k作為頻數(shù)闊 值,過濾n-gram連續(xù)子串集合,得到高頻連續(xù)子串集合;
[0040] (8)對步驟(6)中得到連續(xù)相同字符子串集合和步驟(7)中的高頻連續(xù)子串集合提 取如下統(tǒng)計特征,完成后轉入步驟(10):
[0041] (8.1)提取高頻連續(xù)子串集合的統(tǒng)計特征:頻數(shù)超過闊值k的不同元素種數(shù)mn,k、元 素巧大頻數(shù)mfn,k、均值meann,k、方差dn,k、f曰息賄hn,k;
[0042 ] (8.2)提取連續(xù)相同字符子串集合的統(tǒng)計特征:連續(xù)相同字符子串的數(shù)量sc_num、 連續(xù)相同字符子串的種數(shù)sc_diff_num、最大連續(xù)相同字符子串的長度sc_max_len、連續(xù)相 同字符子串的平均長度sc_mean_len;
[0043] (9)根據(jù)步驟(11)中分類特征集,對流載荷數(shù)據(jù)進行n-gram子串分割,并提取對應 特征,構造每條流的特征向量;轉入步驟(10);
[0044] (10)對除信息賭W外的其他特征均進行取對數(shù)處理,如方差特征山,1對數(shù)處理后 為log(di,i),將步驟(8)各個特征表示成該流的特征向量;
[0045] (11)若化ain_flag為化ue,并且數(shù)據(jù)包尚未讀完,則轉入步驟(3),如果數(shù)據(jù)包已 讀完則標識各流特征向量的載荷類型,并利用卡方檢驗和信息增益的方法對所有樣本網(wǎng)絡 流的特征向量計算得分并排序,按從前往后的順序,依次選擇排在兩種方法前10的特征作 為分類特征集(共選擇10個特征)作為對應網(wǎng)絡流的分類特征集,轉入步驟(12);若train, flag為false則轉入步驟(13);
[0046] (12)利用C4.5決策樹作為分類模型,用步驟(11)中的分類特征集構造訓練樣本, 得到C4.5分類模型;對C4.5分類模型中的分類規(guī)則,轉換成IF-ELSE規(guī)則;轉入步驟(14);
[0047] (13)根據(jù)步驟(12)中的IF-化SE規(guī)則,判斷特征向量的對應的載荷類型,輸出網(wǎng)絡 流的載荷類型,轉入步驟(3);
[004引(14)設置train_flag為化Ise,輸入需要分類的網(wǎng)絡流量,轉入步驟(3)。
[0049] 與已公開的方法相比,本發(fā)明具有如下優(yōu)點:
[0050] (1)只需要提取網(wǎng)絡流前若干包的載荷特征信息,分類速度較快且只需要使用每 條流少量的載荷內(nèi)容,占用內(nèi)存較?。?br>[0051] (2)支持對多種載荷類型進行分類,包括文本、音頻、視頻、圖片、可執(zhí)行文件、壓 縮、加密等;
[0052] (3)對載荷內(nèi)容進行n-gram分割,并在利用闊值篩選后的高頻子串集合上提取有 效特征,相比已有方法具有更高的分類準確率和召回率;
[0053] (4)具有靈活的參數(shù)設置,可W設置提取特征的載荷內(nèi)容的長度、數(shù)據(jù)包頭部長 度、載荷最小長度等,在性能和分類效果之間做出平衡;
[0054] (5)可W根據(jù)給定的載荷類型及已有數(shù)據(jù)集,調整所使用的特征集合,獲得更好的 分類效果。
【附圖說明】
[0055] 圖1為長度為2的滑動窗口;
[0056] 圖2為基于n-gram的載荷特征提取示意圖;
[0057] 圖3為基于n-gram多特征的流量分類流程圖。
【具體實施方式】
[0058] 下面,結合具體的實施例對本發(fā)明進行詳細說明。圖2是對載荷數(shù)據(jù)進行n-gram特 征提取的示意圖,對應步驟(6)至步驟(10),圖3是基于n-gram多特征的載荷類型分類方法 流程圖。
[0059] (1)初始化參數(shù):Payload結構體置0,用于緩存已經(jīng)接收的載荷數(shù)據(jù)payloacL buff,接收的數(shù)據(jù)長度payload_len和已經(jīng)處理的數(shù)據(jù)包數(shù)pkt_num;Payload_ft結構體置 0,用于保存提取的載荷特征;設置max_payload_len,表示接收每條流載荷數(shù)據(jù)的最大長 度;設置min_pay load_l en,表示用于提取載荷特征的最小數(shù)據(jù)長度;設置head_len,表示數(shù) 據(jù)包協(xié)議頭估計的長度;設置max_packet_num,表示用于采集載荷特征的最大包數(shù);設置最 大高頻子串頻數(shù)闊值K,設置最大n-gram最大窗口長度闊值N;化ain_flag置為化ue,表示需 要進行分類模型的訓練;
[0060] (2)輸入已知載荷類型的樣本網(wǎng)絡流量,設置train_f lag為true;
[0061] (3)讀取數(shù)據(jù)包并進行流重組,按五元組(源IP、目的IP、源端口、目的端口、TCP/ UDP)標記每條網(wǎng)絡流,對每條新網(wǎng)絡流W五元組的哈希值作為Key,化yload結構體作為 化lue,插入化shMap中;
[0062] (4)逐個處理每個數(shù)據(jù)包,計算數(shù)據(jù)包的五元組的哈希值,從化shMap中獲得 Pay load結構體,g兆過head_len將剩余的載荷數(shù)據(jù)保存進化y load中,并將該流已處理數(shù)據(jù) 包數(shù)地t_num加1,直至達到max_pay 1 oad_len長度,轉入步驟(5);如果當前處理的數(shù)據(jù)包數(shù) 超過max_packet_num,且payload_len不小于min_payload_len則轉入步驟巧);如果當前處 理的數(shù)據(jù)包是該流最后一個數(shù)據(jù)包或達到流重組超時時間,且payloacLlen不小于min_ 口曰5^1〇日(1_16]1,則轉入步驟(;5),如果9日5^1〇日(1_16]1小于111;[]1_9日71〇日(1_16]1,則不對該流進行后 續(xù)特征提取,并將該流移除化shMap;繼續(xù)執(zhí)行步驟(3);
[0063] (5)若train_flag為true,則執(zhí)行步驟(6),否則執(zhí)行步驟(9);
[0064] (6)對流的載荷數(shù)據(jù)B進行n-gram子串分割,取[1,N]間各個不同值η作為滑動窗口 大小,分割原載荷數(shù)據(jù),得到n-gram連續(xù)子串集合Sn= {si,S2,S3,. . .,si,. . .,SL-n+i},L表示 載荷數(shù)據(jù)B的長度;同時得到形如"bb","ccc"運樣僅包含一種字符的連續(xù)相同字符子串集 合;
[0065] 舉例如下:
[0066] 原串為"alAcccdefg",n = 2時,滑動窗口如圖1,得到2-gram子串集合:
[0067] S2= {ab,t)b,bc,cc,cc,cd,de,ef ,fg};
[0068] (7)統(tǒng)計n-gram連續(xù)子串集合Sn中各項的頻數(shù),取[1,Κ]間各個不同值k作為頻數(shù) 闊值,過濾n-gram連續(xù)子串集合,得到高頻連續(xù)子串集合S ' η, k;
[0069] S n,k 二{s l,k,S 2,k,S 3,k,...,S m,k},k二1,2,3,...,Κ
[0070] k表示給定的頻數(shù)闊值,m表示頻數(shù)不小于闊值k的不重復元素的個數(shù);
[0071]
用|s'i,k|表示元素 S'i,k的頻數(shù),|S'n,k|表示集合S'n,k中所有元素的總頻數(shù),貝U
[0072] 例如,載荷內(nèi)容為"a化cccdefg",取n = 2,可W劃分成2-gram連續(xù)子串集合S2 = (ab,bb,bc,cc,cc,cd,de,ef,fg};
[0073] 當k = l時,得到S'2,l={ab,t)b,bc,cc,cd,de,ef,fg},|S'2,l|=9;
[0074] 當4 = 2時,得到5'2,2=山。},|5'2,2|=2;
[0075] (8)對步驟(6)中得到連續(xù)相同字符子串集合和步驟(7)中的高頻連續(xù)子串集合提 取如下統(tǒng)計特征,完成后轉入步驟(10):
[0076] (8.1)提取高頻連續(xù)子串集合的統(tǒng)計特征:
[0077] 頻數(shù)超過闊值k的不同元素種數(shù):mn,k=m;
[0078] 元素最大頻數(shù):mfn,k=max( I s'i,k| ),i = l,2, . . .,m,反映了頻數(shù)分布的峰值;
[0079] 均隹
反映了連續(xù)字符集合Sn的各元素頻數(shù)大小的平均水平;
[0080] 方差
反映了數(shù)據(jù)偏離均值的分散程度;
[0081] 信息賭
I反映了系統(tǒng)的混亂程度,它與元素個數(shù)和每個元 素的頻數(shù)大小都相關;
[0082 ] (8.2)提取連續(xù)相同字符子串集合的統(tǒng)計特征:
[0083] 連續(xù)相同字符子串的數(shù)量sc_mim:所有連續(xù)相同字符子串出現(xiàn)的總數(shù);
[0084] 連續(xù)相同字符子串的種數(shù)sc_diff_num:所有出現(xiàn)過的不同種類(構成子串的字符 不同或者子串長度不同)的連續(xù)相同字符子串的數(shù)量;
[0085] 最大連續(xù)相同字符子串的長度sc_max_len:出現(xiàn)過的連續(xù)相同字符子串的最大長 度;
[0086] 連續(xù)相同字符子串的平均長度sc_mean_len:出現(xiàn)過的所有連續(xù)相同字符子串的 總長度除Wsc_mim得到的結果;
[0087] (9)根據(jù)步驟(11)中分類特征集,對流載荷數(shù)據(jù)進行n-gram子串分割,并提取對應 特征,轉入步驟(10);
[0088] (10)對除信息賭W外的其他特征均進行取對數(shù)處理,如方差特征山,1對數(shù)處理后 為log (di, 1 ),將各個特征表示成每條流的特征向量:
[0089] (sc_num, . . . ,sc_mean_len,mi,i,...山,1, . . . ,mn'k, . . . ,hn'k)
[0090] 其中,n = l,2,3. . .,N,k = l,2,3,. . .,Κ;
[0091] (11)若化ain_flag為化ue,并且數(shù)據(jù)包尚未讀完,則轉入步驟(3),如果數(shù)據(jù)包已 讀完則標識各流特征向量的載荷類型,并利用卡方檢驗和信息增益的方法綜合選擇排在前 10的特征作為分類特征集,轉入步驟(12);若train_flag為化Ise則轉入步驟(13);
[0092] (12)利用C4.5決策樹作為分類模型,用步驟(11)中的分類特征集構造訓練樣本, 得到C4.5分類模型;對C4.5分類模型中的分類規(guī)則,轉換成IF-ELSE規(guī)則;轉入步驟(14); [0093 ] (13)根據(jù)步驟(12)中的IF-ELSE規(guī)則,判斷特征向量的對應的載荷類型,輸出網(wǎng)絡 流的載荷類型,轉入步驟(3);
[0094] (14)設置train_flag為化Ise,輸入需要分類的網(wǎng)絡流量,轉入步驟(3)。
【主權項】
1. 一種基于n-gram多特征的流量載荷類型檢測方法,其步驟為: 1) 讀取所選已知載荷類型的各樣本網(wǎng)絡流的數(shù)據(jù)包,根據(jù)該數(shù)據(jù)包的按五元組標記其 所屬的樣本網(wǎng)絡流;然后計算該樣本網(wǎng)絡流五元組的哈希值作為鍵Key,根據(jù)該鍵Key在哈 希表中查找,如果不存在該項,則將該哈希值作為新的鍵Key,為該樣本網(wǎng)絡流分配一 Payload結構體作為鍵值Value,插入哈希表中;如果存在該鍵Key,則在哈希表中獲得對應 的Pay load結構體,將該數(shù)據(jù)包的載荷數(shù)據(jù)保存到該Pay load結構體中; 2) 對步驟1)得到的每一Pay load結構體:對Pay load結構體中的載荷數(shù)據(jù)進行n-gram子 串分割,得到該Pay load結構體對應樣本網(wǎng)絡流的連續(xù)相同字符子串集合和n-gram連續(xù)子 串集合,然后統(tǒng)計該n-gram連續(xù)子串集合中各項的頻數(shù),得到一高頻連續(xù)子串集合;然后從 該連續(xù)相同字符子串集合、高頻連續(xù)子串集合中提取該樣本網(wǎng)絡流的統(tǒng)計特征,生成該樣 本網(wǎng)絡流的特征向量; 3) 根據(jù)步驟2)得到的特征向量,訓練得到一分類模型; 4) 對于待分類的網(wǎng)絡流,生成該網(wǎng)絡流的特征向量,然后利用該分類模型判斷該網(wǎng)絡 流的類型。2. 如權利要求1所述的方法,其特征在于,該Pay load結構體中包括用于存儲已接收載 荷數(shù)據(jù)的字段payload_buff、已接收的載荷數(shù)據(jù)長度的字段payload_len和數(shù)據(jù)包數(shù)pkt_ num〇3. 如權利要求1或2所述的方法,其特征在于,步驟1)中,將該數(shù)據(jù)包的載荷數(shù)據(jù)保存到 該Pay load結構體時,將該Pay load結構體的已處理數(shù)據(jù)包數(shù)pkt_num加1。4. 如權利要求3所述的方法,其特征在于,如果該Payload結構體的載荷數(shù)據(jù)長度 pay 1 oad_len達到設定的最大長度max_pay 1 oad_len,轉入步驟2)。5. 如權利要求3所述的方法,其特征在于,如果該Pay load結構體已接收的數(shù)據(jù)包數(shù)超 過設定的最大包數(shù)max_packet_num,且payload_len不小于設定的最小數(shù)據(jù)長度min_ payload_len則轉入步驟2)。6. 如權利要求3所述的方法,其特征在于,如果該Pay load結構體當前處理的數(shù)據(jù)包是 對應樣本網(wǎng)絡流最后一個數(shù)據(jù)包或達到設定的流重組超時時間,且payl〇ad_len不小于設 定的最小數(shù)據(jù)長度min_payload_len,則轉入步驟2)。7. 如權利要求3所述的方法,其特征在于,如果該Pay load結構體對應的樣本網(wǎng)絡流處 理完畢后的payload_len小于設定的最小數(shù)據(jù)長度min_payload_len,則將該樣本網(wǎng)絡流移 除哈希表。8. 如權利要求1所述的方法,其特征在于,對Pay load結構體中的載荷數(shù)據(jù)進行n-gram 子串分割的方法為:取[1,N]間各個不同值η作為滑動窗口大小,分割原載荷數(shù)據(jù),得到n-gram連續(xù)子串集合以及連續(xù)相同字符子串集合。9. 如權利要求1所述的方法,其特征在于,從高頻連續(xù)子串集合中提取的統(tǒng)計特征包 括:頻數(shù)超過閾值k的不同元素種數(shù)mn, k、元素最大頻數(shù)mf n, k、均值meann, k、方差dn, k、信息熵 hn,k;從連續(xù)相同字符子串集合中提取的統(tǒng)計特征包括:連續(xù)相同字符子串的數(shù)量sc_num、 連續(xù)相同字符子串的種數(shù)sc_diff_num、最大連續(xù)相同字符子串的長度 SC_maX_len、連續(xù)相 同字符子串的平均長度sc_mean_len。10. 如權利要求1所述的方法,其特征在于,訓練得到該分類模型的方法為:首先利用卡 方檢驗和信息增益的方法對各樣本網(wǎng)絡流的特征向量計算得分并排序,為各樣本網(wǎng)絡流選 取若干特征作為對應樣本網(wǎng)絡流的分類特征集;然后利用決策樹作為分類模型,用該分類 特征集構造訓練樣本,得到分類模型。
【文檔編號】H04L12/26GK105871619SQ201610240406
【公開日】2016年8月17日
【申請日】2016年4月18日
【發(fā)明人】庹宇鵬, 張永錚, 常鵬
【申請人】中國科學院信息工程研究所