錢亞冠 ,關曉惠 ,云本勝 ,樓瓊 ,馬鵬飛
(1.浙江科技學院理學院,浙江 杭州310023;2.浙江水利水電學院,浙江 杭州310018)
基于可變特征空間SVM的互聯網流量分類
錢亞冠1,關曉惠2,云本勝1,樓瓊1,馬鵬飛1
(1.浙江科技學院理學院,浙江 杭州310023;2.浙江水利水電學院,浙江 杭州310018)
支持向量機(support vector machine,SVM)是一類具有良好泛化能力的機器學習算法,適合應用于互聯網動態環境下的流量分類問題。目前將SVM擴展到流量分類這樣的多分類問題的方法主要有One-Against-All和One-Against-One方法。這些方法都基于單一的特征空間訓練SVM兩分類器,沒有考慮到不同特征對不同流量類的不同區分能力,因此獲得的分離超平面并不是最合理的。為此提出了可變特征空間的SVM集成方法,即為每個兩分類SVM構建具有最優區分能力的獨立特征空間,單獨訓練兩分類SVM,最后再利用One-Against-All和One-Against-One方法集成為多分類器。實驗表明,與原來的單一特征空間的One-Against-All和One-Against-One集成方法相比,提出的方法能有效提高流量分類器分類精度和召回率,更易獲得最優分離超平面。
支持向量機;可變特征空間;流量分類
流量分類是互聯網領域中的一個重要應用,如何準確地識別出流量的應用類型對于網絡管理、流量控制及網絡安全等具有重要的意義。由于互聯網的復雜性、動態性,在各種應用層出不窮的環境下,如何準確地識別出流量的應用類型目前仍然是個極具挑戰的課題。
互聯網早期利用TCP端口號可以容易地確定流量的應用類型,但隨著互聯網應用的不斷衍生,很多應用開始使用動態端口,甚至使用其他著名端口,如P2P應用開始使用Web的80端口傳輸數據。這種現狀使得基于端口的方法在識別率上顯著下降。基于DPI(deep packet inspection)的流量分類技術是目前被廣泛部署的另一類方法[1]。該方法通過檢測數據分組中的用戶數據部分,發現特定應用的特征字串,實現對流量應用類型的識別。但隨著目前用戶數據的加密和隱私保護的要求,這種方法也越來越顯示出它的不足。
最近,基于流量統計特征的機器學習方法成為流量分類領域的研究熱點[2-5]。所謂的基于機器學習的流量分類方法就是通過某種機器學習算法,從流量訓練數據中建立分類模型,從而實現對流量類型的預測。這種方法的優點是可以克服數據加密的限制,同時僅利用IP和TCP這兩層數據分組頭部的信息,不受隱私保護的制約。由于互聯網流量具有很大的動態性,如果機器學習算法過擬合(over-fitting)訓練數據,那么分類模型的泛化能力就會下降,即對未知數據的預測正確率下降。在眾多的機器學習算法 中,支持向量 機(support vector machine,SVM)因具有良好的泛化能力,比其他學習算法更適合于流量分類。
徐鵬等人[6]提出一種基于SVM的流量分類方法,該方法利用非線性變換和結構風險最小化原則將流量分類問題轉化為二次優化問題,實驗表明該方法具有良好的分類正確率和穩定性。Alice E等人[7]將SVM應用于流量分類,提出了一個簡單的優化算法解決SVM最優參數選擇的問題。Zhou X S等人[8]利用SVM實現對產生P2P流量的應用程序進行分類。Li Z等人[9]選擇了對分類影響最大的9種流量特征,利用SVM技術將網絡流量分成了bulk traffic、interactive、WWW、service、P2P、mail、other 7 類 , 得 到 了95%以上的整體正確率。但由于SVM本質上是一個兩分類器(binary classifier),因此將SVM應用到流量分類這樣的多分類 (multi-class classification)問題時,往往采用One-Against-All[10]或 One-Against-One[11]等 方 法 將 兩 分 類 器集成為多分類器。但這些方法都在一個共同的特征空間下尋找最優分離超平面,但同一特征在不同類之間的區分能力并不等同[12]。針對這個問題,本文在One-Against-All和One-Against-One方法基礎上提出可變特征空間(flexible-feature-space,FFS)的方法,實驗證明該方法可有效地提高流量分類的正確率。
SVM是一種對線性和非線性數據進行分類的方法。對于非線性可分的數據集,通過非線性映射,把原始訓練數據映射到高維空間,在新的空間中搜索最佳分離超平面。假設具有兩種不同分類的數據 集(x1,y1),… ,(xm,ym),xi∈Rn,yi∈{-1,+1}。基本的SVM就是尋找一個可以分離兩類數據的最優超平面。如果該數據集是線性可分的,則分離超平面可表示為:

