丁 杰 黃 亮 庹宇鵬 桑亞飛 張永錚
1(中國科學院信息工程研究所 北京 100093)2(中國科學院大學 北京 100049)3(國家計算機網(wǎng)絡應急技術(shù)處理協(xié)調(diào)中心 北京 100029)
基于n-gram多特征的流量載荷類型分類方法
丁 杰1,2黃 亮3庹宇鵬1*桑亞飛1,2張永錚1
1(中國科學院信息工程研究所 北京 100093)2(中國科學院大學 北京 100049)3(國家計算機網(wǎng)絡應急技術(shù)處理協(xié)調(diào)中心 北京 100029)
精確有效的網(wǎng)絡流量分類技術(shù)對提高網(wǎng)絡服務質(zhì)量、優(yōu)化網(wǎng)絡帶寬分配、加強網(wǎng)絡安全管理以及網(wǎng)絡相關(guān)研究具有重要意義。目前,網(wǎng)絡流量分類技術(shù)主要按照應用類型或者協(xié)議類型對網(wǎng)絡流量分類,不能夠?qū)ξ粗髁亢图用芰髁窟M行分析和識別。因此提出一種基于n-gram多特征的流量載荷類型分類方法來實現(xiàn)對網(wǎng)絡數(shù)據(jù)包中傳輸內(nèi)容的類型的識別,即將流量按照其載荷類型分為文本、音頻、視頻、圖片、可執(zhí)行文件、壓縮加密七類。首先利用閾值篩選出高頻連續(xù)子串集合,進而在該集合上提取多樣化的特征來刻畫連續(xù)子串的頻數(shù)分布,最后基于C 4.5決策樹對流量載荷類型進行準確分類。實驗驗證表明,在僅使用每條流1 KB數(shù)據(jù)的情況下,分類載荷類型的平均準確率和平均召回率分別達到了92.7%和91.9%,與基于熵值的分類方法相比,平均準確率和平均召回率分別提高近10.8%和12.1%。
流量分類 載荷類型 統(tǒng)計特征 機器學習
隨著互聯(lián)網(wǎng)的普及和網(wǎng)絡技術(shù)的快速發(fā)展,網(wǎng)絡流量呈現(xiàn)爆炸式增長,如何高效地進行網(wǎng)絡帶寬規(guī)劃、網(wǎng)絡入侵檢測與防御以及流量計費,是當前網(wǎng)絡服務提供商和網(wǎng)絡管理者所面臨的挑戰(zhàn)。網(wǎng)絡流量分類技術(shù)能夠按照網(wǎng)絡應用類型或協(xié)議類型對流量進行分類,可為上述亟需解決的問題提供重要的技術(shù)支撐。
目前已有的網(wǎng)絡流量分類技術(shù)主要有4種,即基于端口的流量分類方法[1]、基于有效負載的流量分類方法[2,3]、基于主機行為模式的流量分類方法[4]以及基于機器學習的流量分類方法[5-11]?;诙丝诘牧髁糠诸惙椒軌蛴糜诟咚賹崟r流量分類,但是由于隨機端口以及端口偽裝技術(shù)的濫用,該方法已逐漸失效?;谟行ж撦d的流量分類方法在實際工程中應用最為廣泛,這得益于快速準確的類字符串指紋匹配算法[2]。但是由于應用協(xié)議指紋的提取只能針對已知的非加密網(wǎng)絡應用,因此無法處理加密流量或者其它未知網(wǎng)絡應用的流量。基于機器學習的流量分類方法假設(shè)對于給定的網(wǎng)絡應用,流的行為統(tǒng)計特征(流間隔、單包字節(jié)長度、相鄰包時間間隔等)具有唯一性,可以基于此類特征分類不同網(wǎng)絡應用流量。在2004年,McGregor等人[5]以單包字節(jié)長度、相鄰包時間間隔等作為分類特征,使用最大期望EM算法,對流量按其大小、規(guī)模等類型分類;Zander等人[6]使用無監(jiān)督的AutoClass方法,并在Moore等人[7]提出的249種流統(tǒng)計特征中選擇較優(yōu)特征集,實現(xiàn)對網(wǎng)絡流量的自動分類; Archibald等人[8]利用SVM方法對使用HTTP協(xié)議的應用進行了細分,總體準確率可達93%。
近幾年許多學者開始研究流量載荷類型分類問題,代表工作主要有[12-16]:在2009年,Khakpour等人[12]首次提出了基于熵值特征的分類方法,并利用機器學習方法將流量按載荷類型分為了文本、加密、二進制三種類型;之后Bar-Yanai等人[13]提出使用17種流統(tǒng)計特征,并通過k近鄰方法對加密流量進行識別,但是這種方法本質(zhì)上是在識別流量中的業(yè)務類型,無法真正識別其業(yè)務流量是否加密;Wang等人[14]驗證了熵值特征的分類效果,并將載荷類型細分成了文本、圖片、音頻、視頻、壓縮、加密等八種類型,并在離線數(shù)據(jù)集上進行了分類測試,在1 KB長度載荷信息下提取熵值特征,平均準確率達到了81%;陳偉等人[15]提出對載荷中256個ASCII字符提取出現(xiàn)頻率的均值和方差作為特征,并使用決策樹方法識別加密流量;Khakpour等人[16]則在真實流量數(shù)據(jù)集上先將載荷類型分為了文本、加密、二進制三種類型,然后對二進制類型細分成圖片、音頻、視頻、可執(zhí)行程序等六類,通過使用SVM方法,調(diào)優(yōu)相關(guān)參數(shù),整體分類的平均準確率在86%左右。綜上所述,網(wǎng)絡流量載荷類型的分類目標正朝著細分類型,提高分類準確率的方向發(fā)展,而目前已有方法在區(qū)分多載荷類型時主要使用了熵值特征,無論采用決策樹還是SVM分類方法,分類平均準確率均不理想,僅在85%左右,在未仔細調(diào)優(yōu)參數(shù)情況下,平均準確率甚至不到80%。
為了提高載荷分類的準確率,用n-gram方法分割得到連續(xù)子串集合后,本文一方面在原始連續(xù)子串集合上利用閾值方法篩選得到高頻連續(xù)子串集合,并對高頻連續(xù)子串集合提取特征,另一方面通過采用更多樣化的統(tǒng)計特征來刻畫連續(xù)子串集合的頻數(shù)分布。
假設(shè) 相同類型的流量載荷,通過n-gram方法分割得到的連續(xù)子串集合的頻數(shù)分布會具有很大的相似性,而不同類型的流量載荷,分割得到的連續(xù)子串集合的頻數(shù)分布存在較大差異。
1.1 定 義
定義1 n-gram連續(xù)子串集合指的是以長度為n的滑動窗口分割原串得到的子串集合,這里的原串指的是載荷內(nèi)容。
例如,原串為“abbcccdefg”,n=2時,滑動窗口如圖1所示,得到2-gram子串集合:
圖1 長度為2的滑動窗口
定義2 高頻連續(xù)子串集合指的是對n-gram連續(xù)子串集合去重,并統(tǒng)計各個子串的頻數(shù),由頻數(shù)超過閾值k的子串所構(gòu)成的集合。
例如,n=2,k=1時,高頻連續(xù)子串集合,即超過閾值1的2-gram連續(xù)子串集合為:
定義3 連續(xù)相同字符子串集合指的是由形如“bb”、“ccc”這樣僅包含一種字符的連續(xù)子串所構(gòu)成的集合。
本文除了對高頻連續(xù)子串集合提取豐富的頻數(shù)分布特征,還對連續(xù)相同字符子串集合提取相關(guān)統(tǒng)計特征。因為像exe、audio、video等類型的文件經(jīng)常會采用“0x00”、“0xff”等作為填充字符,并且不同類型的文件往往具有不同長度、不同種類的填充字符串,提取這類特征對分類效果的提升具有很大幫助。
1.2 提取高頻連續(xù)子串集合的統(tǒng)計特征
首先對載荷內(nèi)容B利用n-gram方法分割:
取不同的n值,分割成不同的n-gram連續(xù)子串集合:
Sn={s1,s2,…,si,…,sL-n+1},L表示載荷內(nèi)容B的長度;
合并Sn中重復元素,并統(tǒng)計對應的頻數(shù),取不同的k值,得到不同的高頻連續(xù)子串集合:
k=1,2,…,L-n+1
其中,k表示給定的頻數(shù)閾值,m表示頻數(shù)不小于閾值k的不重復元素的個數(shù);
例如,載荷內(nèi)容為“abbcccdefg”,取n=2,可以劃分成2-gram連續(xù)子串集合S2={ab,bb,bc,cc,cc,cd,de,ef,fg};
為了準確區(qū)分不同類型的載荷內(nèi)容,本文沒有像之前的研究者只提取熵值特征,在不同長度n和頻數(shù)k值情況下,對連續(xù)子串集合Sn提取了更豐富和全面的特征集:
(1) 頻數(shù)超過閾值k的不同元素種數(shù):mn,k=m;
1.3 提取連續(xù)相同字符子串集合的統(tǒng)計特征
(1) 連續(xù)相同字符子串的數(shù)量sc_num:所有連續(xù)相同字符子串出現(xiàn)的總數(shù);
(2) 連續(xù)相同字符子串的種數(shù)sc_diff_num:所有出現(xiàn)過的不同種類(構(gòu)成子串的字符不同或者子串長度不同)的連續(xù)相同字符子串的數(shù)量;
(3) 最大連續(xù)相同字符子串的長度sc_max_len:出現(xiàn)過的連續(xù)相同字符子串的最大長度;
(4) 連續(xù)相同字符子串的平均長度sc_mean_len:出現(xiàn)過的所有連續(xù)相同字符子串的總長度除以sc_num得到的結(jié)果。
1.4 特征值的對數(shù)化處理
在對實際的數(shù)據(jù)集提取特征后,觀察特征值的分布發(fā)現(xiàn),除信息熵以外的其他特征取值跨度較大,如方差特征,取值范圍從0到815 775.76,而大部分的取值都在1000以內(nèi),分布不平衡。為了減小過大的特征值造成的權(quán)重影響,本文對這些特征進行對數(shù)化處理,如方差特征d1,1對數(shù)處理后為log(d1,1)。
2.1 特征向量構(gòu)成
本文一共采集了兩種類型的特征:一種是對高頻連續(xù)子串集合提取的特征如mn,k、mfn,k、meann,k等,另一種是對連續(xù)相同字符子串提取的特征如sc_num,sc_diff_num,sc_max_len等。樣本的特征向量由以上兩部分組成:
(sc_num,…,sc_mean_len,m1,1,…,h1,1,…,mn,k,…,hn,k)
其中,n=1,2,…,L;k=1,2,…,L-n+1。
2.2 高維度問題
在取不同的n和k值組合時,得到的特征向量的維數(shù)會迅速增加。考慮到過長的連續(xù)子串的頻數(shù)一般都是1,提取的統(tǒng)計特征不具有區(qū)分度,因此,n值一般在10以內(nèi)選擇,k值一般在5以內(nèi)選擇。當n=1,2,…,10,k=1,2,…,5,特征向量維度將達到:4+10×5×5=254,如果直接用于模型的訓練和測試,復雜度過高,計算開銷過大,且易造成模型的“欠擬合”現(xiàn)象。因此,需要對特征集合進行降維,而降維采用的主要方法有兩種:特征選擇和特征抽取,本文將在實驗部分比較這兩種方式的分類效果。
2.3 分類算法
本文采用了C4.5決策樹[17]作為主要的分類模型,它對非線性數(shù)據(jù)有較好的分類效果,并且可以處理連續(xù)值屬性,模型的訓練和分類過程速度都較快[18],可以產(chǎn)生直觀的決策樹分類規(guī)則,便于編程實現(xiàn)。本文分類算法分兩個階段,如下所示:
模型訓練階段:
(1) 對網(wǎng)絡流量進行流重組,按五元組(源IP、目的IP、源端口、目的端口、TCP/UDP)標記每條流;
(2) 跳過協(xié)議頭長度headlen分別提取每條流各方向上前若干包(本文最多提取前4個包)的字節(jié)數(shù)據(jù),總長度為1KB;
(3) 對各流1KB數(shù)據(jù)進行n-gram多特征提取,并表示成特征向量;
(4) 標記各流特征向量的載荷類型,得到訓練樣本集合;
(5) 設(shè)置C4.5相關(guān)參數(shù),將訓練樣本輸入,得到分類模型。
測試分類階段:
(1) 對網(wǎng)絡流量提取特征向量,步驟如訓練階段(1)-(3);
(2) 依據(jù)C4.5模型中的分類規(guī)則,分類各流的特征向量;
(3) 輸出各流的載荷類型。
在構(gòu)建C4.5決策樹時,本文采用了后剪枝算法來增強模型的魯棒性,避免噪聲樣本和異常樣本導致模型的“過擬合”。另外本文通過實際實驗,選擇C4.5模型參數(shù)為C=0.25,M=5。
3.1 實驗環(huán)境
3.1.1 數(shù)據(jù)集
為了評估本文分類方法的有效性,采集了兩部分數(shù)據(jù)集:離線文件數(shù)據(jù)集和真實流量數(shù)據(jù)集。離線文件數(shù)據(jù)集用于模擬利用流重組技術(shù)獲得完整流載荷數(shù)據(jù)的情況,不需要考慮數(shù)據(jù)包協(xié)議頭的存在,而真實流量數(shù)據(jù)集中需要考慮協(xié)議頭部對分類效果的影響。
離線文件數(shù)據(jù)集如表1所示,其中的大部分樣本來自于網(wǎng)絡,并通過爬蟲獲得。txt類別中的樣本來自“搜狗網(wǎng)址導航”中隨機下載的網(wǎng)頁;audio類別中的樣本來自“百度音樂”和“19000音效庫”中的音頻文件;video類別中的樣本來自“搜狐網(wǎng)視頻”中的視頻文件;picture類別是隨機爬取的網(wǎng)頁中的圖片;而compress類別和encrypt類別中的樣本是通過在txt、audio、video等類別中隨機選擇樣本,利用相應的壓縮和加密算法得到。
表1 離線文件數(shù)據(jù)集
真實流量數(shù)據(jù)集如表2所示。由于真實情況下網(wǎng)絡流的載荷數(shù)據(jù)難以準確標記是哪種類型,所以我們一方面通過FTP傳輸不同類型的文件得到不同載荷類型的流量數(shù)據(jù),另一方面通過抓包過濾的方式,捕獲常見的已知載荷類型的流量數(shù)據(jù)。如利用SMTP協(xié)議發(fā)送純文本郵件的流量可以標記為txt類別,利用HTTP協(xié)議且“content-encoding”值為gzip的流量,通常用于傳輸網(wǎng)頁腳本、圖片等,可以標記為compress類別,而SSH和HTTPS均是加密流量,可以標記為encrypt類別。
表2 真實流量數(shù)據(jù)集
3.1.2 實驗參數(shù)及評價指標
特征提取時,本文選擇離線文件開頭的1KB數(shù)據(jù),作為特征提取對象;真實流量數(shù)據(jù)集中,對每個流前4個包,采用跳過headlen后的1KB數(shù)據(jù),作為特征提取對象。本文沒有在文件的不同偏移位置提取字節(jié)數(shù)據(jù)做對比實驗,因為文獻[16]中已經(jīng)證明了文件開頭部分子串頻數(shù)分布的隨機性可以代表整個文件中子串頻數(shù)分布的隨機性。C4.5模型參數(shù)設(shè)為(C=0.25,M=5)。
在實驗過程中,采用十折交叉驗證的方式,即把每種類別的樣本隨機分成十份,輪流將其中的每一份加入測試樣本,剩余九份加入訓練樣本,最后計算十次分類結(jié)果準確率和召回率的平均值,作為分類算法的準確率和召回率。下面給出一次分類結(jié)果下給定類別Ci的準確率和召回率的計算公式:
(1)
(2)
其中,TPCi指的屬于類別Ci,且被正確分類到類別Ci的樣本數(shù);FPCi指的是不屬于類別Ci,但被誤分到類別Ci的樣本數(shù);FNCi指的是屬于類別Ci,但被誤分到其他類別的樣本數(shù);
一次分類結(jié)果下算法的平均準確率和平均召回率計算公式如下,N表示分類的類別數(shù):
(3)
(4)
3.2 特征降維方法比較
由于通過n-gram方式提取的特征向量維度過高,計算時開銷太大,并且容易造成模型的“欠擬合”,因此需要對特征向量進行降維。本文比較了特征選擇和特征抽取兩種降維方法,特征選擇采用卡方檢驗和信息增益結(jié)合的方法,選擇同時排在Top10的特征作為分類特征;特征抽取采用PCA方法,選取總貢獻率大于99%的5個特征作為分類特征。
本文在離線文件數(shù)據(jù)集上測試特征選擇和特征抽取的分類效果。表3是特征選擇的結(jié)果。
表3 卡方檢驗和信息增益選取的特征
在PCA方法中,提取了總貢獻率達到99%的5個特征作為分類特征。相同特征數(shù)的情況下,本文選取特征選擇綜合排在Top5的特征進行實驗比較。分類模型都采用了C4.5決策樹(C=0.25,M=5),圖2、圖3分別是兩種降維方法在各個類別上準確率和召回率的比較。
圖2 兩種降維方法準確率實驗比較
圖3 兩種降維方法召回率實驗比較
對比實驗結(jié)果可以看出,在相同特征數(shù)的情況下,特征選擇的分類效果要明顯好于特征抽取的分類效果。這主要是因為PCA將所有樣本看成一個整體,它的降維目標是找到均方誤差最小情況下的最優(yōu)線性映射投影,而降維過程中沒有考慮到不同樣本間的類別特性,得到的低維特征集很可能缺失部分可分信息,導致分類效果不理想。因此在后續(xù)的實驗中,將采用特征選擇綜合排序TopK的特征作為分類特征。
3.3 實驗結(jié)論
結(jié)論1n-gram連續(xù)子串集合的頻數(shù)分布具有“長尾效應”,在高頻連續(xù)子串集合的頻數(shù)分布上提取特征要比在原始連續(xù)子串集合上提取的特征分類效果更好。
從上節(jié)特征選擇Top10的結(jié)果,可以看出方差特征和熵值特征占到了多數(shù),因此本文選擇了方差特征和熵值特征進行實驗比較,方差特征選擇的特征集合為{d1,k,d2,k,d3,k,d4,k,d5,k},熵值特征選擇的特征集合為{h1,k,h2,k,h3,k,h4,k,h5,k}。這里n值取1到5,因為過大的n值會導致分割得到的子串頻數(shù)都較小,子串集合的頻數(shù)分布趨于扁平,提取的統(tǒng)計特征區(qū)分不同類別的能力不強。選擇相同的模型參數(shù)C4.5(C=0.25,M=5),在離線文件數(shù)據(jù)集上取不同k值比較各個類別的分類準確率。
實驗結(jié)果如圖4、圖5所示。k=1時,即在原始連續(xù)子串集合上提取特征;對于方差特征,當k=2時,幾乎所有類別的分類準確率都高于k=1時的準確率,而k=4時,除在picture、exe類別上的分類準確率略低于k=1時的準確率,其他類別上的分類準確率都比k=1時高;對于熵值特征,當k=2,4時,除exe外的其他類別的分類準確率都高于k=1時的準確率。而當k=6時,分類準確率明顯下降,因為n-gram連續(xù)子串集合中只有少部分的子串具有特別高的頻數(shù),大部分的子串頻數(shù)都在1到5之間,即頻數(shù)分布具有“長尾效應”,當取過大的k值時,篩選得到的子串數(shù)量太少,提取的統(tǒng)計特征無法體現(xiàn)出該類別的特點;當k取2、4等值時,可以濾除大量的低頻子串,而低頻子串在不同類別的子串集合中廣泛存在,提取的統(tǒng)計特征無法準確表達不同類別的差異性。因此在利用合適的閾值k篩選得到的高頻子串集合上提取特征能夠明顯提高分類的準確率,具有更好的分類效果。
圖4不同k值下方差特征準確率實驗
圖5 不同k值下熵值特征準確率實驗
結(jié)論2 真實流量環(huán)境下,跳過合適的協(xié)議頭部長度提取載荷特征有助于提高分類的效果。
使用真實流量進行實驗時,由于真實的數(shù)據(jù)包都會包含協(xié)議頭。例如HTTP、FTP數(shù)據(jù)包的協(xié)議頭都是文本內(nèi)容,SSH、HTTPS等數(shù)據(jù)包的協(xié)議頭是二進制內(nèi)容。為了評估協(xié)議頭部內(nèi)容對載荷類型的分類造成的影響,本文測試了取不同headlen值時,分類平均準確率和平均召回率的變化。實驗采用Top10特征集,分類模型為C4.5(C=0.25,M=5)。
實驗結(jié)果如圖6所示,可以看出當headlen=50時,分類效果最好,平均分類準確率和召回率能達到92.7%和91.9%,headlen=0時,平均分類準確率和召回率為90.5%和90.1%,說明如果對包含協(xié)議頭的字節(jié)數(shù)據(jù)提取特征會降低分類的效果;而headlen大于100時,平均分類準確率和召回率都明顯下降,所以headlen應該取相對合適的值,headlen過大時,為了滿足載荷長度1KB的要求,需要跨多個數(shù)據(jù)包提取特征,受到了協(xié)議填充數(shù)據(jù)“0x00”、“0xff”等帶來的噪聲影響,導致準確率下降。因此,在跳過合適的headlen長度(本文headlen=50)后提取特征,有助于提高分類的準確率。
圖6 不同的headlen值下準確率實驗
結(jié)論3 本文提取的多樣化的載荷特征比僅使用原始熵值特征分類準確率更高。
相比之前的研究載荷類型分類的工作[16],本文對頻數(shù)分布采用了更多樣的特征進行描述,如方差、最大頻數(shù)、連續(xù)相同字符子串的種數(shù)等,而不僅僅是熵值特征,通過前面的特征選擇的Top10的特征集也可以看出多樣化特征的重要性。本文使用特征選擇Top5和Top10特征集合,與文獻[16]采用的熵值特征集合{h1,1,h2,1,h3,1,h4,1,h5,1},在離線文件數(shù)據(jù)集、真實流量數(shù)據(jù)集上進行對比實驗,其中采集真實流量的載荷數(shù)據(jù)時設(shè)置headlen=50,分類模型均采用C4.5決策樹。
實驗準確率和召回率對比如圖7、圖8所示。對于離線文件數(shù)據(jù)集,本文所提取的多樣化特征在所有類別上的分類效果都要明顯好于僅使用熵值特征的分類效果,Top5特征集分類的平均準確率達到了94.8%,Top10特征集分類的平均正確率達到了95.5%,而僅使用熵值特征特征集分類的平均準確率只有83.2%,該值和文獻[16]中的結(jié)果也基本吻合;對于真實流量數(shù)據(jù)集,Top10特征集對各個類別都有較好的分類效果,分類的平均準確率達到92.7%,平均召回率為91.9%,Top5特征集分類的平均準確率為88.3%,平均召回率為88.9%,而使用熵值特征集分類的平均準確率只有81.9%,平均召回率為79.8%,和Top10特征集相比,平均準確率和平均召回率分別低了10.8%和12.1%。可以看出在使用真實流量實驗時,盡管樣本量相比離線文件數(shù)據(jù)集顯著變大,但本文提取的多樣化特征依然具有很強的類別區(qū)分能力。因此,可以說明本文采用的多樣化特征的載荷特征要比僅使用原始熵值特征分類準確率更高,對連續(xù)子串集合的頻數(shù)分布特征的提取更有效。
圖7 不同特征集準確率實驗
圖8 不同特征集召回率實驗
本文提出一種基于n-gram多特征的網(wǎng)絡流量載荷類型分類方法,將網(wǎng)絡流量劃分為文本、音頻、視頻、圖片、可執(zhí)行程序、壓縮與加密7種類型,通過在n-gram高頻子串集合上提取特征以及采用多樣化特征刻畫流量載荷的頻數(shù)分布,提高了分類算法的準確率和召回率。在離線文件數(shù)據(jù)集和真實網(wǎng)絡流量數(shù)據(jù)集上進行的相關(guān)實驗證明了本文方法的有效性和實用性。在下一步的研究中,將探索如何將這種分類方法運用于在線高速網(wǎng)絡流量識別,兼顧分類效果和分類速度,并實驗驗證,另外將嘗試提取有效特征對流量載荷進行更進一步細分。
[1]MooreAW,PapagiannakiK.Towardtheaccurateidentificationofnetworkapplications[C]//6thInternationalWorkshoponPassiveandActiveMeasurement.Springer,2005:41-54.
[2]SmithR,EstanC,JhaS,etal.Deflatingthebigbang:fastandscalabledeeppacketinspectionwithextendedfiniteautomata[N].ACMSIGCOMMComputerCommunicationReview,2008,38(4):207-218.
[3]FinsterbuschM,RichterC,RochaE,etal.Asurveyofpayload-basedtrafficclassificationapproaches[J].IEEECommunicationsSurveys&Tutorials,2014,16(2):1135-1156.
[4]KaragiannisT,PapagiannakiK,FaloutsosM.BLINC:multileveltrafficclassificationinthedark[N].ACMSIGCOMMComputerCommunicationReview,2005,35(4):229-240.
[5]McGregorA,HallM,LorierP,etal.Flowclusteringusingmachinelearningtechniques[C]//5thInternationalWorkshoponPassiveandActiveMeasurement.Springer,2004:205-214.
[6]ZanderS,NguyenT,ArmitageG.Automatedtrafficclassificationandapplicationidentificationusingmachinelearning[C]//LocalComputerNetworks,2005IEEEConferenceon.IEEE,2005:250-257.
[7]MooreA,ZuevD,CroganM.Discriminatorsforuseinflow-basedclassification:RR-05-13[R].ResearchReportofQueenMaryUniversityofLondon,2005.
[8]ArchibaldR,LiuY,CorbettC,etal.DisambiguatingHTTP:classifyingwebapplications[C]//2011 7thInternationalWirelessCommunicationsandMobileComputingConference(IWCMC).IEEE,2011:1808-1813.
[9]WangY,XiangY,ZhangJ,etal.Internettrafficclassificationusingconstrainedclustering[J].IEEETransactionsonParallelandDistributedSystems,2014,25(11):2932-2943.
[10]DingL,YuF,PengS,etal.Aclassificationalgorithmfornetworktrafficbasedonimprovedsupportvectormachine[J].JournalofComputers,2013,8(4):1090-1096.
[11]ValentiS,RossiD,DainottiA,etal.Reviewingtrafficclassification[M]//DataTrafficMonitoringandAnalysis.Springer,2013:123-147.
[12]KhakpourAR,LiuAX.High-speedflownatureidentification[C]//DistributedComputingSystems,2009 29thIEEEInternationalConferenceon.IEEE,2009:510-517.
[13]Bar-YanaiR,LangbergM,PelegD,etal.Realtimeclassificationforencryptedtraffic[C]//9thInternationalSymposiumonExperimentalAlgorithms.Springer,2010:373-385.
[14]WangY,ZhangZ,GuoL,etal.Usingentropytoclassifytrafficmoredeeply[C]//Networking,ArchitectureandStorage(NAS),2011 6thIEEEInternationalConferenceon.IEEE,2011:45-52.
[15] 陳偉,胡磊,楊龍.基于載荷特征的加密流量快速識別方法[J].計算機工程,2012,38(12):22-25.
[16]KhakpourAR,LiuAX.Aninformation-theoreticalapproachtohigh-speedflownatureidentification[J].IEEE/ACMTransactionsonNetworking(TON),2013,21(4):1076-1089.
[17]QuinlanJR.C4.5:programsformachinelearning[M].SanFrancisco,CA,USA:MorganKaufmannPublishers,1993.
[18] 徐鵬,林森.基于C4.5決策樹的流量分類方法[J].軟件學報,2009,20(10):2692-2704.
A FLOW NATURE CLASSIFICATION METHOD BASED ON MULTI-FEATURES OF N-GRAM
Ding Jie1,2Huang Liang3Tuo Yupeng1*Sang Yafei1,2Zhang Yongzheng1
1(InstituteofInformationEngineering,ChineseAcademyofSciences,Beijing100093,China)2(UniversityoftheChineseAcademyofScience,Beijing100049,China)3(NationalComputerNetworkEmergencyResponseTechnicalTeam/CoordinationCenterofChina,Beijing100029,China)
Accurate and efficient network traffic classification technology plays a significant role for improving network quality of service, optimizing network bandwidth allocation, enhancing network security management and research in network-related field. Currently, most research work in network traffic classification field focuses on how to identify the type of the network applications and protocols. However, the existing methods cannot be applied to analyze and classify the unknown traffic (generated by unknown applications or protocols) and encrypted traffic. Therefore, a flow nature classification method based on multi-features of n-gram is proposed, which can classify the network traffic according to the content type of the payload in the packets (including text, audio, video, picture, executable, compressed and encrypted). Firstly, a set of frequent subsequences by means of a threshold-based strategy is selected, then multi-features is extracted to characterize the frequency distribution of the selected set, finally a desirable performance is obtained to classify the content type of the traffic payload by employing C4.5 decision tree classifier. The experimental results show that the average precision ratio and the average recall ratio of our approach achieve 92.7% and 91.9% respectively with only 1 KB of data per flow. Compared with the classification methods based on entropy features, the proposed method increases by approximately 10.8% and 12.1% in terms of average precision ratio and average recall ratio.
Traffic classification Content type Statistical features Machine learning
2016-01-06。國家高技術(shù)研究發(fā)展計劃項目(2013AA014703,2013AA014701);國家自然科學基金項目(61572496)。丁杰,碩士生,主研領(lǐng)域:網(wǎng)絡安全。黃亮,高級工程師。庹宇鵬,助理研究員。桑亞飛,博士生。張永錚,研究員。
TP3
A
10.3969/j.issn.1000-386x.2017.02.026