摘要:隨著互聯(lián)網(wǎng)的飛速發(fā)展,根據(jù)網(wǎng)絡(luò)流量識(shí)別網(wǎng)絡(luò)業(yè)務(wù)的類型,逐漸成為網(wǎng)絡(luò)技術(shù)研究的重要課題。本文將SVM和Random Forest算法應(yīng)用于流量識(shí)別系統(tǒng)的機(jī)器學(xué)習(xí)過程中,首先通過Random Forest算法對(duì)采集的數(shù)據(jù)特征信息進(jìn)行分析選擇,提取出在SVM算法中用來識(shí)別流量類型的8個(gè)主要特征,進(jìn)而對(duì)數(shù)據(jù)進(jìn)行預(yù)處理、訓(xùn)練學(xué)習(xí),最終完成網(wǎng)絡(luò)流量的分類識(shí)別。通過實(shí)驗(yàn)驗(yàn)證,該系統(tǒng)對(duì)流量識(shí)別準(zhǔn)確率達(dá)96.7%,對(duì)當(dāng)前的互聯(lián)網(wǎng)應(yīng)用的數(shù)據(jù)流量具有較高的識(shí)別準(zhǔn)確率。
關(guān)鍵詞:SVM;Random Forest;隨機(jī)森林;流量識(shí)別;支持向量機(jī)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)09-0117-03
0 引言
互聯(lián)網(wǎng)的發(fā)展導(dǎo)致了網(wǎng)絡(luò)業(yè)務(wù)的種類多種多樣,通過流量識(shí)別技術(shù)去識(shí)別網(wǎng)絡(luò)業(yè)務(wù)在網(wǎng)絡(luò)監(jiān)控管理、用戶行為分析、網(wǎng)絡(luò)信息安全等方面有著非常重大的意義。
在當(dāng)前的網(wǎng)絡(luò)環(huán)境下,基于端口識(shí)別的流量識(shí)別方法因?yàn)榫W(wǎng)絡(luò)隱藏技術(shù)的出現(xiàn)已經(jīng)逐漸失效[1],基于DPI的業(yè)務(wù)識(shí)別技術(shù)由于依賴于人工對(duì)知識(shí)特征庫的維護(hù)也大大降低了業(yè)務(wù)識(shí)別系統(tǒng)的準(zhǔn)確率與有效性[2],相當(dāng)部分企業(yè)已經(jīng)逐漸開始實(shí)踐基于機(jī)器學(xué)習(xí)的業(yè)務(wù)識(shí)別系統(tǒng),因?yàn)榛跈C(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量識(shí)別方法表現(xiàn)出了較高的準(zhǔn)確率,因此也得到越來越多研究者的關(guān)注[3-4]。
基于機(jī)器學(xué)習(xí)的流量識(shí)別方法就是在生成一個(gè)分類器的基礎(chǔ)上,利用訓(xùn)練的樣本數(shù)據(jù)先創(chuàng)建一個(gè)分類的模型,然后對(duì)未知的流量數(shù)據(jù)進(jìn)行分類,通過相似性并根據(jù)流量的其他特征信息將網(wǎng)絡(luò)流量劃分成不同的聚類。當(dāng)前的機(jī)器學(xué)習(xí)方法之一貝葉斯法,依賴于樣本數(shù)據(jù)的分布,分類準(zhǔn)確性取決于特性和冗余度,而另一種方法神經(jīng)網(wǎng)絡(luò)法存在過度擬合和計(jì)算量大、復(fù)雜的問題。但是另一種SVM方法可以有效減少樣本分布,只對(duì)某些相關(guān)性能存在依賴,因此可以降低冗余度,避免過度擬合現(xiàn)象的發(fā)生。
本文的數(shù)據(jù)來源于測(cè)試用戶在使用Whatsapp手機(jī)軟件產(chǎn)生的流量數(shù)據(jù),數(shù)據(jù)特征表現(xiàn)為高維度數(shù)據(jù),且數(shù)據(jù)分布不均。目前針對(duì)高維數(shù)據(jù)的特征簡(jiǎn)化方案主要分為特征提取與特征選擇,由于特征提取方法在簡(jiǎn)化特征的同時(shí)也丟失了原始特征的物理意義,因此采用特征選擇的方法對(duì)原始數(shù)據(jù)特征進(jìn)行降維。研究證明,Random Forest算法在特征選擇過程中取得了較好的成果[5]。
基于以上觀點(diǎn),以及數(shù)據(jù)樣本的高維及分布不均特性,本文提出一種基于Random Forest與SVM算法的流量識(shí)別系統(tǒng),與傳統(tǒng)的流量識(shí)別系統(tǒng)相比,能夠?qū)?shù)據(jù)特征進(jìn)行選擇簡(jiǎn)化,大大減少了特征值模塊進(jìn)行特征匹配的工作量,也提升了業(yè)務(wù)識(shí)別的準(zhǔn)確率。
1 基本概念
1.1 隨機(jī)森林技術(shù)(Random Forest)
在機(jī)器學(xué)習(xí)中,隨機(jī)森林是一個(gè)包含多個(gè)決策樹的分類器,其輸出的類別是由個(gè)別樹輸出的類別的眾數(shù)而定。隨機(jī)森林法是可以用來解決很多實(shí)際問題的一種數(shù)學(xué)方法,尤其在處理大數(shù)據(jù)和分類問題時(shí)性能優(yōu)越[6]。
對(duì)于傳統(tǒng)的隨機(jī)森林分類器模型,決策樹的每個(gè)節(jié)點(diǎn)分裂時(shí),從全部屬性中等概率隨機(jī)抽取屬性子集,選擇一個(gè)最優(yōu)屬性將該節(jié)點(diǎn)的樣本分裂至左孩子節(jié)點(diǎn)和右孩子節(jié)點(diǎn)[7]。常用信息熵計(jì)算信息增益,采用信息增益度量每個(gè)屬性劃分的純度,從而選擇最優(yōu)分裂屬性。隨機(jī)森林的訓(xùn)練停止的條件就是訓(xùn)練樣本已分裂至樹的最大層數(shù),或信息增益低于設(shè)定值,或訓(xùn)練樣本的數(shù)目少于設(shè)定值。
1.2 支持向量機(jī)技術(shù)(SVM)
支持向量機(jī)(Support Vector Machine)是由VAPNIK與其領(lǐng)導(dǎo)的貝爾實(shí)驗(yàn)室的研究小組開發(fā)的一種新的機(jī)器學(xué)習(xí)技術(shù)[8]。支持向量機(jī)SVM算法支持線性分類和非線性分類的分類應(yīng)用。相關(guān)概念如下:
(1)線性可分:在數(shù)據(jù)集中,如果可以找出一個(gè)超平面,將兩組數(shù)據(jù)分開,那么這個(gè)數(shù)據(jù)集叫做線性可分?jǐn)?shù)據(jù)。(2)線性不可分:在數(shù)據(jù)集中,沒法找出一個(gè)超平面,能夠?qū)山M數(shù)據(jù)分開,那么這個(gè)數(shù)據(jù)集就叫做線性不可分?jǐn)?shù)據(jù)。(3)分割超平面:將數(shù)據(jù)集分割開來的直線/平面叫做分割超平面。(4)間隔:數(shù)據(jù)點(diǎn)到分割超平面的距離稱為間隔。(5)支持向量:離分割超平面最近的那些點(diǎn)叫做支持向量。
本文使用的SVM方法是從線性可分情況下的最優(yōu)分類超平面提出的,其基本思想為:首先通過非線性變換將輸入空間變換到一個(gè)高維空間,然后在這個(gè)新空間中求取最優(yōu)線性分類超平面。
線性可分的支持向量機(jī)的特點(diǎn)如圖1所示。SVM對(duì)不平衡本身并不十分敏感,SVM的超平面只與支持向量有關(guān),因此原離決策超平面的數(shù)據(jù)的多少并不重要。
使用SVM算法對(duì)一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行分類,當(dāng)超平面離數(shù)據(jù)點(diǎn)的“間隔”越大,分類的確信度也越大。所以,為了使得分類的確信度盡量高,需要讓所選擇的超平面能夠最大化這個(gè)“間隔”值。這個(gè)間隔就是Gap的一半,如圖1所示。
2 基于Random Forest與SVM算法的流量識(shí)別系統(tǒng)
本文首先通過流量特征提取模塊,提取適合在支持向量機(jī)中識(shí)別的網(wǎng)絡(luò)流量的8個(gè)主要特征,接著對(duì)數(shù)據(jù)進(jìn)行清洗和預(yù)處理,通過對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練和學(xué)習(xí),從而實(shí)現(xiàn)整個(gè)基于Random Forest與SVM算法的流量識(shí)別系統(tǒng)。
2.1 流量識(shí)別基本流程
流量識(shí)別系統(tǒng)的處理流程如圖2所示。第一步,使用Wireshark工具進(jìn)行用戶使用APP的流量數(shù)據(jù)采集;第二步,對(duì)采集到的原始數(shù)據(jù)進(jìn)行處理,區(qū)分?jǐn)?shù)據(jù)的初始維度和初始類型;第三步,使用隨機(jī)森林的算法構(gòu)建特征提取模塊,對(duì)流量數(shù)據(jù)進(jìn)行特征選擇;第四步,將特征選擇后的數(shù)據(jù)使用SVM算法構(gòu)建的流量分類識(shí)別模塊進(jìn)行分類;第五步,形成訓(xùn)練樣本后對(duì)數(shù)據(jù)進(jìn)行分類;第六步,使用剩余數(shù)據(jù)進(jìn)行測(cè)試。
2.2 流量識(shí)別系統(tǒng)架構(gòu)
系統(tǒng)的基本功能構(gòu)建于對(duì)采集的流量統(tǒng)計(jì)特征信息進(jìn)行整理,剔除冗余數(shù)據(jù),并將其轉(zhuǎn)換為特征向量形式,采用支持向量機(jī)的方法將其交給SVM進(jìn)行訓(xùn)練,訓(xùn)練后得到一組支持向量,即今后的預(yù)測(cè)模型。將預(yù)測(cè)模型與預(yù)處理過的待預(yù)測(cè)特征向量數(shù)據(jù)共同代入SVM的決策函數(shù)中,從而判別出該網(wǎng)絡(luò)流量的類型,如圖3所示。
3 實(shí)驗(yàn)過程
3.1 實(shí)驗(yàn)?zāi)康?/p>
通過對(duì)Whatsapp應(yīng)用中會(huì)話的上下行流量,上下行包數(shù),上下行包流量, 會(huì)話時(shí)間等維度分析,通過基于Random Forest與SVM算法的流量識(shí)別系統(tǒng)實(shí)現(xiàn)Whatsapp流量數(shù)據(jù)中的視頻、語音、一般類型(如消息)等流量類型的識(shí)別區(qū)分。
3.2 實(shí)驗(yàn)數(shù)據(jù)準(zhǔn)備與處理
使用Wireshark工具獲取到經(jīng)過Whatsapp的樣本數(shù)據(jù)如表1所示。
樣本數(shù)據(jù)的原始特征維度包含:(源端口,目的端口,開始時(shí)間,上行流量,下行流量,上行包數(shù),下行包數(shù),上行平均包流量,下行平均包流量,會(huì)話時(shí)間,平均包數(shù),平均包間隔)。經(jīng)過分析,由于源端口、目的端口,開始時(shí)間,結(jié)束時(shí)間跟Whatsapp程序密切相關(guān),故不作為統(tǒng)計(jì)維度。
最終選取九個(gè)維度的特征進(jìn)行隨機(jī)森林分析,分別為:(上行流量,下行流量,上行包數(shù),下行包數(shù),上行平均流量,下行平均流量,回話時(shí)間,平均包數(shù),平均包間隔)。
3.3 實(shí)驗(yàn)過程
對(duì)流量數(shù)據(jù)的9個(gè)特征維度,使用隨機(jī)森林的算法,得到每個(gè)維度的信息熵如表2所示。
根據(jù)隨機(jī)森林特征選擇結(jié)果可以看出,會(huì)話時(shí)間所包含的信息熵值最小,因此只選?。ㄉ闲辛髁?,下行流量,上行包數(shù),下行包數(shù),上行平均包流量,下行平均包流量,平均包數(shù),平均包間隔)這8個(gè)數(shù)據(jù)維度進(jìn)行SVM算法分析。
由于訓(xùn)練數(shù)據(jù)樣本包含3種類型的數(shù)據(jù),且數(shù)據(jù)樣本分布不均勻,其中語音類型數(shù)據(jù)包含最多,為2005條,是視頻類數(shù)據(jù)的5倍多,樣本數(shù)據(jù)不均衡,根據(jù)這一的樣本分布特性,使用SVM算法進(jìn)行分類。
3.4 實(shí)驗(yàn)結(jié)果
本次實(shí)驗(yàn)使用的2918條數(shù)據(jù),其中80%用于模型訓(xùn)練,20%用于分類驗(yàn)證測(cè)試,測(cè)試輸入584條數(shù)據(jù),系統(tǒng)正確識(shí)別類型,共命中正確類型566條,流量類型識(shí)別正確率達(dá)96.7%,結(jié)果矩陣如圖4所示。
4 結(jié)語
本文將隨機(jī)森林與支持向量機(jī)應(yīng)用于網(wǎng)絡(luò)流量類型的識(shí)別檢測(cè),構(gòu)建了一種基于Random Forest與SVM算法的流量識(shí)別系統(tǒng),從數(shù)據(jù)包捕獲、預(yù)處理、特征選擇,識(shí)別、學(xué)習(xí)和訓(xùn)練等流程進(jìn)行了系統(tǒng)功能的介紹,并且最終證明,此流量識(shí)別系統(tǒng)對(duì)流量分類具有較高的識(shí)別率,說明采用隨機(jī)森林以及支持向量機(jī)對(duì)流量識(shí)別是十分有效的。
參考文獻(xiàn)
[1] 彭立志.基于機(jī)器學(xué)習(xí)的流量識(shí)別關(guān)鍵技術(shù)研究[D].哈爾濱工業(yè)大學(xué),2015.
[2] 王璐.基于DPI及人工智能的業(yè)務(wù)識(shí)別系統(tǒng)的分析研究[J].無線互聯(lián)通信,2019,16(8):30-33.
[3] ZAREI R,MONEMI A,MARSONO M N.Automated dataset generation for training per-to-per machine learning classifiers[J]. Journal of Network and Systems Management,2015,23(1):89-110.
[4] NGUYEN T,ARMITAGE G,BRANCH Petal.Timely and continuous machine-learning-based classification for interactive IP traffic[J].IEEE/ACM Transactions on Networking (TON),2012,20(6):1880-1894.
[5] 朱玨鈺,曹亞微,周書仁,等.基于隨森林深度特征選擇的人體姿態(tài)估計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2017,53(2):172-176.
[6] Breiman L.Random forests[J].Machine Learning,2001,45(1):5-32.
[7] 馬娟娟.基于改進(jìn)Grassberger熵隨機(jī)森林分類起的目標(biāo)檢測(cè)[J].中國激光,2019,46(7):1-9.
[8] BOSERBE,GUYONIM,VAPNIKVN. A training algorithm for optimal margin classifiers [C]//Proceedings of the 5th Annual ACM Workshop on Computational,NY,1992:144-152.
Abstract:With the rapid development of the Internet, identifying the types of network services according to network traffic has gradually become an important topic of network technology research. In this paper, SVM and Random Forest algorithm are applied to the machine learning process of traffic identification system. Firstly, Random Forest algorithm is used to analyze and select the characteristic information of the collected data. Eight main features used to identify traffic types in SVM algorithm are extracted, and then the data are preprocessed, trained and learned. Finally, the classification and identification of network traffic is completed. The experimental results show that the accuracy of traffic identification reaches 96.7%, and the system has a high accuracy of data traffic identification for current Internet applications.
Key words:SVM; Random Forest; Random Forest; Flow Recognition; Support Vector Machine