其中,W=(w1,w2,…,wk)是權重向量;b 是一個標量參數。所有的數據實例滿足:

如果數據集是線性不可分的,那么通過一個非線性映射函數 (·)將原始數據映射到高維空間,從而使得在新空間中實現線性可分:

滿足上述條件的分離超平面很多,取邊緣最大的分離超平面為最優分離超平面,這樣的超平面具有最佳的泛化性能。因此,求最優分離超平面的問題轉化為如下的凸兩次規劃問題:

其中,C>0為常數,稱為懲罰系數,用以控制對錯分數據點的懲罰程度;ξi≥0稱為松弛變量,是為解決樣本線性不可分而引入的。利用拉格朗日乘子法和KKT(Karush-Kuhn-Tucker)條件可求解上述優化問題。
將多個兩分類基本SVM集成為能完成多分類的SVM,通常是在相同的特征空間中搜尋最優的分離超平面。已有研究表明,同一特征對不同流量類的區分能力是不同的[12],如數據分組大小的均值可以較好地區分SSH和P2P應用,但卻不能很好地區分FTP和P2P。單一的特征空間并不適合所有的流量類,會增加搜索最優分離超平面的困難。因此,本文提出可變特征空間的方法來克服這種單一特征空間的局限性。
圖1給出了不同特征空間下的線性可分性的情況。假設原始特征空間 F={a1,a2,a3,a4,a5},任務是對 C1、C2、C33 類流量進行分類。從圖 1(a)可以發現,在特征子空間{a1,a2,a3}下,可以找到合適的超平面分離C2、C3的實例,但不能分離 C1、C2和 C1、C3的實例。通過改變特征子空間,如圖 1(b)所示,選擇{a3,a4,a5}作為特征子集,則可以找到合適的超平面分離C1、C2的實例,但卻不能分離C2、C3的實例。由此可見,在不同的特征子空間中尋找最優分離超平面的難度不同,對于 C2、C3而言,選擇{a1,a2,a3}作為特征空間更易找到分離超平面;而對于 C1、C2則選擇{a3,a4,a5}作為特征空間則更易線性可分。因此,采用傳統上的單一特征空間存在很大的局限性。考慮到SVM是典型的兩類分類器,利用One-Against-All和One-Against-One的方式集成為多分類器,可以在單個的SVM分類器上采用單獨的特征空間,克服單一特征空間的不合理性。除了在原始的特征空間采用這種可變特征空間的方法,也可把它推廣到經過非線性變換后的核空間中。假設 (·)是特征空間Fm到Fn的非線性映射(n>m),仍然可以在高維核空間Fn中為分類Ci、Cj找到合適的特征子空間,使其更容易被線性可分。
假設有k個流量類,One-Against-All方法將集成k個SVM兩分類器來實現多分類器的能力。假設給定m個流量訓練數據實例(x1,y1),…,(xm,ym),yi∈{HTTP,FTP,mail,…,games},這里假設有k種流量類型。可變特征空間的One-Against-All集成方法如圖2所示。要識別k種流量類型,需要構建k個兩分類SVM,每個SVM負責識別一種流量類。每個SVM有專門的訓練數據,如圖2所示,SVM_1的訓練數據是通過保留HTTP流量的類別標簽,將其他流量的類別標簽改成others的方法構建,這樣SVM_1只負責識別HTTP。以此類推,其他SVM根據其負責識別的流量類型,用同樣的方法構建相應的訓練數據。

