Tor匿名通信流量應(yīng)用分類的方法
【專利摘要】一種Tor匿名通信流量應(yīng)用分類的方法,主要解決Tor匿名通信流量中上層應(yīng)用類型信息獲取的問題,涉及到特征選擇、樣本預(yù)處理以及流量建模等相關(guān)技術(shù)。該方法首先利用Tor的數(shù)據(jù)包調(diào)度機制,定義流突發(fā)段概念,并以流突發(fā)段的體積值和方向作為分類特征。然后基于K-均值聚類算法和多序列比對算法對數(shù)據(jù)樣本進(jìn)行預(yù)處理,通過數(shù)值符號化和插入空隙的方式來解決數(shù)據(jù)樣本過擬合和長度不一致問題。最后,使用Profile隱馬爾科夫模型對不同應(yīng)用的上行和下行Tor匿名通信流量分別進(jìn)行建模,提出一種啟發(fā)式算法快速建立Profile隱馬爾可夫模型。在具體分類時,將待分類網(wǎng)絡(luò)流量的特征代入不同應(yīng)用的Profile隱馬爾可夫模型中,分別計算出上行和下行流量模型對應(yīng)的概率,并以最大聯(lián)合概率值來決定待分類的Tor匿名通信流量所包含的上層應(yīng)用類型。
【專利說明】
Tor匿名通信流量應(yīng)用分類的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是一種Tor匿名通信流量應(yīng)用分類方法,利用了特征選擇、樣本預(yù)處理以及流量建模等相關(guān)技術(shù),涉及網(wǎng)絡(luò)安全特別是匿名通信和流量分析研究領(lǐng)域。
【背景技術(shù)】
[0002]隨著Internet以及移動互聯(lián)網(wǎng)的迅猛發(fā)展和廣泛使用,網(wǎng)絡(luò)已融入人們?nèi)粘I畹姆椒矫婷妗Ec此同時,網(wǎng)絡(luò)通信所帶來的安全與隱私問題也受到了越來越多的關(guān)注。為保護網(wǎng)絡(luò)用戶的隱私信息,研究人員設(shè)計了多種匿名通信方案如洋蔥路由協(xié)議等,并在此基礎(chǔ)上開發(fā)了一些實用匿名通信系統(tǒng),如Tor、JAP、I2P等。但匿名通信系統(tǒng)的廣泛使用也給網(wǎng)絡(luò)監(jiān)管帶來了巨大挑戰(zhàn)。用戶可借助匿名通信系統(tǒng)突破現(xiàn)有的網(wǎng)絡(luò)訪問控制策略以獲取非法網(wǎng)絡(luò)資源、泄露機密信息以及實施匿名攻擊等。由于匿名通信流量均為加密流量,為實現(xiàn)對其的有效監(jiān)管,有必要對匿名通信流量的識別與分析技術(shù)展開深入研究。一方面可以有效地規(guī)范用戶的網(wǎng)絡(luò)行為,打擊并阻止基于匿名通信系統(tǒng)進(jìn)行的網(wǎng)絡(luò)犯罪;另一方面隨著匿名通信流量識別與分析技術(shù)的研究深入,可以揭示現(xiàn)有匿名通信協(xié)議和匿名通信系統(tǒng)實現(xiàn)上存在的漏洞,從而能夠設(shè)計更完善的匿名通信協(xié)議以及其系統(tǒng)實現(xiàn),為網(wǎng)絡(luò)用戶提供更好的隱私保護。
[0003]匿名通信技術(shù)是由Chaum于1981年首次提出,該技術(shù)通過在發(fā)送者和接收者的通信路徑上插入一個或多個中間節(jié)點(Mix節(jié)點)來實現(xiàn)用戶身份和通信關(guān)系的隱藏。用戶在發(fā)送數(shù)據(jù)時,首先確定轉(zhuǎn)發(fā)路徑上Mix節(jié)點和接收者的地址信息,然后利用轉(zhuǎn)發(fā)路徑上各Mix節(jié)點的公鑰對數(shù)據(jù)和地址信息進(jìn)行層層加密,形成“洋蔥包”,并將該“洋蔥包”發(fā)送至轉(zhuǎn)發(fā)路徑上的第一個Mix節(jié)點。收到“洋蔥包”后,該Mix節(jié)點對其進(jìn)行解密操作以獲得下一跳地址,并將解密后的“洋蔥包”發(fā)送至下一跳節(jié)點,其它節(jié)點依次操作直至最后將原始數(shù)據(jù)轉(zhuǎn)發(fā)至接收者。返回數(shù)據(jù)時則按對應(yīng)的相反順序進(jìn)行,接收者將數(shù)據(jù)返回至與其直接相連的Mix節(jié)點(即轉(zhuǎn)發(fā)路徑上的最后一個Mix節(jié)點),然后路徑上各Mix節(jié)點利用自己的私鑰對數(shù)據(jù)進(jìn)行層層加密并反方向轉(zhuǎn)發(fā),并最終由用戶執(zhí)行多次解密操作得出通信內(nèi)容。
[0004]匿名通信系統(tǒng)的濫用給網(wǎng)絡(luò)安全帶來巨大威脅。例如德國政府在2007年陸續(xù)逮捕了多名Tor出口節(jié)點的提供者,而實際上這些Tor出口節(jié)點的提供者是非法瀏覽色情信息等此類網(wǎng)絡(luò)犯罪的替罪羊。當(dāng)匿名犯罪分子利用Tor網(wǎng)絡(luò)獲取兒童色情信息時,對應(yīng)的網(wǎng)絡(luò)流量將首先被發(fā)送到Tor出口節(jié)點,再由這些出口節(jié)點將相關(guān)數(shù)據(jù)經(jīng)Tor網(wǎng)絡(luò)轉(zhuǎn)發(fā)給匿名罪犯。依據(jù)網(wǎng)絡(luò)流量的IP地址信息僅能追查到這些Tor出口節(jié)點,而真正的網(wǎng)絡(luò)罪犯卻無法得知。此外,僵尸網(wǎng)絡(luò)(Botnet)已開始使用Tor匿名通信網(wǎng)絡(luò)來隱藏命令與控制(C&C)服務(wù)器,各Bot節(jié)點通過Tor與C&C服務(wù)器進(jìn)行通信,隱藏了 C&C服務(wù)器的真實身份和Bot節(jié)點之間的關(guān)聯(lián)性,使得對僵尸網(wǎng)絡(luò)的檢測更加困難。更為嚴(yán)重的是,一些流行的網(wǎng)絡(luò)攻擊工具,如針對Web服務(wù)器的DoS攻擊工具torshammer、SQL注入攻擊工具sqlmap等已提供配置選項使得攻擊流量經(jīng)過Tor匿名網(wǎng)絡(luò)轉(zhuǎn)發(fā)從而躲避檢測和追蹤。原本用于保護用戶隱私信息的匿名通信系統(tǒng)正被攻擊者濫用,給網(wǎng)絡(luò)安全帶來巨大威脅。因此,為阻止匿名網(wǎng)絡(luò)犯罪和維護網(wǎng)絡(luò)安全,有必要對Tor匿名通信流量中包含的上層應(yīng)用類型進(jìn)行分類,從而能夠確定匿名用戶的網(wǎng)絡(luò)行為。
[0005]目前Tor匿名通信流量應(yīng)用分類研究以提升Tor網(wǎng)絡(luò)的整體性能為目標(biāo),因而應(yīng)用分類工作是由Tor節(jié)點根據(jù)其可觀察到的協(xié)議層信息完成,而并非在網(wǎng)絡(luò)流中提取特征來進(jìn)行應(yīng)用分類。
【發(fā)明內(nèi)容】
[0006]技術(shù)問題:應(yīng)用分類的目標(biāo)是獲取匿名通信流量中隱藏的上層應(yīng)用類型,即對于匿名通信流f,攻擊者需確定其中包含的上層應(yīng)用的類型T1, T2,, Tn,從而能夠推斷出目標(biāo)用戶Alice正進(jìn)行哪項匿名網(wǎng)絡(luò)活動,如匿名Web瀏覽、匿名P2P下載等。具體地,匿名通信流量的應(yīng)用分類問題可表述如下:對于所有可能的應(yīng)用類型T1, T2,, Tn,如何將匿名通信流f映射至其中的一類或幾類?針對上述技術(shù)問題,本發(fā)明根據(jù)Tor的數(shù)據(jù)包調(diào)度機制,定義網(wǎng)絡(luò)流突發(fā)段,并以段體積值和方向為分類特征,提出一種基于Profile隱馬爾科夫模型(Profile HMM)的應(yīng)用分類方法,并使用樣本預(yù)處理技術(shù)對樣本數(shù)據(jù)進(jìn)行預(yù)先處理,便于最終模型的建立。
[0007]技術(shù)方案:
[0008]為解決上述技術(shù)問題,本發(fā)明在深入分析Tor匿名通信系統(tǒng)實現(xiàn)機制的基礎(chǔ)上,提出了一種Tor匿名通信流量應(yīng)用分類方法。該分類方法具體如下:
[0009]一種Tor匿名通信流量應(yīng)用分類方法,包括步驟:
[0010]l)Tor匿名通信流量應(yīng)用分類特征的獲取:
[0011]2)樣本數(shù)據(jù)預(yù)處理:
[0012]3) Tor匿名通信流量的流量模型建立:
[0013]4)聯(lián)合不同模型計算出的概率值進(jìn)行分類。
[0014]所述步驟I)中將網(wǎng)絡(luò)流中相反方向報文間的數(shù)據(jù)長度大于O (即不包括報文頭部字段)的連續(xù)報文定義為流突發(fā)段,并將流突發(fā)段體積值(Segment Volume)定義為段中所有報文長度的總和,突發(fā)段的方向定義為段中報文的方向,即入流方向或出流方向。特征選擇為流突發(fā)段的體積值和方向。
[0015]所述步驟2)中,使用K-均值聚類算法將流突發(fā)段體積值進(jìn)行聚類,并根據(jù)聚類的有效性確定最終的聚類數(shù)量,然后進(jìn)行數(shù)值符號化。同時,使用多序列比對算法對符合化后的樣本數(shù)據(jù)進(jìn)行處理,通過插入空隙的方式使得樣本數(shù)據(jù)長度保持一致,實現(xiàn)模型建立的通用性。
[0016]所述步驟3)中,使用啟發(fā)式方法建立Tor匿名通信流量的Profile隱馬爾可夫模型。如果一列中字母出現(xiàn)的數(shù)量超過一半,則為Match狀態(tài),否則為Insert狀態(tài)。而Delete狀態(tài)則由Match狀態(tài)對應(yīng)的列中的空位決定,空位越多,則表示從前一個狀態(tài)轉(zhuǎn)移到此Delete狀態(tài)的概率越大。設(shè)Match狀態(tài)共有N個字母和空位,其中空位數(shù)量為n,則前一個狀態(tài)轉(zhuǎn)移到Delete狀態(tài)的概率為(n+l)/(N+l)。同時,轉(zhuǎn)移概率計算為狀態(tài)i轉(zhuǎn)移到狀態(tài)j的次數(shù)除以狀態(tài)i轉(zhuǎn)移的總次數(shù),輸出概率計算為第i個Match狀態(tài)輸出字符a的次數(shù)除以該狀態(tài)輸出的所有字符的總數(shù)量。
[0017]所述步驟4)中,使用單個參數(shù)α聯(lián)合上行和下行流量模型產(chǎn)生的概率,且α值位于O和I之間。根據(jù)最大聯(lián)合概率值來決定Tor匿名通信流量所包含的上層應(yīng)用類型信肩、O
[0018]本發(fā)明針對Tor匿名通信流量應(yīng)用分類問題,利用Tor的數(shù)據(jù)包調(diào)度機制,定義流突發(fā)段概念,并以流突發(fā)段的體積值和方向作為分類特征;基于K-均值聚類算法和多序列比對算法對數(shù)據(jù)樣本進(jìn)行預(yù)處理,通過數(shù)值符號化和插入空隙的方式來解決數(shù)據(jù)樣本過擬合和長度不一致問題;使用Profile隱馬爾科夫模型對不同應(yīng)用的上行和下行Tor匿名通信流量分別進(jìn)行建模,提出一種啟發(fā)式算法快速建立Profile隱馬爾可夫模型。
[0019]有益效果:本發(fā)明具有分類效果好,運行速度快,額外的網(wǎng)絡(luò)負(fù)荷少(只需被動觀察網(wǎng)絡(luò)流量)等特點,能夠在大規(guī)模網(wǎng)絡(luò)環(huán)境下有效地實現(xiàn)Tor匿名通信流量的應(yīng)用分類。
【專利附圖】
【附圖說明】
[0020]圖1為本發(fā)明所述的Tor匿名通信系統(tǒng)架構(gòu)圖;
[0021]圖2為本發(fā)明所述的Tor匿名節(jié)點的數(shù)據(jù)調(diào)度策略圖;
[0022]圖3為本發(fā)明中Profile隱馬爾科夫模型示意圖;
[0023]圖4為本發(fā)明的具體實施流程圖。
【具體實施方式】
[0024]本方法主要解決Tor匿名通信流量中上層應(yīng)用類型信息獲取的問題,涉及到特征選擇、樣本預(yù)處理以及流量建模等相關(guān)技術(shù)。本方法首先利用Tor的數(shù)據(jù)包調(diào)度機制,定義流突發(fā)段概念,并以流突發(fā)段的體積值和方向作為分類特征。然后基于K-均值聚類算法和多序列比對算法對數(shù)據(jù)樣本進(jìn)行預(yù)處理,通過數(shù)值符號化和插入空隙的方式來解決數(shù)據(jù)樣本過擬合和長度不一致問題。最后,使用Profile隱馬爾科夫模型對不同應(yīng)用的上行和下行Tor匿名通信流量分別進(jìn)行建模,提出一種啟發(fā)式算法快速建立Profile隱馬爾可夫模型。在具體分類時,將待分類網(wǎng)絡(luò)流量的特征代入不同應(yīng)用的Profile隱馬爾可夫模型中,分別計算出上行和下行流量模型對應(yīng)的概率,并以最大聯(lián)合概率值來決定待分類的Tor匿名通信流量所包含的上層應(yīng)用類型。
[0025]下面結(jié)合附圖對本發(fā)明再作進(jìn)一步詳細(xì)的說明。
[0026]UTor匿名通信流量應(yīng)用分類特征的獲取
[0027]Tor匿名通信系統(tǒng)利用Iibevent事件實現(xiàn)輸入緩沖區(qū)和輸出緩沖區(qū)中數(shù)據(jù)的處理調(diào)度,可表示為隱式的輪詢(Round Robin)調(diào)度。當(dāng)Tor節(jié)點從TLS/Socks接口接收到信元數(shù)據(jù)后,將其存入相對應(yīng)的輸入緩沖區(qū)中(Input Buffer)。對于存在輸入緩沖區(qū)中的信元,根據(jù)鏈路方向的不同,Tor采用輪詢調(diào)度策略對其進(jìn)行解密或加密處理。
[0028]輪詢調(diào)度策略具體描述為:首先處理第一個輸入緩沖區(qū)中的信元,處理完一定數(shù)量的信元后,接著處理第二個輸入緩沖區(qū)中的信元,以此類推,直至最后一個輸入緩沖區(qū)。然后再從第一個輸入緩沖區(qū)開始,如此循環(huán)反復(fù)。對于輸入緩沖區(qū)中的信元,處理完畢后,再存入相對應(yīng)的輸出緩沖區(qū)(Output Buffer)中。對于輸出緩沖區(qū)隊列,與輸入緩沖區(qū)隊列類似,Tor同樣采用輪詢策略來進(jìn)行調(diào)度,將不同緩沖區(qū)中的信元通過TLS/Socks接口發(fā)送至網(wǎng)絡(luò)。
[0029]根據(jù)Tor匿名通信系統(tǒng)的調(diào)度策略,本發(fā)明定義流突發(fā)段(FBS,F(xiàn)low BurstSegmentat1n)為位于相反方向報文間的數(shù)據(jù)長度大于0 (不包括報文頭部字段)的連續(xù)報文。設(shè)cl, c2, si, s2, s3, s4, c3, c4為客戶端與服務(wù)器之間的交互報文且報文長度大于0,其中,ci代表客戶端發(fā)出的報文,Si為服務(wù)器端返回的響應(yīng)報文,i為自然數(shù)。根據(jù)上述流突發(fā)段的定義,{01,(:2}、{81,82,83,84}和{c3,c4}為三個不同流突發(fā)段。自然的,可將流突發(fā)段體積值(Segment Volume)定義為段中所有報文長度的總和,突發(fā)段的方向定義為段中報文的方向,即入流方向或出流方向。
[0030]2、樣本數(shù)據(jù)預(yù)處理
[0031]本發(fā)明采用K-均值聚類算法對流突發(fā)段的體積值進(jìn)行符號化,即將數(shù)值轉(zhuǎn)化為字母符號,從而縮減流突發(fā)段體積值的取值范圍,增加所建模型的通用性。
[0032]樣本符號化的具體過程:(如表I所示)
[0033]首先確定合適的聚類數(shù)量kf。將聚類數(shù)量k從2遞增至26,計算各類中距離intrak和類間距離interk,然后計算有效性vk = intrak/interk,并以最小Vk值所對應(yīng)的k作為聚類數(shù)量,使得建立的流量模型具有較好泛化性。
[0034]確定聚類數(shù)量kf后,對于所有類型的應(yīng)用,首先對其訓(xùn)練階段采集的所有流突發(fā)段體積值進(jìn)行K-均值聚類,然后對每一類中的數(shù)值都用同一字母表示。(例如,對于類1,其中的數(shù)值范圍是16至676,則該段范圍內(nèi)的數(shù)值統(tǒng)一用字母A表示。)完成聚類后,對所有訓(xùn)練樣本進(jìn)行符號化,確定每一體積值所在的類,然后用該類對應(yīng)的符號來替換數(shù)值,得到符號化后的特征向量(形如<A, A, B, B, D,C,C,...>)。
[0035]本發(fā)明采用多序列比對算法對特征向量進(jìn)行比對,使同一類型應(yīng)用的不同特征向量長度相同。
[0036]多序列比對算法的基本方法可表述為:通過加入空位(Gap)來使得特征向量長度相同,同時使得加入的空位數(shù)量最少,即代價最小。由于序列精確匹配需要大量的計算時間和內(nèi)存空間,因此本發(fā)明主要考慮基于序列長度的漸進(jìn)比對算法,其漸進(jìn)比對由以下三個步驟完成:
[0037]步驟1:通過序列的兩兩比對,計算出每對序列間的距離,進(jìn)而得到距離矩陣。序列的兩兩比對由動態(tài)規(guī)劃算法完成,用迭代方法計算出兩個序列的相似分值,存于一個得分矩陣中,然后根據(jù)這個得分矩陣,回溯尋找最優(yōu)的比對序列。
[0038]步驟2:根據(jù)距離矩陣計算向?qū)?。在這一步,根據(jù)步驟I中獲得的距離矩陣,構(gòu)建向?qū)?Guide Tree)。向?qū)浔硎镜氖呛罄m(xù)多序列比對中每一對比對序列的順序。
[0039]步驟3:沿著向?qū)渲蟹种Φ捻樞?,漸進(jìn)比對新加入的序列。在此步驟中,同樣通過漸進(jìn)對比完成多序列的比對。根據(jù)向?qū)鋸娜~子節(jié)點到根節(jié)點的順序,對序列進(jìn)行比對,首先比對關(guān)系最為接近的序列對,然后逐漸再將臨近的序列引入并不斷重新構(gòu)建比對,直到所有序列都被加入為止。
[0040]與步驟I類似,序列間的比對仍然通過動態(tài)規(guī)劃算法完成,但特別的是,在步驟3中會存在序列與組(Profile)以及組與組之間的比對。所有的序列根據(jù)距離被分為許多組,需要對不同組進(jìn)行比對從而完成最終的序列比對。
[0041]表I是樣本數(shù)據(jù)符號化的算法偽代碼:
[0042] 算法樣本數(shù)據(jù)符號化算法
輸入:數(shù)值形式的樣本數(shù)據(jù)輸出:符號形式的樣本數(shù)據(jù)
1:令S表示流突發(fā)段體積值,A表示聚類數(shù)量
2:for k=2 to 26
3: 對所有樣本進(jìn)行K-均值聚類,并產(chǎn)生k個聚類,標(biāo)記類q的中心為Z,.4' 計算類間的平均距離為=,聚類中心點之間的距離計算為
N /二I SeC
inte。讀叫丨卜-?丨廠)
5: 計算有效性 VfintmiJinierk
6: end for
7: 選擇具有最小&的聚類數(shù)量kf作為最終的聚類數(shù)量 8: fbr/=I,..., kf
9; 確定對第j個類對應(yīng)的符號 10: end for 11: for i=.I η
12: 對第i個樣本進(jìn)行符號化 13: end for
[0043]3、Tor匿名通信流量的流量模型建立
[0044]Profile隱馬爾可夫模型由Match、Insert、Delete三種狀態(tài)組成。為確定Match、Insert、Delete狀態(tài),首先對學(xué)習(xí)樣本進(jìn)行排列,每一特征向量為一行,形成樣本矩陣。值得注意的是此時的特征向量已經(jīng)過樣本預(yù)處理,由字母和空位(用短橫線表示)組成,且長度是相同的??疾炀仃嚨拿恳涣?,每一列即對應(yīng)Profile HMM模型中的一個Match或Insert狀態(tài)。本發(fā)明采用如下啟發(fā)式方法來確定每一列對應(yīng)的具體的狀態(tài):如果該列中字母出現(xiàn)的數(shù)量超過一半,則為Match狀態(tài),否則為Insert狀態(tài)。Delete狀態(tài)則由Match狀態(tài)對應(yīng)的列中的空位決定。
[0045]確定Match、Insert和Delete狀態(tài)后,還需要計算狀態(tài)之間的轉(zhuǎn)移概率以及Match狀態(tài)的輸出概率。由于Delete狀態(tài)不產(chǎn)生輸出,因而無需計算對應(yīng)的輸出概率,而Insert狀態(tài)的輸出為隨機輸出,其可觀察字符集包括樣本中所有出現(xiàn)的字符,且輸出概率為等概率分布,即對于所有的可觀察字符,其產(chǎn)生的概率均為1/C,C為字符集合大小。
[0046]為計算狀態(tài)間的轉(zhuǎn)移概率以及Match狀態(tài)的輸出概率,需首先統(tǒng)計狀態(tài)間的轉(zhuǎn)移次數(shù)和Match狀態(tài)對應(yīng)的列種各字符出現(xiàn)的數(shù)量。轉(zhuǎn)移概率計算為狀態(tài)i轉(zhuǎn)移到狀態(tài)j的次數(shù)除以狀態(tài)i轉(zhuǎn)移的總次數(shù),輸出概率計算為第i個Match狀態(tài)輸出字符a的次數(shù)除以該狀態(tài)輸出的所有字符的總數(shù)量。
[0047]4、聯(lián)合不同模型計算出的概率值進(jìn)行分類
[0048]應(yīng)用分類流程為:
[0049]步驟1:從流f中提取入和出兩個方向上的流突發(fā)段體積值,得到特征向量V1和VE。
[0050]步驟2:根據(jù)在訓(xùn)練階段得到的聚類信息,對V1和Ve進(jìn)行符號化。記符號化后的特征向量分別為S1和Se。
[0051]步驟3:對每一個Profile隱馬爾可夫模型,計算SI由模紀(jì)產(chǎn)生的概率。記概率為 P;,P1i = Pr(57 \M;), i=\,…,N。
[0052]步驟4:與步驟3類似,對每一個Profile隱馬爾可夫模型W 斤算Se由模型Mf
產(chǎn)生的概率。記概率為pfi=l,…,N。
[0053]步驟5:計算聯(lián)合概率
[0054]Pi = ap\ + (1- Gr)μ.', ? = 1.....N.
[0055]其中,O ( α ( 1,用于調(diào)節(jié)入流和出流對分類的不同貢獻(xiàn)以達(dá)到最優(yōu)的分類結(jié)果O
[0056]步驟6:選擇值最大的聯(lián)合概率
[0057]pm = argmax {p1; p2,..., pN}
[0058]則流f的應(yīng)用類型即確定為訓(xùn)練集中的第m個應(yīng)用類型。
[0059]本發(fā)明還可有其他多種實施方式,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明做出各種相應(yīng)的改變和變形,這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
【權(quán)利要求】
1.一種Tor匿名通信流量應(yīng)用分類的方法,其特征是包括步驟: 1)利用Tor的數(shù)據(jù)包調(diào)度機制,定義流突發(fā)段概念,并以流突發(fā)段的體積值和方向作為分類特征; 2)基于K-均值聚類算法和多序列比對算法對分類特征的數(shù)據(jù)樣本進(jìn)行預(yù)處理,通過數(shù)值符號化和插入空隙的方式來解決數(shù)據(jù)樣本過擬合和長度不一致問題;經(jīng)過數(shù)據(jù)樣本預(yù)處理,數(shù)值已經(jīng)符號化,是由字母和空位組成,且長度是相同的; 3)使用Profile隱馬爾科夫模型對不同應(yīng)用的上行和下行Tor匿名通信流量分別進(jìn)行建模; 4)最后,將待分類網(wǎng)絡(luò)流量的特征代入不同應(yīng)用的Profile隱馬爾可夫模型中,分別計算出上行和下行流量模型對應(yīng)的概率,并以最大聯(lián)合概率值來決定待分類的Tor匿名通信流量所包含的上層應(yīng)用類型; 所述步驟3)中,使用啟發(fā)式方法建立Tor匿名通信流量的Profile隱馬爾可夫模型,方法如下: Tor匿名通信流量的Profile隱馬爾可夫模型由Match、Insert、Delete三種狀態(tài)組成;為確定Match、Insert、Delete狀態(tài),首先對學(xué)習(xí)樣本進(jìn)行排列,分類特征的每一特征向量為一行,構(gòu)成樣本矩陣; 考察樣本矩陣的每一列,每一列即對應(yīng)Profile隱馬爾可夫模型中的一個Match或Insert狀態(tài);確定每一列對應(yīng)的具體的狀態(tài)的方法為:如果該列中字母出現(xiàn)的數(shù)量超過一半,則為Match狀態(tài),如果該列中字母出現(xiàn)的數(shù)量沒有超過一半,為Insert狀態(tài);Delete狀態(tài)則由Match狀態(tài)對應(yīng)的列中的空位決定,空位越多,則表示從前一個狀態(tài)轉(zhuǎn)移到此Delete狀態(tài)的概率越大; 由于Delete狀態(tài)不產(chǎn)生輸出,因而無需計算其對應(yīng)的輸出概率,而Insert狀態(tài)的輸出為隨機輸出,其可觀察字符集包括樣本中所有出現(xiàn)的字符,且輸出概率為等概率分布,即對于所有的可觀察字符,其產(chǎn)生的概率均為1/C,C為字符集合大??;所以確定Match、Insert和Delete狀態(tài)后,僅計算狀態(tài)間的轉(zhuǎn)移概率以及Match狀態(tài)的輸出概率,方法為: 首先統(tǒng)計狀態(tài)間的轉(zhuǎn)移次數(shù)和Match狀態(tài)對應(yīng)的列中各字符出現(xiàn)的數(shù)量; 轉(zhuǎn)移概率計算為:狀態(tài)i轉(zhuǎn)移到狀態(tài)j的次數(shù)除以狀態(tài)i轉(zhuǎn)移的總次數(shù); 輸出概率計算為:第i個Match狀態(tài)輸出字符a的次數(shù)除以該狀態(tài)輸出的所有字符的總數(shù)量。
2.根據(jù)權(quán)利要求1所述的Tor匿名通信流量應(yīng)用分類的方法,其特征是所述步驟I)中,將網(wǎng)絡(luò)流中相反方向報文間的數(shù)據(jù)長度大于O即不包括報文頭部字段的連續(xù)報文定義為流突發(fā)段,并將流突發(fā)段的體積值定義為該流突發(fā)段中所有報文長度的總和,流突發(fā)段的方向定義為流突發(fā)段中報文的方向,即入流方向或出流方向;分類特征選擇為流突發(fā)段的體積值和方向。
3.根據(jù)權(quán)利要求2所述的Tor匿名通信流量應(yīng)用分類的方法,其特征是所述步驟I)中, Tor匿名通信系統(tǒng)利用Iibevent事件實現(xiàn)輸入緩沖區(qū)和輸出緩沖區(qū)中數(shù)據(jù)的處理調(diào)度,表示為隱式的輪詢調(diào)度;當(dāng)Tor節(jié)點從TLS/Socks接口接收到信元數(shù)據(jù)后,將其存入相對應(yīng)的輸入緩沖區(qū)中;對于存在輸入緩沖區(qū)中的信元,Tor采用輪詢調(diào)度策略對其進(jìn)行解密或加密處理; 輪詢調(diào)度策略的方法為: 首先處理第一個輸入緩沖區(qū)中的信元,處理完一定數(shù)量的信元后,接著處理第二個輸入緩沖區(qū)中的信元,以此類推,直至最后一個輸入緩沖區(qū);然后再返回第一個輸入緩沖區(qū)處理,如此循環(huán)反復(fù); 對于輸入緩沖區(qū)中的信元,處理完畢后,再存入相對應(yīng)的輸出緩沖區(qū)中;對于輸出緩沖區(qū)隊列,與輸入緩沖區(qū)隊列類似,Tor同樣采用輪詢策略來進(jìn)行調(diào)度,將不同緩沖區(qū)中的信元通過TLS/Socks接口發(fā)送至網(wǎng)絡(luò); 對于流突發(fā)段,設(shè)Cl,c2, si, s2, s3, s4, c3, c4為客戶端與服務(wù)器之間的交互報文且報文長度大于0,其中,ci代表客戶端發(fā)出的報文,Si為服務(wù)器端返回的響應(yīng)報文,i為自然數(shù);則{cl, c2}、{si, s2, s3, s4}和{c3,c4}為三個不同流突發(fā)段;則將流突發(fā)段體積值定義為段中所有報文長度的總和,突發(fā)段的方向定義為段中報文的方向,即入流方向或出流方向。
4.根據(jù)權(quán)利要求1所述的Tor匿名通信流量應(yīng)用分類的方法,其特征是所述步驟2)中,采用K-均值聚類算法對流突發(fā)段的體積值進(jìn)行符號化,即將數(shù)值轉(zhuǎn)化為字母符號,樣本的符號化過程包括: 首先確定合適的聚類數(shù)量kf:將聚類數(shù)量k從2遞增至26,計算各類中距離intrak和類間距離interk,然后計算有效性vk = intrak/interk,并以最小Vk值所對應(yīng)的k作為聚類數(shù)量; 確定聚類數(shù)量kf后,對于所有類型的應(yīng)用,首先對其訓(xùn)練階段采集的所有流突發(fā)段體積值進(jìn)行K-均值聚類,然后對每一類中的數(shù)值都用同一字母表示;完成聚類后,對所有訓(xùn)練樣本進(jìn)行符號化,確定每一體積值所在的類,然后用該類對應(yīng)的符號來替換數(shù)值,得到符號化后的分類特征的特征向量; 采用多序列比對算法對特征向量進(jìn)行比對,使同一類型應(yīng)用的不同特征向量的長度相同,具體采用基于序列長度的漸進(jìn)比對算法,其漸進(jìn)比對由以下三個步驟完成: a:通過序列的兩兩比對,計算出每對序列間的距離,進(jìn)而得到距離矩陣;序列的兩兩比對由動態(tài)規(guī)劃算法完成,用迭代方法計算出兩個序列的相似分值,存于一個得分矩陣中,然后根據(jù)這個得分矩陣,回溯尋找最優(yōu)的比對序列; b:根據(jù)步驟a中獲得的距離矩陣,構(gòu)建向?qū)?,向?qū)浔硎镜氖呛罄m(xù)多序列比對中每一對比對序列的順序; c:沿著向?qū)渲蟹种Φ捻樞?,漸進(jìn)比對新加入的序列;在此步驟中,通過漸進(jìn)對比完成多序列的比對;根據(jù)向?qū)鋸娜~子節(jié)點到根節(jié)點的順序,對序列進(jìn)行比對,首先比對關(guān)系最為接近的序列對,然后逐漸再將臨近的序列引入并不斷重新構(gòu)建比對,直到所有序列都被加入為止;與步驟a類似,序列間的比對仍然通過動態(tài)規(guī)劃算法完成,但特別的是,本步驟c中會存在序列與組以及組與組之間的比對;所有的序列根據(jù)距離被分為許多組,需要對不同組進(jìn)行比對從而完成最終的序列比對。
5.根據(jù)權(quán)利要求1所述的Tor匿名通信流量應(yīng)用分類的方法,其特征是所述步驟4)中,應(yīng)用分類流程為: .4.1:從流f中提取下行和上行兩個方向上的流突發(fā)段體積值,得到特征向量分別記為V1和 Ve ; .4.2:根據(jù)在訓(xùn)練階段得到的聚類信息,對V1和Ve進(jìn)行符號化;記符號化后的特征向量分別為S1和Se ; . 4.3:下行方向上的流突發(fā)段的體積值的向量對應(yīng)的Profile隱馬爾可夫模型為;對每一個模型M;,計算S1由模型M/產(chǎn)生的概率,記概率力,P1i = VriS1 |M/), i=l,…,N' .4.4:上行方向上的流突發(fā)段的體積值的向量對應(yīng)的Profile隱馬爾可夫模型為Mf ;對每一個模型M 計算Se由模型產(chǎn)生的概率,記概率為P,, =Pr(&|Mf), .4.5:計算聯(lián)合概率 P = a p..+.(1.....cc) p' , / = 1.....N.其中,OS a ^ I, α用于調(diào)節(jié)入流和出流對分類的不同貢獻(xiàn),以達(dá)到最優(yōu)的分類結(jié)果; .4.6:選擇值最大的聯(lián)合概率 Pm = argmax {ρ1; P2,…,ρΝ} 則流f的應(yīng)用類型即確定為訓(xùn)練集中的第m個應(yīng)用類型。
【文檔編號】H04L29/06GK104135385SQ201410370944
【公開日】2014年11月5日 申請日期:2014年7月30日 優(yōu)先權(quán)日:2014年7月30日
【發(fā)明者】蔣平, 許勇, 趙琛, 史明文, 汪兆斌 申請人:南京市公安局