專(zhuān)利名稱(chēng):一種基于BoW模型和統(tǒng)計(jì)特征的流量識(shí)別方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種對(duì)網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行識(shí)別的方法,特別是采用BoW(Bag of Words) 這一機(jī)器學(xué)習(xí)模型配合提出的特征提取方法來(lái)進(jìn)行預(yù)測(cè)建模。
背景技術(shù):
在20世紀(jì)90年代末、本世紀(jì)初,涌現(xiàn)出了一批又一批關(guān)于互聯(lián)網(wǎng)流量分類(lèi)技術(shù)的實(shí)驗(yàn)和嘗試,其中更包含有革命性的技術(shù)創(chuàng)新??茖W(xué)技術(shù)研究的一大主要推動(dòng)力即是實(shí)際的應(yīng)用需求,縱觀整個(gè)互聯(lián)網(wǎng)發(fā)展過(guò)程,流量識(shí)別主要在如下幾個(gè)方面扮演著極其重要的角色 互聯(lián)網(wǎng)服務(wù)提供商們(ISPs)需要知道他們的用戶(hù)正在使用哪些應(yīng)用、或是獲取應(yīng)用的發(fā)展趨勢(shì),從而實(shí)施各種商業(yè)目標(biāo)。諸如為不同優(yōu)先級(jí)別的用戶(hù)動(dòng)態(tài)分配網(wǎng)絡(luò)資源、提供特定的QoS服務(wù),鎖定使用了違反條例或相關(guān)法律的應(yīng)用的特定用戶(hù),或者分析應(yīng)用發(fā)展趨勢(shì)來(lái)規(guī)劃未來(lái)的業(yè)務(wù)分布; 充當(dāng)入侵檢測(cè)系統(tǒng)(IDS)的核心部件,通過(guò)模式匹配等方法幫助實(shí)時(shí)監(jiān)測(cè)識(shí)別出如拒絕服務(wù)攻擊(DoS)、蠕蟲(chóng)(Worm)攻擊等惡意網(wǎng)絡(luò)行為; 互聯(lián)網(wǎng)流量識(shí)別也是政府基于ISP來(lái)監(jiān)控、偵聽(tīng)網(wǎng)絡(luò)的一種重要手段。目前在市面上廣泛應(yīng)用的流量識(shí)別技術(shù)是基于報(bào)文載荷內(nèi)容的DPI識(shí)別技術(shù),盡管DPI技術(shù)精確度高,但是除了其分類(lèi)速度慢且對(duì)于加密載荷無(wú)法識(shí)別以外,其對(duì)報(bào)文內(nèi)容的窺探也被普遍地詬病為是對(duì)用戶(hù)隱私的侵犯。經(jīng)檢索,中國(guó)發(fā)明專(zhuān)利申請(qǐng)?zhí)?200910034643. 7,公開(kāi)號(hào)為101645806,該專(zhuān)利自述為“本發(fā)明公開(kāi)了一種DPI和DFI相結(jié)合的網(wǎng)絡(luò)流量分類(lèi)系統(tǒng)及分類(lèi)方法,包括DPI業(yè)務(wù)識(shí)別系統(tǒng)和DFI流量識(shí)別系統(tǒng)兩個(gè)模塊結(jié)合而成;其中DPI模塊又包括流表檢測(cè)模塊和流量識(shí)別模塊;DFI模塊包括樣本獲取模塊,分類(lèi)器訓(xùn)練模塊和分類(lèi)器分類(lèi)預(yù)測(cè)模塊。樣本獲取模塊將DPI中的流量識(shí)別模塊能夠準(zhǔn)確識(shí)別的數(shù)據(jù)流劃分成幾個(gè)大類(lèi),并且將其作為樣本對(duì)分類(lèi)器訓(xùn)練模塊進(jìn)行訓(xùn)練,獲得能對(duì)網(wǎng)絡(luò)流量進(jìn)行大類(lèi)區(qū)分的分類(lèi)模型,然后DPI 的流量識(shí)別模塊無(wú)法識(shí)別的流量再通過(guò)DFI的分類(lèi)器分類(lèi)預(yù)測(cè)模塊就能達(dá)到對(duì)DPI無(wú)法識(shí)別的流量進(jìn)行大類(lèi)區(qū)分的目的?!钡峭瑯拥?,該技術(shù)仍舊沒(méi)有解決上述的問(wèn)題。因此科研工作者們就轉(zhuǎn)換思路,利用網(wǎng)絡(luò)流量的特征來(lái)進(jìn)行機(jī)器學(xué)習(xí),構(gòu)造流量分類(lèi)器來(lái)對(duì)數(shù)據(jù)流進(jìn)行識(shí)別。因此本發(fā)明同樣地繼承了這一思路,利用目前十分常用的BoW 模型來(lái)對(duì)網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行識(shí)別。Boff(Bag Of Words)算法也稱(chēng)為詞袋算法,起源于基于語(yǔ)義的文本檢索算法,是一種有效地基于語(yǔ)義特征提取與描述的物體識(shí)別算法。以文本檢索為例,介紹一下BoW模型的特性,Boff模型在進(jìn)行信息檢索時(shí),假定對(duì)于一個(gè)文本,忽略其詞序和語(yǔ)法、句法,將其僅僅看做是一個(gè)詞集合,或者說(shuō)是詞的一個(gè)組合,文本中每一個(gè)詞的出現(xiàn)都是獨(dú)立的,不依賴(lài)于其他詞的是否出現(xiàn),或者說(shuō)當(dāng)這篇文章的作者在任意一個(gè)位置選擇一個(gè)詞匯都不受前面句子的影響而獨(dú)立選擇。簡(jiǎn)而言之,就是BoW對(duì)于特征的順序以及它們之間的邏輯關(guān)系不敏感。這在一些情況下可能會(huì)導(dǎo)致一些問(wèn)題的出現(xiàn),然而在流量識(shí)別領(lǐng)域,這反倒成為了一個(gè)優(yōu)勢(shì),使得在提取流量特征的時(shí)候不需要考慮按照特征的時(shí)序進(jìn)行順序排列,簡(jiǎn)化了特征提取的過(guò)程。另外,由于本發(fā)明BoW模型結(jié)合了非監(jiān)督的聚類(lèi)方法以及有監(jiān)督的K-近鄰方法,因而更適合于進(jìn)行多分類(lèi)。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)當(dāng)前網(wǎng)絡(luò)流量識(shí)別過(guò)程中DPI方法的種種缺陷,提供一種基于BoW模型和統(tǒng)計(jì)特征的流量識(shí)別方法,創(chuàng)造性地利用網(wǎng)絡(luò)流量特征結(jié)合BoW方法,從而實(shí)現(xiàn)對(duì)于網(wǎng)絡(luò)流量快速、精確的識(shí)別。為實(shí)現(xiàn)上述目的,本發(fā)明方法采用了 BoW模型,配合特征提取方法,訓(xùn)練采集到的網(wǎng)絡(luò)流量特征,從而獲得每一個(gè)網(wǎng)絡(luò)類(lèi)別所對(duì)應(yīng)的特征向量。對(duì)于新來(lái)的網(wǎng)絡(luò)流量,同樣能夠通過(guò)提取其流量特征,利用BoW建模得到其相應(yīng)的特征向量,然后依次與先前建立好的每一個(gè)網(wǎng)絡(luò)類(lèi)別的特征向量進(jìn)行比較,取匹配度最高的特征向量所對(duì)應(yīng)的類(lèi)別作為新來(lái)的網(wǎng)絡(luò)流量的分類(lèi)標(biāo)簽。本發(fā)明所述的基于BoW模型和統(tǒng)計(jì)特征的流量識(shí)別方法,包括以下步驟(1)如果類(lèi)別特征向量尚未建立,執(zhí)行步驟O),否則轉(zhuǎn)入步驟⑷;(2)采用預(yù)設(shè)的特征采集方法獲取訓(xùn)練集中各個(gè)網(wǎng)絡(luò)流量對(duì)象的向量表示;(3)BoW模型第一步,先將這些訓(xùn)練集中的向量聚為k個(gè)中心點(diǎn),即k個(gè)words ;G) BoW模型第二步,利用K-NN將對(duì)應(yīng)類(lèi)別的所有向量與這k個(gè)words進(jìn)行近鄰分析,最終得出各個(gè)類(lèi)別的特征向量;(5)利用得到的類(lèi)別特征向量與待測(cè)網(wǎng)絡(luò)流經(jīng)過(guò)處理后得到的特征向量進(jìn)行匹配,預(yù)測(cè)出待測(cè)網(wǎng)絡(luò)流的識(shí)別標(biāo)簽;(6)結(jié)束。上述方法步驟所述步驟O)中,首先必須從訓(xùn)練集中獲取各個(gè)網(wǎng)絡(luò)流量對(duì)象的特征,然后將其整理成為該流量對(duì)象的向量表示,具體過(guò)程如下①?gòu)拿總€(gè)網(wǎng)絡(luò)流量對(duì)象當(dāng)中提取前M個(gè)報(bào)文,每個(gè)報(bào)文包含N維的特征向量,目前是提取前五個(gè)報(bào)文,每個(gè)報(bào)文是一個(gè)四維向量即源端口、目的端口、協(xié)議、報(bào)文長(zhǎng)度;②將這N維向量進(jìn)行離散化或是歸一化處理,以用來(lái)平衡各維之間的數(shù)值大?。虎塾?xùn)練集當(dāng)中的數(shù)據(jù)流個(gè)數(shù)為X個(gè),則這樣總共得到XM個(gè)N維向量。所述步驟(3),首先隨機(jī)選取訓(xùn)練集中的若干向量對(duì)聚類(lèi)中心進(jìn)行初始化,然后通過(guò)一個(gè)循環(huán)體不斷優(yōu)化聚類(lèi)結(jié)果,該循環(huán)體每一輪內(nèi)嵌了兩個(gè)子循環(huán),具體過(guò)程如下①對(duì)上述訓(xùn)練集中的XM個(gè)N維向量,第一個(gè)子循環(huán)用來(lái)循環(huán)考察每一個(gè)向量與各聚類(lèi)中心之間的距離,在該子循環(huán)的每一輪中,找出與所考察向量距離最近的聚類(lèi)中心,并將所考察向量置于與該聚類(lèi)中心對(duì)應(yīng)的集合之中;②然后第二個(gè)子循環(huán)用來(lái)重置所有的聚類(lèi)中心,在該子循環(huán)的每一輪中,將與當(dāng)前集合中所有向量具有最小平均距離的向量作為新的聚類(lèi)中心;③在第二個(gè)子循環(huán)結(jié)束以后,如果所有的聚類(lèi)中心均未發(fā)生變化,則結(jié)束步驟
5(3),即生成了 k個(gè)words,否則返回第一個(gè)子循環(huán)繼續(xù)聚類(lèi)過(guò)程。步驟中,具體如下①對(duì)任一個(gè)類(lèi)別的特征向量,初始化一個(gè)k維零向量;②假定某一類(lèi)別的向量總數(shù)為m,則該類(lèi)別共有mM個(gè)向量,計(jì)算每一個(gè)向量與k個(gè) words之間的距離,選取最近的K個(gè),這個(gè)參數(shù)K是由K-NN決定的,然后給這K個(gè)中心對(duì)應(yīng)的k維向量相應(yīng)維度上的值加上相應(yīng)的權(quán)值;權(quán)值一般為1。③算完這mM個(gè)對(duì)象,就得到了該類(lèi)別對(duì)應(yīng)的k維特征向量。所述步驟(5),具體如下①對(duì)于新來(lái)的未知流,同樣采用步驟( 方法處理,提取其前M個(gè)報(bào)文,每一個(gè)報(bào)文包含了 N維的特征向量,將這N維向量進(jìn)行離散化或是歸一化處理,以用來(lái)平衡各維之間的數(shù)值大小,對(duì)于這M個(gè)N維向量,采用步驟4的辦法即向量總數(shù)m= 1,從而得到該新來(lái)的未知流的k維向量;②最后將每一個(gè)類(lèi)別的k維特征向量與該未知流的k維特征向量進(jìn)行匹配,取匹配度最高的類(lèi)別作為該未知流的預(yù)測(cè)類(lèi)別標(biāo)簽。與背景技術(shù)相比,本發(fā)明具有的有益結(jié)果本發(fā)明給出了一種基于BoW模型和統(tǒng)計(jì)特征的流量識(shí)別方法,該方法基于BoW模型,對(duì)特征時(shí)序不敏感,簡(jiǎn)化了特征提取過(guò)程, 并且適合多分類(lèi),能夠快速、準(zhǔn)確地識(shí)別待測(cè)流量的類(lèi)別,克服了 DPI所帶來(lái)的隱私和效率問(wèn)題。
圖1是數(shù)據(jù)收集裝置的工作流程圖。圖2是本發(fā)明方法步驟的流程圖。圖3是本發(fā)明使用的k-means聚類(lèi)方法的訓(xùn)練流程圖。圖4是本發(fā)明基于聚類(lèi)結(jié)果結(jié)合K-NN建立類(lèi)別特征向量的流程圖。
具體實(shí)施例方式下面對(duì)本發(fā)明的實(shí)施例作詳細(xì)說(shuō)明,本實(shí)施例以本發(fā)明技術(shù)方案為前提,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。如圖1所示,真實(shí)網(wǎng)絡(luò)上的流量數(shù)據(jù)存放于數(shù)據(jù)對(duì)象收集裝置中(具體來(lái)說(shuō)這個(gè)裝置就是一個(gè)個(gè)路由器或是交換機(jī)抑或是服務(wù)器,總之就是一系列網(wǎng)絡(luò)的核心設(shè)置之中), 假設(shè)該裝置中存儲(chǔ)了 N個(gè)數(shù)據(jù)流對(duì)象,同時(shí)用其他技術(shù)(例如DPI或是手工識(shí)別等)對(duì)每
一個(gè)數(shù)據(jù)流對(duì)象所屬的網(wǎng)絡(luò)流量類(lèi)別(如WEB,P2P,V0IP......等)進(jìn)行標(biāo)記,則這些流對(duì)
象就成為了機(jī)器學(xué)習(xí)的訓(xùn)練集數(shù)據(jù)對(duì)象了。之后通過(guò)預(yù)設(shè)的特征采集方法獲取這些訓(xùn)練集數(shù)據(jù)對(duì)象的向量表示,然后采用基于BoW模型的機(jī)器學(xué)習(xí)方法進(jìn)行建模,如圖2所示。該技術(shù)采用了無(wú)監(jiān)督的k-means聚類(lèi)結(jié)合有監(jiān)督K-近鄰方法建立了各個(gè)類(lèi)別的特征向量,最后利用這些類(lèi)別的特征向量與新的待測(cè)數(shù)據(jù)流的特征向量進(jìn)行匹配,將匹配度最大的類(lèi)別賦予待測(cè)數(shù)據(jù)流,也就是預(yù)測(cè)出待測(cè)數(shù)據(jù)流的分類(lèi)。本發(fā)明的方法步驟如圖2所示。步驟1是起初動(dòng)作。步驟2判斷類(lèi)別特征向量是否已經(jīng)訓(xùn)練完畢,若訓(xùn)練好了則可以開(kāi)始進(jìn)行預(yù)測(cè)匹配了,執(zhí)行步驟6 ;否則需要進(jìn)行訓(xùn)練,執(zhí)行步驟3。 步驟3采用預(yù)設(shè)的特征采集方法獲取訓(xùn)練集中各個(gè)網(wǎng)絡(luò)流量對(duì)象的特征,具體來(lái)說(shuō),從每個(gè)網(wǎng)絡(luò)流量對(duì)象當(dāng)中提取前M個(gè)報(bào)文,每個(gè)報(bào)文包含N維的特征向量,目前是提取前五個(gè)報(bào)文,每個(gè)報(bào)文是一個(gè)四維向量(源端口、目的端口、協(xié)議、報(bào)文長(zhǎng)度),最后將這N維向量進(jìn)行離散化或是歸一化處理,以用來(lái)平衡各維之間的數(shù)值大小。由此,每一個(gè)數(shù)據(jù)流對(duì)
象&包含M個(gè)N維向量,即式
權(quán)利要求
1.一種基于BoW模型和統(tǒng)計(jì)特征的流量識(shí)別方法,包括以下步驟(1)如果類(lèi)別特征向量尚未建立,執(zhí)行步驟0),否則轉(zhuǎn)入步驟;(2)采用特征采集方法獲取訓(xùn)練集中各個(gè)網(wǎng)絡(luò)流量對(duì)象的向量表示;(3)BoW模型第一步,先將這些訓(xùn)練集中的向量聚為k個(gè)中心點(diǎn),即k個(gè)words;(4)Boff模型第二步,利用K-NN將對(duì)應(yīng)類(lèi)別的所有向量與這k個(gè)words進(jìn)行近鄰分析, 最終得出各個(gè)類(lèi)別的特征向量;(5)利用得到的類(lèi)別特征向量與待測(cè)網(wǎng)絡(luò)流經(jīng)過(guò)處理后得到的特征向量進(jìn)行匹配,識(shí)別出待測(cè)網(wǎng)絡(luò)流的分類(lèi)標(biāo)簽;(6)結(jié)束。
2.根據(jù)權(quán)利要求1所述的基于BoW模型和統(tǒng)計(jì)特征的流量識(shí)別方法,其特征是步驟 (2)中,首先必須從訓(xùn)練集中獲取各個(gè)網(wǎng)絡(luò)流量對(duì)象的特征,然后將其整理成為該流量對(duì)象的向量表示,具體過(guò)程如下①?gòu)拿總€(gè)網(wǎng)絡(luò)流量對(duì)象當(dāng)中提取前M個(gè)報(bào)文,每個(gè)報(bào)文包含N維的特征向量,目前是提取前五個(gè)報(bào)文,每個(gè)報(bào)文是一個(gè)四維向量即源端口、目的端口、協(xié)議、報(bào)文長(zhǎng)度;②將這N維向量進(jìn)行離散化或是歸一化處理,以用來(lái)平衡各維之間的數(shù)值大??;③訓(xùn)練集當(dāng)中的數(shù)據(jù)流個(gè)數(shù)為X個(gè),則這樣總共得到XM個(gè)N維向量。
3.根據(jù)權(quán)利要求1或2所述的基于BoW模型和統(tǒng)計(jì)特征的流量識(shí)別方法,其特征是步驟(3),首先隨機(jī)選取訓(xùn)練集中的若干向量對(duì)聚類(lèi)中心進(jìn)行初始化,然后通過(guò)一個(gè)循環(huán)體不斷優(yōu)化聚類(lèi)結(jié)果,該循環(huán)體每一輪內(nèi)嵌了兩個(gè)子循環(huán),具體過(guò)程如下①對(duì)上述訓(xùn)練集中的XM個(gè)N維向量,第一個(gè)子循環(huán)用來(lái)循環(huán)考察每一個(gè)向量與各聚類(lèi)中心之間的距離,在該子循環(huán)的每一輪中,找出與所考察向量距離最近的聚類(lèi)中心,并將所考察向量置于與該聚類(lèi)中心對(duì)應(yīng)的集合之中;②然后第二個(gè)子循環(huán)用來(lái)重置所有的聚類(lèi)中心,在該子循環(huán)的每一輪中,將與當(dāng)前集合中所有向量具有最小平均距離的向量作為新的聚類(lèi)中心;③在第二個(gè)子循環(huán)結(jié)束以后,如果所有的聚類(lèi)中心均未發(fā)生變化,則結(jié)束步驟(3),即生成了 k個(gè)words,否則返回第一個(gè)子循環(huán)繼續(xù)聚類(lèi)過(guò)程。
4.根據(jù)權(quán)利要求1所述的基于BoW模型和統(tǒng)計(jì)特征的流量識(shí)別方法,其特征是步驟 (4)中,具體如下①對(duì)任一個(gè)類(lèi)別的特征向量,初始化一個(gè)k維零向量;②假定某一類(lèi)別的向量總數(shù)為m,則該類(lèi)別共有mM個(gè)向量,計(jì)算每一個(gè)向量與k個(gè) words之間的距離,選取最近的K個(gè),這個(gè)參數(shù)K是由K-NN決定的,然后給這K個(gè)中心對(duì)應(yīng)的k維向量相應(yīng)維度上的值加上相應(yīng)的權(quán)值;③算完這mM個(gè)對(duì)象,就得到了該類(lèi)別對(duì)應(yīng)的k維特征向量。
5.根據(jù)權(quán)利要求4所述的基于BoW模型和統(tǒng)計(jì)特征的流量識(shí)別方法,其特征是所述給這K個(gè)中心對(duì)應(yīng)的k維向量相應(yīng)維度上的值加上相應(yīng)的權(quán)值,其權(quán)值為1。
6.根據(jù)權(quán)利要求1或2所述的基于BoW模型和統(tǒng)計(jì)特征的流量識(shí)別方法,其特征是步驟(5),具體如下:①對(duì)于新來(lái)的未知流,同樣采用步驟( 方法處理,提取其前M個(gè)報(bào)文,每一個(gè)報(bào)文包含了 N維的特征向量,將這N維向量進(jìn)行離散化或是歸一化處理,以用來(lái)平衡各維之間的數(shù)值大小,對(duì)于這M個(gè)N維向量,采用步驟(4)的辦法即向量總數(shù)m= 1,從而得到該新來(lái)的未知流的k維向量;②最后將每一個(gè)類(lèi)別的k維特征向量與該未知流的k維特征向量進(jìn)行匹配,取匹配度最高的類(lèi)別作為該未知流的預(yù)測(cè)類(lèi)別標(biāo)簽。
全文摘要
本發(fā)明公開(kāi)了一種基于BoW模型和統(tǒng)計(jì)特征的流量識(shí)別方法,該方法采用了BoW模型,配合提出的特征提取方法,訓(xùn)練采集到的網(wǎng)絡(luò)流量特征,從而獲得每一個(gè)網(wǎng)絡(luò)類(lèi)別所對(duì)應(yīng)的特征向量。對(duì)于新來(lái)的網(wǎng)絡(luò)流量,同樣能夠通過(guò)提取其流量特征,利用BoW建模得到其相應(yīng)的特征向量,然后依次與先前建立好的每一個(gè)網(wǎng)絡(luò)類(lèi)別的特征向量進(jìn)行比較,取匹配度最高的特征向量所對(duì)應(yīng)的類(lèi)別作為新來(lái)的網(wǎng)絡(luò)流量的分類(lèi)標(biāo)簽。本發(fā)明使用的BoW方法是結(jié)合了非監(jiān)督的k-means聚類(lèi)方法以及有監(jiān)督的K-近鄰方法,因而更適合于進(jìn)行多分類(lèi)。由于Bow模型對(duì)于空間位置不敏感,因而在提取特征時(shí)不需要按照特征的時(shí)序進(jìn)行排列,方便進(jìn)行處理。
文檔編號(hào)H04L12/26GK102571486SQ20111041926
公開(kāi)日2012年7月11日 申請(qǐng)日期2011年12月14日 優(yōu)先權(quán)日2011年12月14日
發(fā)明者周異, 周曲, 張寅 , 楊小康, 陳凱 申請(qǐng)人:上海交通大學(xué)