鄧河嚴(yán)志
(長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院,湖南長(zhǎng)沙 410004)
一種基于Filter與Wrapper模型的網(wǎng)絡(luò)流量特征選擇方法
鄧河嚴(yán)志
(長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院,湖南長(zhǎng)沙 410004)
在基于機(jī)器學(xué)習(xí)方法的網(wǎng)絡(luò)流量分類系統(tǒng)中,通過(guò)特征選擇找到的最優(yōu)特征子集將直接影響到分類的速度及精度。針對(duì)這種情況,提出了基于Filter與Wrapper模型的流量特征選擇方法。首先對(duì)網(wǎng)絡(luò)流量特征向量進(jìn)行類間、類內(nèi)的距離計(jì)算,抽取類內(nèi)距離較小而類間距離較大的特征子集,然后將其進(jìn)行組合,作為遺傳算法的初始群體進(jìn)行遺傳操作,從而得出最佳分類特征子集,實(shí)現(xiàn)降維并提高分類精度。
特征選擇;特征距離;遺傳算法;網(wǎng)絡(luò)流量
網(wǎng)絡(luò)流量分類是認(rèn)識(shí)、管理、優(yōu)化各種網(wǎng)絡(luò)資源的重要依據(jù),對(duì)網(wǎng)絡(luò)的Qos管理、趨勢(shì)分析以及安全檢測(cè)都起著非常重要的作用。網(wǎng)絡(luò)流量自相似長(zhǎng)相關(guān)和非線性的特性,對(duì)傳統(tǒng)網(wǎng)絡(luò)理論提出了挑戰(zhàn),使得對(duì)網(wǎng)絡(luò)流量概率分布的精確建模變得非常困難。同時(shí),隨著Internet網(wǎng)絡(luò)的不斷發(fā)展,很多新的網(wǎng)絡(luò)服務(wù)(如P2P、在線游戲等)采用動(dòng)態(tài)端口、協(xié)議加密等,使得傳統(tǒng)的基于端口 (Port-based)的流量分類和基于有效載荷(Payload-based)的分類方法已不能保證正確的網(wǎng)絡(luò)流量的分類和統(tǒng)計(jì)。
近年來(lái),一些學(xué)者使用機(jī)器學(xué)習(xí)(Machine Learning)的方法來(lái)進(jìn)行流量分類的研究。這種方法的基本思想是首先在基于TCP/IP協(xié)議的互聯(lián)網(wǎng)中,按照5元組(源IP地址、源端口號(hào)、目標(biāo)IP地址、目標(biāo)端口號(hào)及IP協(xié)議)的定義,將報(bào)文(Packets)分成雙向TCP或UDP流(Flow),抽取與協(xié)議和端口無(wú)關(guān)的流的特征(如報(bào)文長(zhǎng)度、持續(xù)時(shí)間等),形成特征向量,用特征向量來(lái)表示流,以流的應(yīng)用類型(如:BitTorrent、WEB、FT等)作為流的類別,通過(guò)上述處理獲得機(jī)器學(xué)習(xí)方法所需要的樣本流。然后,根據(jù)樣本流的特征向量,用機(jī)器學(xué)習(xí)方法,構(gòu)建和學(xué)習(xí)流量分類器。最后用構(gòu)建的流量分類器,對(duì)新的網(wǎng)絡(luò)流量進(jìn)行分類。
特征選擇可以看作一個(gè)優(yōu)化問(wèn)題,其關(guān)鍵是建立一種評(píng)價(jià)標(biāo)準(zhǔn)來(lái)區(qū)分哪些特征組合有助于分類,哪些特征組合存在冗余性、部分或者完全無(wú)關(guān)。不同的評(píng)價(jià)函數(shù)可能會(huì)給出不同的結(jié)果。根據(jù)評(píng)價(jià)函數(shù)與分類器的關(guān)系,特征選擇方法分成過(guò)濾器 (Filter)和封裝器(Wrapper)兩種。其中,過(guò)濾器的評(píng)價(jià)函數(shù)與分類器無(wú)關(guān),而封裝器采用分類器的錯(cuò)誤概率作為評(píng)價(jià)函數(shù)。其中,過(guò)濾器的評(píng)價(jià)函數(shù)又可以細(xì)分為距離測(cè)度、信息測(cè)度、相關(guān)性測(cè)度和一致性測(cè)度。S.Zander等作者在“Automated Traffic Classification and Application Identification using Machine Learning”一文中提出了一種利用無(wú)監(jiān)督貝葉斯分類器 (unsupervised Bayesian classifier)對(duì)網(wǎng)絡(luò)流量進(jìn)行自動(dòng)分類及應(yīng)用識(shí)別的方法,同時(shí),對(duì)流的特征產(chǎn)生和選擇進(jìn)行了研究。N.Williams等作者在“Evaluating Machine Learning Algorithms for Automated Network Application Identification”一文中評(píng)測(cè)和比較幾種特征選擇方法和幾種基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量分類技術(shù)的效率和性能,比較了基于過(guò)濾(Filter)模型的兩種特征選擇方法,即基于不一致性子集搜索(Inconsistency-based Subset Search)方法和基于相關(guān)性的特征選擇(Correlation-Based Feature Selection,CFS)方法。本文采用Filter和Wrapper相結(jié)合的方法來(lái)進(jìn)行特征選擇。選擇的方法如下:先利用類間、類內(nèi)模糊距離算出較好的特征,對(duì)其進(jìn)行組合,組合后的特征子集作為遺傳算法的初始種群,然后再使用遺傳算法選出分類結(jié)果最好的特征子集。
基于機(jī)器學(xué)習(xí)方法的流量分類的一個(gè)重要目標(biāo)是克服基于端口和基于有效載荷方法的缺陷,提高網(wǎng)絡(luò)流量的分類準(zhǔn)確度。因此,在流的特征產(chǎn)生上要考慮特征應(yīng)獨(dú)立于協(xié)議、通信端口;同時(shí),又希望能很好適合基于機(jī)器學(xué)習(xí)方法的網(wǎng)絡(luò)流量分類。本文從報(bào)文長(zhǎng)度 (Packet Length)的統(tǒng)計(jì)特性、報(bào)文間隔到達(dá)時(shí)間(Packet Inter-Arrival Time)的統(tǒng)計(jì)特性、報(bào)文(Packet)數(shù)目及流的持續(xù)時(shí)間(Duration of the Flow)等方面來(lái)分析和產(chǎn)生雙向流的候選特征集。
網(wǎng)絡(luò)流量的潛在特征有很多[1],在實(shí)驗(yàn)中共統(tǒng)計(jì)了網(wǎng)絡(luò)流的37種特征作為網(wǎng)絡(luò)流量分類的候選特征集。具體候選特征見(jiàn)表1。
表1 網(wǎng)絡(luò)流量候選特征集
本文中流的定義如下:在基于TCP/IP協(xié)議的互聯(lián)網(wǎng)中,按照源IP地址、源端口號(hào)、目標(biāo)IP地址、目標(biāo)端口號(hào)及IP協(xié)議五元組(Tuple),將報(bào)文(Packets)分成雙向TCP或UDP流(Flow),同時(shí),規(guī)則流與流之間的空閑時(shí)間(Idle Timeout)為60秒,即超過(guò)60秒被認(rèn)為是不同的流。規(guī)則一個(gè)流中的子流的空閑時(shí)間為10秒,即同屬一個(gè)流的報(bào)文之間到達(dá)時(shí)間間隔超過(guò)10秒時(shí),視為這個(gè)流中的不同子流。子流的持續(xù)時(shí)間稱之為活動(dòng)時(shí)間,子流之間的時(shí)間間隔稱之為空閑時(shí)間。
使用WildPackets omniPeek軟件,通過(guò)校園網(wǎng)絡(luò)中心交換機(jī)(Cisco 6509)的端口鏡像的方式來(lái)采集和獲取實(shí)時(shí)的網(wǎng)絡(luò)流量數(shù)據(jù)。采集時(shí),截取報(bào)文前面的128byte長(zhǎng)度,采集的數(shù)據(jù)形成Libpcap(*.dmp)格式的網(wǎng)絡(luò)流量蹤跡文件(Trace Files),采用基于端口和基于有效載荷的方法進(jìn)行了三種網(wǎng)絡(luò)流(BitTorrent、WEB、FTP)樣本的標(biāo)注。樣本示例如下:
各類樣本可以分開(kāi)是因?yàn)樗鼈兾挥谔卣骺臻g中的不同區(qū)域,顯然這些區(qū)域之間距離越大、區(qū)域之內(nèi)距離越小,那么類別可分性就越大。在多維空間中有很多種距離度量,典型的是歐氏距離度量。令χk(i),χl(j)分別為wi類及wj類中的D維特征向量, 為這兩個(gè)特征向量的距離,則空間中兩特征向量的歐氏距離為:
式中C為類別函數(shù),ni為wi類的樣本數(shù),nj為wj類的樣本數(shù),Pi,為Pj相應(yīng)類別的先驗(yàn)概率。用mi表示第i類樣本集的均值向量
通過(guò)式(7)可以看出,當(dāng)類間距離越大,類內(nèi)距離越小時(shí),J(x)的值就會(huì)越大。實(shí)驗(yàn)中,使用J(x)做為類內(nèi)、類間模糊距離的衡量標(biāo)準(zhǔn)。通過(guò)計(jì)算,每個(gè)特征值的j(x)值通過(guò)排序后如圖1所示。
圖1 候選特征J(x)值
通過(guò)圖1可發(fā)現(xiàn),前10個(gè)特征的J(x)較大,后面特征的J(x)變化比較小。所以在實(shí)驗(yàn)中采用前10個(gè)特征的組合作為遺傳算法特征選擇的初始種群。
表2 通過(guò)特征距離選出來(lái)的前10個(gè)特征
1962年,John.H.Holland教授根據(jù)生物進(jìn)化模型,提出了遺傳算法(GeneticAlgorithm,簡(jiǎn)稱GA)這一嶄新的全局優(yōu)化算法。通過(guò)遺傳、變異和選擇等進(jìn)化操作,實(shí)現(xiàn)各個(gè)個(gè)體的適應(yīng)性的提高,進(jìn)而解決各種復(fù)雜問(wèn)題。
如果用窮盡搜索方法求解最優(yōu)特征子集,對(duì)于一個(gè)包含m個(gè)特征的集合,將有2m種可能的子集組合,如此龐大的搜索空間,勢(shì)必是不可行的。而用遺傳算法求解,既可保證全局最優(yōu),又避免了巨大的搜索代價(jià)。
編碼問(wèn)題的關(guān)鍵就是要使編碼能夠代表所給特征集的所有可能子集的解空間。本文采用經(jīng)典的二進(jìn)制編碼,該編碼簡(jiǎn)單且非常有效[2]。假設(shè)有n個(gè)候選特征,用n位的0或1構(gòu)成的字符串表示一種特征組合,其中數(shù)字1所對(duì)應(yīng)的特征被選中,而數(shù)字0所對(duì)應(yīng)的特征未被選中。編碼長(zhǎng)度就是候選特征的個(gè)數(shù)。很明顯,對(duì)任何一種特征組合,存在惟一的一個(gè)字符串與之對(duì)應(yīng)。
初始群體的選擇利用通過(guò)特征距離選擇的特征的組合而形成。在本文中共形成20個(gè)個(gè)體,前10個(gè)個(gè)體編碼為:
后面的10個(gè)個(gè)體采用隨機(jī)方法在所選擇的特征中形成。
特征選擇的目的是選出分類效果最好的特征組合,這就需要一個(gè)評(píng)判特征組合分類效果的準(zhǔn)則。評(píng)判分類效果的最好準(zhǔn)則當(dāng)然是分類準(zhǔn)確率,本文采用SVM分類算法對(duì)每一個(gè)特征子集的分類準(zhǔn)確率進(jìn)行評(píng)判。
通過(guò)控制參數(shù)來(lái)實(shí)現(xiàn)算法的終止,如運(yùn)算到指定的最大代數(shù);或者當(dāng)相鄰幾代的平均適應(yīng)度差值小于某個(gè)閾值ε時(shí)就可以終止遺傳操作。本文通過(guò)運(yùn)算到指定的最大代數(shù)來(lái)終止遺傳操作。
采用BitTorrent、WEB、FTP三類共9000個(gè)樣本進(jìn)行了實(shí)驗(yàn),其中每類樣本各3000個(gè)。SVM分類器采用k-fold(k=10)交叉驗(yàn)證方法訓(xùn)練和學(xué)習(xí),實(shí)驗(yàn)結(jié)果如下:
表4 遺傳算法特征選擇實(shí)驗(yàn)結(jié)果
從表4可以看出,遺傳算法在經(jīng)過(guò)10次迭代后找到較好的特征子集,其分類的準(zhǔn)確率高達(dá)97.97%。節(jié)省了大量的搜索特征子空間的時(shí)間!并使特征數(shù)目減少,提高了分類速度。
本文提出了一種基于特征距離和遺傳算法相結(jié)合的網(wǎng)絡(luò)流量特征選擇方法。介紹了網(wǎng)絡(luò)流量分類的候選特征集、特征向量類間、類內(nèi)距離測(cè)量方法、遺傳算法特征選擇。給出了實(shí)驗(yàn)結(jié)果數(shù)據(jù),并對(duì)方法的有效性進(jìn)行了檢驗(yàn)。實(shí)驗(yàn)表明,基于特征距離和遺傳算法相結(jié)合的網(wǎng)絡(luò)流量特征選擇方法,節(jié)省了大量的搜索特征子空間的時(shí)間!并使特征數(shù)目減少,提高了分類速度。在下一階段的研究中,重點(diǎn)工作是研究如何找出網(wǎng)絡(luò)流量中的更多的潛在特征,如何去掉一些噪聲特征向量。以提高分類器對(duì)未知實(shí)例的分類穩(wěn)定性。
[1] Moore A,Zuev D,Crogan M.Discriminators for use in Flow-based Classification [D].London,UK:Departmentof Computer Science,Queen Mary,University of London,2005.
[2] Vafaie H,De Jong K.Genetic algorithm as a tool for feature selection in machine learning[A].International Conference on Tools with AI[C].Arlington,Va,1992.200-203.
TP18
B
1671-5136(2011)02-0105-04
2011-06-20
鄧河(1978-),男,湖南邵陽(yáng)人,長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院軟件學(xué)院助教、碩士。研究方向:智能信息處理、數(shù)據(jù)挖掘、網(wǎng)絡(luò)流量分類。