朱佳佳,陳 佳
(北京交通大學(xué) 電子信息工程學(xué)院,北京 100044)
基于熵和SVM多分類(lèi)器的異常流量檢測(cè)方法
朱佳佳,陳 佳
(北京交通大學(xué) 電子信息工程學(xué)院,北京 100044)
隨著大數(shù)據(jù)時(shí)代的到來(lái),各種數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)方法被廣泛地應(yīng)用于異常流量檢測(cè)。文中針對(duì)異常流量檢測(cè)方法展開(kāi)研究,提出了一種基于熵和改進(jìn)的SVM多分類(lèi)器的異常流量檢測(cè)方法。該方法用熵值對(duì)網(wǎng)絡(luò)流量的各個(gè)屬性進(jìn)行量化,將異常流量檢測(cè)問(wèn)題抽象為對(duì)不同類(lèi)型流量的分類(lèi)問(wèn)題,并對(duì)傳統(tǒng)的一對(duì)其余SVM多分類(lèi)器進(jìn)行改進(jìn)。使用改進(jìn)SVM多分類(lèi)器對(duì)熵值量化后的流量進(jìn)行分類(lèi)判決,根據(jù)分類(lèi)結(jié)果捕獲異常。將該方法應(yīng)用于實(shí)際的異常流量檢測(cè)系統(tǒng),并進(jìn)行測(cè)試,結(jié)果表明,該方法對(duì)網(wǎng)絡(luò)中常見(jiàn)的異常流量有很好的檢測(cè)效果。
異常檢測(cè);信息熵;一對(duì)其余;分類(lèi)
異常流量檢測(cè)是網(wǎng)絡(luò)安全監(jiān)管系統(tǒng)的重要組成部分,它通過(guò)監(jiān)測(cè)和分析網(wǎng)絡(luò)流量,發(fā)現(xiàn)和判別網(wǎng)絡(luò)中的異常行為,幫助網(wǎng)絡(luò)管理員及時(shí)采取有效的措施填補(bǔ)系統(tǒng)漏洞,保障系統(tǒng)安全。
在異常流量檢測(cè)方法的相關(guān)研究中,網(wǎng)絡(luò)流量的特征量化問(wèn)題一直廣受關(guān)注[1-3]。香農(nóng)將熵的概念引入信息論中,利用熵值度量隨機(jī)事件的不確定性。相關(guān)研究表明[4-6],正常流量與異常流量的不同屬性在分布特征上存在明顯差異。因此,可以通過(guò)分析網(wǎng)絡(luò)流量特征信息的熵值變化規(guī)律來(lái)檢測(cè)異常,從而解決網(wǎng)絡(luò)流量的特征量化問(wèn)題。
在異常流量檢測(cè)系統(tǒng)中,需要一定數(shù)量的訓(xùn)練樣本來(lái)建立正常或異常流量模型[7]。但是,在實(shí)際網(wǎng)絡(luò)環(huán)境中,獲得所需的數(shù)據(jù)并不容易,采集得到的數(shù)據(jù)源往往具有維數(shù)高、樣本數(shù)小等問(wèn)題[8]。與其他分類(lèi)算法相比,SVM可以更好地解決小樣本、非線(xiàn)性、高維數(shù)等問(wèn)題,因此非常適合被應(yīng)用于異常檢測(cè)系統(tǒng)中[9]。
文中結(jié)合信息熵理論與SVM多分類(lèi)算法,將異常流量檢測(cè)問(wèn)題抽象為對(duì)不同類(lèi)型流量的分類(lèi)問(wèn)題,用SVM多分類(lèi)器對(duì)熵值量化后的流量進(jìn)行分類(lèi)判決,該方法具有檢測(cè)精度高和檢測(cè)速度快等優(yōu)點(diǎn)。
1.1 信息熵的定義
在信息論中,熵是對(duì)不確定性的一種度量。對(duì)于一條消息來(lái)說(shuō),熵值越高,說(shuō)明該消息包含的信息量越大,反之說(shuō)明該消息包含的信息量越小[10]。
信息熵的定義如下:

1.2 流量的熵值量化方法
眾多研究表明,網(wǎng)絡(luò)流量中的IP地址、協(xié)議和端口等屬性在分布特征上表現(xiàn)出較強(qiáng)的自相似特性和重尾特性[11],正常流量和異常流量的各個(gè)屬性在分布特征上存在明顯的差異。因此,可以將信息熵應(yīng)用于異常檢測(cè),用熵值量化網(wǎng)絡(luò)流量的不同屬性。


為了驗(yàn)證信息熵對(duì)正常流量和異常流量在特征差異上的表達(dá)能力,通過(guò)實(shí)驗(yàn)對(duì)正常流量、端口掃描異常流量和DDOS攻擊異常流量在不同屬性上的熵值進(jìn)行對(duì)比。圖1(a)、(b)分別是正常流量端口掃描異常流量在目的IP和目的端口的熵值曲線(xiàn);圖2(a)、(b)分別是正常流量與DDOS攻擊異常流量在源IP和目的IP上的熵值曲線(xiàn)。

圖1 正常流量與端口掃描異常流量熵值對(duì)比

圖2 正常流量與DDOS攻擊異常流量熵值對(duì)比
相對(duì)于正常流量,端口掃描異常流量的目的IP更集中,目的端口更分散,所以目的IP熵值較小,目的端口熵值較大;DDOS攻擊會(huì)使用大量的僵尸主機(jī),或產(chǎn)生大量虛假源IP地址實(shí)施攻擊,所以DDOS攻擊異常流量的目的IP熵值較小,源IP熵值較大。
鑒于正常流量和異常流量的不同屬性在分布特征上的明顯差異,可以將異常流量的檢測(cè)問(wèn)題轉(zhuǎn)換為一個(gè)基于流量屬性熵值的分類(lèi)問(wèn)題。
2.1 改進(jìn)的SVM多分類(lèi)算法

鑒于“一對(duì)其余”方法可能遇到的分類(lèi)重疊和不可分問(wèn)題,文中提出一種改進(jìn)的一對(duì)其余SVM多分類(lèi)算法。該方法利用聚類(lèi)分析中的類(lèi)距離思想作為檢測(cè)模型中各個(gè)二類(lèi)分類(lèi)器排列順序的依據(jù)。對(duì)于k類(lèi)樣本,首先計(jì)算每一類(lèi)到其他各類(lèi)的中心距離,然后計(jì)算每一類(lèi)到其他各類(lèi)的平均距離。平均距離最大的類(lèi)是特異性最明顯的類(lèi),優(yōu)先選取這樣的類(lèi)作為排列靠前的二類(lèi)分類(lèi)器的正類(lèi)。距離的相關(guān)定義如下:
定義1:中心距離。
第i類(lèi)和第j類(lèi)樣本的中心距離定義為空間中能包含所有第i類(lèi)樣本的球面中心到能包含所有第j類(lèi)樣本的球面中心的歐式距離,記為dij;
定義2:平均距離。

具體步驟如下:
步驟3:比較步驟2中γi的大小,然后按照γi從大到小的順序?yàn)楦鱾€(gè)類(lèi)別編號(hào);
步驟4:按照步驟3中得到的樣本編號(hào)順序逐個(gè)構(gòu)造k個(gè)二類(lèi)分類(lèi)器。編號(hào)排列第一的樣本作為第一個(gè)二類(lèi)分類(lèi)器的正類(lèi),編號(hào)排列第二的樣本作為第二個(gè)二類(lèi)分類(lèi)器的正類(lèi),以此類(lèi)推。
檢測(cè)時(shí),讓待測(cè)樣本依次通過(guò)各個(gè)二類(lèi)分類(lèi)器,如果待測(cè)樣本在某一個(gè)分類(lèi)器中的判決結(jié)果為+1,則判定該樣本為對(duì)應(yīng)此分類(lèi)器的正類(lèi)的類(lèi)別,并終止此樣本的檢測(cè)。若樣本依次經(jīng)過(guò)所有的二類(lèi)分類(lèi)器輸出結(jié)果都為-1,則判定為未知流量,加入待驗(yàn)證集,等待重新訓(xùn)練。樣本判決過(guò)程如圖3所示。
與傳統(tǒng)的“一對(duì)其余”方法相比,距離優(yōu)先SVM多分類(lèi)算法可以使越靠前的分類(lèi)器檢測(cè)精度越高。因此,雖然在建立模型集時(shí)都構(gòu)造了k個(gè)二類(lèi)分類(lèi)器,但是改進(jìn)SVM一對(duì)其余多分類(lèi)算法并不需要所有的樣本都經(jīng)過(guò)k個(gè)分類(lèi)器,而是一旦被某個(gè)分類(lèi)器判決為+1,則終止判斷,有效縮短了樣本的檢測(cè)時(shí)間。