圖1 不同特征空間(也可映射到核空間)下的線性可分性

圖2 可變特征空間的One-Against-All集成方法
為了克服單一特征空間的缺陷,本文在每個SVM的專門訓練數據上抽取特征。考慮到在原始特征空間上存在線性不可分的情況,先將原始的特征空間用多項式核函數K(x,xi)=(x·xi)+1)d映射到高維空間。具體的特征選擇方法采用Guyon等人[13]提出的SVM-RFE特征選擇算法獲得單獨的特征空間。該方法是Wrapper型特征選擇方法,即它選擇特征的度量是SVM的分類性能,因此該方法產生的特征空間可保證獲得合理的分離超平面。該方法的基本原理是根據特征在SVM上的分類性能排序,在每一次遞歸迭代時去除排序在最后的那個特征。具體而言,在訓練SVM過程中,得到當前的最優分離超平面,計算權向量,則第 i個特征的排序重要性為 ci=(wi)2。本文提出的可變特征空間方法的優點是:對于特定的SVM,去除了對于該SVM不重要的特征,使得搜索到的最優分離超平面更接近于假設類,從而提高整體的分類精度。
不失一般性,這里僅以One-Against-All集成框架中的第i(i≤k)個SVM為例說明建模原理,其本質是解決如下凸兩次規劃問題:

其中,(·)是非線性映射函數,C是懲罰系數,ξ是松弛變量。最終通過如下的判決函數判定x的分類標簽:,即取上述k個判決函數中的最大值所對應的預測類為最終的分類標簽。本文把上述可變特征空間的思路結合到One-Against-All集成方法后,將其命名為One-Against-All+,具體算法如下所示。
輸 入 訓 練 數 據 D={(x1,y1),(x2,y2),… ,(xN,yN)},流量類標簽 TC={C1,C2,…,CK},測 試數據 T={(x1',y1'),(x2',y2'),…,(xM',yM')}。
輸出 預測正確/錯誤的計數器{r(+1),r(-1)}和預測類別。

SVMi←在特征空間 Ωi上獲得模型;/求解式(6)~式(8)的優化問題;

One-Against-One方法是另一種把兩分類SVM集成為多分類器的方法。假設要完成對k個流量類的分類任務,首先為每兩個分類構造一個SVM,用于判別這兩個流量類型,共需構建k(k-1)/2個SVM兩分類器。對于一個未知流量,每個SVM會輸出一種流量類別的預測,One-Against-One方法通過投票表決的選出最終的預測分類,從而解決多分類問題。不失一般性,假設第i個分類為HTTP,第j個分類為FTP,那么構建判別 HTTP或FTP的兩分類SVMi,j就是求解如下的凸兩次規劃問題:

對某個未知的流量樣本x進行測試時,需要利用k(k-1)/2個SVM對其進行判別。如果被SVMij判別為屬于第i類,則第i類的票數加一;否則,第j類的票數加一。最終得票數最多的類就是x的預測類標簽。可變特征空間的One-Against-One集成方法如圖3所示。
與One-Against-All方法一樣,需要為每個兩分類SVM準備專門的訓練數據。假設訓練一個用于區分HTTP和FTP的SVM,訓練數據通過如下方式產生:在原始數據中僅抽取出類標簽為HTTP和FTP的流量數據。同理,為了訓練用于區分HTTP和mail的SVM,只從原始數據中抽取HTTP和mail流量。假設有k個流量類別,那么共需構建k(k-1)/2個訓練數據集。同樣采用將原始特征空間映射到高維核空間,再采用SVM-RFE特征選擇算法為每個SVM選取單獨的特征空間。將這種可變特征空間的One-Against-One集成方法稱為One-Against-One+,具體算法如下。

