本發(fā)明屬于網(wǎng)絡(luò)測(cè)量分析領(lǐng)域,具體涉及一種基于支持向量機(jī)的專用網(wǎng)絡(luò)流分類方法。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)帶寬的迅速增加,網(wǎng)絡(luò)中的各種應(yīng)用飛速增加,每天都有新的應(yīng)用類別加入網(wǎng)絡(luò)中來(lái),對(duì)網(wǎng)絡(luò)管理,網(wǎng)絡(luò)分析的需求越來(lái)越高。網(wǎng)絡(luò)流量分類和識(shí)別技術(shù)作為網(wǎng)絡(luò)行為分析的基礎(chǔ),不僅在網(wǎng)絡(luò)管理、分析方面,而且在網(wǎng)絡(luò)安全,網(wǎng)絡(luò)服務(wù)質(zhì)量測(cè)評(píng)等方面,都有越來(lái)越廣泛的應(yīng)用。
網(wǎng)絡(luò)流量識(shí)別分類涉及到業(yè)務(wù)行為的方方面面,每種網(wǎng)絡(luò)流量都有各自的行為特征,隨著性的網(wǎng)絡(luò)應(yīng)用及新的網(wǎng)絡(luò)應(yīng)用層協(xié)議的不斷涌現(xiàn),網(wǎng)絡(luò)流量的復(fù)雜性也不斷加強(qiáng),其多變、動(dòng)態(tài)、異質(zhì)的特性也變的更為明顯。目前在流量分類領(lǐng)域的研究十分活躍,目前的網(wǎng)絡(luò)流量分類主要分為以下幾類:
(1)基于端口映射的流量分類方法。主要通過(guò)早期iana和后期icann給應(yīng)用程序固定分配的固定端口來(lái)識(shí)別各種網(wǎng)絡(luò)應(yīng)用的類型,這種方式在互聯(lián)網(wǎng)出現(xiàn)的早期可以識(shí)別網(wǎng)絡(luò)上的大多數(shù)應(yīng)用,但隨著新的網(wǎng)絡(luò)應(yīng)用類型的出現(xiàn),某些應(yīng)用使用動(dòng)態(tài)端口,或是非熟知端口,例如越來(lái)越多的p2p應(yīng)用和某些非法程序?yàn)榱死@過(guò)防火墻和網(wǎng)絡(luò)管理程序的監(jiān)管,而使用了某些熟知端口。這些都導(dǎo)致基于端口映射的流量分類方法對(duì)網(wǎng)絡(luò)識(shí)別的能力越來(lái)越弱。
(2)基于有效負(fù)載的流量分類方法。通過(guò)對(duì)流量有效負(fù)荷的分析,形成對(duì)于有效負(fù)荷的特征,加入特征庫(kù),在分析過(guò)程中通過(guò)提取流的應(yīng)用層內(nèi)容特征,進(jìn)行比對(duì),從而有效的對(duì)流量進(jìn)行分類,這種分類方式的分類準(zhǔn)確性比較高,但是只能分析處理已知的非加密的流量,還可能帶來(lái)安全問(wèn)題。
(3)基于行為特征的流量分類方法。這種方法分析主機(jī)在傳輸層的行為特征,如tcp和udp使用順序,ip地址數(shù)目,速率變化等,從而區(qū)分不同的流量類型。但是這種方法對(duì)于一些特定應(yīng)用類型,如p2p,用戶自定義協(xié)議等無(wú)法處理。
多數(shù)的研究工作都是針對(duì)internet開展的,目標(biāo)是更好的監(jiān)控和管理互聯(lián)網(wǎng),使其健康的工作,而互聯(lián)網(wǎng)上的流量類型多種多樣,其中基于tcp協(xié)議的流量占用了絕大比例,因此可以根據(jù)tcp協(xié)議的工作流程,提取其特征,通過(guò)基于行為特征的方法進(jìn)行流量分類。但對(duì)于某些專用網(wǎng)絡(luò)中,例如傳感器網(wǎng)絡(luò),軍用網(wǎng)絡(luò),應(yīng)急救災(zāi)網(wǎng)等專用網(wǎng)絡(luò)中,由于通信信道帶寬,可靠性和業(yè)務(wù)特性等原因?qū)е戮W(wǎng)絡(luò)中的流量大多基于udp協(xié)議,而且上層承載的應(yīng)用層協(xié)議也大多為專用協(xié)議,多數(shù)無(wú)公開標(biāo)準(zhǔn),同時(shí)由于網(wǎng)絡(luò)中的用戶相互獨(dú)立,相互間缺乏統(tǒng)一的協(xié)調(diào)和規(guī)劃,導(dǎo)致協(xié)議缺乏排他性,即應(yīng)用層標(biāo)識(shí)字段,端口號(hào)等都可能出現(xiàn)不同協(xié)議重用的情況,同時(shí)這些網(wǎng)絡(luò)的專用性導(dǎo)致其傳輸內(nèi)容具有一定的保密需求,通常都會(huì)采用某些加密算法對(duì)傳輸內(nèi)容加以保護(hù)。上述這些特性都導(dǎo)致前三種分類方法無(wú)法在這些網(wǎng)絡(luò)中使用。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于支持向量機(jī)的專用網(wǎng)絡(luò)流分類方法,將機(jī)器學(xué)習(xí)中的支持向量機(jī)分類方法應(yīng)用于以u(píng)dp業(yè)務(wù)為主的專用網(wǎng)絡(luò)中,并簡(jiǎn)化了支持向量機(jī)由二分類向多分類的擴(kuò)展問(wèn)題。
實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案為:一種基于支持向量機(jī)的專用網(wǎng)絡(luò)流分類方法,包括以下步驟:
步驟1,從網(wǎng)絡(luò)中抓取獨(dú)立的網(wǎng)絡(luò)分組,并把網(wǎng)絡(luò)分組按照特征區(qū)分為一個(gè)個(gè)獨(dú)立的流;
步驟2,對(duì)各個(gè)流進(jìn)行特征提取,采用向量形式對(duì)每個(gè)流進(jìn)行描述;
步驟3,將每類流進(jìn)行分類后,生成樣本集合,然后基于樣本集合執(zhí)行支持向量機(jī)算法,對(duì)樣本進(jìn)行分類,采用徑向基核函數(shù)將向量映射到高維實(shí)現(xiàn)支持向量機(jī)對(duì)樣本的二分類,使用1對(duì)n的擴(kuò)展方法從二分類向多分類擴(kuò)展。
與現(xiàn)有技術(shù)相比,本發(fā)明的顯著優(yōu)點(diǎn)為:
本發(fā)明涉及一種適用于傳輸層協(xié)議以u(píng)dp協(xié)議為主的專用網(wǎng)絡(luò)流量分類方法,分類算法實(shí)現(xiàn)簡(jiǎn)單,提高了支持向量機(jī)由二分類向多分類擴(kuò)展效率,降低了支持向量維數(shù)。
附圖說(shuō)明
圖1是本發(fā)明一對(duì)n多分類方法擴(kuò)展示意圖。
圖2是分類算法的執(zhí)行流程圖。
具體實(shí)施方式
一種基于支持向量機(jī)的專用網(wǎng)絡(luò)流分類方法,包括以下步驟:
步驟1,從網(wǎng)絡(luò)中抓取獨(dú)立的網(wǎng)絡(luò)分組,并將網(wǎng)絡(luò)分組按照特征區(qū)分為一個(gè)個(gè)獨(dú)立的流;
步驟2,對(duì)各個(gè)流進(jìn)行特征提取,采用向量形式對(duì)每個(gè)流進(jìn)行描述;
步驟3,將每類流進(jìn)行分類后,生成樣本集合,然后基于樣本集合執(zhí)行支持向量機(jī)算法,對(duì)樣本進(jìn)行分類,采用徑向基核函數(shù)將向量映射到高維從而實(shí)現(xiàn)支持向量機(jī)對(duì)樣本的二分類,使用1對(duì)n的擴(kuò)展方法從二分類向多分類擴(kuò)展。
進(jìn)一步的,步驟1中采用在連續(xù)時(shí)間段內(nèi)出現(xiàn)的五元組相同的分組確認(rèn)為同一個(gè)流的方法,如果相鄰兩個(gè)五元組出現(xiàn)的間隔與該流中的其他分組差距大于閾值,則認(rèn)為上一個(gè)流結(jié)束;其中,五元組是指<源地址、目的地址、源端口、目的端口、協(xié)議類型>。
進(jìn)一步的,步驟2中選取每個(gè)分組中應(yīng)用層凈荷數(shù)據(jù)中的前n個(gè)字節(jié)作為特征統(tǒng)計(jì)對(duì)象,選取每個(gè)字節(jié)取值的均值、方差、最大值、最小值。
進(jìn)一步的,1對(duì)n的擴(kuò)展方法具體為:如果有m個(gè)分類,分別針對(duì)每個(gè)類建立樣本集,在任意一個(gè)類別與其它n個(gè)類別之間建立最優(yōu)超平面,n個(gè)類別為從剩余m-1個(gè)隨機(jī)選取,其中n<(k-1)/2,k為網(wǎng)絡(luò)中總的分類數(shù),然后再按照一對(duì)多的方法進(jìn)行分類判別。
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
在對(duì)網(wǎng)絡(luò)中的流量進(jìn)行分類之前需要從網(wǎng)絡(luò)中抓取獨(dú)立的網(wǎng)絡(luò)分組,并把這些網(wǎng)絡(luò)分組按照一定的特征區(qū)分為一個(gè)個(gè)獨(dú)立的流,在傳統(tǒng)的互聯(lián)網(wǎng)中因?yàn)榱髁康膫鬏攲訁f(xié)議多為tcp協(xié)議,流量判別一般是根據(jù)tcp鏈接的建立和拆除過(guò)程來(lái)界定一個(gè)流量的邊界,根據(jù)<源地址、目的地址、源端口、目的端口、協(xié)議類型>五元組來(lái)判斷邊界內(nèi)的分組是否屬于同一個(gè)流。而對(duì)于傳輸層協(xié)議為udp的網(wǎng)絡(luò)流量,由于沒(méi)有嚴(yán)格的建鏈和拆鏈過(guò)程,因此通常無(wú)法通過(guò)分組類型界定一個(gè)流量的邊界,但是大多數(shù)的流量都是有持續(xù)時(shí)間的,因此對(duì)于這類專用網(wǎng)絡(luò)的流量歸類可以采用在連續(xù)時(shí)間段內(nèi)出現(xiàn)的五元組相同的分組確認(rèn)為同一個(gè)流的方法,如果相鄰兩個(gè)五元組出現(xiàn)的間隔與該流中的其他分組差距過(guò)大,則認(rèn)為上一個(gè)流結(jié)束。
當(dāng)完成了流分離工作后,需要對(duì)各個(gè)流進(jìn)行特征提取,用向量形式對(duì)每個(gè)流進(jìn)行描述,關(guān)于樣本的維數(shù)確定,在支持向量機(jī)方法中,樣本的維數(shù)越多意味著計(jì)算量越大,在某些情況下,樣本的維數(shù)越多,分類結(jié)果越準(zhǔn)確,但是維數(shù)過(guò)多,許多特征是無(wú)用特征,增加了計(jì)算的復(fù)雜度,對(duì)分類判別沒(méi)有幫助,在傳統(tǒng)方法中通常通過(guò)主成分分析等方法去降低特征的維數(shù),但需要大量的樣本數(shù)據(jù)進(jìn)行處理和分析。andrewmoore在2004年提出了網(wǎng)絡(luò)流量的248項(xiàng)流量特征,這些流量特征可以描述網(wǎng)絡(luò)中各種流量的特性,但其中的多個(gè)特征都是針對(duì)傳統(tǒng)internet業(yè)務(wù),尤其是針對(duì)傳輸層協(xié)議是tcp協(xié)議的流量類型,而在一些非傳統(tǒng)網(wǎng)絡(luò),例如特定專用網(wǎng)絡(luò),網(wǎng)絡(luò)內(nèi)的業(yè)務(wù)都是基于udp協(xié)議的,缺乏建鏈過(guò)程,或是采用應(yīng)用層協(xié)議進(jìn)行建鏈,因此采用新的特征建立方法,下面描述針對(duì)傳輸層協(xié)議為udp的突發(fā)類應(yīng)用的特征選定方法:
選取每個(gè)分組中應(yīng)用層凈荷數(shù)據(jù)中的前n個(gè)字節(jié)作為特征統(tǒng)計(jì)對(duì)象,每個(gè)對(duì)象有255個(gè)可能取值,選取每個(gè)字節(jié)取值的均值、方差、最大值、最小值這些統(tǒng)計(jì)特性。這樣就產(chǎn)生了4n個(gè)特征值,支持向量的維數(shù)就為4n維。其中有些維數(shù)是關(guān)鍵維,與判別密切相關(guān),但是也有某些特征對(duì)類的判別影響不大,在具體使用過(guò)程中可以通過(guò)主成分分析法進(jìn)行降維處理。
將每類流進(jìn)行人工分類后,生成樣本集合,樣本集合中每類流的數(shù)目不少于m個(gè),如果總的類別數(shù)為k個(gè),則總的類別數(shù)為mk個(gè),然后基于樣本集合執(zhí)行支持向量機(jī)算法,對(duì)樣本進(jìn)行分類,采用徑向基核函數(shù)將向量映射到高維從而實(shí)現(xiàn)支持向量機(jī)對(duì)樣本的二分類,而網(wǎng)絡(luò)中的流量遠(yuǎn)遠(yuǎn)不只兩類,因此需要實(shí)現(xiàn)將二分類向多分類的擴(kuò)展,目前常用的支持向量機(jī)多分類實(shí)現(xiàn)方法主要有一對(duì)一和一對(duì)多兩種。
一對(duì)多方法是在任意一個(gè)單一類與其它類別的流之間進(jìn)行二分類,選取分類值最大的類作為該類的歸屬類的方法,該種分類方法每個(gè)流的判定需要進(jìn)行m次二分類判定,其中m為網(wǎng)絡(luò)中總得流類別數(shù),該方法會(huì)產(chǎn)生一些模糊區(qū)域,并且分類計(jì)算過(guò)程中出現(xiàn)樣本類別不均衡問(wèn)題,導(dǎo)致這種方法不適合用于互聯(lián)網(wǎng)流量判別。
一對(duì)一方法是再任意兩個(gè)類之間建立起二分類關(guān)系,選取分類值最大的類作為該類的歸屬類的方法,該種分類方法每個(gè)流的判定需要進(jìn)行m*(m-1)次二分類判定,其中m為網(wǎng)絡(luò)中總得流分類數(shù),該方法改進(jìn)一對(duì)多方法的問(wèn)題,目前的支持向量機(jī)流量判別多采用這種方法,但是該方法在分類數(shù)較多的情況下,計(jì)算量大,判別函數(shù)的計(jì)算量大。
本發(fā)明中提出了一種一對(duì)n的多分類擴(kuò)展方法:
基本思路:如果有m個(gè)分類,分別針對(duì)每個(gè)類建立樣本集,在任意一個(gè)類別與其它n個(gè)類別之間建立最優(yōu)超平面,n個(gè)類別為從剩余m-1個(gè)隨機(jī)選取,其中n<(k-1)/2,然后再按照一對(duì)多的方法進(jìn)行分類判別。這樣不僅避免了一對(duì)多方法的樣本類別不均衡問(wèn)題,而且減小了一對(duì)一方法的計(jì)算量大的問(wèn)題。
完成分類工作后將已分類數(shù)據(jù)抽取部分更新樣本庫(kù)數(shù)據(jù)或者擴(kuò)展樣本庫(kù),以便于在一定時(shí)間后更新判別函數(shù)。
如圖1、圖2所示,以網(wǎng)絡(luò)中共有4個(gè)分類流量情況下的多分類執(zhí)行過(guò)程。如圖所示,為了避免每次從流量1開始判定,導(dǎo)致流量4的計(jì)算次數(shù)最大,從而出現(xiàn)不公平問(wèn)題,計(jì)算入口采用輪轉(zhuǎn)方式,即第一個(gè)流的入口從(1,n)判別開始,下一個(gè)流的判別從(2,n)判別開始,依次類推,保證各種類型的流的判別計(jì)算在統(tǒng)計(jì)上公平。
本發(fā)明是一種適用于傳輸層協(xié)議以u(píng)dp協(xié)議為主的專用網(wǎng)絡(luò)流量分類方法。該方法基于支持向量機(jī)機(jī)器學(xué)習(xí)算法,在將支持向量機(jī)的二分類算法擴(kuò)展到多分類時(shí)采用1到n的擴(kuò)展方法,來(lái)提高分類的準(zhǔn)確率,同時(shí)降低算法的計(jì)算量,同時(shí)采用了一種基于應(yīng)用層數(shù)據(jù)的新的特征定義方法,通過(guò)對(duì)應(yīng)用層數(shù)據(jù)中的前n個(gè)字節(jié)進(jìn)行統(tǒng)計(jì)分析,形成每個(gè)流的特征,該方法避免了對(duì)原有特征中對(duì)建鏈過(guò)程的依賴,使之更好的服務(wù)于無(wú)連接協(xié)議的網(wǎng)絡(luò)流量分析。本發(fā)明解決了專用網(wǎng)絡(luò)中以無(wú)連接協(xié)議為主,目前流量分類算法適應(yīng)性不高,同時(shí)多分類擴(kuò)展計(jì)算量大,準(zhǔn)確性不高的問(wèn)題,具有很好的推廣應(yīng)用前景。
下面結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。
實(shí)施例
一種基于支持向量機(jī)的專用網(wǎng)絡(luò)流分類方法,包括以下步驟:
第一、提取網(wǎng)絡(luò)中的已知類型數(shù)據(jù)流,計(jì)算流量特征,建立樣本庫(kù),每種類型流樣本的個(gè)數(shù)都為m個(gè)。
第二、在樣本庫(kù)的基礎(chǔ)上運(yùn)行svm(支持向量機(jī))學(xué)習(xí)方法,產(chǎn)生1對(duì)n的分類函數(shù)庫(kù),如何在二維平面無(wú)法分類的情況,需要采用核函數(shù)將各個(gè)流向量映射到高維進(jìn)行分類,在本發(fā)明中推薦采用徑向基核,即rbf核,該核函數(shù)對(duì)低維、高維、小樣本、大樣本等情況都適用,是目前比較優(yōu)秀的分類依據(jù)函數(shù)。
第三、采集一定數(shù)量的新類型數(shù)據(jù)集合an。
第四、對(duì)數(shù)據(jù)集合中的數(shù)據(jù),先按照元組(源地址、目的地址、源端口號(hào)、目的端口號(hào)、協(xié)議類型)歸類,然后將多個(gè)分組界定為不同的流。
第五、對(duì)流類型先根據(jù)可判別標(biāo)準(zhǔn)進(jìn)行分類??膳袆e標(biāo)準(zhǔn)是系統(tǒng)對(duì)應(yīng)用事先約定的,如限定了特定的端口號(hào)為專用,禁止其它流量使用,此時(shí)就可以根據(jù)該端口號(hào)判定某個(gè)流量的類型。
第六、對(duì)于第五步無(wú)法分類的流量,對(duì)每種流量建立流量特征,形成特征向量。
第七、按照?qǐng)D1所示方法,將待分類流量特征向量帶入不同的分類函數(shù)中執(zhí)行,最終得到該流量的分類類別。
第八、對(duì)完成分類的流進(jìn)行抽樣處理,選取部分流對(duì)樣本集中的流進(jìn)行替換,或者為了提高分類函數(shù)的精度,增加樣本集的大小,通過(guò)后續(xù)分類的流對(duì)特征庫(kù)進(jìn)行擴(kuò)展。
第九、回到第三步繼續(xù)執(zhí)行后續(xù)流量的判定。