圖3 改進(jìn)的“一對(duì)其余”SVM多類(lèi)分類(lèi)器
2.2 SVM分類(lèi)思想

2.3 異常流量檢測(cè)方法
按照1.2節(jié)提到的方法對(duì)所有捕獲到的數(shù)據(jù)包進(jìn)行單位流量劃分,計(jì)算各個(gè)單位流量五元組的熵值,將每個(gè)單位流量表示為一個(gè)包含5個(gè)熵值的向量,記為:
其中:α1到α5分別代表源IP、目的IP、協(xié)議類(lèi)型、源端口和目的端口的熵值;Vi為熵值向量。
眾多的熵值向量構(gòu)成了SVM檢測(cè)的樣本集,其中已知類(lèi)型的樣本通過(guò)類(lèi)型標(biāo)記可以用來(lái)構(gòu)造訓(xùn)練集并通過(guò)訓(xùn)練生成檢測(cè)模型,而未知類(lèi)型的樣本則構(gòu)成檢測(cè)集。具體的檢測(cè)方法如下:
(1)構(gòu)造包含N種流量的樣本集,包括正常流量和N-1種在流量分布特征上差異較明顯的異常流量;
(2)采用改進(jìn)的一對(duì)其余SVM多分類(lèi)方法,構(gòu)建模型集M;
(3)將待測(cè)樣本輸入SVM多類(lèi)分類(lèi)器,如果待測(cè)樣本能夠被M中某一模型識(shí)別,則認(rèn)定有相應(yīng)類(lèi)別的流量被檢測(cè)出。若被檢出的流量為正常流量則繼續(xù),為異常流量則觸發(fā)告警。循環(huán)執(zhí)行(3)。如果待檢測(cè)樣本被判定為未知流量,則執(zhí)行(4);
(4)將未知流量加入到待驗(yàn)證集合P中。定期對(duì)P中的流量進(jìn)行分析,如果P中的流量可以聚類(lèi),并且與正常流量差異明顯,則可認(rèn)為出現(xiàn)了一種新的異常;
(5)將新的異常加入到(1)中的訓(xùn)練樣本進(jìn)行重新訓(xùn)練,獲得新的模型集M',用M'代替M,執(zhí)行(3)。
該方法利用改進(jìn)的一對(duì)其余SVM多分類(lèi)器進(jìn)行檢測(cè)并引入未知流量重訓(xùn)練機(jī)制,避免了傳統(tǒng)“一對(duì)其余”方法中的分類(lèi)重疊問(wèn)題和樣本不可分問(wèn)題,縮短了檢測(cè)時(shí)間,提高了檢測(cè)效率。
3.1 實(shí)驗(yàn)環(huán)境
為了測(cè)試該方法在實(shí)際系統(tǒng)中的檢測(cè)效果,將其應(yīng)用于如圖4所示的異常檢測(cè)系統(tǒng)中。該系統(tǒng)由采集模塊、數(shù)據(jù)存儲(chǔ)模塊、異常流量檢測(cè)模塊和用戶(hù)信譽(yù)管理模塊四部分組成,其中,異常流量檢測(cè)模塊采用了文中提出的基于信息熵和改進(jìn)SVM多分類(lèi)器的異常流量檢測(cè)方法。