圖3 可變特征空間的One-Against-One集成方法
輸入訓練數據D={(x1,y1),(x2,y2),… ,(xN,yN)},流 量 類標簽 TC={C1,C2,…,CK},測試數據 T={(x1',y1'),(x2',y2'),…,(xM',yM')}。
輸出 預測正確/錯誤的計數器{r(+1),r(-1)}和預測類別。


本文采用k-折交叉驗證的方法進行實驗結果的評估。k-折交叉驗證是將數據隨機的劃分成k個不相交、大小大致相等的子集 D1,D2,…,Dk。訓練與測試進行 k 次,在第i次迭代時,子集Di用作測試集,其余的子集一起用作訓練集。分類準確率估計是k次迭代準確分類的實例總數除以初始數據的中的實例總數,通常采用10折交叉驗證。評估指標采用召回率(recall)與精度(precision)這兩個指標:

其中,P為測試集中事先標識為正例的樣本數,TP為分類器正確預測為正例的樣本數,TP為被分類器錯誤的將正例預測為負例的樣本數。
本文采用英國劍橋大學Moore等人提供的公開流量數據集[14]作為實驗數據。該數據集通過連續采集24 h的網絡流量,并按28 min為間隔隨機抽取10個數據塊,再將流量數據分組構建成數據流(flow),最后得到10個數據子集Data1,Data2,…,Data10。由于在10個數據子集上進行的實驗結果非常相似,本文只列出了Data1的實驗結果。
實驗用的第二個數據集是從校園網中心的某臺交換機上獲得的流量數據,該交換機匯聚了某幢男生宿舍的訪問外網的所有網絡流量。經過連續 1 h(21:30-22:30)的連續數據采集,共計獲得325 538條數據流。為保護隱私的需要,只截取數據分組的分組頭部分,并通過Tcpdpriv工具對IP地址進行了匿名化處理。分類標簽利用與實驗室合作的迪普公司的DPI模塊完成,并按Moore等提出的特征集進行了預處理。
因上述數據集中存在嚴重的類不平衡情況,采用欠抽樣的方法降低WWW這類占高比例 (Moore數據集中占72.2%)的流數據,最終的訓練數據集中各類流量的比例見表 1、表 2。

表1 類平衡處理后的數據集1

表2 類平衡處理后的數據集2
英國劍橋大學Moore等人[14]提取出了248種網絡流特征,但是這些特征有些是不能實時獲得的。考慮到過多的特征在SVM訓練過程中非常低效,而CFS這樣基于相關的特征選擇算法不一定適合SVM;基于SVM的Wrapper型算法在特征空間太大,數據很多時也非常低效,為此本文采用目前被大都數參考文獻使用,又容易在線提取的特征作為基本的特征子集(見表3)。本文提出的可變特征空間的方法就是在這個基本特征子集的基礎上利用SVM-RFE算法提取兩分類SVM的特征子集,如對于區分WWW和mail的 SVM,優化的特征空間為:{Dst_port,mean_data_ip_b→a,duration,throughput b→a,mean_data_ip_a→b}。由于篇幅有限,不一一列出所有兩分類SVM的特征空間。

