文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.025
中文引用格式: 李斌,李麗娟. 基于改進(jìn)TSVM的未知網(wǎng)絡(luò)應(yīng)用識(shí)別算法[J].電子技術(shù)應(yīng)用,2016,42(9):95-98.
英文引用格式: Li Bin,Li Lijuan. Unknown network applications traffic classification algorithm based on improved TSVM[J].Application of Electronic Technique,2016,42(9):95-98.
0 引言
根據(jù)Internet2 NetFlow組織對(duì)骨干網(wǎng)中流量的統(tǒng)計(jì)發(fā)現(xiàn):超過40%的網(wǎng)絡(luò)數(shù)據(jù)流屬于未知的應(yīng)用[1],其中惡意代碼流量占有相當(dāng)?shù)谋壤a槍?duì)上述問題,需要設(shè)計(jì)合理、有效的方法快速準(zhǔn)確地識(shí)別和分析未知應(yīng)用流量,進(jìn)而作出相應(yīng)的控制,提高網(wǎng)絡(luò)管理的效率和對(duì)網(wǎng)絡(luò)攻擊的反應(yīng)速度。
網(wǎng)絡(luò)流量識(shí)別方法根據(jù)研究對(duì)象的不同可分為基于端口號(hào)、基于有效負(fù)載和基于流統(tǒng)計(jì)特征3種主流的方法。由于未知應(yīng)用流量一般采用動(dòng)態(tài)端口號(hào)或者偽端口號(hào)進(jìn)行傳輸,且應(yīng)用規(guī)范尚未公開,無法獲取其載荷特征,使得基于端口號(hào)和基于有效負(fù)載這2種方法失去了對(duì)其識(shí)別的能力。而基于流統(tǒng)計(jì)特征方法通過分析網(wǎng)絡(luò)流的統(tǒng)計(jì)特征,可以實(shí)現(xiàn)對(duì)未知應(yīng)用的識(shí)別。 然而,傳統(tǒng)的基于流統(tǒng)計(jì)特征的機(jī)器學(xué)習(xí)方法對(duì)未知應(yīng)用的識(shí)別效果要優(yōu)于前兩者方法,但嚴(yán)重依賴于訓(xùn)練分類器的樣本集合。
文中提到的類型應(yīng)用已知簡稱為已知類,應(yīng)用類型未知簡稱為未知類。根據(jù)訓(xùn)練集中是否存在未知類樣本,將基于流統(tǒng)計(jì)特征的未知應(yīng)用識(shí)別方法大致分為3類:(1)有監(jiān)督方法[2],通過訓(xùn)練集中已知類樣本學(xué)習(xí)構(gòu)造一個(gè)判決邊界,并設(shè)定臨閾值,實(shí)現(xiàn)對(duì)待識(shí)別樣本進(jìn)行預(yù)測,測試樣本超出閾值的則認(rèn)為屬于未知類。由于缺乏未知應(yīng)用信息,存在判決邊界模糊和臨閾值設(shè)定困難問題,識(shí)別效果一般。(2)無監(jiān)督方法[3],通過聚類分析將混合的訓(xùn)練樣本集聚成幾個(gè)簇,實(shí)現(xiàn)對(duì)已知類和未知類的識(shí)別。由于未能有效利用已知類樣本的類別信息,聚類結(jié)果面臨解釋困難。(3)半監(jiān)督方法[4,5],可以有效利用無標(biāo)記樣本輔助已知類樣本學(xué)習(xí)構(gòu)造分類模型,實(shí)現(xiàn)對(duì)未知樣本的識(shí)別。如果未標(biāo)記樣本出現(xiàn)未知類的樣本,會(huì)導(dǎo)致該方法對(duì)已知類的效果大大下降,也無法識(shí)別出新增未知類的樣本。
針對(duì)上述存在的問題,本文提出了一種基于改進(jìn)的直推式支持向量機(jī)的未知網(wǎng)絡(luò)應(yīng)用流量識(shí)別算法(UPCTSVM),通過引入增類損失函數(shù)刻畫未知類的損失代價(jià),構(gòu)造的判決邊界能夠?qū)崿F(xiàn)對(duì)未知應(yīng)用的識(shí)別。實(shí)驗(yàn)結(jié)果表明,該方法能夠在保證已知類別的識(shí)別準(zhǔn)確率情況下,有效地識(shí)別出未知類數(shù)據(jù)。
1 問題描述
本文解決的新增類識(shí)別問題可以描述為如下形式:已知原始網(wǎng)絡(luò)數(shù)據(jù)集中包含K類已知類和M類未知類。訓(xùn)練樣本集為,其中,yi∈Y={1,2,…,K},屬于已知類。測試樣本集為,含有新增類的樣本信息,其中,yi∈YO={1,2,…,K,K+1,…,K+M}。由于這些未知類樣本信息在訓(xùn)練過程中是不可預(yù)見的,那么該新增類問題的目標(biāo)函數(shù)可以表示為f(x):\,其中novel表示樣本x屬于新增加的類別。該目標(biāo)函數(shù)最小化期望錯(cuò)誤為,其中H為hypnosis空間,誤差函數(shù)定義如下:
其中I(·)表示示性函數(shù),若表達(dá)式(1)成立,其值則為1,否則為0。
根據(jù)最大分類間隔理論,所有類別都可以利用最大間隔進(jìn)行判定,所以利用未標(biāo)記樣本幫助訓(xùn)練已知類的最大間隔,可以實(shí)現(xiàn)識(shí)別已知類和未知類。那么,在增加Du這部分樣本后,該新增類識(shí)別問題中用來識(shí)別未知類樣本的分類函數(shù)可以描述為:
其中:f(x)∈H代表分類函數(shù),Ih(f,DL)和Iu(f,Du)分別代表訓(xùn)練集中標(biāo)記樣本和輔助訓(xùn)練的未標(biāo)記樣本的損失函數(shù),Inovel(f,DL)為新增類別樣本的損失函數(shù)。C1、C2和C3為影響因子,用于平衡3種不同樣本在目標(biāo)函數(shù)中的損失權(quán)重。
2 工作原理
假設(shè)獨(dú)立帶標(biāo)記樣本訓(xùn)練集(x1,y1),…,(xL,yL),xi∈Rm,yi∈{-1,+1},其中xi為標(biāo)記樣本向量,yi為樣本所屬類別,+1表示正類,-1表示負(fù)類。另一組無標(biāo)記樣本集:,輔助訓(xùn)練分類模型。其中為線性分類函數(shù),其中為分類模型的參數(shù),w為最優(yōu)超平面的向量,b為偏置,得到TSVM的優(yōu)化問題為:
其中?灼i和?灼j分別代表標(biāo)記樣本與無標(biāo)記的損失式。為了解決多分類問題,需要對(duì)式(3)進(jìn)行擴(kuò)展,本文采用LEE Y等[6]提出的鉸鏈損失函數(shù)對(duì)多類數(shù)據(jù)進(jìn)行刻畫,引入增類損失函數(shù)對(duì)無標(biāo)記樣本集中新增的未知類樣本進(jìn)行刻畫得到UPCTSVM的優(yōu)化問題,然后需要對(duì)該優(yōu)化問題訓(xùn)練K次,每次將某個(gè)已知類判為正類(yi=+1),而剩下的所有類別判為負(fù)類(yi=-1)。其中3類損失函數(shù)分別代表為:
其中損失函數(shù) Inovel是用來調(diào)整控制判決邊界的移動(dòng),使得最大分類間隔最小化,I+、I-分別是訓(xùn)練集中的正例和負(fù)例。
通過式(2)和式(4)訓(xùn)練得到一個(gè)K+1分類器,得到待測樣本x進(jìn)行的判別函數(shù)為:
當(dāng) fnovel為0時(shí),將測試樣本x判為novel。
為了求解上述的優(yōu)化問題,需要為 Inovel(f,DL)添加一個(gè)約束條件:
其中參數(shù)?姿>0,用來控制正類樣本影響判決邊界的動(dòng)態(tài)調(diào)整方向,該約束條件轉(zhuǎn)換成:
由于 Iu(f,Du)采用裁剪的對(duì)稱鉸鏈損失函數(shù)max(0,
1-|z|)≈Rs(z)+Rs(-z)+const,導(dǎo)致該優(yōu)化問題仍很復(fù)雜,Rs(z)min(1-s,max(0,1-z)),s∈(-1,0]。為了更好地區(qū)別Ih和Iu兩種損失函數(shù),Rs(z)也可以用Rs(z)=H1(z)-Hs(z),Hs(z)=max(0,s-z)來表示。
通過前面分析,式(2)的優(yōu)化問題轉(zhuǎn)化為下面最小優(yōu)化問題:
其中:J1(?茲)為凸函數(shù),J2(?茲)為凹函數(shù),當(dāng)L+1≤i≤L+U時(shí),yi=+1;當(dāng)L+U+1≤i≤L+2U時(shí),yi=-1,且當(dāng)1≤i≤U時(shí),xL+U+i=xL+i。
由于在訓(xùn)練集中正類樣本在Du中所占比例遠(yuǎn)小于DL,為了防止將未標(biāo)記樣本都錯(cuò)歸為一類,提出約束條件:
引入文獻(xiàn)[7]中的凹凸求解方法對(duì)目標(biāo)函數(shù)進(jìn)行優(yōu)化,凹凸求解方法是通過求解一系列不同的子問題,包括凸問題和非凸的問題。在凹凸問題求解過程中每次迭代需要求解下面的子問題:
該子問題是由一個(gè)凸函數(shù)和一個(gè)線性函數(shù)組成,注意到在式(3)仍存在一個(gè)非凸約束條件,提出選擇優(yōu)化方法來求解該子問題。當(dāng)?shù)趖+1次迭代,用固定值代替 ,式(12)可以轉(zhuǎn)化為標(biāo)準(zhǔn)的SVM對(duì)偶問題及約束條件:
其中N=L+2U+2+|I-|為對(duì)偶變量總數(shù)。當(dāng)時(shí),,否則為為核函數(shù)矩陣,。前面L+2U個(gè)樣本為已知類的訓(xùn)練樣本,后面2+|I-|個(gè)樣本定義為:
其中,。由于該QP問題和標(biāo)準(zhǔn)SVM的對(duì)偶問題非常相似,考慮利用BOTTOU L等[8]提出的最小優(yōu)化算法(Sequential Minimal Optimization,SMO)進(jìn)行求解,得到最優(yōu)解為:。
3 實(shí)驗(yàn)和分析
3.1 數(shù)據(jù)集和評(píng)價(jià)指標(biāo)
為了驗(yàn)證UPCTSVM算法的分類性能,本文將采用2個(gè)真實(shí)的網(wǎng)絡(luò)數(shù)據(jù)集進(jìn)行仿真測試,分別是MAWI實(shí)驗(yàn)室提供的WIDE公開網(wǎng)絡(luò)數(shù)據(jù)集[9]和校園網(wǎng)截獲的網(wǎng)絡(luò)數(shù)據(jù)CND。WIDE數(shù)據(jù)集分別是采集于2010年4月13日共4個(gè)小時(shí)的流量和2012年3月30日共5個(gè)小時(shí)的流量;CND數(shù)據(jù)集在校園主干網(wǎng)采集4個(gè)小時(shí)的流量。提取流行的9種應(yīng)用層協(xié)議對(duì)文中算法的性能進(jìn)行評(píng)估,分別為HTTP、SSH、SSL、FTP、SMTP、POP3、SMB、DNS和IMAP。為了減少樣本分布不均衡的影響,樣本超過5 000的類隨機(jī)抽取5 000個(gè)樣本,小于5 000的類保持原有樣本,組成一個(gè)含有32 978個(gè)樣本的實(shí)驗(yàn)數(shù)據(jù)集,詳細(xì)信息如表1所示。實(shí)驗(yàn)中,本文提取20個(gè)單向流的統(tǒng)計(jì)特征作為代表樣本信息,然后利用特征選擇算法剔除不相關(guān)或冗余的特征,得到其中的9個(gè)特征,詳細(xì)的描述如表2所示。在實(shí)驗(yàn)過程中,將HTTP、SSL、FTP、SMTP、POP3、DNS和IMAP分別標(biāo)記為序號(hào)1~7。各類樣本按照一定比例,分別組成訓(xùn)練樣本集、未標(biāo)記樣本集和測試樣本集。
為了驗(yàn)證UPCTSVM算法的有效性,將與其他3種算法(OVR-SVM[10]、MOCSVM[4]和MULTIpLE[5])分別進(jìn)行性能比較,采用整體識(shí)別準(zhǔn)確率(Overcall-Precision)和調(diào)和均值(F-measure)作為評(píng)價(jià)指標(biāo)。每次實(shí)驗(yàn)重復(fù)10次,取其平均值作為實(shí)驗(yàn)結(jié)果。
3.2 實(shí)驗(yàn)結(jié)果分析
(1)測試1:不同算法的識(shí)別性能比較。實(shí)驗(yàn)過程中,隨機(jī)選擇5種應(yīng)用作為已知類,剩余2種作為未知類進(jìn)行測試,訓(xùn)練集中各類標(biāo)記樣本數(shù)為200,未標(biāo)記樣本為200,剩余作為測試樣本。圖1和圖2分別表示各類算法在不同訓(xùn)練集上的整體識(shí)別準(zhǔn)確率和未知類的F-measure值。從結(jié)果可以看出,本文提出的算法利用未標(biāo)記樣本輔助訓(xùn)練分類模型可以有效準(zhǔn)確地識(shí)別出新增未知類數(shù)據(jù),其整體識(shí)別準(zhǔn)確率和未知類的識(shí)別效果均優(yōu)于其他算法。因?yàn)镺VR-SVM算法無法識(shí)別新增的未知類,在判別過程中未知類樣本都被誤判為已知類,導(dǎo)致其識(shí)別效果最差;另外2種算法雖然都具備一定的未知類識(shí)別能力,但未能有效利用未標(biāo)記樣本中未知類的樣本信息,使得整體識(shí)別效果和未知類的F-measure值也都比較差。
(2)測試2:不同未標(biāo)記樣本對(duì)UPCTSVM算法的識(shí)別性能的影響。圖3和圖4分別表示訓(xùn)練集中標(biāo)記樣本數(shù)為100和200的情況下,不同的未標(biāo)記樣本輔助訓(xùn)練得到的整體識(shí)別準(zhǔn)確率和新增未知類的F-measure值的曲線圖。結(jié)果顯示,該算法的整體識(shí)別準(zhǔn)確率和未知類的F-measure值均隨著輔助未標(biāo)記樣本的增加而逐漸提高,說明在訓(xùn)練集標(biāo)記樣本數(shù)一定的情況,含有未知類的未標(biāo)記樣本的增加有助于提高分類器識(shí)別未知類樣本的能力。
4 結(jié)束語
針對(duì)訓(xùn)練集中出現(xiàn)未知應(yīng)用的識(shí)別問題,本文提出一種改進(jìn)直推式支持向量機(jī)的未知應(yīng)用識(shí)別算法,通過獲取與訓(xùn)練集相同網(wǎng)絡(luò)環(huán)境下的未標(biāo)記樣本,包含著未知應(yīng)用的數(shù)據(jù)樣本,用來輔助訓(xùn)練分類模型,引入增類損失函數(shù)刻畫新增未知類樣本的損失代價(jià),使得構(gòu)造的判決邊界能夠識(shí)別出未知應(yīng)用樣本。實(shí)驗(yàn)結(jié)果表明,與其他算法相比,本文提出的算法在識(shí)別未知網(wǎng)絡(luò)應(yīng)用的可行性和有效性方面均有良好表現(xiàn)。
參考文獻(xiàn)
[1] 王一鵬,云曉春,張永錚,等.基于主動(dòng)學(xué)習(xí)和SVM方法的網(wǎng)絡(luò)應(yīng)用識(shí)別技術(shù)[J].通信學(xué)報(bào),2013,34(10):135-142.
[2] KUZBORSKIJ I,ORABONA F,CAPUTO B.From n to n+1:Multiclass transfer incremental learning[C].Proce.of the 26th IEEE Conference on Computer Vision and Pattern Recognition,2013:3358-3365.
[3] 王變琴,余順爭.未知網(wǎng)絡(luò)應(yīng)用流量的自動(dòng)提取方法[J].通信學(xué)報(bào),2014,35(7):164-172.
[4] ZHOU Z H,LI M.Tri-training:Exploiting unlabeled data using three classifiers[J].Knowledge and Data Engineering,IEEE Transactions on,2005,17(11):1529-1541.
[5] 李洋,方濱興,郭莉,等.基于直推式方法的網(wǎng)絡(luò)異常檢測方法[J].軟件學(xué)報(bào),2007,18(10):2595-2604.
[6] LEE Y,LIN Y,WAHBA G.Multi-category support vector machines, theory,and application to the classification of microarray data and satellite radiance data[J].Journal of the American Statistical Association,2004,99(465):67-81.
[7] COLLOBERT R,SINZ F,WESTON J,et al.Large scale transductive SVMs[J].The Journal of Machine Learning Research,2006,7(8):1687-1712.
[8] BOTTOU L,LIN C J.Support vector machine solvers[J].Large Scale Kernel Machines,2007,3(1):301-320.
[9] WAWI Working Group.Packet traces from WIDE backbone [EB/OL].[2016-03].http://mawi.wide.ad.jp/mawi/.
[10] ALLWEIN E L,SCHAPIRE R E,SINGER Y.Reducing multiclass to binary:A unifying approach for margin classifiers[J].The Journal of Machine Learning Research,2001,1(2):113-141.