圖4 異常檢測(cè)系統(tǒng)架構(gòu)圖
3.2 實(shí)驗(yàn)過(guò)程
實(shí)驗(yàn)中,通過(guò)采集校園網(wǎng)絡(luò)出口鏈路數(shù)據(jù)包的方式獲取正常流量。利用網(wǎng)絡(luò)攻擊模擬軟件生成端口掃描、網(wǎng)絡(luò)掃描、DoS和DDoS等幾種常見(jiàn)的攻擊流量。在不同的檢測(cè)周期內(nèi),開(kāi)始時(shí)都只輸入正常流量,然后在固定的時(shí)間段分別按10%、20%、30%和40%的比例混入攻擊流量,獲得異常流量。分別采用傳統(tǒng)一對(duì)其余SVM多分類(lèi)器和文中提出的改進(jìn)的一對(duì)其余SVM多分類(lèi)器在相同條件下進(jìn)行實(shí)驗(yàn),在異常流量檢測(cè)模塊的輸出端觀察檢測(cè)結(jié)果。
3.3 實(shí)驗(yàn)結(jié)果
通過(guò)檢測(cè)精度、誤報(bào)率、檢測(cè)率和檢出時(shí)間四個(gè)指標(biāo),判斷文中提出的異常流量檢測(cè)方法能否滿(mǎn)足實(shí)際檢測(cè)系統(tǒng)的需要。各個(gè)檢測(cè)指標(biāo)的定義如下:
檢測(cè)精度代表被正確分類(lèi)的樣本數(shù)占樣本總數(shù)的比例;
誤報(bào)率代表正常樣本被誤報(bào)為異常的個(gè)數(shù)占正常樣本總數(shù)的比例;
檢測(cè)率代表被檢測(cè)出的異常樣本數(shù)占異常樣本總數(shù)的比例;
系統(tǒng)檢測(cè)時(shí)間代表流量從輸入采集模塊開(kāi)始,先后經(jīng)過(guò)關(guān)鍵字提取、存儲(chǔ)、熵值量化和檢測(cè),到獲得最終檢測(cè)結(jié)果所需的時(shí)間。
實(shí)驗(yàn)結(jié)果如表1、表2所示。

表1 傳統(tǒng)一對(duì)其余SVM多分類(lèi)器的檢測(cè)結(jié)果

