• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      自適應(yīng)聚類(lèi)的未知應(yīng)用層協(xié)議識(shí)別方法

      2020-03-11 13:54:14龔啟緣馮文博李毅豪
      關(guān)鍵詞:網(wǎng)絡(luò)流量應(yīng)用層數(shù)據(jù)包

      洪 征,龔啟緣,馮文博,李毅豪

      中國(guó)人民解放軍陸軍工程大學(xué) 指揮控制工程學(xué)院,南京210042

      1 引言

      應(yīng)用層協(xié)議識(shí)別是指從承載應(yīng)用層協(xié)議數(shù)據(jù)的網(wǎng)絡(luò)流量中提取出可以標(biāo)識(shí)應(yīng)用層協(xié)議的關(guān)鍵特征,并以這些關(guān)鍵特征為基礎(chǔ),將同一種類(lèi)型的應(yīng)用層協(xié)議數(shù)據(jù)劃分在一起。

      應(yīng)用層協(xié)議識(shí)別是網(wǎng)絡(luò)服務(wù)提供商和網(wǎng)絡(luò)管理員提供差異性服務(wù)質(zhì)量保障、實(shí)施入侵檢測(cè)、流量監(jiān)控等工作的重要基礎(chǔ)[1]。舉例來(lái)看,據(jù)統(tǒng)計(jì)目前互聯(lián)網(wǎng)上超過(guò)60%的流量是由流媒體、P2P、網(wǎng)絡(luò)游戲等新型網(wǎng)絡(luò)應(yīng)用所產(chǎn)生的,這些應(yīng)用的流量占據(jù)了大量的網(wǎng)絡(luò)帶寬,使得其他網(wǎng)絡(luò)服務(wù)運(yùn)行異常甚至無(wú)法提供服務(wù)。使用應(yīng)用層協(xié)議識(shí)別技術(shù)對(duì)這些應(yīng)用層協(xié)議網(wǎng)絡(luò)流量進(jìn)行識(shí)別進(jìn)而根據(jù)需要進(jìn)行限制,是網(wǎng)絡(luò)服務(wù)提供商提供服務(wù)質(zhì)量保障的基礎(chǔ)。此外,大量的計(jì)算機(jī)病毒、木馬程序等惡意軟件為了躲避安全軟件和防火墻的防護(hù),使用自定義的應(yīng)用層協(xié)議、動(dòng)態(tài)端口以及端口偽裝技術(shù),使得網(wǎng)絡(luò)管理員對(duì)惡意入侵行為的檢測(cè)越來(lái)越困難,應(yīng)用層協(xié)議識(shí)別是將這些惡意流量從正常業(yè)務(wù)流量中區(qū)分出來(lái)的重要手段,是網(wǎng)絡(luò)管理員及時(shí)發(fā)現(xiàn)并阻止攻擊行為、保護(hù)網(wǎng)絡(luò)安全的重要基礎(chǔ)。

      應(yīng)用層協(xié)議識(shí)別方法主要包括基于端口號(hào)的識(shí)別方法、基于深度包檢測(cè)(Deep Packet Inspection,DPI)的識(shí)別方法、基于主機(jī)行為的識(shí)別方法以及基于深度流檢測(cè)(Deep Flow Inspection,DFI)的識(shí)別方法。

      基于端口號(hào)的識(shí)別方法是以IANA 為HTTP、FTP、TELNET 等常用應(yīng)用層協(xié)議分配的固定端口號(hào)為依據(jù)對(duì)應(yīng)用層協(xié)議網(wǎng)絡(luò)流量進(jìn)行識(shí)別。根據(jù)IP 地址、端口號(hào)、協(xié)議號(hào)等信息,就可以粗略地確定哪些流量是由IANA 分配了固定端口號(hào)的應(yīng)用層協(xié)議產(chǎn)生的,這種方法簡(jiǎn)單快捷,便于實(shí)現(xiàn)。但是,隨著網(wǎng)絡(luò)的發(fā)展,端口號(hào)的數(shù)量無(wú)法滿(mǎn)足日益增長(zhǎng)的網(wǎng)絡(luò)應(yīng)用需求,動(dòng)態(tài)端口技術(shù)應(yīng)運(yùn)而生,同一種應(yīng)用層協(xié)議使用的端口號(hào)不再固定,甚至有些應(yīng)用層協(xié)議會(huì)使用熟知端口(well-known ports)進(jìn)行通信,如P2P 應(yīng)用KazaA 就會(huì)使用80 端口進(jìn)行通信?;趨f(xié)議端口號(hào)的流量識(shí)別方法無(wú)法識(shí)別這類(lèi)應(yīng)用層協(xié)議的網(wǎng)絡(luò)流量。Moore等人[2]通過(guò)實(shí)驗(yàn)證明基于端口號(hào)的識(shí)別方法的準(zhǔn)確率已經(jīng)下降至20%以下。

      基于深度包檢測(cè)的識(shí)別方法通過(guò)提取應(yīng)用層數(shù)據(jù)包的載荷特征,然后和已知庫(kù)中的協(xié)議載荷特征比對(duì)完成協(xié)議識(shí)別分類(lèi)[3]。一些研究人員提出使用應(yīng)用層協(xié)議載荷特征識(shí)別P2P 等流量的方法[3-4]。很多P2P 協(xié)議具有較為明顯的特征字段,如BitTorrent protocol 的特征字段為“13 42 69 74 54 6F 72 72 65 6E 74 20 70 72 6F 74 6F 63 6F 6C”。此類(lèi)方法解決了協(xié)議端口號(hào)不固定的問(wèn)題,可以識(shí)別采用動(dòng)態(tài)端口的協(xié)議,對(duì)于P2P 流量的識(shí)別較為有效。但是該方法以應(yīng)用層協(xié)議載荷特征為基礎(chǔ),因此只能識(shí)別數(shù)據(jù)庫(kù)中存儲(chǔ)了應(yīng)用層載荷特征的應(yīng)用層協(xié)議,不能識(shí)別未知協(xié)議和加密協(xié)議的網(wǎng)絡(luò)流量,同時(shí)該方法需要維護(hù)龐大的載荷特征庫(kù),占用系統(tǒng)資源較多,匹配計(jì)算也較為復(fù)雜。盡管缺陷很多,但是這是當(dāng)前識(shí)別準(zhǔn)確率較高的一類(lèi)方法,也是部署在高速網(wǎng)絡(luò)環(huán)境中最好的方式[5]。

      Karagiannis 在文獻(xiàn)[6]中提出了基于主機(jī)行為的識(shí)別分類(lèi)方法,該方法結(jié)合網(wǎng)絡(luò)層、運(yùn)輸層和應(yīng)用層的網(wǎng)絡(luò)流量特征,通過(guò)分析主機(jī)行為來(lái)區(qū)分不同的協(xié)議數(shù)據(jù),該方法在一定程度上提高了應(yīng)用層協(xié)議識(shí)別的準(zhǔn)確度,但是并沒(méi)有解決基于深度包檢測(cè)的識(shí)別分類(lèi)方法無(wú)法識(shí)別未知協(xié)議和加密協(xié)議的網(wǎng)絡(luò)流量的問(wèn)題。

      為了實(shí)現(xiàn)對(duì)未知協(xié)議和加密協(xié)議的網(wǎng)絡(luò)流量的識(shí)別分類(lèi),研究者提出了基于深度流檢測(cè)的識(shí)別方法。Moore等人[2]利用TCP連接過(guò)程產(chǎn)生的248種流特征進(jìn)行應(yīng)用層協(xié)議網(wǎng)絡(luò)流量的識(shí)別。Moore 認(rèn)為每一種應(yīng)用層協(xié)議對(duì)應(yīng)的網(wǎng)絡(luò)流特征信息是唯一的,這些網(wǎng)絡(luò)流特征包括網(wǎng)絡(luò)流長(zhǎng)度、網(wǎng)絡(luò)流持續(xù)時(shí)間、網(wǎng)絡(luò)流中數(shù)據(jù)包的數(shù)量,以及網(wǎng)絡(luò)流中數(shù)據(jù)包的發(fā)送間隔等。通過(guò)提取網(wǎng)絡(luò)交互過(guò)程中產(chǎn)生的流的統(tǒng)計(jì)特征區(qū)分不同協(xié)議的流量。該方法不需要讀取解析應(yīng)用層載荷,只提取流統(tǒng)計(jì)特征,計(jì)算復(fù)雜度低,可以識(shí)別加密流量和未知應(yīng)用層協(xié)議流量,方法也不需要維護(hù)和更新一個(gè)龐大的特征庫(kù),消耗資源少。但是該方法的準(zhǔn)確度完全取決于所選取特征的協(xié)議區(qū)分能力,不足以滿(mǎn)足網(wǎng)絡(luò)管理的需要。

      面對(duì)復(fù)雜的網(wǎng)絡(luò)環(huán)境,傳統(tǒng)的應(yīng)用層協(xié)議識(shí)別技術(shù)面臨著識(shí)別效率低、準(zhǔn)確率低等問(wèn)題。同時(shí),傳統(tǒng)應(yīng)用層協(xié)議識(shí)別分類(lèi)技術(shù)無(wú)法識(shí)別協(xié)議規(guī)范未知的應(yīng)用層協(xié)議的網(wǎng)絡(luò)流量??焖?、準(zhǔn)確地對(duì)未知應(yīng)用層協(xié)議的網(wǎng)絡(luò)流量進(jìn)行識(shí)別是協(xié)議識(shí)別領(lǐng)域的一個(gè)重要研究目標(biāo)。為了解決現(xiàn)有網(wǎng)絡(luò)流量識(shí)別分類(lèi)方法在處理未知應(yīng)用層協(xié)議網(wǎng)絡(luò)流量識(shí)別效率低、識(shí)別準(zhǔn)確度低的問(wèn)題,本文提出一種基于自適應(yīng)聚類(lèi)的應(yīng)用層協(xié)議識(shí)別方法,將聚類(lèi)算法與傳統(tǒng)的基于深度包檢測(cè)的協(xié)議識(shí)別方法相結(jié)合,對(duì)未知應(yīng)用層協(xié)議的網(wǎng)絡(luò)流量進(jìn)行識(shí)別。所提出的方法能夠自動(dòng)化地提取目標(biāo)網(wǎng)絡(luò)流量的應(yīng)用層協(xié)議負(fù)載特征,自適應(yīng)地確定目標(biāo)簇的數(shù)量,高效準(zhǔn)確地對(duì)未知應(yīng)用層協(xié)議流量進(jìn)行識(shí)別。

      2 相關(guān)研究

      近年來(lái),研究者將機(jī)器學(xué)習(xí)方法引入網(wǎng)絡(luò)流量識(shí)別領(lǐng)域。目前有較多基于有監(jiān)督學(xué)習(xí)的應(yīng)用層協(xié)議識(shí)別方法的研究。譚駿等人[7]提出了基于自適應(yīng)BP 神經(jīng)網(wǎng)絡(luò)的流量識(shí)別算法,方法取得了較高的協(xié)議識(shí)別準(zhǔn)確率。Wang W等人[8]將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到網(wǎng)絡(luò)流量識(shí)別分類(lèi)領(lǐng)域,通過(guò)流量清洗消除可能對(duì)特征提取造成影響的無(wú)用信息,提升了分類(lèi)準(zhǔn)確率。王勇等人[9]提出了基于LeNet-5 深度卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別分類(lèi)方法,通過(guò)循環(huán)調(diào)整相關(guān)參數(shù)得到最優(yōu)分類(lèi)模型。Wu D等人[10]提出一種基于距離的最近鄰識(shí)別方法,能夠改善其他方法對(duì)不平衡網(wǎng)絡(luò)流量識(shí)別性能低的問(wèn)題。Jain[11]研究了由不同優(yōu)化器訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)對(duì)協(xié)議識(shí)別的影響,實(shí)驗(yàn)結(jié)果表明,隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)優(yōu)化器產(chǎn)生的識(shí)別效果最好。Ren J 等[12]提出了一種針對(duì)無(wú)線通信網(wǎng)絡(luò)的協(xié)議識(shí)別方法,首先利用一維卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行自動(dòng)化的特征提取,然后基于SVM對(duì)應(yīng)用層協(xié)議進(jìn)行分類(lèi)。

      上述研究利用神經(jīng)網(wǎng)絡(luò)等分類(lèi)模型,采用有標(biāo)記的協(xié)議數(shù)據(jù)進(jìn)行模型訓(xùn)練,訓(xùn)練出的模型能夠較為準(zhǔn)確地對(duì)應(yīng)用層協(xié)議網(wǎng)絡(luò)流量進(jìn)行識(shí)別。但是,如果應(yīng)用層協(xié)議的協(xié)議規(guī)范未知,則相應(yīng)的網(wǎng)絡(luò)流量難以采用這類(lèi)方法進(jìn)行識(shí)別。

      將無(wú)監(jiān)督學(xué)習(xí)方法應(yīng)用于網(wǎng)絡(luò)流量識(shí)別領(lǐng)域是解決上述問(wèn)題的一種可行方法?;跓o(wú)監(jiān)督學(xué)習(xí)的應(yīng)用層協(xié)議識(shí)別目前尚處于起步階段。無(wú)監(jiān)督學(xué)習(xí)領(lǐng)域最典型的方法是聚類(lèi)算法。對(duì)于任意的數(shù)據(jù)集,聚類(lèi)算法能夠依據(jù)相似性,將數(shù)據(jù)進(jìn)行類(lèi)別的劃分。要將聚類(lèi)算法應(yīng)用于流量識(shí)別領(lǐng)域,需要研究分析如何將應(yīng)用層協(xié)議數(shù)據(jù)轉(zhuǎn)化為聚類(lèi)算法的輸入以及如何計(jì)算應(yīng)用層協(xié)議數(shù)據(jù)之間的相似性。

      聚類(lèi)算法包括層次化聚類(lèi)算法、劃分式聚類(lèi)算法、基于密度和網(wǎng)格的聚類(lèi)算法等類(lèi)型。目前在協(xié)議識(shí)別領(lǐng)域,研究者采用較多的是劃分式聚類(lèi)算法。李林林等人[13]在K 均值算法和K 近鄰算法的基礎(chǔ)上設(shè)計(jì)了一種分類(lèi)器,采用K 均值算法對(duì)少量有標(biāo)記樣本和大量無(wú)標(biāo)記樣本組成的混合數(shù)據(jù)進(jìn)行聚類(lèi),得到若干簇,而后利用K 近鄰算法結(jié)合簇中有標(biāo)記的樣本對(duì)無(wú)標(biāo)記樣本進(jìn)行識(shí)別,實(shí)驗(yàn)結(jié)果表明該分類(lèi)器對(duì)于不平衡網(wǎng)絡(luò)流能夠取得較好的分類(lèi)效果。Munz G 等人[14]使用K-Means聚類(lèi)算法對(duì)未進(jìn)行標(biāo)注的異常流量進(jìn)行檢測(cè),成功實(shí)現(xiàn)了異常流量的識(shí)別。Mcgregor A 等人[15]將EM算法應(yīng)用于網(wǎng)絡(luò)流量分類(lèi),但是其方法只能粗略地進(jìn)行協(xié)議識(shí)別,準(zhǔn)確率較低。Liu S等人[16]針對(duì)EM算法初值敏感性強(qiáng)和易收斂到局部最優(yōu)解等缺點(diǎn),提出了基于改進(jìn)EM 的協(xié)議識(shí)別方法,該方法縮小了搜索范圍,提高了協(xié)議識(shí)別的準(zhǔn)確率。周文剛等人[17]針對(duì)網(wǎng)絡(luò)流量的復(fù)雜性和動(dòng)態(tài)性等特點(diǎn),利用譜聚類(lèi)將協(xié)議識(shí)別分類(lèi)問(wèn)題轉(zhuǎn)化為無(wú)向圖的多路劃分問(wèn)題,根據(jù)圖論的思想構(gòu)建分類(lèi)器,最終基于圖劃分結(jié)果對(duì)協(xié)議進(jìn)行識(shí)別分類(lèi)。Wang 等[18]研究了基于先驗(yàn)知識(shí)的協(xié)議識(shí)別方法,該方法將標(biāo)記數(shù)據(jù)集和未標(biāo)記數(shù)據(jù)集作為輸入,首先利用約束聚類(lèi)算法提取未標(biāo)記數(shù)據(jù)的新模式,且這些模式是標(biāo)記數(shù)據(jù)未出現(xiàn)的,并以此模式代表未知協(xié)議,然后基于標(biāo)記數(shù)據(jù)和未標(biāo)記數(shù)據(jù)的新模式訓(xùn)練多個(gè)二元分類(lèi)器,根據(jù)分類(lèi)器的結(jié)果確定樣本數(shù)據(jù)的協(xié)議類(lèi)型。

      總體上看,現(xiàn)有的基于聚類(lèi)的網(wǎng)絡(luò)流量方法雖然能夠?qū)ξ粗獏f(xié)議網(wǎng)絡(luò)流量進(jìn)行分類(lèi),但是大部分方法需要輸入目標(biāo)類(lèi)簇的數(shù)量,協(xié)議識(shí)別的準(zhǔn)確率受目標(biāo)類(lèi)簇?cái)?shù)量的影響較大,不能自動(dòng)對(duì)未知協(xié)議流量進(jìn)行分類(lèi),實(shí)際應(yīng)用的局限性較大。

      3 基于自適應(yīng)聚類(lèi)的未知應(yīng)用層協(xié)議識(shí)別方法

      3.1 算法概述

      本文以網(wǎng)絡(luò)通信中的應(yīng)用層協(xié)議數(shù)據(jù)作為分析對(duì)象。同一種協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)存在一定的相似性,可以利用這種相似性來(lái)區(qū)分不同的應(yīng)用層協(xié)議。本文方法首先從采集的原始網(wǎng)絡(luò)數(shù)據(jù)中重組出網(wǎng)絡(luò)流,提取出網(wǎng)絡(luò)流的應(yīng)用層協(xié)議數(shù)據(jù),并對(duì)協(xié)議數(shù)據(jù)進(jìn)行相似度計(jì)算,以應(yīng)用層協(xié)議數(shù)據(jù)間的相似度作為協(xié)議識(shí)別的依據(jù)。而后,利用改進(jìn)的層次聚類(lèi)算法對(duì)網(wǎng)絡(luò)流的應(yīng)用層協(xié)議數(shù)據(jù)進(jìn)行自適應(yīng)地聚類(lèi),自動(dòng)化地識(shí)別未知應(yīng)用層協(xié)議。

      具體來(lái)看,如圖1 所示,所提出的應(yīng)用層協(xié)議識(shí)別方法包括以下處理步驟:

      (1)數(shù)據(jù)預(yù)處理:對(duì)采集的網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行處理,通過(guò)數(shù)據(jù)過(guò)濾與排序、流重組、應(yīng)用層協(xié)議數(shù)據(jù)提取等子步驟,將網(wǎng)絡(luò)流量數(shù)據(jù)轉(zhuǎn)化為字節(jié)流的形式。

      (2)相似度計(jì)算:截取應(yīng)用層協(xié)議數(shù)據(jù)前部固定長(zhǎng)度的字節(jié),計(jì)算獲得不同應(yīng)用層協(xié)議數(shù)據(jù)之間的相似度。

      (3)未知應(yīng)用層協(xié)議聚類(lèi):對(duì)應(yīng)用層協(xié)議數(shù)據(jù)進(jìn)行簇初始化,通過(guò)簇間相似度算法計(jì)算獲得簇間相似度,利用改進(jìn)的聚類(lèi)算法迭代反復(fù),直至達(dá)到聚類(lèi)停止條件,將同種應(yīng)用層協(xié)議數(shù)據(jù)聚集在一個(gè)簇中,最后輸出簇集合,集合中每一個(gè)簇即為一種應(yīng)用層協(xié)議所對(duì)應(yīng)的網(wǎng)絡(luò)流信息的集合。

      圖1 基于自適應(yīng)聚類(lèi)的未知應(yīng)用層協(xié)議識(shí)別的處理流程

      3.2 數(shù)據(jù)預(yù)處理

      數(shù)據(jù)預(yù)處理是進(jìn)行未知應(yīng)用層協(xié)議識(shí)別的基礎(chǔ),其目的是從采集的網(wǎng)絡(luò)流量中提取出網(wǎng)絡(luò)流,進(jìn)而獲得應(yīng)用層協(xié)議數(shù)據(jù)。數(shù)據(jù)預(yù)處理可以細(xì)分為三個(gè)子步驟。第一個(gè)子步驟是進(jìn)行數(shù)據(jù)過(guò)濾與排序,通過(guò)數(shù)據(jù)過(guò)濾獲得具有應(yīng)用層協(xié)議負(fù)載的網(wǎng)絡(luò)流量,進(jìn)而通過(guò)排序?qū)⒖赡軐儆谕粋€(gè)流的網(wǎng)絡(luò)數(shù)據(jù)包聚集在一起。第二個(gè)子步驟是流重組,獲得網(wǎng)絡(luò)流的信息。第三個(gè)子步驟是應(yīng)用層協(xié)議數(shù)據(jù)提取,在網(wǎng)絡(luò)流的基礎(chǔ)上提取出應(yīng)用層協(xié)議數(shù)據(jù)。

      數(shù)據(jù)預(yù)處理的第一個(gè)子步驟是過(guò)濾掉不需要考慮的通信數(shù)據(jù)包。本文關(guān)注的是包含應(yīng)用層協(xié)議數(shù)據(jù)的網(wǎng)絡(luò)數(shù)據(jù)包,所涉及的網(wǎng)絡(luò)流可以是一個(gè)完整的TCP連接或者一次完整的UDP交互。可以通過(guò)讀取數(shù)據(jù)鏈路層幀頭中FrameType字段將非IP數(shù)據(jù)包過(guò)濾,而后通過(guò)讀取網(wǎng)絡(luò)層IP 數(shù)據(jù)包首部的Protocol 字段來(lái)確定TCP數(shù)據(jù)包和UDP 數(shù)據(jù)包,將非TCP 和非UDP 數(shù)據(jù)包過(guò)濾。對(duì)于一條單向的網(wǎng)絡(luò)流,其中數(shù)據(jù)包的IP地址和端口號(hào)是固定的,因此可以按照IP數(shù)據(jù)包首部源IP、目的IP、源端口號(hào)、目的端口號(hào)等信息對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行排序,將可能屬于同一個(gè)流的數(shù)據(jù)包聚集在一起,以提升流重組的效率。

      數(shù)據(jù)預(yù)處理的第二個(gè)子步驟是流重組。對(duì)于TCP流,根據(jù)TCP首部中的SYN和FIN標(biāo)志位可以標(biāo)識(shí)TCP流的開(kāi)始和結(jié)束,而后利用TCP首部的序列號(hào)和負(fù)載數(shù)據(jù)長(zhǎng)度關(guān)系將到達(dá)的數(shù)據(jù)包重新整合為一條有序流。

      對(duì)于UDP 流,由于其沒(méi)有連接建立和連接釋放過(guò)程,無(wú)法通過(guò)UDP 首部標(biāo)識(shí)UDP 流的開(kāi)始和結(jié)束。本文通過(guò)設(shè)置流最大持續(xù)時(shí)間,依據(jù)數(shù)據(jù)包的發(fā)送時(shí)間判斷UDP流的開(kāi)始和結(jié)束。首先按序選擇第一個(gè)UDP數(shù)據(jù)包,以該數(shù)據(jù)包的發(fā)送時(shí)間為流開(kāi)始時(shí)間,每捕獲一個(gè)數(shù)據(jù)包,就計(jì)算其發(fā)送時(shí)間與流開(kāi)始時(shí)間之差,如果該差值小于流最大持續(xù)時(shí)間,則捕獲的數(shù)據(jù)包屬于該UDP 流;如果該差值大于流最大持續(xù)時(shí)間,則認(rèn)為該UDP流已經(jīng)結(jié)束,捕獲的數(shù)據(jù)包屬于下一條UDP流。

      第三個(gè)子步驟是應(yīng)用層協(xié)議數(shù)據(jù)提取。根據(jù)TCP流和UDP 流特征,將TCP 流和UDP 流中的應(yīng)用層協(xié)議數(shù)據(jù)提取出來(lái),保存用于后續(xù)分析。

      3.3 相似度計(jì)算

      聚類(lèi)算法會(huì)依據(jù)相似度將數(shù)據(jù)集劃分為多個(gè)不同的簇,簇內(nèi)的數(shù)據(jù)具有較高的相似度,不同簇之間數(shù)據(jù)的相似度差距較大。

      層次化聚類(lèi)算法對(duì)給定的數(shù)據(jù)集進(jìn)行層次的分解,直到達(dá)到某種條件才停止。具體可以分為凝聚的層次聚類(lèi)算法和分裂的層次聚類(lèi)算法。凝聚的層次聚類(lèi)算法采用自底向上的策略,首先將每個(gè)對(duì)象作為一個(gè)簇,然后將相似的簇合并形成更大的簇,直到某個(gè)條件滿(mǎn)足才終止算法。分裂的層次聚類(lèi)算法則相反,這類(lèi)算法首先將所有對(duì)象置于一個(gè)簇中,然后逐漸分裂為越來(lái)越小的簇,直到終止條件滿(mǎn)足。層次化聚類(lèi)算法適用范圍廣,可以得到高質(zhì)量的聚類(lèi)結(jié)果。

      本文采用凝聚式的層次聚類(lèi)算法,并選取該算法體系中使用廣泛的AGNES算法作為相似度度量的基礎(chǔ)。

      在進(jìn)行聚類(lèi)時(shí),首先對(duì)數(shù)據(jù)對(duì)象集進(jìn)行簇初始化,將每一個(gè)數(shù)據(jù)對(duì)象標(biāo)記為一個(gè)簇,而后計(jì)算簇與簇之間的相似度,通過(guò)將簇間相似度與設(shè)定的閾值進(jìn)行比較來(lái)決定是否合并兩個(gè)簇,迭代反復(fù),自動(dòng)完成數(shù)據(jù)對(duì)象集的聚類(lèi)。但是,傳統(tǒng)的AGNES 聚類(lèi)算法在計(jì)算簇間相似度時(shí),存在重復(fù)計(jì)算對(duì)象間相似度的情況。

      舉例來(lái)看,對(duì)于對(duì)象集{a1,a2,a3,b1},其中,a1,a2,a3為同一類(lèi)型對(duì)象,b1為另一類(lèi)型對(duì)象。聚類(lèi)算法對(duì)其進(jìn)行簇初始化后得到簇集合{{a1},{a2},{a3},{b1}}。執(zhí)行第一次聚類(lèi)循環(huán),計(jì)算簇{a1},{a2},{a3},{b1}之間的簇間相似度,由于初始的每個(gè)簇中只有一個(gè)對(duì)象,初始簇間相似度即為對(duì)象a1,a2,a3,b1之間的相似度,需要計(jì)算對(duì)象a1,a2,a3,b1之間的相似度作為簇間相似度。假設(shè)第一次聚類(lèi)循環(huán)后,簇{a1}與簇{a2}被合并為簇{a1,a2},則新的簇集合為{{a1,a2},{a3},{b1}}。第二次聚類(lèi)循環(huán)需要計(jì)算簇{a1,a2},{a3},{b1}間的簇間相似度,對(duì)于簇{a1,a2}與簇{ }a3,計(jì)算其簇間相似度時(shí),首先計(jì)算a1與a3、a2與a3的對(duì)象間相似度,然后取其平均值作為簇間相似度,以此類(lèi)推。聚類(lèi)過(guò)程如圖2所示。在聚類(lèi)循環(huán)的過(guò)程中,一些對(duì)象間的相似度被反復(fù)計(jì)算,例如,a1與a3間的相似度,a2與a3間的相似度。聚類(lèi)算法改變的是對(duì)象在簇集合中的位置,并沒(méi)有增加或刪除對(duì)象,在計(jì)算簇間相似度時(shí),存在重復(fù)計(jì)算對(duì)象間相似度的情況,重復(fù)性地計(jì)算降低了聚類(lèi)效率。

      本文方法對(duì)聚類(lèi)流程進(jìn)行了改進(jìn),將聚類(lèi)方法中相似度的計(jì)算劃分為兩個(gè)部分,第一部分是數(shù)據(jù)對(duì)象間相似度的計(jì)算,第二部分是簇間相似度的計(jì)算。在聚類(lèi)前通過(guò)對(duì)象間相似度的計(jì)算,獲得所有對(duì)象之間的相似度。在計(jì)算簇間相似度時(shí),當(dāng)需要確定兩個(gè)對(duì)象間的相似度時(shí),只需要利用之前的相似度計(jì)算結(jié)果,不再重新計(jì)算,以此來(lái)提高聚類(lèi)效率。

      圖2 聚類(lèi)循環(huán)過(guò)程的示例

      相似度計(jì)算階段主要完成對(duì)象間相似度的計(jì)算,針對(duì)協(xié)議識(shí)別需求所設(shè)計(jì)的相似度計(jì)算流程如圖3所示。

      本文的應(yīng)用層協(xié)議間相似度計(jì)算流程包括切片處理、選取切片集、計(jì)算相似度、存儲(chǔ)相似度等子步驟。

      應(yīng)用層協(xié)議數(shù)據(jù)可以看作有序的字節(jié)流。應(yīng)用層協(xié)議數(shù)據(jù)中,往往有一些具有明顯協(xié)議特征的短序列。這些短序列主要集中在應(yīng)用層協(xié)議數(shù)據(jù)的前部位置。本文通過(guò)截取應(yīng)用層協(xié)議數(shù)據(jù)前部固定長(zhǎng)度的字節(jié),盡量保留包含協(xié)議特征短序列的數(shù)據(jù),同時(shí)屏蔽與協(xié)議信息無(wú)關(guān)的用戶(hù)數(shù)據(jù)。然而,在截取的應(yīng)用層協(xié)議數(shù)據(jù)中依舊可能包含部分干擾判定的用戶(hù)數(shù)據(jù)。

      本文通過(guò)對(duì)文本型協(xié)議數(shù)據(jù)的研究發(fā)現(xiàn),用戶(hù)數(shù)據(jù)與協(xié)議特征序列之間往往會(huì)使用空格或特殊字符分隔。為了盡可能降低用戶(hù)數(shù)據(jù)對(duì)協(xié)議分類(lèi)的影響,提升相似度計(jì)算的準(zhǔn)確度,本文針對(duì)文本型協(xié)議設(shè)計(jì)了切片方法。切片是以空格等特殊字符作為分隔符,對(duì)應(yīng)用層協(xié)議數(shù)據(jù)進(jìn)行切割,將用戶(hù)數(shù)據(jù)與協(xié)議特征短序列分開(kāi)來(lái)。

      例如,一條典型的HTTP協(xié)議報(bào)文為如下形式:

      “GET/HTTP/1.1

      Host:127.0.0.1

      User-Agent:Mozilla/5.0”

      第一行為協(xié)議特征序列,其后每行數(shù)據(jù)左邊為協(xié)議特征序列,右邊為用戶(hù)數(shù)據(jù),中間以冒號(hào)分隔,通過(guò)切片處理后可以獲得如下切片集:

      {“GET”、“HTTP”、“1”、“1”、“HOST”、“127”、“0”、“0”、“1”、“User”、“Agent”、“Mozilla”、“5”、“0”}

      可以看出每一個(gè)切片要么是能夠標(biāo)識(shí)應(yīng)用層協(xié)議特征的短序列,要么是用戶(hù)數(shù)據(jù),協(xié)議特征序列和用戶(hù)數(shù)據(jù)被區(qū)分開(kāi)來(lái)。

      在對(duì)截取的應(yīng)用層協(xié)議數(shù)據(jù)進(jìn)行切片處理后,以應(yīng)用層協(xié)議數(shù)據(jù)的切片集作為相似度計(jì)算算法的輸入。相似度計(jì)算的具體步驟為:

      對(duì)于任選兩個(gè)切片集:

      A={a1,a2,…,an},B={b1,b2,…,bm}

      計(jì)算第一個(gè)切片集中切片在第二個(gè)切片集中出現(xiàn)的個(gè)數(shù),記為num,則切片集A 對(duì)B 的相似度為:

      similar(A,B)=num/n n 為A 中切片總數(shù)。

      循環(huán)執(zhí)行此步驟,直至計(jì)算出所有切片集間的相似度。將得到的相似度保存在數(shù)組中,供下一步使用。

      舉例來(lái)看,對(duì)于切片集:

      A={a1,a2,a3,a4},B={a1,a4}

      A 中只有切片a1和a4在B 中出現(xiàn),則num 為2,那么A 對(duì)B 的相似度為:

      similar(A,B)=2/4=0.5

      同理,B 對(duì)A 的相似度為:

      similar(B,A)=1

      3.4 未知應(yīng)用層協(xié)議聚類(lèi)

      該步工作針對(duì)應(yīng)用層協(xié)議識(shí)別分類(lèi)的需求對(duì)網(wǎng)絡(luò)流信息進(jìn)行聚類(lèi)。本文在層次聚類(lèi)方法的基礎(chǔ)上進(jìn)行了改進(jìn),改進(jìn)工作主要體現(xiàn)在相似度計(jì)算上。傳統(tǒng)的層次聚類(lèi)算法在計(jì)算簇間相似度時(shí),會(huì)重復(fù)計(jì)算數(shù)據(jù)對(duì)象間相似度,本文通過(guò)將相似度計(jì)算拆分為聚類(lèi)前應(yīng)用層協(xié)議數(shù)據(jù)間相似度計(jì)算和聚類(lèi)中簇間相似度計(jì)算兩個(gè)部分。在聚類(lèi)前完成復(fù)雜的應(yīng)用層協(xié)議數(shù)據(jù)間相似度計(jì)算,而后將結(jié)果保存到數(shù)組中。在計(jì)算簇間相似度時(shí),遇到需要計(jì)算應(yīng)用層協(xié)議數(shù)據(jù)間相似度的地方,只需從數(shù)組中提取數(shù)值即可,簡(jiǎn)化了聚類(lèi)中的相似度計(jì)算,提升了聚類(lèi)效率。圖4為本文所使用的改進(jìn)的層次聚類(lèi)方法的流程示意圖。

      圖3 應(yīng)用層協(xié)議間相似度計(jì)算流程

      圖4 改進(jìn)的層次聚類(lèi)算法流程

      本文所使用的改進(jìn)的層次聚類(lèi)算法流程包括簇初始化、簇間相似度的計(jì)算、相似度閾值比對(duì)、簇的合并等子步驟。

      以數(shù)據(jù)預(yù)處理獲取的應(yīng)用層協(xié)議數(shù)據(jù)作為算法的輸入,對(duì)協(xié)議數(shù)據(jù)進(jìn)行簇初始化。具體操作為,將每一條網(wǎng)絡(luò)流的協(xié)議數(shù)據(jù)獨(dú)立保存,并加上初始簇標(biāo)記。每一條網(wǎng)絡(luò)流的協(xié)議數(shù)據(jù)經(jīng)過(guò)簇初始化后屬于不同的簇。

      以簇集合作為簇間相似度算法的輸入,任選兩個(gè)簇,首先計(jì)算簇中每一條協(xié)議數(shù)據(jù)與另一個(gè)簇中所有協(xié)議數(shù)據(jù)間相似度的均值,作為該條協(xié)議數(shù)據(jù)與另一個(gè)簇之間的相似度。而后計(jì)算簇中所有協(xié)議數(shù)據(jù)與另一個(gè)簇之間的相似度的均值,作為簇間相對(duì)相似度。最后,計(jì)算兩個(gè)簇之間相對(duì)相似度的均值,得到簇間相似度。

      舉例來(lái)看,在聚類(lèi)時(shí)任選兩個(gè)簇:

      C1={a1,a2,…,an},C2={b1,b2,…,bm}

      首先計(jì)算簇C1 內(nèi)協(xié)議數(shù)據(jù)ai(i=1,2,…,n) 與簇C2 的相似度:,記為similar(ai,C2),其中similar(ai,bj)表示應(yīng)用層協(xié)議數(shù)據(jù)ai對(duì)應(yīng)用層協(xié)議數(shù)據(jù)bj的相似度,m 為簇C2 中包含的應(yīng)用層協(xié)議數(shù)據(jù)的總數(shù)。

      如果簇間相似度大于相似度閾值,則合并兩個(gè)簇類(lèi)并更新簇集合。具體做法為選取相似的兩個(gè)簇:

      C1={a1,a2,…,an},C2={b1,b2,…,bm}

      以其中任意一個(gè)簇為基礎(chǔ),將另一個(gè)簇中所有數(shù)據(jù)添加進(jìn)來(lái),如以C1 為基礎(chǔ),合并后為:

      C1={a1,a2,…,an,b1,b2,…,bm}

      進(jìn)而在簇集合中刪除簇C2,這就完成了合并簇集合的操作。

      重復(fù)計(jì)算簇間相似度、相似度閾值比對(duì)、合并簇等步驟直到算法滿(mǎn)足聚類(lèi)終止條件。聚類(lèi)的終止條件一般是簇集合中的簇間相似度小于相似度閾值,不能再進(jìn)行簇的合并。而后輸出簇集合,每一個(gè)簇包含了對(duì)應(yīng)于一種應(yīng)用層協(xié)議的所有網(wǎng)絡(luò)流信息。

      4 實(shí)驗(yàn)測(cè)試

      4.1 應(yīng)用層協(xié)議網(wǎng)絡(luò)流量采集

      應(yīng)用層協(xié)議識(shí)別分類(lèi)的第一步是數(shù)據(jù)的采集,本文實(shí)驗(yàn)使用的數(shù)據(jù)集分為公開(kāi)數(shù)據(jù)集和本地?cái)?shù)據(jù)集。

      公開(kāi)數(shù)據(jù)集使用的是林肯實(shí)驗(yàn)室發(fā)布的DARPA數(shù)據(jù)集[19],本文從其中的tcpdump 數(shù)據(jù)集中提取出HTTP、FTP、SMTP三種協(xié)議的通信數(shù)據(jù),把它們作為未知協(xié)議進(jìn)行測(cè)試。對(duì)3 種協(xié)議各抽取前500 個(gè)數(shù)據(jù)包,組成1 500個(gè)數(shù)據(jù)包的數(shù)據(jù)集作為原型系統(tǒng)的輸入數(shù)據(jù)。

      本地?cái)?shù)據(jù)集為在實(shí)驗(yàn)環(huán)境中捕獲的一種自定義協(xié)議的通信數(shù)據(jù)。該協(xié)議服務(wù)端通過(guò)21 號(hào)端口進(jìn)行通信,在Wireshark 中這種自定義協(xié)議會(huì)被錯(cuò)誤地識(shí)別為FTP的通信數(shù)據(jù)。

      實(shí)驗(yàn)中將選取的DARPA公開(kāi)數(shù)據(jù)集與本地?cái)?shù)據(jù)集通過(guò)Wireshark混合生成了多協(xié)議混合數(shù)據(jù)集。協(xié)議交互過(guò)程是雙向的,本文方法針對(duì)單向網(wǎng)絡(luò)流,因此在實(shí)驗(yàn)時(shí)首先對(duì)每種協(xié)議進(jìn)行流重組,以獲得每種協(xié)議對(duì)應(yīng)的請(qǐng)求網(wǎng)絡(luò)流和響應(yīng)網(wǎng)絡(luò)流數(shù)量,如表1所示。因?yàn)閿?shù)據(jù)從DARPA 數(shù)據(jù)集中按順序選取,因此請(qǐng)求網(wǎng)絡(luò)流和響應(yīng)網(wǎng)絡(luò)流數(shù)量基本是相等的。

      4.2 算法中的參數(shù)分析

      本文算法涉及兩個(gè)重要參數(shù),一是簇間相似度閾值,該參數(shù)是聚類(lèi)算法中兩個(gè)簇能合并為一個(gè)簇的最小簇間相似度;二是截取報(bào)文長(zhǎng)度,該長(zhǎng)度影響到算法自動(dòng)提取出的特征短序列的完整性。本文通過(guò)控制變量法測(cè)試了兩個(gè)參數(shù)對(duì)聚類(lèi)效果的影響。

      (1)簇間相似度閾值對(duì)聚類(lèi)準(zhǔn)確率的影響

      本文使用從DARPA數(shù)據(jù)集提取出的協(xié)議流量進(jìn)行測(cè)試。首先測(cè)試簇間相似度閾值對(duì)聚類(lèi)準(zhǔn)確率的影響。簇間相似度閾值是聚類(lèi)中兩個(gè)簇能合并為一個(gè)簇所需的最小簇間相似度,閾值的大小會(huì)影響聚類(lèi)效果。實(shí)驗(yàn)設(shè)置的截取應(yīng)用層協(xié)議數(shù)據(jù)的長(zhǎng)度為60 Byte,測(cè)試結(jié)果如圖5所示,從圖中可以看出簇間相似度閾值為0.3 時(shí),聚類(lèi)準(zhǔn)確率最高,聚類(lèi)效果最好,三種協(xié)議的聚類(lèi)準(zhǔn)確率都達(dá)到了100%。在簇間相似度閾值大于0.3以后,三種協(xié)議的聚類(lèi)準(zhǔn)確率開(kāi)始下降;當(dāng)閾值接近1時(shí),HTTP、FTP 協(xié)議的聚類(lèi)準(zhǔn)確度下降到接近0%,而FTP協(xié)議聚類(lèi)準(zhǔn)確度還能保持在50%以上。

      經(jīng)分析,測(cè)試數(shù)據(jù)雖然只截取了協(xié)議前部60 Byte數(shù)據(jù),但是其中依舊包含了部分用戶(hù)數(shù)據(jù)。在計(jì)算簇間相似度時(shí),會(huì)對(duì)相似度結(jié)果產(chǎn)生一定影響,同類(lèi)協(xié)議的相似度在0.3 左右,因此隨著簇間相似度閾值接近0.3,聚類(lèi)效果越來(lái)越好,隨著相似度閾值接近1,聚類(lèi)效果變差。

      表1 網(wǎng)絡(luò)流量數(shù)據(jù)集

      圖5 簇間相似度閾值對(duì)聚類(lèi)準(zhǔn)確率的影響

      (2)截取的應(yīng)用層協(xié)議數(shù)據(jù)長(zhǎng)度對(duì)聚類(lèi)準(zhǔn)確率的影響

      截取的應(yīng)用層協(xié)議數(shù)據(jù)長(zhǎng)度決定了截取的數(shù)據(jù)中包含的協(xié)議特征短序列的數(shù)量和用戶(hù)數(shù)據(jù)的數(shù)量,影響著應(yīng)用層協(xié)議數(shù)據(jù)間相似度計(jì)算的準(zhǔn)確性。本文設(shè)置簇間相似度閾值為0.3,通過(guò)改變截取的應(yīng)用層協(xié)議數(shù)據(jù)的長(zhǎng)度,得到每一種長(zhǎng)度下的聚類(lèi)準(zhǔn)確率。截取長(zhǎng)度選取范圍為(10,100),步幅為10,圖6 為測(cè)試結(jié)果。從圖中可以看出,在簇間相似度閾值為0.3時(shí),聚類(lèi)效果在截取的應(yīng)用層協(xié)議數(shù)據(jù)長(zhǎng)度等于10 Byte 或大于等于60 Byte時(shí)效果最好,SMTP協(xié)議受截取數(shù)據(jù)長(zhǎng)度影響最大,F(xiàn)TP協(xié)議幾乎不受截取數(shù)據(jù)長(zhǎng)度影響。

      圖6 截取報(bào)文長(zhǎng)度對(duì)聚類(lèi)準(zhǔn)確率的影響

      經(jīng)分析認(rèn)為,協(xié)議數(shù)據(jù)為協(xié)議特征短序列與用戶(hù)數(shù)據(jù)的交替混合,雖然特征短序列都處在協(xié)議數(shù)據(jù)前部,但是其前部依舊包含一些用戶(hù)數(shù)據(jù),且用戶(hù)數(shù)據(jù)比協(xié)議特征數(shù)據(jù)多出不少。當(dāng)截取數(shù)據(jù)長(zhǎng)度為10 Byte 時(shí),截取的數(shù)據(jù)全部為協(xié)議特征短序列或者協(xié)議特征短序列明顯多于用戶(hù)數(shù)據(jù),因此聚類(lèi)結(jié)果準(zhǔn)確率很高。隨著截取數(shù)據(jù)長(zhǎng)度的增加,用戶(hù)數(shù)據(jù)在截取數(shù)據(jù)中的占比逐漸超過(guò)協(xié)議特征短序列,導(dǎo)致聚類(lèi)準(zhǔn)確率開(kāi)始下降。同時(shí),由于特征短序列與用戶(hù)數(shù)據(jù)是交替排列的,因此當(dāng)截取數(shù)據(jù)長(zhǎng)度進(jìn)一步提高時(shí),協(xié)議特征短序列的占比又會(huì)逐漸提高,導(dǎo)致聚類(lèi)準(zhǔn)確率再次增長(zhǎng)。

      4.3 聚類(lèi)準(zhǔn)確率測(cè)試

      本文通過(guò)Python 實(shí)現(xiàn)了算法,而后輸入測(cè)試數(shù)據(jù)集。算法需要人工設(shè)置兩個(gè)參數(shù):簇間相似度閾值和截取的應(yīng)用層協(xié)議數(shù)據(jù)長(zhǎng)度,測(cè)試實(shí)驗(yàn)選取簇間相似度閾值為0.3,截取的應(yīng)用層協(xié)議數(shù)據(jù)長(zhǎng)度為60 Byte。最后得到聚類(lèi)結(jié)果如表2所示。

      表2 聚類(lèi)結(jié)果

      本文通過(guò)將該結(jié)果與人工標(biāo)記結(jié)果進(jìn)行比較得到算法聚類(lèi)的準(zhǔn)確率,得到表3。

      表3 聚類(lèi)結(jié)果準(zhǔn)確率

      從結(jié)果可以看出,本文算法成功將HTTP、FTP、SMTP 和自定義協(xié)議的請(qǐng)求網(wǎng)絡(luò)流和響應(yīng)網(wǎng)絡(luò)流區(qū)分開(kāi),聚成不同的簇,聚類(lèi)準(zhǔn)確率達(dá)100%。本文算法并沒(méi)有使用端口信息進(jìn)行協(xié)議區(qū)分,而是使用協(xié)議應(yīng)用層數(shù)據(jù)負(fù)載特征進(jìn)行協(xié)議聚類(lèi),因此本文可以成功將使用端口偽裝技術(shù)的自定義協(xié)議與FTP協(xié)議區(qū)分開(kāi),實(shí)現(xiàn)未知協(xié)議識(shí)別的目標(biāo)。

      4.4 聚類(lèi)效率測(cè)試

      本文將改進(jìn)后的AGNES 算法與原算法進(jìn)行比較,測(cè)試數(shù)據(jù)集采用上文所采集的數(shù)據(jù),具體信息如表4所示。在測(cè)試過(guò)程中,本文以程序運(yùn)行時(shí)間作為聚類(lèi)效率的度量標(biāo)準(zhǔn),得到聚類(lèi)效率對(duì)比結(jié)果如表5所示。

      表4 測(cè)試數(shù)據(jù)集

      表5 聚類(lèi)效率測(cè)試結(jié)果 s

      從結(jié)果可以看出改進(jìn)后的算法在聚類(lèi)效率上明顯優(yōu)于改進(jìn)前的原始算法,從數(shù)據(jù)上看,其效率可以提高一倍,時(shí)間上表現(xiàn)為算法運(yùn)行所需時(shí)間減少一半。該結(jié)果說(shuō)明通過(guò)將AGNES算法的相似度計(jì)算拆分為聚類(lèi)前應(yīng)用層協(xié)議數(shù)據(jù)間相似度計(jì)算和聚類(lèi)中簇間相似度計(jì)算確實(shí)可以提升聚類(lèi)算法的聚類(lèi)效率。

      4.5 與其他聚類(lèi)算法的對(duì)比分析

      本文使用Weka 平臺(tái)中的SimpleKMeans、EM、MakeDensityBasedCluster 等聚類(lèi)算法與本文算法進(jìn)行對(duì)比測(cè)試,進(jìn)一步驗(yàn)證本文方法的性能。

      KMeans聚類(lèi)、EM聚類(lèi)和MakeDensityBasedCluster是三種典型的聚類(lèi)方法。KMeans 聚類(lèi)是劃分聚類(lèi)算法中最著名的算法,具有簡(jiǎn)潔高效的特點(diǎn)。Weka 平臺(tái)中的SimpleKMeans 算法是KMeans 算法家族中使用最廣泛的一種。對(duì)于一個(gè)數(shù)據(jù)集合,當(dāng)用戶(hù)指定聚類(lèi)數(shù)目k 后,KMeans 算法會(huì)依據(jù)設(shè)定的距離函數(shù)把數(shù)據(jù)分為k 個(gè)簇中。KMeans聚類(lèi)認(rèn)為每一個(gè)數(shù)據(jù)對(duì)象完全隸屬于某個(gè)簇。EM 算法假定每個(gè)數(shù)據(jù)對(duì)象是模糊隸屬于某個(gè)簇的,每個(gè)簇都是一個(gè)高斯分布,該算法反復(fù)迭代,以確定數(shù)據(jù)對(duì)象存在于某個(gè)簇中的概率。當(dāng)概率模型適合于數(shù)據(jù)該時(shí),此算法終止這一過(guò)程?;诿芏鹊木垲?lèi)方法可以在有噪音的數(shù)據(jù)中發(fā)現(xiàn)各種形狀和各種大小的簇。MakeDensityBasedCluster 是該類(lèi)方法中最典型的代表算法。其核心思想就是先發(fā)現(xiàn)密度較高的點(diǎn),然后把相近的高密度點(diǎn)逐步都連成一片,進(jìn)而生成各種簇。

      實(shí)驗(yàn)首先通過(guò)預(yù)處理,對(duì)從DARPA 數(shù)據(jù)集中提取的3 種協(xié)議數(shù)據(jù)進(jìn)行處理,獲得應(yīng)用層協(xié)議數(shù)據(jù),而后使用本文設(shè)計(jì)的切片方法對(duì)應(yīng)用層協(xié)議數(shù)據(jù)進(jìn)行截取和切片,并將切片數(shù)據(jù)保存采用csv 格式保存。該格式可以被Weka平臺(tái)識(shí)別并處理。

      對(duì)于SimpleKMeans 算法,本文設(shè)置聚類(lèi)數(shù)目為6,隨機(jī)種子為10 進(jìn)行測(cè)試,其余參數(shù)為默認(rèn)參數(shù)。測(cè)試結(jié)果如表6所示。

      表6 SimpleKMeans聚類(lèi)結(jié)果

      對(duì)于EM算法,設(shè)置聚類(lèi)數(shù)目為6,隨機(jī)種子分別取100進(jìn)行測(cè)試,其余參數(shù)默認(rèn)。測(cè)試結(jié)果如表7所示。

      表7 EM聚類(lèi)結(jié)果

      對(duì)于MakeDensityBasedCluster算法,所有參數(shù)采用默認(rèn)值。測(cè)試結(jié)果如表8所示。

      表8 MakeDensityBasedCluster聚類(lèi)結(jié)果

      本文通過(guò)將結(jié)果與人工標(biāo)記結(jié)果進(jìn)行對(duì)比,得到四種聚類(lèi)算法的聚類(lèi)準(zhǔn)確率,如表9。

      實(shí)驗(yàn)結(jié)果表明本文方法在三種協(xié)議的聚類(lèi)上明顯優(yōu)于SimpleKMeans 算法和MakeDensityBasedCluster 算法,在FTP協(xié)議的聚類(lèi)上優(yōu)于EM算法。

      總體上看,通過(guò)實(shí)驗(yàn)結(jié)果可以看出,本文方法能夠快速準(zhǔn)確地將未知混合多協(xié)議分類(lèi)為單協(xié)議數(shù)據(jù),聚類(lèi)準(zhǔn)確率較高,并且無(wú)需訓(xùn)練,適合實(shí)際使用。

      5 結(jié)束語(yǔ)

      本文提出了一種基于自適應(yīng)聚類(lèi)的未知應(yīng)用層協(xié)議識(shí)別分類(lèi)方法,首先從采集的原始網(wǎng)絡(luò)數(shù)據(jù)中重組出網(wǎng)絡(luò)流,提取網(wǎng)絡(luò)流的應(yīng)用層協(xié)議數(shù)據(jù)載荷特征,進(jìn)而計(jì)算應(yīng)用層協(xié)議數(shù)據(jù)的相似度作為應(yīng)用層協(xié)議識(shí)別分類(lèi)的依據(jù),利用聚類(lèi)算法自動(dòng)化地對(duì)網(wǎng)絡(luò)流的應(yīng)用層協(xié)議數(shù)據(jù)進(jìn)行聚類(lèi),高效準(zhǔn)確地實(shí)現(xiàn)未知應(yīng)用層協(xié)議網(wǎng)絡(luò)流量識(shí)別分類(lèi)。方法充分利用了聚類(lèi)算法的優(yōu)勢(shì),避免了訓(xùn)練過(guò)程,高效準(zhǔn)確,具有較高的實(shí)用價(jià)值。

      本文方法存在的主要問(wèn)題是無(wú)法對(duì)經(jīng)過(guò)加密處理的網(wǎng)絡(luò)流量進(jìn)行識(shí)別分類(lèi)。對(duì)于經(jīng)過(guò)加密處理的應(yīng)用層協(xié)議網(wǎng)絡(luò)流量,由于其數(shù)據(jù)區(qū)域被加密處理過(guò),其特征序列被打亂和隱藏,本文提出的方法并不能自動(dòng)化提取出數(shù)據(jù)中的特征序列,無(wú)法計(jì)算其應(yīng)用層協(xié)議間相似度。對(duì)于加密協(xié)議的識(shí)別,將是下一步研究的主要方向。

      表9 四種聚類(lèi)算法聚類(lèi)準(zhǔn)確率對(duì)比%

      聚類(lèi)算法SimpleKMeans EM MakeDensityBasedCluster本文算法HTTP 80.20 99.49 77.66 100.00 FTP 50 50 0 100 SMTP 50 100 0 100

      [2] Moore A W,Zuev D.Internet traffic classification using Bayesian analysis techniques[J].ACM SIGMETRICS Performance Evaluation Review,2005,33(1):50.

      [3] Bujlow T,Carela-Espa?ol V,Barlet-Ros P.Independent comparison of popular DPI tools for traffic classification[J].Computer Networks,2015,76:75-89.

      [4] 汪立東,錢(qián)麗萍,王大偉,等.網(wǎng)絡(luò)流量分類(lèi)方法與實(shí)踐[M].北京:人民郵電出版社,2013:122-126.

      [5] Deri L,Martinelli M,Bujlow T,et al.nDPI:open-source high-speed deep packet inspection[C]//Proc of Wireless Communications and Mobile Computing Conference,2014:617-622.

      [6] Karagiannis T.Blinc:multilevel traffic classification in the dark[C]//Proc of the 2005 Conference on Applications,Technologies,Architectures,and Protocols for Computer Communications.New York:ACM Press,2005:229-240.

      [7] 譚駿,陳興蜀,杜敏,等.基于自適應(yīng)BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量識(shí)別算法[J].電子科技大學(xué)學(xué)報(bào),2012(4):580-585.

      [8] Wang W,Zhu M,Zeng X,et al.Malware traffic classification using convolutional neural network for representation learning[C]//Proc of the 2017 International Conference on Information Networking.Piscataway,NJ:IEEE Press,2017:712-717.

      [9] 王勇,周慧怡,俸皓,等.基于深度卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量分類(lèi)方法[J].通信學(xué)報(bào),2018,39(1):14-23.

      [10] Wu D,Chen X,Chen C,et al.On addressing the imbalance problem:a correlated KNN approach for network traffic classification[C]//Proc of International Conference on Network and System Security.Cham:Springer International Publishing,2014:138-151.

      [11] Jain A V.Network traffic identification with convolutional neural networks[C]//2018 IEEE 16th Intl Conf on Dependable,Autonomic and Secure Computing.Washington:IEEE Computer Society,2018:1001-1007.

      [12] Ren J,Wang Z.A novel deep learning method for application identification in wireless network[J].China Communications,2018,15(10):73-83.

      [13] 李林林,張效義,張霞,等.一種基于集成學(xué)習(xí)的流量分類(lèi)算法[J].信息工程大學(xué)學(xué)報(bào),2015(2):240-244.

      [14] Munz G,Li S,Carle G.Traffic anomaly detection using K-means clustering[C]//GI/ITG Workshop MMBnet,2007:13-14.

      [15] Mcgregor A,Hall M,Lorier P,et al.Flow Clustering Using Machine Learning Techniques[C]//Proc of the International Workshop on Passive and Active Network Measurement.Berlin,Heidelberg:Springer-Verlag,2004:205-214.

      [16] Liu S,Hu J,Hao S,et al.Improved EM method for internet traffic classification[C]//Proc of the 8th International Conference on Knowledge and Smart Technology.Piscataway,NJ:IEEE Press,2016:13-17.

      [17] 周文剛,陳雷霆,董仕.基于譜聚類(lèi)的網(wǎng)絡(luò)流量分類(lèi)識(shí)別算法[J].電子測(cè)量與儀器學(xué)報(bào),2013,27(12):1114-1119.

      [18] Wang Y,Xue H,Liu Y,et al.Statistical network protocol identification with unknown pattern extraction[J].Annals of Telecommunications,2019,74(7):473-482.

      [19] Lippmann R,Haines J W,F(xiàn)ried D J,et al.The 1999 DARPA off-line intrusion detection evaluation[J].Computer Networks,2000,34(4):579-595.

      猜你喜歡
      網(wǎng)絡(luò)流量應(yīng)用層數(shù)據(jù)包
      基于多元高斯分布的網(wǎng)絡(luò)流量異常識(shí)別方法
      基于神經(jīng)網(wǎng)絡(luò)的P2P流量識(shí)別方法
      SmartSniff
      AVB網(wǎng)絡(luò)流量整形幀模型端到端延遲計(jì)算
      基于分級(jí)保護(hù)的OA系統(tǒng)應(yīng)用層訪問(wèn)控制研究
      新一代雙向互動(dòng)電力線通信技術(shù)的應(yīng)用層協(xié)議研究
      物聯(lián)網(wǎng)技術(shù)在信息機(jī)房制冷系統(tǒng)中的應(yīng)用
      基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
      網(wǎng)絡(luò)流量監(jiān)控對(duì)網(wǎng)絡(luò)安全治理的重要性
      河南科技(2014年23期)2014-02-27 14:18:43
      Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair
      饶河县| 昔阳县| 五常市| 清水县| 厦门市| 额敏县| 东至县| 灵宝市| 桐梓县| 肥乡县| 浦东新区| 樟树市| 南乐县| 石渠县| 邢台县| 洛隆县| 札达县| 都安| 镇巴县| 乐都县| 威宁| 新疆| 梓潼县| 马尔康县| 祁东县| 霍邱县| 涞源县| 泾源县| 龙陵县| 新密市| 安泽县| 富宁县| 余干县| 历史| 谢通门县| 平江县| 秦皇岛市| 自治县| 浮梁县| 德令哈市| 浏阳市|