張靜,胡華平,2,劉波,肖楓濤
(1. 國防科技大學 計算機學院,湖南 長沙 410073;2. 61070部隊,福建 福州 350003)
目前,社會對 Internet的依賴性日益增強,例如電子商務、電子政務、網上銀行等技術的應用。但由于網絡本身存在一定的不足之處,因此面臨很多威脅,拒絕服務攻擊便是其中之一。拒絕服務攻擊通過大量的垃圾數(shù)據來阻塞網絡,使正常的數(shù)據傳輸不能得到有效服務。
2003年,Kuzmanovic在SIGCOMM會議上提出的低速率拒絕服務(LDoS, low-rate denial-of-service)攻擊是一種新型的拒絕服務攻擊[1],周期性的發(fā)送高強度的短脈沖,即大量短小數(shù)據分組,使得攻擊流可以周期性地占用路由器的資源,導致報文丟棄,造成所有受其影響的合法TCP流進入超時重傳狀態(tài),最終使得受害者的吞吐量大幅度降低,從而達到攻擊目的。隨后出現(xiàn)RoQ攻擊[2,3]和Pulsing Attacks[4]亦是利用此原理。與傳統(tǒng)的拒絕服務攻擊相比,LDoS攻擊是一個小流量匯聚的攻擊,使得攻擊流量更加隱蔽,在網絡上更加難以被現(xiàn)有的拒絕服務攻擊檢測方法發(fā)現(xiàn)。
由于LDoS攻擊的原理是利用TCP/IP協(xié)議中超時重傳存在的一致性,因此Kuzmanovic在2003年提出Shrew攻擊的同時,就提出了隨機化端系統(tǒng)的最小超時等待時間的取值來破壞超時重傳的一致性[1],以達到降低 LDoS攻擊效果的目的。但是該方法在網絡上的部署需要對現(xiàn)有的協(xié)議進行修改,實現(xiàn)非常困難。
LDoS攻擊數(shù)據流體現(xiàn)出的行為特征成為LDoS攻擊檢測考慮的出發(fā)點。根據攻擊數(shù)據流在短時間內依然有較高的流量或到達的數(shù)據分組個數(shù)突然大幅度增加,Kuzmanovic提出利用路由器隊列管理算法對高速數(shù)據流的報文進行丟棄來降低攻擊效果[2];文獻[5]通過分析路由器隊列緩沖區(qū)的大小對攻擊效果的影響提出相應的對抗措施;HAWK算法[6]根據LDoS攻擊數(shù)據流的強度、攻擊周期內的持續(xù)時間和攻擊周期,對現(xiàn)有的隊列管理算法進行改進,實現(xiàn)對周期性的短時間內高速率數(shù)據流進行過濾,與此算法相似的還有Zhang提出的RRED算法[7]。
Sun H等則根據攻擊對吞吐量的影響,提出一種分布式的檢測算法[8],此外Chen Yu在文獻[9]中通過對正常和攻擊2種情況下流量的能量譜密度進行對比,找出攻擊數(shù)據流的特征,然后通過路由器間廣播檢測信息來實現(xiàn)對此攻擊的協(xié)同對抗。
從上面的介紹可以看出,目前針對LDoS攻擊的對抗主要從是對攻擊數(shù)據流的時頻特征進行分析或破壞攻擊存在的條件角度出發(fā),但對LDoS攻擊對路由器緩沖區(qū)的隊列平均報文長度有何影響缺乏相應的分析。因此本文分析了LDoS攻擊對緩沖區(qū)隊列平均報文長度(ASPQ)的影響,并提出相應的檢測方法。
定義1 隊列平均報文長度(ASPQ, average size of packet in queue)。隊列平均報文長度是指在時刻t,隊列中所有報文的平均長度即瞬時隊列平均報文長度。
LDoS攻擊通過周期性地發(fā)送高強度的短脈沖,使得攻擊流可以周期性地占用路由器的資源,導致報文丟棄,造成受其影響的合法TCP流進入超時重傳狀態(tài),最終使得受害主機的服務能力大幅度降低,從而達到攻擊目的。目前對LDoS攻擊對抗方法的研究有很多,得出了很多有用的結論。本文提出檢測方法的主要依據有2個,分別是攻擊報文在隊列的占有比率[10]和攻擊報文的大小與攻擊效果之間的關系[11]。
依據1 根據文獻[10]中的仿真實驗可知,在遭受攻擊時,攻擊數(shù)據流在路由器緩沖區(qū)的隊列中會占有一定的比例,攻擊效果越好,比例越大。在文獻[10]的攻擊環(huán)境下,比例達到 90%以上。由此可知,在攻擊時刻,路由器緩沖區(qū)隊列中的報文中有一部分是攻擊報文。
依據2 在攻擊源速率恒定的情況下,若攻擊源數(shù)目為N,匯聚后的攻擊速率為C,一個攻擊周期的攻擊持續(xù)時間為L,攻擊報文的大小為Size,則一個攻擊周期內攻擊流發(fā)送的數(shù)據分組個數(shù)為
由式(1)可知,在C不變的情況下,攻擊報文的長度越大,攻擊源發(fā)送的數(shù)據分組個數(shù)就越少。在同樣的攻擊環(huán)境下,不同大小的攻擊數(shù)據分組帶來的攻擊性能如圖1所示[11]。從圖中可知,攻擊報文的長度越大,對正常數(shù)據流的影響越小,從而導致攻擊性能的降低。因此,在攻擊速率一定的情況下,攻擊者必須使用短小數(shù)據分組才能達到較好的攻擊效果。
圖1 攻擊報文大小對攻擊效果的影響
設在時刻t,攻擊報文在隊列中所占的比例為PAttack,正常報文所占比例為PNormal,正常情況下隊列平均報文大小的數(shù)學期望值為,則該時刻隊列平均報文長度為
由式(2)可知,在未遭受攻擊的情況下,隊列平均報文長度為;在遭受攻擊的情況下,由于PAttack占據一定的比例,而且攻擊報文的長度和Size存在一定的差距,因此隊列平均報文長度即ASPQ的值會有一定的變化。結合前面的2個依據可知:在攻擊和未攻擊2種情況下,ASPQ的值會呈現(xiàn)下降趨勢。在此基礎上,本文提出基于ASPQ的LDoS攻擊檢測方法。
若隊列中的瞬時報文數(shù)目為Nt,每個報文的長度為Li,i∈[1,Nt],則ASPQ值的計算公式為
定義2 采樣時間t。采樣時間指計算隊列平均報文長度的時刻。隊列處理每一個報文的時刻就是隊列的采樣時刻,計算此時刻的ASPQ值。本文中的采樣時間t與其他文獻中的采樣時間不同,采樣時間間隔不是一個定值,而是一個變化的量,因此它不是一個有規(guī)律的值,而是一個變量,取值范圍為[0 ,+∞ )。
根據上面的定義對隊列進行數(shù)據處理,可以得到在時間長度為T、采樣次數(shù)為N的情況下,得到ASPQ序列,記為LAvg( 1),LAvg( 2),… ,LAvg(N),其中,LAvg(n) = <t,VASPQ(n)>。通過本節(jié)的定義和對數(shù)據的處理,得到ASPQ序列。
經過前面的分析可知,在遭受LDoS攻擊的情況下,隊列平均報文長度會發(fā)生變化。本文在得到ASPQ序列的基礎上,采用變化點檢測算法對LDoS進行檢測。
定義3 隊列平均報文變化程度(CDASPQ,change degree of average size of packet in queue)。隊列平均報文變化程度指采樣時刻 CDASPQ值的差異與正常情況下的比值。
CDASPQ的計算方法為
CDASPQ值的計算公式可做進一步推導,如式(5)所示。
因此,用式(4)對ASPQ序列做進一步的處理,得到CDASPQ序列Δ1,Δ2,…,ΔN,其中,Δn=<LAvg(n) :t,VCDASPQ(n) > ,n∈ [1 ,N]。
通過前面得到的攻擊報文大小與攻擊性能的關系可知,攻擊效果越好,CDASPQ的值將會越大。由于攻擊要持續(xù)一段時間,因此CDASPQ的值會有一段時間保持在較高的位置。如何消除此種情況,需要對 CDASPQ序列做進一步的處理。
本文采用式(6)的方式對 CDASPQ序列做進一步的處理得到CP序列Δ1′ ,Δ2′ , … ,ΔN′ ,而且該序列有以下性質:
如何判斷是否發(fā)生攻擊,設檢測閾值為h,根據下式判斷是否發(fā)生LDoS攻擊:
檢測閾值h可根據式(5)推導出如下的關系式:
根據Size> 0 ,可知h的設置應滿足h<PAttack,并且對于h的每個值,其所能檢測的攻擊是有一定范圍的。閾值的設置有2個原則:
1) 盡可能檢測出不同報文大小的攻擊;
2) 必須檢測出攻擊效果較好的LDoS攻擊。
因此面對不同報文大小的LDoS攻擊,如何設置檢測閾值以期達到較好的檢測效果,需要根據在不同報文大小的攻擊下 CDASPQ值的變化情況對閾值進行設置。
采用文獻[11]中的實驗環(huán)境,攻擊數(shù)據流如圖2所示,進行10次攻擊,每次攻擊持續(xù)時間為200ms,為了獲得更好的針對Droptail的攻擊效果,攻擊方式采取多源單點攻擊。
圖2 攻擊數(shù)據流
本文通過仿真網絡,在Droptail和RED 2種典型的隊列管理算法基礎上比較隊列平均報文長度在正常和遭受攻擊2種情況下的變化。
通過仿真實驗,獲得隊列平均報文長度變化在正常情況下和LDoS攻擊情況下兩者的比較,比較結果如圖3所示。由圖3可知,在遭受攻擊的情況下,此時隊列中攻擊報文會占據絕大部分,通過隊列平均長度的計算公式可知,攻擊將導致隊列平均報文長度發(fā)生急劇的變化。圖 3(b)同時還驗證了TCP協(xié)議的超時重傳機制中對重傳時間的指數(shù)增長計算方式。
根據文獻[10]得出的攻擊流所占的比例,結合式(7),根據圖3(a)、圖3(c)得到的數(shù)據,該實驗中值設為1040byte。在攻擊報文大小為40byte情況下,得到的CDASPQ數(shù)據如圖4所示,CDASPQ值在攻擊情況下的變化與前面分析相吻合。
由圖4可知,在遭受到攻擊的情況下,CDASPQ的值會快速增加至接近1的位置。從實驗數(shù)據中來看,提出的算法在檢測針對Droptail的LDoS攻擊時,僅在4次攻擊持續(xù)時間內檢測到攻擊的發(fā)生。從圖1可知,此時攻擊的效果非常好,結合圖3(b)的數(shù)據說明攻擊使得 TCP數(shù)據流同步進入超時重傳階段。根據超時重傳機制可知其他的6次攻擊持續(xù)時間對TCP數(shù)據流的影響非常小,因此ASPQ值的變化非常小,以致算法無法檢測攻擊的發(fā)生。因此本文提出的算法僅可以檢測出對 TCP數(shù)據流有一定影響的攻擊。正如圖4(b)所示,LDoS對RED的攻擊效果雖然沒有攻擊Droptail的效果好,但每次攻擊均對TCP數(shù)據流均有一定的影響,因此可以檢測出LDoS的10次攻擊。
圖3 隊列平均報文長度對比
圖4 CDASPQ值在LDoS攻擊情況下的變化
圖5 攻擊報文大小改變時CDASPQ值的變化
如果攻擊者改變攻擊報文的大小,該算法是否依然有效,在本節(jié)中以200byte和60byte為例對算法進行分析。從圖5可知,攻擊報文的大小雖然改變,但攻擊時間內依然會引起CDASPQ值的增加,算法依然有效,但是隨著攻擊報文的增大,檢測閾值需要相應的降低以提高算法的檢測率。從圖1可知,在60byte和200byte 2種大小的攻擊報文情況下,攻擊效果會大幅降低,尤其是200byte的情況,攻擊效果僅有0.23。
如何設置閾值,由上面的數(shù)據可知,在攻擊報文大小為 200byte、攻擊效果僅有 0.23(Droptail)、0.14(RED)的情況下,CDASPQ的值最小變化幅度均超過 0.4。因此,在實驗中,算法的檢測閾值設為 0.4,可以檢測攻擊報文大小在 200byte以內的LDoS攻擊。攻擊者為了逃避該算法可能會增大攻擊報文、提高攻擊速率,這樣就使得主動隊列管理算法本身具有對抗LDoS攻擊的能力。
文獻[5]通過增大緩沖區(qū)的大小,迫使攻擊者加大攻擊速率以達到較好的攻擊效果,從而可以使得主動隊列管理算法丟棄高速的攻擊數(shù)據流以達到對抗LDoS攻擊的目的,而本文提出的方法則可以檢測一般的LDoS攻擊,更加具有普適性。文獻[10]通過提取攻擊數(shù)據流在路由器緩沖區(qū)的隊列中所占的比例,發(fā)現(xiàn)在遭受攻擊的情況下,攻擊數(shù)據比例達到90%以上,但是隨著攻擊數(shù)據分組的增大,攻擊效果的降低,攻擊數(shù)據所占的比例會大幅下降,此時,文獻中提到的方法將會產生一定的漏報,本文提出的方法可以很好地解決這一問題。而2010年提出的RRED算法如果面對通過分布式實施的LDoS攻擊,算法的依據將會失去意義,導致對抗效果的降低,基于 ASPQ的LDoS攻擊檢測方法將報文不能偽造的特性之一——報文長度作為檢測的依據,可見算法具有較好的頑健性。
LDoS攻擊可以有多種實現(xiàn)方式,例如變周期、變速率等,本文提出的算法對其他方式實現(xiàn)的LDoS攻擊依然會有一定的效果。從前面對算法的分析可知,算法進行的實時數(shù)據采樣,與LDoS攻擊周期無關,而且變速率是為了更快地達到較好的攻擊效果,依然會對TCP數(shù)據流有一定的影響,結合圖1和圖5的數(shù)據可知,只要此類攻擊有一定的攻擊效果,本文提出的算法就可以檢測出此類攻擊的發(fā)生。
本文提出了基于ASPQ方法的LDoS攻擊檢測方法,從報文平均大小變化的角度來看LDoS攻擊對其的影響。通過在 40byte、60byte和 200byte 3種情況下獲得的CDASPQ的值的變化,綜合考慮,設定檢測閾值。從實驗結果來看,該算法簡單有效,與其他方法對比,檢測準確率較高,有一定的普適性。但是算法還存在一些值得改進之處,例如,沒有與相應的對抗措施結合;閾值能否根據具體情況進行實時變化,用以較早地檢測出攻擊的存在,從而可以較早采取對抗措施,降低攻擊效果,這些將是下一步的研究重點。
[1] KUZMANOVIC A, KNIGHTLY E W. Low-rate TCP-targeted denial-of-service attacks[A]. Proceedings of ACM SIGCOMM 2003[C].Karlsruhe, Germany,2003.
[2] GUIRGUIS M, BESTAVROS A, MATTA L. Exploiting the transients of adaptation for RoQ attacks on Internet resources[A]. Proc IEEE International Conference on Network Protocols (ICNP)[C]. Berlin,Germany, 2004.
[3] GUIRGUIS M. Reduction of quality (RoQ) attacks on Internet end-systems[A]. Proceedings of the 24th IEEE INFOCOM[C]. Miami,Florida, 2005.
[4] LUO X,CHANG R.On a new class of pulsing denial-of-service attacks and the defense[A]. Proceedings of Network and Distributed System Security Symposium (NDSS’05)[C]. San Diego, CA, 2005.
[5] SARAT S, TERZIS A. On the effect of router buffer sizes on low-rate denial of service attacks[A]. Proceedings of the 14th International Conference on Computer Communications and Networks[C]. San Diego, CA, United States, 2005.
[6] KWOK Y K. HAWK: halting anomalies with weighted choking to rescue well-behaved TCP sessions from shrew DDoS attacks[A].ICCNMC 2005[C]. Zhangjiajie, China, 2005.
[7] ZHANG C W, YIN J P, CAI Z P,et al. RRED: Robust RED algorithm to counter low-rate denial-of-service attacks[J]. IEEE Communication Letter,2010,14(5):489-491.
[8] SUN H B, LUI J C S, YAU D K Y. Defending against low-rate TCP attacks: dynamic detection and protection[A]. Proceedings of IEEE International Conference on Network Protocols[C]. Berlin, Germany,2004.
[9] CHEN Y, HWANG K. Collaborative detection and filtering of shrew DDoS attacks using spectral analysis[J]. Journal of Parallel and Distributed Computing, 2006, 66(9):1137-1151.
[10] 吳志軍, 張東. 低速率DDoS攻擊的仿真和特征提取[J]. 通信學報,2008, 29(1):71-76.WU Z J, ZHANG D. Attack simulation and signature extraction of low-rate DDoS[J]. Journal on Communications, 2008, 29(1):71-76
[11] HU H P, ZHANG J, LIU B,et al. Simulation and analysis of distributed denial-of-service attacks[A]. 2010 International Conference on Computer Sciences and Convergence Information Technology[C].Seoul, Korea, 2010.