王變琴,余順爭
(1. 中山大學 東校區(qū)教學實驗中心,廣東 廣州 510006;2. 中山大學 信息科學與技術(shù)學院,廣東 廣州 510006)
網(wǎng)絡(luò)流量的準確識別和分類是提供差異性服務(wù)質(zhì)量(QoS,quality of service)保障、入侵檢測(intrusion detection)、流量監(jiān)控(traffic monitoring)及計費管理(accounting)等方面的基礎(chǔ)。然而,面對網(wǎng)絡(luò)應(yīng)用的快速發(fā)展,傳統(tǒng)的端口應(yīng)用識別法逐漸失效,基于流(flows)統(tǒng)計特征的流量分類方法[1,2]不能進行應(yīng)用的精確識別,利用載荷特征(signature)的應(yīng)用識別方法[3,4]簡單、準確度較高,在實際中被廣泛應(yīng)用,然而如何自動獲取載荷特征是這種方法面臨的主要問題,目前已有一些研究成果[5~11]。Byung-Chul 等人[5]提出一種基于LCS(longest common substring)的載荷特征提取方法——LASER;Wang等人[6]提出利用序列比對方法提取載荷特征;Ye等人[7]提出一種基于子樹(subtree)結(jié)構(gòu)的特征生成系統(tǒng)——AutoSig;趙詠等人[8]提出一種基于語義信息的協(xié)議特征自動發(fā)現(xiàn)方法——TPCAD;劉彬等人利用關(guān)聯(lián)規(guī)則算法提取載荷特征。所有這些方法所需要的數(shù)據(jù)源都是同種應(yīng)用協(xié)議的流量。獲取已知應(yīng)用的流量較為容易,可以通過特定的網(wǎng)絡(luò)應(yīng)用進程生成或從混合流量中獲取(對于端口固定的應(yīng)用,利用端口從中提取其流量;對于非固定端口的應(yīng)用,則可以利用支持這種應(yīng)用流量識別的系統(tǒng)或工具提取其流量)。如果要將這些載荷特征自動提取方法擴展到未知網(wǎng)絡(luò)應(yīng)用,則需要獲得單一未知應(yīng)用的流量,然而在實際中獲取的未知流量通常是一種或幾種未知應(yīng)用協(xié)議流量的混合。因此,首先需要將混合流量進行分離、歸類,使得每類中的流量屬于同一種應(yīng)用,目前這方面的研究極少。Zhang等人[12]提出利用分組的五元組信息對會話進行聚類,但由于五元組和應(yīng)用類別沒有直接關(guān)系,使得這種方法不太可靠;在協(xié)議逆向工程(protocol reverse engineering)研究領(lǐng)域,學者利用聚類方法[13,14]對報文進行歸類,用于同類報文格式的提取,這些研究還只是一些初步探索。
本文利用聚類方法對未知混合應(yīng)用流量進行分離,首先選擇會話行為特征(一種流量統(tǒng)計特征)對混合流量進行聚類。實驗評估發(fā)現(xiàn),在不同應(yīng)用會話行為特征相似情況下,這種方法不能有效分離不同應(yīng)用流量。為此提出一種基于載荷信息的流量聚類方法,該方法通過對載荷中的字節(jié)進行編碼,利用不同于傳統(tǒng)距離函數(shù)的 Jaccard系數(shù)作為相似性度量對流量進行聚類。實驗評估表明,這種基于載荷信息的方法比利用會話行為特征的流量聚類方法更為有效。
利用聚類方法對流量進行聚類的研究已有將近十年歷史,目前研究主要是基于流量的各種統(tǒng)計特征的聚類,期望實現(xiàn)在線流量分類或識別[15~18]。Mcgregor等人[15]利用流的統(tǒng)計特征和EM(expectation maximization)算法將流聚成不同應(yīng)用類型(Bulk transfer,single and multiple transactions and interactive traffic),這是聚類方法在本領(lǐng)域的最早嘗試。Zander等人[16]利用順序前向選擇(SFS,sequential forward selection)策略對流的統(tǒng)計特征進行優(yōu)化,利用AutoClass算法(EM算法的一種拓展,通過反復(fù)使用EM算法以便找到全局最優(yōu)解)識別應(yīng)用(FTP、Telnet、SMTP、DNS、HTTP、AOL Messenger、Napster、Half-Life)。Erman1 等人[17]則比較了3種聚類算法在流量分類時的性能,評估結(jié)果顯示K-means和DBSCAN算法的性能均好于AutoClass算法,其中DBSCAN算法聚類效果最好。董仕等人[18]利用端口統(tǒng)計特征的差異對 P2P流量進行聚類。
與現(xiàn)有方法不同,本文的目標是實現(xiàn)對未知混合流量的分離,以期獲得同種應(yīng)用流量的聚類,用于載荷特征自動提取前的數(shù)據(jù)預(yù)處理。這種方法的一般框架如圖1所示,首先采集未知應(yīng)用流量,這種流量由網(wǎng)絡(luò)中部署的流量識別系統(tǒng)(例如L7-filter)不能識別應(yīng)用生成的混合流量,然后通過聚類分析獲得同種未知應(yīng)用流量,在此基礎(chǔ)上,完成未知應(yīng)用協(xié)議特征的自動提取。
圖1 未知應(yīng)用特征提取框架
通常對未知混合流量沒有先驗知識,只能根據(jù)流量自身內(nèi)在特點、規(guī)律以及相似性原則對其進行歸類。聚類分析(cluster analysis)是處理這類問題的一種有效方法,它根據(jù)“物以類聚”的規(guī)律,將數(shù)據(jù)集劃分為若干簇(cluster),這些簇是事先未知的,其形成完全由數(shù)據(jù)驅(qū)動。本文進行聚類的對象是會話(與連接或雙向流的概念相同),因其不僅包含通信雙方在2個方向上獨立的網(wǎng)絡(luò)流特征,還包含2個單向流之間的關(guān)聯(lián)特征,具有更強的特征描述能力。未知混合流量可以被處理成由會話組成的集合,據(jù)此本文研究的問題描述為:給定一個會話集S={s1,…,sn},定義一個映射f:S→C,其中第i個會話被映射到第j個簇Cj中,Cj由所有被映射到該簇中的會話組成,即=Cj,1≤j≤k ,且si∈S },每個簇 Cj(1≤j≤k)代表一種未知應(yīng)用流量,問題的求解視為產(chǎn)生一個簇集 C={C1,…,Ck}的過程。
聚類方法的性能與特征選擇以及聚類算法有關(guān)。本文根據(jù)未知混合流量的特點,分別選擇統(tǒng)計特征和載荷信息進行聚類,并通過實驗評估不同聚類算法的性能。
現(xiàn)有流量聚類方法大都是基于分類對象的統(tǒng)計特征。會話行為特征是指會話內(nèi)報文(不含載荷)的各種統(tǒng)計特征。Moor等人[19]對可能存在的多種候選特征進行了深入研究。在實際應(yīng)用中,特征選擇具有挑戰(zhàn)性,需要結(jié)合實際情況??紤]到通常獲得的未知流量是流量識別引擎無法識別的流量,只是實際聚合流量的部分數(shù)據(jù),已經(jīng)不再具有聚合流量的特征。因此關(guān)于多個會話之間的統(tǒng)計特征不再可靠。此外,實際中的流量識別系統(tǒng),例如,L7-Filter,一般只保留會話的部分數(shù)據(jù),而非完整會話數(shù)據(jù)。Bernaille1[20,21]等人提出利用會話的前N個分組長度和方向作為特征具有一定的根據(jù),因為許多基于TCP協(xié)議的應(yīng)用層協(xié)議(少數(shù)除外,例如HTTP協(xié)議)在完成3次握手后,進入應(yīng)用層協(xié)議的協(xié)商過程,例如,SSL協(xié)議密鑰協(xié)商過程,F(xiàn)TP協(xié)議認證密碼過程等,這些不同協(xié)議有不同的協(xié)商過程,并且協(xié)商過程是雙向的,因此還需要區(qū)分報文的不同方向。Bernaille1等人提出2種特征選擇方案:文獻[20]中根據(jù)觀察會話內(nèi)報文的大小分布,把報文大?。ㄗ止?jié)數(shù))映射為4個級別{1,2,3,4}(其中,{1=[0,150],2=[150,700],3=[700,1300],4=[1300,1500]}),并結(jié)合分組方向(利用符號表示分組方向:“+”代表客戶端報文,“?”表示服務(wù)器端報文)將會話表示成 ∑={±1,±2,±3,±4}上的一個序列,每個會話表示為Si=(v1,…,vli),其中,li為序列長,vt∈∑代表序列的第 tth個分組,生成所有會話的集合 S={si},然后利用變換生成的序列進行聚類,本文稱這種特征選擇方案為會話映射策略;另一種特征選擇方案[21]則將每個會話的前 N個報文的精確長度與方向作為特征。上述這2種方案均符合未知混合流量特點,本文通過實驗評估基于這2 種特征的不同算法 k-means[22]、EM[23]和DBSCAN[24]對未知混合流量的聚類。評估結(jié)果發(fā)現(xiàn),當不同應(yīng)用的會話行為特征比較相似時(例如FTP、POP3協(xié)議),基于會話行為特征的聚類方法則不能有效區(qū)分它們。
據(jù)研究,會話的前m個報文中包含載荷特征,并且多分布在報文開始和結(jié)束的固定位置處。特征由不同字節(jié)序列組成,通過對字節(jié)編碼,可以將其作為不同類別字符,不同協(xié)議會話報文載荷則包含不同字符組合。假設(shè)選取每個會話的前m個報文,每個報文的前n個字節(jié),然后按照偏移對報文中的字節(jié)進行編碼處理:規(guī)定報文首字節(jié)偏移為零,則該字節(jié)標注為b0,偏移為i的字節(jié)標注為bi,編碼后的字節(jié)當成不同類別字符對待,這樣會話s可以表示為s=m1m2m3,…,mm,其中mi=b0b1b2…bn,通過度量會話間的相似度來區(qū)分不同協(xié)議的會話。
Guha等人[25]提出一種面向類別數(shù)據(jù)的聚類算法——ROCK(robust clustering algorithm for categorical attributes using link),其突出貢獻是采用基于全局信息的公共鄰居(鏈接)作為評價數(shù)據(jù)對象間的相似性(similarity)度量標準,受此啟發(fā),提出一種基于載荷信息的ROCK流量聚類方法,引入的概念如下。
定義1 2個會話之間的相似度由Jaccard系數(shù)(coefficient)定義,令 si,sj為2個會話,則
當函數(shù)sim(si,sj)=0時,表明2個會話完全不同;sim(si,sj)越大,表明會話si和sj越相似,當sim(si,sj)=1時,表明2個會話相同。
例如,會話 s1=“220-HeUSER a331 UsPASS a”,會話s2=“220 WeUSER a331 UsPASS b”,對應(yīng)位置相同的字符有 21個,則 sim(s1,s2)=21/(21+2·(24?21))=0.778。
定義2 設(shè)θ為給定相似度閾值,稱 si,sj互為鄰居,當且僅當
定義3 令 si,sj為2個會話,稱 si,sj的公共鄰居數(shù)目為其鏈接,即
其中,Ni和Nj分別為si,sj的鄰居表。
定義4 2個簇間的鏈接定義為
定義5 指導合并的Goodness函數(shù)定義為
其中,分子是Ci、Cj之間的實際鏈接數(shù)目。
函數(shù) link(Ci,Cj)是 2個簇之間的鏈接數(shù)目,ni和nj分別是2個簇中的點數(shù)目。大簇有較多鏈接,用分母來歸一化鏈接數(shù)。當相似性度量的閾值為θ時,在Ci中點對之間鏈接數(shù)的估計值為。函數(shù)f(θ)的具體形式取決于數(shù)據(jù),但它滿足一條性質(zhì),即在簇Ci中的每一個成員大約有個鄰居。顯然,如果簇中的所有點相互鄰接,則 f(θ)=1,進而得出簇Ci中的點對之間的連接數(shù)。實驗中,選擇 f(θ)=(1-θ)/(1+θ)。
ROCK算法的核心思想為:給定會話集 S、期望得到的簇數(shù) k,計算任意兩點間的相似度,進而求出兩點間的鏈接數(shù),每次合并g值最大的2個簇集,直到達到給定的簇數(shù) k為止。與距離函數(shù)相比,鏈接不全局信息的度量,其過程描述見算法1。
算法1 procedure cluster(S,k)
輸入:
輸出:
begin
1)link :=compute_links(S)// 計算兩樣本間共同鄰居數(shù)
2)for each s∈ S do
3)q[s]:=build_local_heap(link,s)// 初始時,對每個簇創(chuàng)建局部堆q[s]
4)Q :=build_global_heap(S,q)// 創(chuàng)建全局堆Q
5)while size(Q)>k do {
6)u :=extract_max(Q)// 抽取Q中g(shù)(u,max(q[u]))最大的簇u
7)v :=max(q[u])// 抽取 u的局部堆q[u]中g(shù)(u,v)最大的簇v
8)delete(Q,v)
9)w :=merge(u,v)// 合并簇u和簇v為簇w
10)for each x∈ q[u]∪ q[v]do { // 完成包含簇u,v的局部堆與創(chuàng)建簇w的局部堆
11)link[x,w]:=link[x,u]+ link[x,v]
12)delete(q[x],u); delete(q[x],v)
13)insert(q[x],w,g(x,w)); insert(q[w],x,g(x,w))
14)update(Q,x,q[x])
15)}
16)insert(Q,w,q[w])
17)deallocate(q[u]); deallocate(q[v])// 釋放簇u與簇v的局部堆q[u]、q[v]
18)}
end
算法分析:第1)步由函數(shù)compute_links(S)計算2個樣本間共同鄰居link,其過程描述如算法2所示;第2)步和第3)步創(chuàng)建局部堆,最初各個樣本各自為一個簇,對于每個簇i,創(chuàng)建對應(yīng)的局部堆q[i],對于簇j,若link[i,j]不為0,則q[i]中包含簇j,并且計算簇i與簇j的優(yōu)良度g(i,j),按g(i,j)的降序排列;第4)步創(chuàng)建一個包含所有簇的全局堆Q,計算g(j,max(q[j]))(max(q[j])為與簇j最優(yōu)合并的簇,即q[j]的第一個元素),同樣按g(j,max(q[j]))降序排列,全部簇加入后,此時,Q的第一個元素簇j與q[j]的第一個元素為最佳合并的簇;第5)~18)步不斷地合并簇,直到簇的數(shù)目為k或者剩下簇間的link等于0,其中,第6)步抽取Q中g(shù)(u,max(q[u]))最大的簇u;第7)步對應(yīng)抽取q[u]中g(shù)(u,v)最大的簇v;第8)步由于簇u與簇v合并,刪掉對應(yīng)Q中的簇u與簇v;第9)步合并簇u與簇v并創(chuàng)建簇w;第10)~15)步對于每個局部堆中包含簇u或簇v的簇x,都要在它的局部堆q[x]中用w代替,并按優(yōu)良度排序,創(chuàng)建簇w的局部堆q[w],第16)步q[w]創(chuàng)建完成,并將w插入到Q中;第17)步釋放簇u與簇v的局部堆q[u]、q[v]繼續(xù)循環(huán)。
算法2 procedure compute_links(S)
begin
1)Compute nbrlist[i]for every point i in S //計算樣本i相似度得其鄰居列表nbrlist[i]
2)Set link[i,j]to be zero for all i,j
3)for i :=1 to n do {
4)N :=nbrlist[i]; // N為i鄰居列表
5)for j :=1 to |N|?1 do // |N|為i鄰居列表鄰居個數(shù)
6)for i :=j+1 to |N| do
7)link[N[j],N[i]]:=link[N[j],N[i]]+ 1// 鄰居對N[j]與N[i]
8)}
end
該算法的時間復(fù)雜度和空間復(fù)雜度分別為O(n2logn)和O(n2)。2個會話之間的鏈接數(shù)目link由它們共同的鄰居數(shù)目來定義,聚類算法的目標是將具有更多鏈接的點聚成簇,屬于層次聚類方法(hierarchical method),其相似度度量采用的是鏈接數(shù)目。與距離度量相比,使用鏈接度量提供一種全局的方法,因為兩點之間的相似度也受其他點的影響。
分別評估基于會話行為特征和基于載荷信息的未知流量聚類方法的性能。利用工具 Wireshark在CERNET某小區(qū)網(wǎng)絡(luò)出入口處采集包含載荷(payload)數(shù)據(jù)的真實網(wǎng)絡(luò)流量,采集時間為2009年1月8日~15日,分別隨機選擇3個不同時段(每個時段持續(xù)5 min)數(shù)據(jù),從中提取目前流行的7種應(yīng)用(HTTP、FTP、SMTP、POP3、SSL、MSN、BT)的會話(如表1所示)進行測試,它們的會話數(shù)不等,這也符合未知混合流量的實際情況,因為在采樣的時間段內(nèi)常常僅有某種或某幾種未知應(yīng)用流量的出現(xiàn),各種應(yīng)用的流量分布不均,可能某一種或幾種流量較多,而其他則較少。每種應(yīng)用的數(shù)據(jù)平均分成3組分別進行3次測試,所得實驗結(jié)果是其平均值。
表1 樣本會話集
實驗機為PC機(CPU:Intel Core 2 Duo E65502.33 GHz,內(nèi)存:0.99 GB),其操作系統(tǒng)為Windows,ROCK算法用 C++語言實現(xiàn),其余算法利用Weak3.6.5[26]測試。
聚類效果的評價指標:漏報率(FNR,false negative rate)和誤報率(FPR,false positive rate),它們可表示為
理論上,k-means和DBSCAN算法的時間復(fù)雜度分別為O(n)、 O(n2),而EM是基于統(tǒng)計模型的聚類算法,其時間復(fù)雜度一般比 DBSCAN高,實驗獲得的3種算法的耗時長短為:k-means (16 ms)<DBSCAN(50 ms)<EM (64 ms),這與理論分析結(jié)果是吻合的。對于同一種算法,2種特征選擇策略的運行時間幾乎一樣。由于數(shù)據(jù)量不大,測出的耗時可能有誤差,但也能反映3種算法在同一數(shù)據(jù)集上的時間差異。
其中,TP(true positive)是被預(yù)測為正的正樣本;TN(true negative)是被預(yù)測為負的負樣本;FP(false positive)是被預(yù)測為正的負樣本;FN(false negative)是被預(yù)測為負的正樣本。
一般會話的前4個報文正好處于應(yīng)用協(xié)議的協(xié)商階段,這個階段的報文序列是預(yù)定義好的,不同應(yīng)用之間有差異,因此,選擇會話建立階段的前 4個報文大小和方向作為特征,分別利用 k-means、DBSCAN和EM 3種聚類算法進行測試。
實驗1 比較2種會話行為特征選擇方案:1)會話的精確報文大小和方向;2)會話映射策略。選擇會話行為特征差異較為顯著的3種協(xié)議的流量進行測試,其結(jié)果如表2所示。
從表2可知,對于第1種特征選擇方案,3種算法都能產(chǎn)生較好的聚類效果,相比之下,DBSCAN算法的聚類效果最好,具有低漏報和誤報,雖然它忽略某些樣本,但從數(shù)據(jù)預(yù)處理的角度看,只是減少樣本數(shù),不大會影響應(yīng)用特征的提取結(jié)果。第2種特征選擇方案的聚類效果普遍比第1種稍差,這是由于將報文大小映射到有限的區(qū)間,屏蔽了協(xié)議報文的某些差異,使其不能精確反映協(xié)議之間的區(qū)別。
表2 2種不同特征選擇方法比較
實驗 2 評估不同數(shù)據(jù)集上各種算法的性能。在實驗1的數(shù)據(jù)集中分別混入MSN、BT以及POP3協(xié)議的流量來評估3種算法的聚類效果。MSN協(xié)議比較特別,它有3種連接,分別是連接到DS服務(wù)器,獲得NS服務(wù)地址;連接到NS服務(wù)器,用于身份驗證、得到個人信息、上線通知,或者發(fā)送、接受聊天請求;連接到SB服務(wù)器,用于發(fā)送或接收聊天消息。3種連接的會話形式不同,實驗數(shù)據(jù)只取其連接到DS服務(wù)器的會話來做聚類處理。測試結(jié)果如表3~表5所示。
表3 增加MSN流量時不同聚類算法的聚類效果
表4 增加BT流量時不同聚類算法的聚類效果
表5 增加POP3流量時不同聚類算法的聚類效果
從結(jié)果可知,當混入MSN協(xié)議或BT協(xié)議的流量時,相比其他2種算法,DBSCAN算法最好,具有低誤報和低漏報,但當混入POP3協(xié)議的流量時,DBSCAN也同樣不能區(qū)分POP3和FTP協(xié)議的流量,它將絕大部分的FTP協(xié)議流量誤報為POP3協(xié)議的流量,這緣于2種協(xié)議交互過程產(chǎn)生的會話行為特征比較相似。
分別取會話前4個報文(不包括TCP返回的ASK報文)的前6個字節(jié)拼接成24個字節(jié)的字節(jié)序列作為特征,利用ROCK算法對混合流量進行聚類。
ROCK算法對于離群點(outliers)的處理有2種方法:1)在聚類前得到每對會話的 link值時,通過設(shè)定閾值來去除沒有或較少鄰居的樣本;2)通過設(shè)定一個大于實際簇數(shù)k值來實施聚類,在聚類之后再去除離群點。本實驗采用第1種方法(丟掉link=0的點)。
ROCK算法有2個重要參數(shù):相似度閾值θ和聚類簇數(shù) k。在實現(xiàn)算法時,當簇沒有鄰居或剩下的簇數(shù)目等于k時,停止聚類,因此最后的聚類數(shù)目大于等于 k。由于實際的混合流量中包含未知流量的種類有限,因此在設(shè)置簇數(shù)k時,可以設(shè)定一個稍大的k值來去除一些離群點來獲得較純的簇;θ對聚類結(jié)果的影響將通過實驗評估。
實驗3 選擇行為相似的3種協(xié)議的流量,評估基于載荷信息的ROCK流量聚類方法的性能,并測試不同θ值對結(jié)果的影響,同時與基于會話行為特征的DBSCAN方法進行比較,其結(jié)果如表6所示。
表6 基于載荷信息的ROCK算法的流量聚類效果
由表 6可知,當θ=0.4,沒有誤報率;但當θ=0.2時,則存在一定程度的誤報,說明θ對ROCK算法聚類結(jié)果有很大影響。選擇小的θ可以減少樣本的丟棄,但很有可能會引起誤報,導致簇純度降低,而選擇大的θ會使鄰居數(shù)減少,從而減小數(shù)據(jù)點間的鏈接數(shù)量,降低誤報?;跁捫袨樘卣鞯?DBSCAN方法在最佳參數(shù)時的聚類效果明顯差于基于載荷信息的ROCK方法,原因在于這3種協(xié)議具有相似的會話行為特征,但其載荷信息有差異。
理論上,ROCK算法的時間復(fù)雜度為O(n2logn),高于 DBSCAN算法的時間復(fù)雜度O(n2),實驗中它們的實現(xiàn)方法不同,無法直接比較其效率。作為載荷特征自動提取方法的數(shù)據(jù)預(yù)處理,一般采用離線式處理方法,因此,方法的效率和效果相比,后者更為重要。
本文研究了未知混合流量中不同應(yīng)用流量的自動歸類問題。通過對會話的各種候選特征進行分析,最終選擇會話的前4個報文大小和方向作為區(qū)分特征,利用適合于此特征的3種不同聚類算法(k-means、EM、DBSCAN)對來自真實網(wǎng)絡(luò)上的混合流量進行聚類分析,實驗結(jié)果表明,基于密度的 DBSCAN聚類算法具有較低的漏報率與誤報率,其效果明顯好于其他2種算法。但在不同應(yīng)用的會話行為較為相似時,這種基于會話行為特征的方法仍不能有效地分離不同應(yīng)用的會話。為此本文提出一種基于載荷信息的 ROCK流量聚類方法,通過對載荷中字節(jié)進行編碼,利用Jaccard系數(shù)作為相似性度量,評估結(jié)果顯示,這種方法具有較好的效果。然而,當它完全面對未知應(yīng)用流量、在缺乏評判標準時,如何能夠自適應(yīng)選擇參數(shù),達到未知應(yīng)用的自然分類仍需要進一步研究。
[1]BERNAILLE L,TEIXEIRA R,AKODKENKUT I,et al. Traffic classification on the fly[J]. ACM SIGCOMM Computer Communication Review,2006,36(2): 23-26.
[2]CROTTI M,DUSI M,GRINFOLI F,et al. Traffic classification through simple statistical fingerprinting[J]. ACM SIGCOMM Computer Communication Review,2007,37(1): 1-16.
[3]SEN S,SPATSCHECK O,WANG D M. Accurate,scalable in-network identification of P2P traffic using application signatures[A]. Proceedings of WWW2004[C]. New York,2004.512-521.
[4]Application layer packet classifier for linux[EB/OL]. http://17-filter.Sourceforge.net,2012.
[5]PARK BC,WON YJ,KIM MS,et al. Towards automated application signature generation for traffic identification[A]. Proceeding of the IEEE/IFIP Network Operations and Management Symposium[C].Salvador da Bahia,2008.160-167.
[6]WANG Y,XIANG Y,ZHOU W L,et al. Generating regular expression signatures for network traffic classification in trusted network management[J]. Journal of Network and Computer Applications,2011,17:1-9.
[7]YE M J,XU K,WU J P,et al. Autosig-automatically generating signatures for applications[A]. Proceeding of the IEEE Ninth International Conference on Computer and Information Technology[C]. Xiamen,China,2009.104-109.
[8]趙詠,姚秋林,張志斌等. TPCAD: 一種文本類多協(xié)議特征自動發(fā)現(xiàn)方法[J]. 通信學報,2009,30(10A): 28-35.ZHAO Y,YAO Q L,ZHANG Z B,et al. TPCAD: a text-oriented multi-protocol inference approach[J]. Journal on Communications,2009,30(10A): 28-35.
[9]劉興彬,楊建華,謝高崗等. 基于 Apriori 算法的流量識別特征自動提取方法[J]. 通信學報,2008,29(12): 51-59.LIU X B,YANG J H,XIE G G,et al. Automated mining of packet signatures for traffic identification at application layer with Apriori algorithm[J]. Journal on Communications,2008,29(12): 51-59.
[10]龍文,馬坤,辛陽等. 適用于協(xié)議特征提取的關(guān)聯(lián)規(guī)則改進算法[J].電子科技大學學報,2010,39(2): 302-305.LONG W,MA K,XIN Y,et al. Improved association rules algorithm for protocol signatures extracting[J]. Journal of University of Electronic Science and Technology of China,2010,39(2): 302-305.
[11]王變琴,余順爭. 一種自適應(yīng)網(wǎng)絡(luò)應(yīng)用特征發(fā)現(xiàn)方法[J]. 通信學報,2013,34(3): 127-137.WANG B Q,YU S Z. Adaptive extraction method of network application signatures[J]. Journal on Communications,2013,34(3): 127-137.
[12]ZHANG M W,LIU D P. Scalable and accurate application signature discovery[A]. Proceeding of the IEEE Pacific-Asia Workshop on Computational Intelligence and Industrial Application[C]. 2008.482-487.
[13]MA J,LEVCHENKO K,KREIBICH C,et al. Unexpected means of protocol inference[A]. Proceeding of the 6th ACM SIGCOMM Conference on Internet Measurement[C]. New York,NY: ACM,2006:313-326.
[14]李偉明,張愛芳,劉建財?shù)? 網(wǎng)絡(luò)協(xié)議的自動化模糊測試漏洞挖掘方法[J]. 計算機學報,2011,34(2): 242-254.LI W M,ZHANG A F,LIU J C,et al. Automatic network protocol fuzz testing and vulnerability discovering method[J]. Chinese Journal of Computers,2011,34(2): 242-254.
[15]MCGREGOR A,HALL M,LORIER P,et al. Flow clustering using machine learning techniques[A]. Proceedings of PAM’04[C]. Antibes Juan-les-Pins,France,2004.205-214.
[16]ZANDER S,NGUYEN T,ARMITAGE G. Automated traffic classification and application identification using machine learning[A]. Proceeding of LCN’05[C]. Sydney,Australia,2005.
[17]ERMAN J,ARLITT M,and MAHANTI A. Traffic classification clustering algorithms[A]. Proceedings of SIGMETRICS’06(MineNet)[C]. Pisa,Italy,2006.281-286.
[18]董仕,王崗. 基于UDP流量的P2P流媒體流量識別算法研究[J]. 通信學報,2012,33(12): 25-34.DONG S,WANG G. Research on P2P streaming media identification based on UDP[J]. Journal on Communications,2012,33(12): 25-34.
[19]MOORE A W,ZUEV D. Discriminators for Use in Flow-based Classification[R]. Intel Research,Cambridge,2005.
[20]BERNAILLE L,TEIXEIRA R,AKODKENOU I,et al. Traffic classification on the fly[J]. ACM SIGCOMM Computer Communication Review,2006,36(2): 23-26.
[21]BERNAILLE L,TEIXEIRA R,SALAMTIAN K. Early application identification[A]. Proceedings of CoNEXT’06[C],Lisboa,Portugal,2006.
[22]JAIN A K,DUBES R C. Algorithms for clustering data[M]. Prentice-Hall,Inc,1988.
[23]DUMPSTER A P,PAIRD N M,RUBIN D B. Maximum likelihood from incomplete data via the EM algorithm[J]. Journal of the Royal Statistical Society,1977,39(1): 1-38.
[24]ESTER M,KRIEGEL H P,SANDER J,et al. A density-based algorithm for discovering clusters in large spatial database with noise[A].Proceedings of the International Conference on Knowledge Discovery in Databases and Data Mining[C]. Portland,Oregon,1996.226-231.
[25]GUHA S,RASTOGI R,SHIMK. ROCK: a robust clustering algorithm for categorical attributes[J]. Information System,2000,25(5):345-366.
[26]WEKA[EB/OL]. http://www.cs.waikato.ac.nz/~ml/weka/index.html.