表3 網絡流特征子集
圖4和圖5是4種方法在數據集1上的流量分類精度和召回率的對比情況。其中One-Against-One+表示改進One-Against-One的可變特征空間方法,One-Against-All+表示改進One-Against-All的可變特征空間方法。為便于比較,4種方法的SVM均采用的多項式核函數。從整體觀察,本文提出的可變特征空間方法均使比統一特征空間的方法在精度和召回率上都有很大程度的提高。對于如WWW、mail這樣的比例較高的類,雖然One-Against-All和One-Against-One方法已經可以達到85%以上的精度和召回率,改進的新方法使它們提高到90%以上。分類準確率提升幅度最大的是那些比例很小,原本分類準確率很低的少數類,如attack、intertive等。如攻擊流量attack,本身包含多種攻擊類型的流量(worm,virus等),因此它們的共同特征比較少,如果使用一個所有分類共享的單一的特征空間會使得很多區域疊加,難以找到一個較好的決策分離超平面。改進方法專門為攻擊流量的二分類SVM選擇特定的特征空間,有利于減少無關特征的干擾。實驗數據表明,attack流量的精度從原來的13.4%提高到 50.6%(One-Against-All+方法),15.7%提高到51.2%(One-Against-One+方法)。同樣,FTP-control、interactive等原來正確率很低的分類也得到了很大的提高。
圖6和圖7是4種方法在數據集2上的流量分類精度和召回率的對比情況。數據集2是從校網絡中心的某臺交換機采集到的實際數據,本文同樣對數據進行了欠抽樣處理,以均衡流量類的分布。數據集2上的流量分類對比結果與數據集1相似,改進的方法使得分類正確率得到了進一步提高。在精度上的提高尤其顯著:(One-Against-All+方法)QQ從 64.2%提高到 83.1%,P2P從 72.3%提高到92.6%,games從22.5%提高到40.3%,attack從40.7提高到67.5%;(One-Against-One+方法)QQ從 63.8%提高到 84.3%,P2P從66.7%提高到90.1%,games從 26.6%提高到 39.8%,attack從32.4%提高到65.2%。在召回率上,改進方法也比原方法有了明顯的提高。由此可見,本文提出的方法有助于進一步提高One-Against-All和One-Against-One的分類正確率。

圖4 4種方法在數據集1上的分類精度對比

圖5 4種方法在數據集1上的分類召回率對比
機器學習方法目前應用于流量分類是一個研究熱點,SVM由于其良好的泛化能力,非常適合應用于互聯網這類高度動態變化的場景。SVM最初是針對兩分類問題的,即SVM是典型的兩分類器。但互聯網流量的應用類型很多,對它們進行分類是典型的多分類問題。傳統上將SVM擴展到多分類模型是通過One-Against-All和One-Against-One方法。本文發現不同的流量特征(如數據分組平均大小)對于不同的應用,其區分能力是不同的。因此,傳統上采用單一的特征空間來建立這些兩分類SVM顯然不是最優的。本文提出可變特征空間的方法,在One-Against-All和One-Against-One的基礎上,為每個兩分類SVM構建獨立的特征空間,這樣找到的最優分離超平面優于統一的特征空間。通過兩個真實的流量數據集,對比分析了各自的分類正確性。實驗結果表明,本文提出的可變特征空間的分類方法可以有效提高原始的One-Against-All和One-Against-One方法的分類性能。本文提出的基于機器學習的流量分類方法,目前類標簽標注仍依賴于DPI,將來擬研究主動學習等方式來解決大規模類標簽標注問題。

圖6 4種方法在數據集2上的分類精度對比

