文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.025
中文引用格式: 李斌,李麗娟. 基于改進TSVM的未知網(wǎng)絡應用識別算法[J].電子技術應用,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組織對骨干網(wǎng)中流量的統(tǒng)計發(fā)現(xiàn):超過40%的網(wǎng)絡數(shù)據(jù)流屬于未知的應用[1],其中惡意代碼流量占有相當?shù)谋壤?。針對上述問題,需要設計合理、有效的方法快速準確地識別和分析未知應用流量,進而作出相應的控制,提高網(wǎng)絡管理的效率和對網(wǎng)絡攻擊的反應速度。
網(wǎng)絡流量識別方法根據(jù)研究對象的不同可分為基于端口號、基于有效負載和基于流統(tǒng)計特征3種主流的方法。由于未知應用流量一般采用動態(tài)端口號或者偽端口號進行傳輸,且應用規(guī)范尚未公開,無法獲取其載荷特征,使得基于端口號和基于有效負載這2種方法失去了對其識別的能力。而基于流統(tǒng)計特征方法通過分析網(wǎng)絡流的統(tǒng)計特征,可以實現(xiàn)對未知應用的識別。 然而,傳統(tǒng)的基于流統(tǒng)計特征的機器學習方法對未知應用的識別效果要優(yōu)于前兩者方法,但嚴重依賴于訓練分類器的樣本集合。
文中提到的類型應用已知簡稱為已知類,應用類型未知簡稱為未知類。根據(jù)訓練集中是否存在未知類樣本,將基于流統(tǒng)計特征的未知應用識別方法大致分為3類:(1)有監(jiān)督方法[2],通過訓練集中已知類樣本學習構造一個判決邊界,并設定臨閾值,實現(xiàn)對待識別樣本進行預測,測試樣本超出閾值的則認為屬于未知類。由于缺乏未知應用信息,存在判決邊界模糊和臨閾值設定困難問題,識別效果一般。(2)無監(jiān)督方法[3],通過聚類分析將混合的訓練樣本集聚成幾個簇,實現(xiàn)對已知類和未知類的識別。由于未能有效利用已知類樣本的類別信息,聚類結果面臨解釋困難。(3)半監(jiān)督方法[4,5],可以有效利用無標記樣本輔助已知類樣本學習構造分類模型,實現(xiàn)對未知樣本的識別。如果未標記樣本出現(xiàn)未知類的樣本,會導致該方法對已知類的效果大大下降,也無法識別出新增未知類的樣本。
針對上述存在的問題,本文提出了一種基于改進的直推式支持向量機的未知網(wǎng)絡應用流量識別算法(UPCTSVM),通過引入增類損失函數(shù)刻畫未知類的損失代價,構造的判決邊界能夠實現(xiàn)對未知應用的識別。實驗結果表明,該方法能夠在保證已知類別的識別準確率情況下,有效地識別出未知類數(shù)據(jù)。
1 問題描述
本文解決的新增類識別問題可以描述為如下形式:已知原始網(wǎng)絡數(shù)據(jù)集中包含K類已知類和M類未知類。訓練樣本集為,其中,yi∈Y={1,2,…,K},屬于已知類。測試樣本集為
,含有新增類的樣本信息,其中,yi∈YO={1,2,…,K,K+1,…,K+M}。由于這些未知類樣本信息在訓練過程中是不可預見的,那么該新增類問題的目標函數(shù)可以表示為f(x):\
,其中novel表示樣本x屬于新增加的類別。該目標函數(shù)最小化期望錯誤為
,其中H為hypnosis空間,誤差函數(shù)定義如下:
其中I(·)表示示性函數(shù),若表達式(1)成立,其值則為1,否則為0。
根據(jù)最大分類間隔理論,所有類別都可以利用最大間隔進行判定,所以利用未標記樣本幫助訓練已知類的最大間隔,可以實現(xiàn)識別已知類和未知類。那么,在增加Du這部分樣本后,該新增類識別問題中用來識別未知類樣本的分類函數(shù)可以描述為:
其中:f(x)∈H代表分類函數(shù),Ih(f,DL)和Iu(f,Du)分別代表訓練集中標記樣本和輔助訓練的未標記樣本的損失函數(shù),Inovel(f,DL)為新增類別樣本的損失函數(shù)。C1、C2和C3為影響因子,用于平衡3種不同樣本在目標函數(shù)中的損失權重。
2 工作原理
假設獨立帶標記樣本訓練集(x1,y1),…,(xL,yL),xi∈Rm,yi∈{-1,+1},其中xi為標記樣本向量,yi為樣本所屬類別,+1表示正類,-1表示負類。另一組無標記樣本集:,輔助訓練分類模型。其中
為線性分類函數(shù),其中
為分類模型的參數(shù),w為最優(yōu)超平面的向量,b為偏置,得到TSVM的優(yōu)化問題為:
其中?灼i和?灼j分別代表標記樣本與無標記的損失式。為了解決多分類問題,需要對式(3)進行擴展,本文采用LEE Y等[6]提出的鉸鏈損失函數(shù)對多類數(shù)據(jù)進行刻畫,引入增類損失函數(shù)對無標記樣本集中新增的未知類樣本進行刻畫得到UPCTSVM的優(yōu)化問題,然后需要對該優(yōu)化問題訓練K次,每次將某個已知類判為正類(yi=+1),而剩下的所有類別判為負類(yi=-1)。其中3類損失函數(shù)分別代表為:
其中損失函數(shù) Inovel是用來調整控制判決邊界的移動,使得最大分類間隔最小化,I+、I-分別是訓練集中的正例和負例。
通過式(2)和式(4)訓練得到一個K+1分類器,得到待測樣本x進行的判別函數(shù)為:
當 fnovel為0時,將測試樣本x判為novel。
為了求解上述的優(yōu)化問題,需要為 Inovel(f,DL)添加一個約束條件:
其中參數(shù)?姿>0,用來控制正類樣本影響判決邊界的動態(tài)調整方向,該約束條件轉換成:
由于 Iu(f,Du)采用裁剪的對稱鉸鏈損失函數(shù)max(0,
1-|z|)≈Rs(z)+Rs(-z)+const,導致該優(yōu)化問題仍很復雜,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)化問題轉化為下面最小優(yōu)化問題:
其中:J1(?茲)為凸函數(shù),J2(?茲)為凹函數(shù),當L+1≤i≤L+U時,yi=+1;當L+U+1≤i≤L+2U時,yi=-1,且當1≤i≤U時,xL+U+i=xL+i。
由于在訓練集中正類樣本在Du中所占比例遠小于DL,為了防止將未標記樣本都錯歸為一類,提出約束條件:
引入文獻[7]中的凹凸求解方法對目標函數(shù)進行優(yōu)化,凹凸求解方法是通過求解一系列不同的子問題,包括凸問題和非凸的問題。在凹凸問題求解過程中每次迭代需要求解下面的子問題:
該子問題是由一個凸函數(shù)和一個線性函數(shù)組成,注意到在式(3)仍存在一個非凸約束條件,提出選擇優(yōu)化方法來求解該子問題。當?shù)趖+1次迭代,用固定值代替
,式(12)可以轉化為標準的SVM對偶問題及約束條件:
其中N=L+2U+2+|I-|為對偶變量總數(shù)。當時,
,否則為
為核函數(shù)矩陣,
。前面L+2U個樣本為已知類的訓練樣本,后面2+|I-|個樣本定義為:
其中,。由于該QP問題和標準SVM的對偶問題非常相似,考慮利用BOTTOU L等[8]提出的最小優(yōu)化算法(Sequential Minimal Optimization,SMO)進行求解,得到最優(yōu)解為:
。
3 實驗和分析
3.1 數(shù)據(jù)集和評價指標
為了驗證UPCTSVM算法的分類性能,本文將采用2個真實的網(wǎng)絡數(shù)據(jù)集進行仿真測試,分別是MAWI實驗室提供的WIDE公開網(wǎng)絡數(shù)據(jù)集[9]和校園網(wǎng)截獲的網(wǎng)絡數(shù)據(jù)CND。WIDE數(shù)據(jù)集分別是采集于2010年4月13日共4個小時的流量和2012年3月30日共5個小時的流量;CND數(shù)據(jù)集在校園主干網(wǎng)采集4個小時的流量。提取流行的9種應用層協(xié)議對文中算法的性能進行評估,分別為HTTP、SSH、SSL、FTP、SMTP、POP3、SMB、DNS和IMAP。為了減少樣本分布不均衡的影響,樣本超過5 000的類隨機抽取5 000個樣本,小于5 000的類保持原有樣本,組成一個含有32 978個樣本的實驗數(shù)據(jù)集,詳細信息如表1所示。實驗中,本文提取20個單向流的統(tǒng)計特征作為代表樣本信息,然后利用特征選擇算法剔除不相關或冗余的特征,得到其中的9個特征,詳細的描述如表2所示。在實驗過程中,將HTTP、SSL、FTP、SMTP、POP3、DNS和IMAP分別標記為序號1~7。各類樣本按照一定比例,分別組成訓練樣本集、未標記樣本集和測試樣本集。
為了驗證UPCTSVM算法的有效性,將與其他3種算法(OVR-SVM[10]、MOCSVM[4]和MULTIpLE[5])分別進行性能比較,采用整體識別準確率(Overcall-Precision)和調和均值(F-measure)作為評價指標。每次實驗重復10次,取其平均值作為實驗結果。
3.2 實驗結果分析
(1)測試1:不同算法的識別性能比較。實驗過程中,隨機選擇5種應用作為已知類,剩余2種作為未知類進行測試,訓練集中各類標記樣本數(shù)為200,未標記樣本為200,剩余作為測試樣本。圖1和圖2分別表示各類算法在不同訓練集上的整體識別準確率和未知類的F-measure值。從結果可以看出,本文提出的算法利用未標記樣本輔助訓練分類模型可以有效準確地識別出新增未知類數(shù)據(jù),其整體識別準確率和未知類的識別效果均優(yōu)于其他算法。因為OVR-SVM算法無法識別新增的未知類,在判別過程中未知類樣本都被誤判為已知類,導致其識別效果最差;另外2種算法雖然都具備一定的未知類識別能力,但未能有效利用未標記樣本中未知類的樣本信息,使得整體識別效果和未知類的F-measure值也都比較差。
(2)測試2:不同未標記樣本對UPCTSVM算法的識別性能的影響。圖3和圖4分別表示訓練集中標記樣本數(shù)為100和200的情況下,不同的未標記樣本輔助訓練得到的整體識別準確率和新增未知類的F-measure值的曲線圖。結果顯示,該算法的整體識別準確率和未知類的F-measure值均隨著輔助未標記樣本的增加而逐漸提高,說明在訓練集標記樣本數(shù)一定的情況,含有未知類的未標記樣本的增加有助于提高分類器識別未知類樣本的能力。
4 結束語
針對訓練集中出現(xiàn)未知應用的識別問題,本文提出一種改進直推式支持向量機的未知應用識別算法,通過獲取與訓練集相同網(wǎng)絡環(huán)境下的未標記樣本,包含著未知應用的數(shù)據(jù)樣本,用來輔助訓練分類模型,引入增類損失函數(shù)刻畫新增未知類樣本的損失代價,使得構造的判決邊界能夠識別出未知應用樣本。實驗結果表明,與其他算法相比,本文提出的算法在識別未知網(wǎng)絡應用的可行性和有效性方面均有良好表現(xiàn)。
參考文獻
[1] 王一鵬,云曉春,張永錚,等.基于主動學習和SVM方法的網(wǎng)絡應用識別技術[J].通信學報,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)絡應用流量的自動提取方法[J].通信學報,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)絡異常檢測方法[J].軟件學報,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.