表2 改進(jìn)的一對(duì)其余SVM多分類(lèi)器的檢測(cè)結(jié)果
通過(guò)表1和表2發(fā)現(xiàn),當(dāng)攻擊流量在異常流量中占比較小時(shí),傳統(tǒng)的一對(duì)其余SVM多分類(lèi)器比提出的改進(jìn)的一對(duì)其余SVM多分類(lèi)器的檢測(cè)精度和檢測(cè)率略高一些。隨著攻擊流量占比的增加,兩種分類(lèi)器的檢測(cè)效果逐漸接近。當(dāng)異常流量占比達(dá)到40%時(shí),改進(jìn)的一對(duì)其余SVM多分類(lèi)器達(dá)到與傳統(tǒng)分類(lèi)器一樣的檢測(cè)精度和檢測(cè)率。對(duì)比兩種分類(lèi)器的系統(tǒng)檢測(cè)時(shí)間發(fā)現(xiàn),改進(jìn)的一對(duì)其余SVM多分類(lèi)器所需的系統(tǒng)檢測(cè)時(shí)間更短,檢測(cè)速度更快。
文中結(jié)合信息熵理論和SVM分類(lèi)算法,提出一種基于熵和改進(jìn)SVM多分類(lèi)器的異常流量檢測(cè)方法。通過(guò)對(duì)不同流量在不同屬性上的熵值進(jìn)行分析,驗(yàn)證了信息熵對(duì)正常流量和異常流量在不同屬性的特征分布上的差異性表達(dá)能力。針對(duì)傳統(tǒng)“一對(duì)其余”方法可能遇到的分類(lèi)重疊和不可分問(wèn)題,提出一種改進(jìn)的SVM多分類(lèi)方法。將該方法應(yīng)用于實(shí)際的異常檢測(cè)系統(tǒng)中,通過(guò)實(shí)驗(yàn)證明了該方法對(duì)網(wǎng)絡(luò)中常見(jiàn)的異常流量和攻擊具有很好的檢測(cè)效果。
[1] Nychis G,Sekar V,Andersen D G,et al.An empirical evaluation of entropy-based traffic anomaly detection[C]//Proc of Internet measurement conference.[s.l.]:[s.n.],2008.
[2] 朱應(yīng)武,楊家海,張金祥.基于流量信息結(jié)構(gòu)的異常檢測(cè)[J].軟件學(xué)報(bào),2010,21(10):2573-2583.
[3] 王海龍,楊岳湘.基于信息熵的大規(guī)模網(wǎng)絡(luò)流量異常檢測(cè)[J].計(jì)算機(jī)工程,2007,33(18):130-133.
[4] 錢(qián)亞冠,關(guān)曉惠,王 濱.基于最大信息熵模型的異常流量分類(lèi)方法[J].計(jì)算機(jī)應(yīng)用研究,2012,29(3):1019-1023.
[5] 吳 震,劉興彬,童曉民.基于信息熵的流量識(shí)別方法[J].計(jì)算機(jī)工程,2009,35(20):115-116.
[6] 范曉詩(shī),李成海.加權(quán)條件熵在異常檢測(cè)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2014,31(1):203-205.
[7] 陳小輝.基于數(shù)據(jù)挖掘算法的入侵檢測(cè)方法[J].計(jì)算機(jī)工程,2010,36(17):72-73.
[8] 杜 強(qiáng),孫 敏.基于改進(jìn)聚類(lèi)分析算法的入侵檢測(cè)系統(tǒng)研究[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(11):106-108.
[9] Denning D E.An intrusion-detection model[J].IEEE Transactions on Software Engineering,1987,13(2):222-232.
[10] 陳鍶奇,王 娟.基于信息熵理論的教育網(wǎng)異常流量發(fā)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2010,27(4):1434-1436.
[11] Lakhina A,Crovella M,Diot C.Mining anomalies using traffic feature distributions[C]//Proc of ACM SIGCOMM.[s.l.]:ACM,2005:217-228.
[12] Hsu C W,Lin C J.A comparison of methods for multiclass support vector machines[J].IEEE Transactions on Neural Networks,2002,13(2):415-425.
[13] Song X.Multi-class classifier based on support vector machine and decision tree[J].Computer Engineering,2005,31(14):174-175.
[14] 焦春鵬.基于二分類(lèi)SVM的多分類(lèi)方法比較研究[D].西安:西安電子科技大學(xué),2011.
[15] 譚愛(ài)平,陳 浩,吳伯橋.基于SVM的網(wǎng)絡(luò)入侵檢測(cè)集成學(xué)習(xí)算法[J].計(jì)算機(jī)科學(xué),2014,41(2):197-200.
An Anomaly Detection Method Based on Entropy and SVM Multi-class Classifier
ZHU Jia-jia,CHEN Jia
(School of Electronic and Information Engineering,Beijing Jiaotong University,Beijing 100044,China)
With the advent of the age of big data,data mining and machine learning methods have gradually replaced the traditional methods of anomaly detection,which have gained more attention.In this paper,a new method of detecting the anomaly traffic based on the information entropy and SVM is proposed.This method transfers anomaly detection problems into the classification of different types of traffic,and uses information entropy to quantify different attributes of network traffic.It puts forward an improved SVM multi-class classifier to classify the entropy-quantified traffic and judges the anomalies accordingly.This method is implemented into a real system and function test is carried out.The results show that the method has a good detection effect for the abnormal traffic of the Internet.
anomaly detection;information entropy;one-to-all;classification
2015-06-12
2015-09-15
時(shí)間:2016-02-18
國(guó)家重大專(zhuān)項(xiàng)(2013ZX03006002);國(guó)家自然科學(xué)基金資助項(xiàng)目(61471029);北京市自然基金“面上”項(xiàng)目(4132053);基本科研業(yè)務(wù)費(fèi)(2014JBM012)
朱佳佳(1990-),女,碩士,研究方向?yàn)樾畔⒕W(wǎng)絡(luò)關(guān)鍵技術(shù);陳 佳,博士,副教授,研究方向?yàn)樾乱淮畔⒕W(wǎng)絡(luò)理論與關(guān)鍵技術(shù)。
http://www.cnki.net/kcms/detail/61.1450.TP.20160218.1634.042.html
TP301
A
1673-629X(2016)03-0031-05
10.3969/j.issn.1673-629X.2016.03.008
計(jì)算機(jī)技術(shù)與發(fā)展2016年3期