朱玉娜,張玉濤,閆少閣,范鈺丹,陳韓托
(1.中國(guó)人民解放軍91033部隊(duì),山東青島 266035;2.中國(guó)人民解放軍91286部隊(duì),山東青島 266003;3.中國(guó)人民解放軍信息工程大學(xué),鄭州 450001;4.中國(guó)人民解放軍63850部隊(duì),吉林白城 137001)
隨著密碼協(xié)議在互聯(lián)網(wǎng)中的廣泛應(yīng)用,與密碼協(xié)議相關(guān)的網(wǎng)絡(luò)流量日益增加,密碼協(xié)議識(shí)別已成為當(dāng)前網(wǎng)絡(luò)安全領(lǐng)域的關(guān)鍵技術(shù)之一。
網(wǎng)絡(luò)上協(xié)議類型多種多樣,新類型協(xié)議不斷涌現(xiàn),因此不僅需要準(zhǔn)確識(shí)別已知協(xié)議,還需要擴(kuò)展識(shí)別未知新類型協(xié)議。在協(xié)議識(shí)別領(lǐng)域,現(xiàn)有方法主要包括基于端口映射的識(shí)別方法、基于負(fù)載內(nèi)容的識(shí)別方法[1]和基于流量統(tǒng)計(jì)特征的識(shí)別方法,其中,基于流量統(tǒng)計(jì)特征的識(shí)別方法[2-6]一般采用機(jī)器學(xué)習(xí),只需要很少的計(jì)算資源就可以檢測(cè)發(fā)現(xiàn)新類型協(xié)議,并且避免了隱私問(wèn)題,日益受到人們關(guān)注。根據(jù)協(xié)議數(shù)據(jù)集樣本的不同標(biāo)記程度,可將基于統(tǒng)計(jì)特征的協(xié)議識(shí)別方法分為有監(jiān)督、無(wú)監(jiān)督和半監(jiān)督三類。半監(jiān)督協(xié)議識(shí)別方法兼具有監(jiān)督方法準(zhǔn)確度高和無(wú)監(jiān)督方法檢測(cè)新類型協(xié)議的優(yōu)點(diǎn),更適宜于互聯(lián)網(wǎng)中的協(xié)議識(shí)別需求。文獻(xiàn)[2]提出基于高斯混合模型和隱馬爾可夫模型識(shí)別加密流量,文獻(xiàn)[3]提出基于卷積神經(jīng)網(wǎng)絡(luò)識(shí)別虛擬專用網(wǎng)絡(luò)(Virtual Private Network,VPN)加密流量,文獻(xiàn)[4]提出基于深度神經(jīng)網(wǎng)絡(luò)進(jìn)行流量分類,文獻(xiàn)[5]提出一種基于近鄰傳播學(xué)習(xí)的半監(jiān)督流量分類方法;但現(xiàn)有方法[2-5]大都選擇統(tǒng)一的統(tǒng)計(jì)特征集合,沒(méi)有考慮不同協(xié)議個(gè)體之間的差異,影響協(xié)議識(shí)別效果。為此,應(yīng)引入特征權(quán)重來(lái)強(qiáng)化重要特征的積極作用,削減冗余特征的不利影響[6]。
子空間聚類方法分為硬子空間聚類方法和軟子空間聚類方法,在對(duì)數(shù)據(jù)樣本集聚類劃分類簇的同時(shí),得到各個(gè)數(shù)據(jù)簇對(duì)應(yīng)的特征子集。為提高協(xié)議識(shí)別的準(zhǔn)確性,SubFlow[7]首次采用硬子空間聚類方法構(gòu)建協(xié)議個(gè)體化特征庫(kù)并進(jìn)行協(xié)議識(shí)別,但在提取協(xié)議特征階段,要求流量由同一類協(xié)議組成,不適用多種協(xié)議混雜的情況。軟子空間聚類相較硬子空間聚類方法具有更好的適應(yīng)性和靈活性,已成為學(xué)術(shù)界的研究熱點(diǎn),模糊子空間聚類(Fuzzy Subspace Clustering,F(xiàn)SC)[8]是其中的典型方法。
為提高基于統(tǒng)計(jì)特征的識(shí)別效果,本文結(jié)合半監(jiān)督學(xué)習(xí)和模糊子空間聚類(FSC)方法,提出一種新的半監(jiān)督子空間聚類協(xié)議識(shí)別方法(Semi-supervised Subspace-clustering Protocol Identification Approach,SSPIA),對(duì)統(tǒng)計(jì)特征進(jìn)行加權(quán),獲取各個(gè)特征的權(quán)重系數(shù),以構(gòu)建個(gè)體化的協(xié)議實(shí)例特征庫(kù),并用于后續(xù)協(xié)議識(shí)別。
SSPIA總體框架主要包括4個(gè)階段,如圖1所示。
圖1 SSPIA總體框架Fig.1 Overall framework of SSPIA
1)數(shù)據(jù)預(yù)處理。按照網(wǎng)絡(luò)流5 元組定義對(duì)協(xié)議流量分流,并提取統(tǒng)計(jì)特征,將網(wǎng)絡(luò)流抽象為一組統(tǒng)計(jì)特征值構(gòu)成的屬性向量。數(shù)據(jù)包大小、包到達(dá)時(shí)間間隔是網(wǎng)絡(luò)流中用于協(xié)議識(shí)別的關(guān)鍵特征[9]。Haffner等[10]指出只需要流的前64 B負(fù)載就可以確定協(xié)議識(shí)別特征,因此本文關(guān)注的統(tǒng)計(jì)特征為前N個(gè)數(shù)據(jù)包的大小、包到達(dá)間隔時(shí)間以及流中前64 B 負(fù)載字節(jié)值的分布。
2)已知標(biāo)簽樣本流約束。半監(jiān)督學(xué)習(xí)能夠使用有限數(shù)量的有標(biāo)簽樣本和大量無(wú)標(biāo)簽的樣本進(jìn)行學(xué)習(xí)。首先,基于三元組性質(zhì)對(duì)有標(biāo)簽樣本進(jìn)行擴(kuò)展,獲取更多先驗(yàn)信息;隨后,利用有標(biāo)簽樣本獲取先驗(yàn)約束條件,將有標(biāo)簽的樣本流轉(zhuǎn)化為成對(duì)約束信息,得到must-link約束集合和cannot-link約束集合。
3)基于SFSC 的特征加權(quán)。結(jié)合模糊子空間聚類(FSC)方法和半監(jiān)督學(xué)習(xí)的成對(duì)約束,提出半監(jiān)督模糊子空間聚類(Semi-supervised Fuzzy Subspace Clustering,SFSC)算法,利用成對(duì)約束信息來(lái)指導(dǎo)聚類過(guò)程,建立類簇和協(xié)議類型映射的同時(shí),得到不同類簇各個(gè)特征的權(quán)重系數(shù),并將特征和特征權(quán)重系數(shù)、類簇距離閾值存入?yún)f(xié)議實(shí)例特征庫(kù)。
4)密碼協(xié)議在線識(shí)別。在線提取實(shí)際網(wǎng)絡(luò)環(huán)境下的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文特征,并根據(jù)協(xié)議特征庫(kù)的識(shí)別規(guī)則識(shí)別網(wǎng)絡(luò)報(bào)文所屬協(xié)議類型。
文獻(xiàn)[11]中研究表明,在給定的一段時(shí)間內(nèi),具有相同三元組(destination_ip,destination_port,transport_protocol)的流來(lái)自同一應(yīng)用。根據(jù)三元組性質(zhì),與同一主機(jī)指定端口相連的多個(gè)流屬于同一類型協(xié)議,因此,若某一無(wú)標(biāo)簽樣本與有標(biāo)簽樣本的三元組相同,則可以將有標(biāo)簽樣本的協(xié)議類型標(biāo)記給該無(wú)標(biāo)簽樣本,從而獲取盡可能多的先驗(yàn)信息。
記預(yù)處理后的數(shù)據(jù)集D={x1,x2,…,xn};D中有標(biāo)簽樣本組成的集合為A={xl1,xl2,…,xlm},相應(yīng)的協(xié)議類型標(biāo)簽集合為L(zhǎng)a={yl1,yl2,…,ylm},A?D,xli∈A|1 ≤i≤m對(duì)應(yīng)的協(xié)議類型標(biāo)簽為yli∈L|1 ≤i≤m;無(wú)標(biāo)簽數(shù)據(jù)組成的集合為B={xu1,xu2,…,xuk},B?D,A∪B=D。
提取數(shù)據(jù)集D中每個(gè)樣本流對(duì)應(yīng)三元組(destination_ip,destination_port,transport_protocol)。記xli∈A|1 ≤i≤m為有標(biāo)簽樣本流,其相應(yīng)的協(xié)議類型標(biāo)簽為yli,xuj∈B|1 ≤j≤k為無(wú)標(biāo)簽樣本流。若xli和xuj對(duì)應(yīng)的三元組相同,根據(jù)三元組性質(zhì),則xuj對(duì)應(yīng)的協(xié)議類型也為yli。對(duì)xuj的協(xié)議類型進(jìn)行標(biāo)記,并將其放入有標(biāo)簽集合中,從而可以獲取更多的先驗(yàn)信息。
Wagstaff等[12]將兩種成對(duì)約束must-link(用于限制兩個(gè)樣本必須屬于某一類)和cannot-link(用于限制兩個(gè)樣本不屬于同一類別)引入到半監(jiān)督聚類方法中,其基本思想是:給定數(shù)據(jù)集、must-link 構(gòu)成的正約束集以及cannot-link 構(gòu)成的負(fù)約束集,要求每一步數(shù)據(jù)集的劃分都滿足must-link連接的樣本劃分到同一個(gè)類簇中,滿足cannot-link連接的樣本劃分到不同的類簇中,最終得到的類簇劃分結(jié)果滿足所有成對(duì)約束信息。
本文與之類似,若兩個(gè)有標(biāo)簽樣本流Xi、Xj標(biāo)簽類型相同,屬于同一類,則滿足 must-link 約束,記為(Xi,Xj)∈Mustlink。若兩個(gè)有標(biāo)簽樣本流Xi、Xj標(biāo)簽類型不同,不屬于同一類別,則滿足cannot-link 約束,記為(Xi,Xj)∈Cannotlink。
將有標(biāo)簽的樣本流轉(zhuǎn)化為成對(duì)約束信息,得到兩個(gè)約束集合——must-link 集合SML和cannot-link 集合SCL,其中mustlink 約束在樣本集上滿足自反、對(duì)稱、傳遞關(guān)系。在確定某個(gè)約束關(guān)系后,利用約束的傳遞關(guān)系,可以得到更多同種類型和不同類型的IP 流約束信息。即若(Xi,Xj)∈Mustlink且(Xi,Xk)∈Mustlink,則 (Xj,Xk)∈Mustlink;若 (Xi,Xj)∈Cannotlink且(Xi,Xk)∈Mustlink,則(Xj,Xk)∈Cannotlink。
隨后設(shè)置違背約束的條件VIOLATE-CONSTRAINTS。記d、d1為數(shù)據(jù)集兩個(gè)樣本點(diǎn),z為劃分的某一類簇,d∈z,則違背約束條件函數(shù)VIOLATE-CONSTRAINTS(d,z,SML,SCL)為:1)對(duì)每一個(gè)(d,d1)∈SML,若d1?z,則返回True;2)對(duì)每一個(gè)(d,d1)∈SCL,若d∈z,則返回True;3)其余情況,返回False。
為保證FSC 結(jié)果滿足給定的成對(duì)約束,結(jié)合半監(jiān)督學(xué)習(xí)和FSC 方法,提出SFSC 算法,用給定的約束集合SML和SCL指導(dǎo)FSC的聚類過(guò)程。
SFSC 算法輸入為:樣本數(shù)據(jù)集D={x1,x2,…,xn}、mustlink約束集SML?D×D、cannot-link集合SCL?D×D、類簇?cái)?shù)目k、模糊加權(quán)指數(shù)α,協(xié)議類型標(biāo)簽集合L={L1,L2,…,Lm},其中L通過(guò)有標(biāo)簽樣本對(duì)應(yīng)的標(biāo)簽集合Le獲取,Le中元素可能是重復(fù)的,統(tǒng)計(jì)Le中互不相同的類別標(biāo)簽,得到協(xié)議類型標(biāo)簽集合L。
輸出為:類簇U,類簇中心矩陣Z,Z對(duì)應(yīng)的類型標(biāo)簽LZ,特征加權(quán)系數(shù)矩陣W。
FSC 方法對(duì)初始點(diǎn)較為敏感,初始類簇中心的選擇直接影響聚類效果,選擇不當(dāng)容易陷入局部最優(yōu)解。為此,SFSC方法在結(jié)合成對(duì)約束的基礎(chǔ)上,與K-mean++類似選取彼此距離盡可能遠(yuǎn)的k個(gè)樣本點(diǎn)作為初始點(diǎn)。
記有標(biāo)簽樣本點(diǎn)的協(xié)議類別數(shù)目為k1(k1≤k)。首先從數(shù)據(jù)集D中選擇1個(gè)有標(biāo)簽樣本點(diǎn)作為第1個(gè)類簇中心,隨后的k1-1 個(gè)樣本點(diǎn)從有標(biāo)簽樣本集合中依據(jù)規(guī)則x|max(min(d(x,zi)))選取。具體而言:1)記已選取的類簇中心集合為z={z1,z2,…,zn'}|n'≤k1-1,首先在有標(biāo)簽樣本集合中查找與類簇中心集合z中類別標(biāo)簽不同的樣本點(diǎn)集合X,若某一有標(biāo)簽樣本點(diǎn)與z中所有元素都構(gòu)成cannot-link 約束關(guān)系,則將該樣本點(diǎn)并入集合X中。2)對(duì)樣本點(diǎn)集合X中的每一個(gè)元素x,計(jì)算x與已選取類簇中心zi|zi∈z,1 ≤i≤(k1-1)之間的距離d(x,zi),并取其最小值d(x)=min(d(x,zi)),確定x與最近類簇中心之間的距離;3)從X中選取一個(gè)元素作為新的類簇中心,選取依據(jù)是:d(x)較大的點(diǎn),表示該樣本點(diǎn)離所有已選取類簇中心的距離較大,則該樣本點(diǎn)被選取作為類簇中心的概率較大。
若k1 SFSC 與FSC 最大不同之處在于:當(dāng)基于W和Z更新類簇劃分時(shí),對(duì)每一個(gè)樣本點(diǎn)di,查找與其加權(quán)距離最近的類簇中心Zj,并使得該樣本點(diǎn)不違背給定的約束條件(VIOLATECONSTRAINTS(di,zj,SML,SCL)==False),保 證有must-link 約束的兩個(gè)樣本點(diǎn)在同一個(gè)類簇,有cannot-link 約束的兩個(gè)樣本點(diǎn)在不同的類簇中。 SFSC算法步驟如下所示。 步驟1 從協(xié)議數(shù)據(jù)集D中利用初始點(diǎn)選擇算法選擇k個(gè)中心點(diǎn)。 步驟2 SFSC 聚類。初始化特征加權(quán)系數(shù)矩陣W,并利用約束條件引導(dǎo)聚類過(guò)程,對(duì)每一個(gè)樣本點(diǎn)di,根據(jù)FSC 迭代公式估計(jì)整個(gè)協(xié)議數(shù)據(jù)集的類簇劃分U,并保證不違背約束條件;而后利用FSC迭代公式更新U、W以及類簇中心矩陣Z,直到目標(biāo)函數(shù)收斂。在目標(biāo)函數(shù)收斂后可以得到整個(gè)協(xié)議數(shù)據(jù)集的類簇劃分U,類簇中心矩陣Z,特征加權(quán)系數(shù)矩陣W。 步驟3 建立類簇與協(xié)議類型的映射,將類簇中包含最多數(shù)目的類型標(biāo)簽賦給該類簇。記協(xié)議類型集合為L(zhǎng)={L1,L2,…,Lm},類簇中心集合為z={z1,z2,…,zn'},根據(jù)最大似然估計(jì),可以得到類簇zj與協(xié)議類型Ls(1 ≤s≤m)的映射函數(shù)為l(zj)=arg maxp(l=Ls|zj)=arg max(/Nj),其中,為類簇zj中協(xié)議類型Ls的樣本數(shù)目,為類簇zj中無(wú)標(biāo)簽樣本的數(shù)目;Nj是類簇zj的樣本數(shù)目。若某類簇中,不包含任何有標(biāo)簽的樣本流,則認(rèn)定其為未知協(xié)議類型,標(biāo)記為“未知類型ut”,其中ut初始值為1,每出現(xiàn)一個(gè)未知協(xié)議類型的類簇,ut值增加1。 記x' 為某一樣本點(diǎn),zj為第j個(gè)類簇的中心,wj=[wj1,wj2,…,wjd]為該類簇的特征加權(quán)矢量,則x'與zj的加權(quán)歐氏距離為d(x'-zj)=。借鑒文獻(xiàn)[11]的思想,基于類簇內(nèi)距離的方差對(duì)每一個(gè)協(xié)議類簇設(shè)定距離閾值rj=T×,其中,表示第j個(gè)類簇內(nèi)加權(quán)歐氏距離的方差,用于描述類簇內(nèi)距離的離散程度,T為正值參數(shù),用于調(diào)整方差對(duì)rj的影響程度。如果d(x'-zj) 在確定類簇對(duì)應(yīng)的協(xié)議類型后,將該類簇中心相關(guān)的統(tǒng)計(jì)特征值和特征加權(quán)系數(shù)、類簇距離閾值存入?yún)f(xié)議實(shí)例特征庫(kù),以用于后續(xù)識(shí)別。 選取安全套接層(Secure Sockets Layer,SSL)協(xié)議、安全殼(Secure SHell,SSH)協(xié)議、NS(Needclham-Schroeder)公鑰協(xié)議、sof 協(xié)議、Skype 這5 類經(jīng)典密碼協(xié)議進(jìn)行實(shí)驗(yàn),驗(yàn)證SSPIA的聚類質(zhì)量和協(xié)議識(shí)別性能,其中,SSL、SSH 和Skype 協(xié)議是網(wǎng)絡(luò)中廣泛應(yīng)用的密碼協(xié)議;NS 公鑰協(xié)議和sof 屬于經(jīng)典基礎(chǔ)密碼協(xié)議。 協(xié)議流量數(shù)據(jù)集由4部分組成,如表1所示。 表1 協(xié)議數(shù)據(jù)集Tab.1 Protocol dataset 對(duì)協(xié)議流量數(shù)據(jù)集進(jìn)行預(yù)處理,Wireshark 軟件內(nèi)嵌一個(gè)Lua 語(yǔ)言執(zhí)行引擎,并提供一系列Lua 腳本函數(shù)接口?;贚ua腳本可以編寫Wireshark插件,實(shí)現(xiàn)協(xié)議識(shí)別、協(xié)議報(bào)文解析,也可以獲取Wireshark 提供的與協(xié)議相關(guān)的信息,例如通信雙方IP、端口、載荷內(nèi)容、數(shù)據(jù)包大小、包到達(dá)時(shí)間間隔等。 數(shù)據(jù)集分為兩部分:一部分為訓(xùn)練集,從SSL、SSH、NS、sof 協(xié)議流量中分別提取500 個(gè)完整會(huì)話,用于獲取協(xié)議統(tǒng)計(jì)特征及其相應(yīng)的特征權(quán)重系數(shù)。隨后,對(duì)數(shù)據(jù)集設(shè)置標(biāo)簽率p(即有標(biāo)簽樣本占總樣本的比重),從數(shù)據(jù)集中隨機(jī)抽取標(biāo)簽率為p的樣本標(biāo)記其協(xié)議類型,作為有標(biāo)簽樣本,其他樣本則不標(biāo)記協(xié)議類型,作為無(wú)標(biāo)簽樣本;其余部分作為測(cè)試集,用于測(cè)試識(shí)別結(jié)果。協(xié)議在網(wǎng)絡(luò)運(yùn)行中以IP 數(shù)據(jù)包形式進(jìn)行傳輸。數(shù)據(jù)包結(jié)構(gòu)為網(wǎng)絡(luò)層協(xié)議頭部||傳輸層協(xié)議頭部||應(yīng)用層協(xié)議報(bào)文。在Wireshark 捕獲報(bào)文后,基于Lua 腳本獲取與協(xié)議相關(guān)的信息,對(duì)每一個(gè)到達(dá)的數(shù)據(jù)包,根據(jù)雙向流定義進(jìn)行分流,并依據(jù)密碼協(xié)議特征庫(kù)內(nèi)容,在線提取實(shí)際網(wǎng)絡(luò)環(huán)境下獲取的流及流中報(bào)文的相關(guān)特征,提取流的端口特征FlowPort、流中前64 B 負(fù)載字節(jié)的值(包括負(fù)載內(nèi)容的值ContentValue、偏移ContentOffset)、流量統(tǒng)計(jì)特征(包括數(shù)據(jù)包大小PacketLength、包到達(dá)時(shí)間間隔PacketIntervalTime 等)。對(duì)數(shù)據(jù)包所在流的識(shí)別操作也主要利用這些特征屬性進(jìn)行。與訓(xùn)練集相比,在測(cè)試集中包含了未訓(xùn)練的Skype 協(xié)議,用于檢測(cè)識(shí)別方法發(fā)現(xiàn)新協(xié)議的能力。 聚類效果越好,構(gòu)建的協(xié)議識(shí)別分類器也越精確。本文根據(jù)聚類效果和識(shí)別效果評(píng)價(jià)SSPIA。 1)聚類質(zhì)量評(píng)價(jià)指標(biāo)。 本文基于標(biāo)準(zhǔn)化互信息(Normarlized Mutual Information,NMI)和DBI(Davies-Bouldin Index)衡量SSPIA的聚類質(zhì)量。 其中:X和Y分別為樣本集中表示協(xié)議類型和類簇標(biāo)識(shí)的變量;I(X;Y)=為X和Y的互信息;H(X)和H(Y)分別為X和Y的熵。NMI(X,Y) ∈[0,1],值越大,表明聚類結(jié)果與真實(shí)情況越符合。當(dāng)協(xié)議類型與類簇標(biāo)識(shí)一一對(duì)應(yīng)時(shí),NMI(X,Y)=1。 其中:k為劃分的類簇?cái)?shù)目為類簇Ci內(nèi)的平均離散度,ci為類簇Ci的中心,d(ci,cj)為兩個(gè)類簇中心ci和cj的距離。DBI 指數(shù)越小,說(shuō)明同一類簇內(nèi)部越緊密,不同類簇之間越分散,聚類質(zhì)量越好。 2)識(shí)別性能評(píng)價(jià)指標(biāo)。 采用識(shí)別率和誤識(shí)別率性能指標(biāo)衡量識(shí)別效果。記測(cè)試集中某協(xié)議A的樣本數(shù)目為N。N1表示被正確識(shí)別為A的樣本數(shù),N2表示非A被錯(cuò)誤識(shí)別為A的樣本數(shù),則:識(shí)別率RTP=N1/N,誤識(shí)別率RFP=N2/(N1+N2)。 參數(shù)主要包括FSC模糊指數(shù)α、FSC類簇?cái)?shù)目k、數(shù)據(jù)包個(gè)數(shù)Np、標(biāo)簽率(即有標(biāo)簽樣本在數(shù)據(jù)集中的比重)p、距離閾值rj中的T。 文獻(xiàn)[8]建議α設(shè)置在2 附近。與之相同,設(shè)置α=2.1。類簇?cái)?shù)目k和數(shù)據(jù)包個(gè)數(shù)Np則采用NMI 進(jìn)行設(shè)置。與文獻(xiàn)[5]相同,設(shè)置p=0.1。隨后在使用10%的標(biāo)簽率下,計(jì)算不同聚類數(shù)目下的NMI值,如圖2所示。 圖2 不同聚類數(shù)目k下的NMI值Fig.2 NMI under different cluster number k 由圖2 可知,當(dāng)k=4,Np=4 時(shí),NMI 為最大值,聚類效果最佳。因此,本文設(shè)定k=4,Np=4。 對(duì)T值,本文依據(jù)文獻(xiàn)[13]方法進(jìn)行設(shè)定。當(dāng)k=4,Np=4時(shí),在不同T值情況下,計(jì)算數(shù)據(jù)集中的樣本點(diǎn)與所有類簇中心的距離,若所有距離均小于給定的距離閾值,則該樣本標(biāo)記為未知協(xié)議類型。統(tǒng)計(jì)不同T值情況下數(shù)據(jù)集中標(biāo)記為未知協(xié)議類型的比例,如圖3所示。當(dāng)T增大時(shí),標(biāo)記為未知協(xié)議類型的比例降低,相應(yīng)地發(fā)現(xiàn)新協(xié)議類型的概率也隨著下降。將能夠較好標(biāo)記協(xié)議類型的最小T值作為閾值,設(shè)定T=2.5。 圖3 不同T值下,標(biāo)記為未知協(xié)議的比率Fig.3 Rate of protocols labeled to unknow under different T 4.3.1 聚類質(zhì)量結(jié)果 為說(shuō)明SSPIA 的優(yōu)勢(shì),本文在相同條件下(標(biāo)簽率p=0.1,數(shù)據(jù)包個(gè)數(shù)Np=4)運(yùn)行傳統(tǒng)K-means 方法和FSC 方法,并利用NMI和DBI兩類聚類質(zhì)量指標(biāo)比較SSPIA、K-means和FSC,如表2所示。 表2 聚類質(zhì)量比較Tab.2 Comparison of clustering quality 由表2 可知:1)與K-means和FSC相比,SSPIA的NMI值多數(shù)時(shí)候較大,因此SSPIA相應(yīng)的類簇劃分更為合理。這是因?yàn)镵-means和FSC對(duì)初始點(diǎn)選擇敏感,容易陷入局部最優(yōu)解。在數(shù)據(jù)集中,NS公鑰協(xié)議和sof協(xié)議特征較為相似,采用K-means和FSC聚類,會(huì)出現(xiàn)若干類簇合并的現(xiàn)象,將NS公鑰協(xié)議流量和sof協(xié)議流量劃分為同一類簇。SSPIA由于引入半監(jiān)督機(jī)制,可以較好引導(dǎo)類簇劃分,將NS公鑰協(xié)議流量和sof協(xié)議流量劃分為不同的2 個(gè)類簇,因此其NMI 值相對(duì)K-means 和FSC 大。2)對(duì)DBI 值進(jìn)行比較,結(jié)果表明,SSPIA 和FSC 的DBI 值顯著小于K-means 的DBI 值。與FSC 的DBI 值相比,SSPIA 的DBI值多數(shù)情況下相對(duì)更小,或者比較接近。這表明:①在引入特征權(quán)重系數(shù)后,F(xiàn)SC 和SSPIA 形成的類簇相對(duì)K-means 方法而言,同一類簇之內(nèi)更為緊湊,不同類簇之間更為分散。②由于引入半監(jiān)督機(jī)制,能夠利用少量有標(biāo)簽樣本指導(dǎo)協(xié)議識(shí)別模型的構(gòu)建,SSPIA相對(duì)FSC聚類質(zhì)量更好。 由上述分析可知,與K-means方法和FSC方法相比,SSPIA聚類質(zhì)量更好,因此SSPIA構(gòu)建的協(xié)議識(shí)別分類器也更為精確。 4.3.2 協(xié)議識(shí)別結(jié)果 由表2 可知,當(dāng)類簇?cái)?shù)目k=4 時(shí),K-means 方法、FSC 方法、SSPIA 構(gòu)建的協(xié)議識(shí)別分類器最為準(zhǔn)確。本文采用相同條件下(k=4、標(biāo)簽率p=0.1、數(shù)據(jù)包個(gè)數(shù)Np=4)構(gòu)建的協(xié)議識(shí)別分類器對(duì)測(cè)試集進(jìn)行識(shí)別,識(shí)別結(jié)果如圖4所示。 圖4 協(xié)議識(shí)別結(jié)果Fig.4 Protocol identification results 對(duì)SSL和SSH協(xié)議而言,由于FSC和SSPIA考慮了不同協(xié)議特征的權(quán)重,識(shí)別效果相較K-means、FSC更好。 對(duì)NS和sof協(xié)議而言:①K-means和FSC方法在訓(xùn)練過(guò)程中,NS 公鑰協(xié)議流量和sof 協(xié)議流量劃分為同一類簇,導(dǎo)致無(wú)法識(shí)別sof協(xié)議,識(shí)別率為0;②由于K-means和FSC 方法無(wú)法識(shí)別sof 協(xié)議,導(dǎo)致其他協(xié)議樣本也未被錯(cuò)誤識(shí)別為sof,誤識(shí)別率也為0,反而小于SSPIA 的誤識(shí)別率;③K-means和FSC方法大多數(shù)sof 協(xié)議均被識(shí)別為NS 協(xié)議,NS 協(xié)議的誤識(shí)別率較高,而SSPIA 由于引入半監(jiān)督學(xué)習(xí),在訓(xùn)練過(guò)程中可以較好區(qū)分NS公鑰協(xié)議流量和sof協(xié)議流量,相應(yīng)的識(shí)別效果也較好。 對(duì)Skype 協(xié)議而言,由于訓(xùn)練集未訓(xùn)練,K-means、FSC、SSPIA 均識(shí)別為未知協(xié)議,SSPIA 相較K-means、FSC 識(shí)別效果更好,發(fā)現(xiàn)新類型協(xié)議的能力更好。 為提高基于統(tǒng)計(jì)特征的識(shí)別效果,針對(duì)統(tǒng)計(jì)特征的加權(quán)問(wèn)題,本文提出SSPIA,結(jié)合半監(jiān)督學(xué)習(xí)和子空間聚類方法,獲取各個(gè)統(tǒng)計(jì)特征的權(quán)重系數(shù)。SSPIA 首先引入成對(duì)約束——must-link 和cannot-link,將有標(biāo)簽樣本流轉(zhuǎn)換為成對(duì)約束信息,獲取數(shù)據(jù)集的先驗(yàn)約束條件;隨后,在FSC方法中加入成對(duì)約束,提出半監(jiān)督模糊子空間聚類(SFSC)算法,對(duì)數(shù)據(jù)集進(jìn)行聚類,并建立類簇和協(xié)議類型之間的映射關(guān)系;最后,獲取協(xié)議類簇中心對(duì)應(yīng)的特征值、特征權(quán)重系數(shù)以及類簇的距離閾值,存入?yún)f(xié)議實(shí)例特征庫(kù),并進(jìn)行后續(xù)協(xié)議識(shí)別。實(shí)驗(yàn)結(jié)果表明,針對(duì)基于統(tǒng)計(jì)特征的協(xié)議識(shí)別問(wèn)題,與傳統(tǒng)K-means 方法和FSC方法相比,SSPIA聚類效果更好,相應(yīng)的SSPIA構(gòu)建的協(xié)議識(shí)別分類器和SSPIA協(xié)議識(shí)別效果也更為精確。 但本文方法還存在一定的局限性:1)僅針對(duì)5 個(gè)經(jīng)典密碼協(xié)議進(jìn)行實(shí)驗(yàn),以后需對(duì)更多協(xié)議進(jìn)行實(shí)驗(yàn)(例如無(wú)線傳感器多因素認(rèn)證協(xié)議[14]、雙因素身份驗(yàn)證協(xié)議[15])以驗(yàn)證本文方法的有效性;2)本文捕獲流量為協(xié)議完整的運(yùn)行過(guò)程,還需要考慮當(dāng)捕獲流量不完整時(shí)的會(huì)話識(shí)別。3.2 SFSC聚類
3.3 將協(xié)議特征存入?yún)f(xié)議實(shí)例特征庫(kù)
4 實(shí)驗(yàn)評(píng)估與結(jié)果分析
4.1 SSPIA評(píng)價(jià)指標(biāo)
4.2 參數(shù)設(shè)置
4.3 結(jié)果分析
5 結(jié)語(yǔ)