李涵秋,馬 艷,雷 磊
(1.解放軍63778部隊,黑龍江 佳木斯 154002;2.解放軍63780部隊,海南 三亞 572427)
隨著近年來Internet的迅速普及,網(wǎng)絡(luò)己深入到社會生活的方方面面,在經(jīng)濟、文化、教育、軍事等各行業(yè)和部門中發(fā)揮著重大作用。然而,隨之而來的網(wǎng)絡(luò)安全問題也日益受到了人們的關(guān)注。在眾多的網(wǎng)絡(luò)攻擊手段中,拒絕服務(wù) (Denial of Service,DoS)攻擊是一種極具破壞力的攻擊方式,它消耗可用系統(tǒng)、帶寬資源迫使Web站點停止服務(wù)[1]。在現(xiàn)代信息戰(zhàn)中,利用DoS攻擊手段可以使重要的政府機構(gòu)甚至軍事站點癱瘓。
網(wǎng)絡(luò)上所承載的信息是人們關(guān)心的重點,信息熵作為信息論中所提出的核心概念之一,學(xué)術(shù)界已經(jīng)開始關(guān)注將其應(yīng)用于網(wǎng)絡(luò)攻擊檢測,并取得了一定的進展。Lakhina等人[2]在信息熵理論基礎(chǔ)上對網(wǎng)絡(luò)數(shù)據(jù)包的端口和地址的分布特性進行分析,檢測異常的網(wǎng)絡(luò)行為。Rahmani等人[3]利用流的數(shù)量與流中包含的數(shù)據(jù)包的數(shù)量之間的分布關(guān)系來檢測DoS攻擊,但時間間隔的選取對檢測效果有較大影響。信息熵作為系統(tǒng)有序化程度的一個度量,能檢測出DoS攻擊對于正常網(wǎng)絡(luò)流量隨機性所產(chǎn)生的影響,然而網(wǎng)絡(luò)流量的變遷是一個動態(tài)連續(xù)的過程,只取其中的一點而不去分析其與相鄰時間序列之間的關(guān)系,對于未能引起流量分布顯著變化的DoS攻擊也很難檢測。本文利用了信息論中另一個重要的理論——相對熵理論,通過分析DoS攻擊發(fā)生時所造成的網(wǎng)絡(luò)流量中IP、端口等屬性分布特性的變化規(guī)律及其對相鄰時刻網(wǎng)絡(luò)流量序列之間的相對熵值的影響,提出了一種基于相對熵的網(wǎng)絡(luò)DoS攻擊檢測(Relative Entropy Detection,RED)算法。
相對熵是指兩個隨機序列之間距離的度量,從統(tǒng)計學(xué)角度出發(fā)它是指兩個隨機序列之間的相似程度[4]。相對熵可定義為
相對熵的重要性質(zhì)有D(P Q)=0當且僅當P=Q,即P、Q兩個分布序列完全相同時它們之間的相對熵值為0。D(P Q)的值越小表示分布序列P和Q越相似,反之則表示其相差越大。
基于相對熵的RED檢測算法是建立當前時段Tcur的分布序列作為P,上一個時段Tpre的分布序列作為Q,通過計算 Tcur和 Tpre時段數(shù)據(jù)之間的相對熵用于DoS的攻擊檢測。
近年來,對網(wǎng)絡(luò)業(yè)務(wù)流量的實際測量和統(tǒng)計分析結(jié)果表明,互聯(lián)網(wǎng)業(yè)務(wù)流量具有突發(fā)性(Bursty)、長相關(guān)、自相似性等主要特性。流量在宏觀上的流量變化較大,但在微觀層面,單位流量具有較為穩(wěn)定的分布結(jié)構(gòu)[5]。DoS攻擊往往破壞網(wǎng)絡(luò)流量穩(wěn)定的分布結(jié)構(gòu),而采用相對熵就能很好地檢測出這種變化。
從DoS的攻擊手段方面進行分析:正常網(wǎng)絡(luò)流量的目的IP的分布較均勻,當發(fā)生攻擊時,被攻擊IP的流量會顯著增加,導(dǎo)致這個IP在統(tǒng)計中出現(xiàn)較大比例。同樣,當DoS對某一特定的服務(wù)漏洞進行攻擊時,也會引起目的端口屬性、協(xié)議屬性和包大小屬性的分布發(fā)生較大變化。
從DoS的攻擊效果方面進行分析:某一服務(wù)器向外提供服務(wù)所發(fā)送的數(shù)據(jù)包的源地址都為服務(wù)器地址,當DoS攻擊造成服務(wù)器停止服務(wù)的后果時,會對網(wǎng)絡(luò)流量中的源地址屬性和源端口屬性的分布造成較大影響。DoS攻擊所癱瘓的服務(wù)主機越重要,這種分布變化就會越明顯。
無論是從DoS的攻擊手段還是從攻擊效果上來分析,這些都可以通過相對熵值的跳變來檢測攻擊。
基于相對熵理論的RED算法是一個以時間為循環(huán)變量的步進計算過程,每次循環(huán)收集Tcur時段的分布序列,并需要上一次循環(huán)中所收集的分布序列作為Tpre序列,計算Tpre和Tcur兩個序列之間的相對熵值作為 Tcur時段的處理結(jié)果,最后將 Tcur時段的分布序列作為下一次循環(huán)的Tpre序列進入下一次循環(huán)。以計算源IP地址屬性的相對熵值為例,算法步驟描述如下:
步驟1:參數(shù)初始化。定義 step為時段區(qū)間的長度,Tcur時段出現(xiàn)的IP存入ipSourceArrayCur結(jié)構(gòu)中,計算這些IP出現(xiàn)的概率結(jié)果存放在 ipSourceProbaArrayCur結(jié)構(gòu)中。
步驟2:取一條數(shù)據(jù)記錄,若所有數(shù)據(jù)記錄已取完則跳轉(zhuǎn)到步驟10。判斷該條數(shù)據(jù)記錄是否在當前Tcur時段內(nèi),如在則跳轉(zhuǎn)到步驟3,如不在則跳轉(zhuǎn)到步驟4。
步驟3:從該條數(shù)據(jù)記錄中提取出IP源數(shù)據(jù),存入ipSourceArrayCur結(jié)構(gòu)中并更新該IP源地址對應(yīng)的計數(shù)變量。跳轉(zhuǎn)到步驟2。
步驟4:表示Tcur時段內(nèi)的所有數(shù)據(jù)已經(jīng)統(tǒng)計完畢。通過ipSourceArrayCur結(jié)構(gòu)分別計算其中每個源IP地址出現(xiàn)的概率并將計算結(jié)果存入ipSourceProbaArrayCur結(jié)構(gòu)中。
步驟5:取 Tpre時段即上一次循環(huán)中所產(chǎn)生的ipSourceArrayPre結(jié)構(gòu)和ipSourceProbaArrayPre結(jié)構(gòu)。
步驟6:將Tpre和Tcur時段是數(shù)據(jù)合并。由ip-SourceArrayPre和 ipSourceArrayCur構(gòu) 成 merge-SourceArray結(jié)構(gòu),由 ipSourceProbaArrayPre和 ipSourceProbaArrayCur構(gòu)成mergeSourceProbaArray結(jié)構(gòu)。
步驟7:通過mergeSourceProbaArray結(jié)構(gòu)計算Tcur時段的相對熵值,并將結(jié)果輸出。
步驟8:將變量 Tcur、ipSourceArrayCur結(jié)構(gòu)、ip-SourceProbaArrayCur結(jié)構(gòu)分別賦給變量 Tpre、ip-SourceArrayPre結(jié)構(gòu)和ipSourceProbaArrayPre結(jié)構(gòu)。
步驟9:將 Tcur以 step步進,ipSourceArrayCur和ipSourceProbaArrayCur結(jié)構(gòu)清零。跳轉(zhuǎn)到步驟2。
步驟10:算法結(jié)束。
該RED算法雖然計算相對熵時需要Tpre和Tcur兩個時段的數(shù)據(jù),但并不需要每次計算過程都分別運算Tpre和Tcur的相關(guān)數(shù)據(jù),每次循環(huán)只需要填充Tcur的數(shù)據(jù)即可。當前循環(huán)的Tcur數(shù)據(jù)作為下一循環(huán)的Tpre數(shù)據(jù)使用,很有效地避免了數(shù)據(jù)的重復(fù)計算。
RED算法中 Tcur時段的數(shù)據(jù)相當于P分布序列,Tpre時段的數(shù)據(jù)相當于Q分布序列。將Tcur時段和Tpre時段的數(shù)據(jù)進行合并時就會出現(xiàn)兩種情況:對于在 Tcur時段出現(xiàn)而Tpre時段沒有出現(xiàn)的元素其對應(yīng)的,此時定義,對于隨著時間的推移而消失的IP等元素,通過下降的幅度來影響相對熵值;對于在Tpre時段出現(xiàn)而Tcur時段沒有出現(xiàn)的元素定義其對應(yīng)的,,此時定義,對于本時段突然出現(xiàn)的IP等元素賦予較高的權(quán)值,通過出現(xiàn)的頻率與權(quán)值的乘積來影響相對熵值。
實驗使用了MIT實驗室在美國國防先進技術(shù)研究計劃署(DARPA)和美國空軍研究所共同資助下所公布的DARPA99數(shù)據(jù)集,該數(shù)據(jù)集已經(jīng)作為研究領(lǐng)域所認可并廣泛使用的評測標準。
為了分析RED算法與信息熵檢測算法相對比所具有的優(yōu)勢,選取了含有較多種DoS攻擊的Apr-5-outside.dump數(shù)據(jù)包計算IP地址屬性結(jié)果,如圖1所示。
圖1 IP屬性的信息熵值與相對熵值對比圖Fig.1 Comparison between relative entropy and information entropy value of IP property
圖1中分別使用了RED算法和信息熵算法對目的IP地址和源IP地址屬性進行了計算。ipSrcBE和ipDesBE分別表示源IP地址和目的IP地址的信息熵值,ipSrcRE和ipDesRE分別表示源IP地址和目的IP地址的相對熵值;標記A表示在19092 s爆發(fā),持續(xù)了120 s的Smurf攻擊;標記B表示在43227 s爆發(fā),持續(xù)了900 s的Udpstorm攻擊。通過這兩個攻擊實例具體分析RED算法與信息熵檢測算法的共性與區(qū)別。
信息熵算法和RED算法都可以檢測Smurf攻擊。Smurf攻擊爆發(fā)時大量主機同時向受害主機發(fā)送ICMP報文。信息熵算法中ipSrcBE值明顯增大是因為該時段內(nèi)的源地址數(shù)目急劇增多分布發(fā)散使系統(tǒng)處于無序狀態(tài)。ipDesBE值明顯降低是因為該時段目的IP地址數(shù)目相對集中。RED算法中ipSrc-CE值明顯增大是因為與前一時段相比出現(xiàn)了大量新的源IP地址且各地址的概率分布都發(fā)生了較大變化。ipDesCE值也明顯增大是因為與前一時段相比,原有的大量目的IP地址消失,同時受害主機的IP地址出現(xiàn)概率明顯增加,從而也使網(wǎng)絡(luò)流量的分布結(jié)構(gòu)發(fā)生較大變化。
信息熵算法無法檢測UdpStorm攻擊而RED算法可以。UdpStorm攻擊是通過偽造的UDP數(shù)據(jù)包使多個受害主機之間不停的相互發(fā)送數(shù)據(jù)從而造成網(wǎng)絡(luò)的擁擠消耗有效帶寬。該時段內(nèi)各主機之間在進行通信,源IP地址和目的IP地址都未出現(xiàn)明顯的集中或發(fā)散的現(xiàn)象,信息熵值不會產(chǎn)生較大的變化,從圖1中標記B處的ipSrcBE和ipDesBE值未發(fā)生變化也驗證了這一點。RED算法可以檢測Udp-Storm攻擊是因為雖然IP地址并未發(fā)生較多變化而每個IP地址的出現(xiàn)概率都發(fā)生較大的變化使相對熵值明顯增大。選取攻擊前一時刻與攻擊發(fā)生時刻源IP地址的相對熵值進行對比,結(jié)果如表1所示。
表1 相對熵值與信息熵值對比表Table 1 Comparison between relative entropy and information entropy
從表1中可以看出,在攻擊發(fā)生時刻與攻擊還未發(fā)生的前一時刻相比,IP數(shù)量沒有明顯變化,并且也沒有發(fā)生涌現(xiàn)出較多新IP地址的情況,所以信息熵值比較穩(wěn)定,無法檢測出UdpStorm攻擊。Udp-Storm攻擊造成網(wǎng)絡(luò)的擁擠和減慢使各主機之間的通信無法正常進行,導(dǎo)致各地址的概率分布均發(fā)生了較大變化,從而導(dǎo)致了相對熵值的明顯增大。
分析RED算法與信息熵算法的本質(zhì)區(qū)別在于信息熵只關(guān)心宏觀上IP地址的分布情況而相對熵不僅考慮宏觀的分布變化并且還考量其中各個元素的變化情況。
為了進一步驗證 RED算法的有效性,將DARPA99數(shù)據(jù)集中所列出的17種DoS攻擊組合為170次攻擊數(shù)據(jù),并隨機插入到第一周和第三周的正常的網(wǎng)絡(luò)流量數(shù)據(jù)中。RED算法和信息熵算法的檢測結(jié)果對比如表2所示。
表2 RED算法和信息熵算法檢測結(jié)果對比Table 2 Comparison between the results of RED and the information entropy detection
由表2可知,基于相對熵的RED算法相比信息熵檢測算法對于DoS攻擊具有更高的檢測率,但RED算法將一些正常網(wǎng)絡(luò)狀態(tài)的轉(zhuǎn)變誤判為攻擊導(dǎo)致了一定的誤報率。
本文針對DoS網(wǎng)絡(luò)攻擊行為提出了一種基于相對熵理論的RED檢測算法。相比傳統(tǒng)信息熵檢測法,RED算法不僅考慮宏觀的分布變化而且從微觀角度考量其中各個元素的變化情況,實驗結(jié)果表明攻擊檢測率有了較大提升。未來研究的方向是如何在RED算法基礎(chǔ)上更好地區(qū)分正常突發(fā)性流量和攻擊流量,從而有效降低誤報率。
[1]Loukas G,Oke G.Protection Against Denial of Service Attacks:A Survey[J].Computer Journal,2010,53(7):1020-1037.
[2]Lakhina A,Crovella M,Diot C.Mining anomalies using traffic feature distributions[J].Computer Communication Review,2005,35(4):217-228.
[3]Rahmani H,Sahli N,Kammoun F.Joint entropy analysis model for DDoS attack detection[C]//Proceedings of the Fifth International Conference on Information Assurance and Security.Xi′an:IEEE,2009:267-271.
[4]ThomasM,Joy A.Elements of Information Theory[M].New York:John Wiley&Sons Inc.,2006:19-22.
[5]石江濤,王永綱,戴雪龍,等.自相似網(wǎng)絡(luò)業(yè)務(wù)流量的研究與實現(xiàn)[J].通信學(xué)報,2005,26(6):112-120.SHI Jiang-tao,WANG Yong-gang,DAI Xue-long,et al.On study andimplementation of self-similar network traffic[J].Journal on Communications,2005,26(6):112-120.(in Chinese)