圖7 4種方法在數據集2上的分類召回率對比
[1]BUJLOW T, CARELA-ESPANOL V, BARLET-ROS P.Independentcomparison ofpopularDPI tools fortraffic classification[J].Computer Networks,2015(76):75-89.
[2]錢亞冠,張旻.基于過抽樣技術的 P2P流量識別方法 [J].電信科學,2014,30(4):109-113.QIAN Y G,ZHANG M.P2P trafficidentification based over-sampling technique[J].Telecommunications Science,2014,30(4):109-113.
[3]TONGAONKAR A,TORRES R,ILIOFOROU M,et al.Towards self-adaptive network traffic classification [J]. Computer Communications,2015(56):35-46.
[4]SOYSALA M,SCHMIDT E G.Machine learning algorithms for accurate flow-based network trafficclassification:evaluation and comparison[J].Performance Evaluation,2010,67(6):451-467.
[5]SINGH H.Performanceanalysisofunsupervised machine learning techniques for network traffic classification [C]/2015 Fifth InternationalConference on Advanced Computing &Communication Technologies (ACCT), Feb 21-25, 2015,Haryana,India.New Jersey:IEEE Press,2015:401-404.
[6]徐鵬,劉瓊,林森.基于支持向量機的Internet流量分類研究[J].計算機研究與發展,2009,46(3):407-414.XU P,LIU Q,LIN S.Internet traffic classification using support vector machine [J].JournalofComputer Research and Development,2009,46(3):407-414.
[7]ESTE A,GRINGOLIF,SALGARELLIL.Supportvector machines for TCP traffic classification [J].The International Journal of Computer and Telecommunications Networking,2009,53(14):2476-2490.
[8]ZHOU X S.A P2P traffic classification method based on SVM[C]//The 2008 InternationalSymposium on ComputerScience and Computational Technology,Dec 20-22,2008,Washington,DC,USA.[S.1.:s.n.],2008:53-57.
[9]LI Z,YUAN R,GUAN X.Accurate classification of the internet traffic based on the svm method[C]//The IEEE International Conference onCommunications,2007 (ICC’07),June 24-28,2007,Glasgow,Scotland.New Jersey:IEEE Press,2007:1373-1378.
[10]CHANG C C,LIN C J.LIBSVM:a library for support vector machines [EB/OL]. [2001-07-20].http://www.csie.ntu.edu.tw/~cjlin/libsvm.
[11]KREBEL H G.Pairwiseclassification and supportvector machines [A]/SCHOLKIPF B,BURGES C J C,SMOLA A.Advances in kernelmethods:support vector learning [M].Cambridge:The MIT Press,1999:255-268.
[12]XIE G,ILIOFOTOU M,KERALAPURA R,et al.Subflow:Towards practical flow-level traffic classification [C]/IEEE INFOCOM 2012,March 25-30,2012,Orlando,FL,USA.New Jersey:IEEE Press,2012:2541-2545.
[13]GUYONG I,WESTON J,BARNHILL S,et al.Gene selection for cancer classification using support vector machines [J].Machine Learning,2002,46(1-3):389-422.
[14]MOORE A W.Dataset [EB/OL]. [2009-06-29].http:/www.cl.cam.ac.uk/research/srg/netos /nprobe/data/papers/sigmetrics /.
Internet traffic classification using SVM with flexible feature space
QIAN Yaguan1,GUAN Xiaohui2,YUN Bensheng1,LOU Qiong1,MA Pengfei1
1.College of Science,Zhejiang University of Science and Technology,Hangzhou 310023,China;2.Zhejiang University of Water Resources and Electric Power,Hangzhou 310018,China
SVM is a typical machine learning algorithm with prefect generalization capacity,which is suitable for the internet traffic classification.At present,there are two approaches,One-Against-All and One-Against-One,proposed for extending SVM to multi-class problem like traffic classification.However,these approaches are both based on a unique feature space.In fact,the separating capacity of a special traffic feature is not similar to different applications.Hence,flexible feature space for extending SVM was proposed,which constructs independent feature space with optimal discriminability for each binary-SVM and trains them under their own feature space.Finally,these trained binary-SVM were ensemble by One-Against-All and One-Against-One approaches.The experiments show that the proposed approach can efficiently improve the precision and callback of the traffic classifier and easily obtain more reasonable optimal separating hyper-plane.
support vector machine,flexible feature space,traffic classification
s: The National Natural Science Foundation of China (No.61379118,No.61103200),Education Department Foundation of Zhejiang Province(No.2012E10023-14)
TP393.04
A
10.11959/j.issn.1000-0801.2016132
2016-01-01;
2016-04-09
錢亞冠,qianyg@zju.edu.cn
國家自然科學基金資助項目 (No.61379118,No.61103200);浙江省網絡媒體云處理與分析工程技術中心開放課題資助項目(No.2012E10023-14)

錢亞冠(1976-),男,博士,浙江科技學院理學院副教授,主要研究方向為互聯網流量分類、下一代互聯網和機器學習與大數據處理。

關曉惠(1977-),女,浙江水利水電學院副教授,主要研究方向為機器學習與大數據處理。

云本勝(1980-),男,博士,浙江科技學院理學院講師,主要研究方向為數據挖掘和服務計算。

樓瓊(1987-),女,博士,浙江科技學院理學院講師,主要研究方向為圖像處理、機器學習與計算機視覺。

馬鵬飛(1986-),男,博士,浙江科技學院理學院講師,主要研究方向為運籌優化與機器學習。