徐 川,杜 成,唐 紅
(1重慶郵電大學通信學院 重慶 400065;2重慶郵電大學計算機學院 重慶 400065)
拒絕服務(DoS)攻擊是指利用網絡協議的缺陷或通過各種手段耗盡被攻擊對象的資源,以使得被攻擊主機或網絡無法提供正常服務的攻擊方式。分布式拒絕服務(distributed denial of service,DDoS)攻擊則是在傳統的拒絕服務攻擊基礎上產生的分布式大規模攻擊方式。它由攻擊者控制傀儡機向受害者發送大量攻擊數據包,使得受害機無法正常通信。近年來,DDoS攻擊技術變得越來越復雜,DDoS攻擊發生的次數逐漸增多,僵尸網絡的不斷發展也給攻擊檢測帶來了一定的難度,對網絡安全構成嚴重威脅。因此,DDoS攻擊檢測對網絡安全具有很重要的意義和價值。
目前,關于DDoS攻擊的研究主要可以分為4方面:預防、檢測、攻擊源追蹤、響應。其中,重點研究方向是攻擊期間的檢測技術,其目的是在攻擊發生時有效地檢測出攻擊的存在。當前DDoS攻擊的檢測方法有很多種,主要分為3類:基于誤用的DDoS檢測、基于異常的DDoS檢測以及混合式DDoS檢測。基于誤用的DDoS檢測主要是利用了特征匹配、模型推理、狀態轉換和專家系統的方法;基于異常的DDoS檢測主要包括統計檢測、模式預測、人工智能檢測、機器學習檢測4種方法。混合模式DDoS攻擊檢測則是將誤用DDoS攻擊檢測和異常DDoS攻擊檢測兩種方式混合使用。基于異常的DDoS檢測以及混合式DDoS檢測是現在應用比較廣泛的兩類方法,本文對這些檢測方法進行進一步的歸類總結,明確各種檢測方法的特點和應用范圍,以便更加有效地進行DDoS攻擊檢測。
針對DDoS分層攻擊,DDoS攻擊檢測可以分為4類:鏈路層檢測、網絡層檢測、傳輸層檢測及應用層檢測。按照不同的檢測位置[1],又可以將DDoS攻擊檢測分為源端檢測、中間網絡檢測、受害端檢測和混合式檢測。
鏈路層檢測主要指ARP攻擊檢測。實際中,DDoS攻擊中很少是基于ARP協議的,因此,基于ARP協議的DDoS攻擊檢測方法也比較少。
Farahmand M等人[2]提出了一種在廣播域中檢測ARP異常流量的新方法,結合流量速率、突發度、暗區(連接空置的內部IP地址)、掃描順序4個參數確定網絡異常。參考文獻[3]設計并實現了一種基于交換機鏡像端口的ARP欺騙檢測方法,其基本原理為:將運行ARP欺騙檢測功能進程的主機連接到交換機的鏡像端口,該鏡像端口復制了其他被檢測端口的進出口數據,檢測主機過濾并分析這些數據中的所有ARP報文的IP-MAC地址對應關系,通過與標準關系庫進行一致性對比,及時發現網絡中的ARP欺騙報文。
網絡層DDoS攻擊檢測是利用IP層協議信息實現DDoS攻擊檢測。網絡層DDoS攻擊主要利用網絡層協議存在的漏洞進行攻擊致使目標主機系統崩潰,目前針對網絡層檢測研究較多、較為成熟,已有許多有效的檢測方案。
[4]提出在IP層采用基于聚集的擁塞控制算法,通過限制擁塞信號的寬度,使間接損害達到最小。Yann Labit等在參考文獻[5]中分別計算ICMP請求/響應延遲時間序列的熵值和Hausdorff距離,以實現實時檢測攻擊;參考文獻[6]分析了IP數據包分片攻擊,提出了一種數據包分片攻擊的防御機制;參考文獻 [7]提出了基于ICMP窗口限制的方法,提取數據包的ICMP標志位,根據對應的IP地址進行分類,估計每個IP地址的到達速率,將估計值與閥值比較,若大于閥值,則采用ICMP的窗口限制算法過濾相應數據包,以防止ICMP洪流攻擊。
傳輸層DDoS攻擊檢測是指基于傳輸層協議信息實現DDoS攻擊檢測。DDoS攻擊中TCP Flooding和UDP Flooding攻擊是比較普遍的兩種攻擊,與網絡層檢測相似,傳輸層檢測應用較為廣泛,方法較多,且檢測方法比較有效。
參考文獻 [8]從分析TCP緩存入手,提出一種基于TCP緩存的DDoS攻擊檢測算法,分析主機TCP緩存中與DDoS密切相關的數據,概括出這些數據的特征和狀態,當發生DDoS攻擊時,它們和正常狀態就會產生偏差,出現異常,可以此來判斷是否發生DDoS攻擊。參考文獻[9]給出了一種基于相關系數矩陣的異常檢測及分析方法,由相關系數矩陣獲得每個單位時間內不同類型的TCP數據包之間的定量關系,并通過觀測數據包之間的相關系數來發現TCP流中的異常行為及其類型,從而實現了網絡檢查和異常行為檢測及分析。參考文獻[10]提出了基于人工免疫系統的UDP洪流攻擊防御系統,利用基于特征值匹配的改進型否定選擇算法,有效地檢測UDP洪流攻擊。
隨著低層防御措施的加強,DDoS攻擊者逐漸把攻擊方向向應用層遷移。基于應用層的DDoS攻擊利用了高層協議和服務的多樣性和復雜性,變得更復雜,也更加難以檢測。因此,針對應用層DDoS攻擊,不少學者提出了新的有效檢測方法。
Walfish等提出了基于“進攻”的防御方法[11],認為通過觸發所有客戶提高其請求速率可以有效排擠攻擊者,其依據是攻擊發生時,攻擊者通常已經耗盡自身的鏈路帶寬,而正常用戶的帶寬有較大的冗余,因此提高正常用戶的請求速率可以有效降低攻擊者對服務器入口處的帶寬占有率。Ranjan[12]等利用統計方法檢測每個HTTP會話的異常度,然后通過控制HTTP速率來抵御DDoS攻擊,但這種基于速率的檢測方法在突發流量下,難以區分正常流量與攻擊流的區別。參考文獻[13]基于動態請求、訪問內容的選擇和可視化3方面建模,計算某站點內各頁面跳轉概率。參考文獻[14]采用了基于Web文檔流行度的檢測方法,該方法通過Web服務器端的用戶訪問日志文件,提取出用戶對Web對象的重訪率,根據重訪率描述用戶Web流的行為特性,觀測數據經過PAC和ICA預處理后得到實測熵,由隱半馬爾可夫模型 (HsMM)得到最終的異常判決指標——熵,由實測熵與模型固有熵的偏離程度決定Web流的異常程度。
網絡層和傳輸層的DDoS攻擊主要是利用網絡傳輸協議漏洞進行洪泛攻擊,以消耗攻擊目標帶寬為目的,由于相關研究開展較早,目前其檢測方法也較多,較為完善。應用層DDoS攻擊主要是在應用層上進行洪泛和資源占用攻擊,以消耗CPU、內存、數據庫等資源為目的,與網絡層DDoS攻擊不同,應用層DDoS攻擊向攻擊目標所發送的服務請求都是合法的服務請求,這些服務請求無須利用網絡協議漏洞,因此,網絡層檢測很難對這類攻擊做出響應。目前,應用層檢測方法較少,沒有低層檢測方法完善,有待進一步提高。
表1從檢測難度、檢測率、誤報率、漏報率、時間特性及算法復雜度6個指標分別對網絡層檢測、傳輸層檢測及應用層檢測進行了總結。

表1 DDoS攻擊分層檢測
源端攻擊檢測是指將攻擊檢測算法部署在發出攻擊數據包的主機所在網絡的邊界路由器上,中間網絡檢測的檢測位置是整個網絡基礎設備,比如交換機、路由器等。受害者端DDoS攻擊檢測是指將攻擊檢測算法部署在被攻擊的主機及相關的網絡設備上。此外,還可以將攻擊檢測算法分散部署在源端、中間網絡和受害端中的至少兩個位置,稱為混合式檢測。
檢測算法部署在攻擊源端能夠及時檢測到DDoS攻擊,最大程度上降低DDoS攻擊危害。但是由于攻擊數據在攻擊端的數量比較少,需要記錄更多的網絡數據信息并消耗較多的存儲資源和計算資源,才能保證檢測的準確性。
參考文獻[15]抽取TCP/IP包頭中的標志位和ID字段構成多維觀測特征,采用Multi-stream Combined隱馬爾可夫模型在源端檢測DDoS攻擊。參考文獻[16]使用基于Bloom Filter的數據結構從網絡數據中提取信息,在提取的信息中使用變化點檢測的方法統計攻擊規律的變化。參考文獻[17]通過比較源IP地址信息熵與門限值發現可疑流量,并檢查這些可疑流量對應的主機是否對某一特定主機發出請求來檢測DDoS攻擊。參考文獻[18]提出了一種基于源端DDoS攻擊防御的D-WARD系統,在對DDoS攻擊流量進行充分抑制的同時,最大程度地保護合法流量。
中間網絡的檢測一般采用的是協同檢測方法,因此,中間網絡檢測的檢測率較高,一旦發現攻擊流量能夠及時防御。但是,路由器的負載增大,對網間合作的要求更高。
參考文獻[19]首先在邊界路由器上利用序列檢測法快速檢測DDoS攻擊,觀察隨著時間推移偏離正常行為的累積量;然后,結合各個檢測節點的序列檢測系統對整個網絡進行DDoS攻擊的全面檢測。Kai Bu[20]等提出了通過地址匹配和哈希驗證,對本地子網的可疑流量能夠有效地檢測和防御DDoS攻擊。
由于受害端的攻擊流量最大,特征最明顯,因此在受害端進行檢測較為容易,而且準確度最高。目前,大多數攻擊檢測算法都是部署在受害者端的。當然在受害端檢測DDoS攻擊也存在著負載大、難以區分正常數據包和攻擊包等問題。
參考文獻[21]基于TCP協議,從受害端進行觀察,計算未確認的報文段個數與總報文段個數的比值,形成基于時間的統計序列,再用經過改進的非參數遞歸CUSUM算法在線、快速檢測DDoS攻擊,并在檢測的同時記錄可疑的攻擊包。參考文獻[22]指出可以在受害者端利用主動探測技術(DARB)和TTL字段防御方法分別確定可疑半開放鏈接和過濾可疑流量。針對DDoS攻擊流的流量突發性、流非對稱性、源IP地址分布性和目標IP地址集中性等本質特征,參考文獻[23]提出了一種新的IP地址交互特征(IAI)算法。參考文獻[24]建立一個準確的IP地址和跳數映射表,通過查表能夠在正常流量中區分出偽造的IP數據包。
由于需要在源端、中間網絡、受害者端中的至少兩個位置部署,因此混合式檢測方法可以提高檢測精度,但同時也增加了檢測算法的難度。
參考文獻[25]提出了一種基于帶權CAT的檢測方案,利用CUSUM算法對微小變化的敏感性,在源端主機和中間網絡的路由器處進行基于到達目標數據包數量的檢測以及基于超級流聚合變化的檢測,實現DDoS攻擊的早期檢測。參考文獻[26]提出了一種基于用戶信譽值防御DDoS攻擊協同模型來檢測和防御DDoS攻擊,該模型在邏輯上由兩個檢測代理構成:路由器端的RDA和服務器端的SDA;RDA和SDA協同工作來實時監測網絡狀況。
從攻擊流的發送端(攻擊者)到接收端(受害者),DDoS攻擊流呈漏斗狀:攻擊流產生于一個分布式的區域,類似漏斗頂部;網絡區域類似于漏斗的中間部分,攻擊流匯集于受害者端,類似漏斗狹窄底部。因此,在攻擊源端,除非該網絡有大量攻擊源,否則很難檢測到DDoS攻擊,但是攻擊源端的攻擊流量還較少,一旦成功地檢測攻擊流量,就能較為容易地過濾掉DDoS攻擊數據包。與攻擊端檢測相反,受害者端的攻擊流量達到最大,能觀察到所有的攻擊報文,檢測到DDoS攻擊相對容易,檢測率也較高,檢測算法可以較容易地部署。但是越靠近受害者,越多的正常報文將被誤判丟棄,正常報文的存活率會越低,攻擊過濾的有效性也就越差。
表2從部署難度、檢測難度、檢測率、誤報率、漏報率、網絡負載、路由器負載及正常報文存活率8個方面分別比較了源端檢測、中間網絡及受害端檢測的差異。

表2 DDoS攻擊部署位置檢測比較
本文對現有的DDoS攻擊檢測方法按照攻擊層次和檢測位置進行分類,從不同方面對它們進行分析,上述這些檢測及防范方法對防御DDoS攻擊都有一定作用,但也存在一些問題:
·每一種DDoS攻擊檢測方法只有在一定的條件或范圍下才能有效地工作,缺乏通用高效的檢測方法;
· 應用層檢測方法不完善,存在準確率不高的問題;
· 檢測方法較為復雜,其時空復雜度較大。
隨著網絡攻擊技術的發展,DDoS攻擊表現出多樣性、復雜性、范圍廣、攻擊性強等特點,變得更加難以檢測,因此,必須加強對DDoS攻擊檢測的研究,才能有效遏制其快速發展的勢頭。下一步研究的重點方向包括:
· 如何提高檢測方法的準確率和檢測效率,實現在網絡海量數據上進行實時分析;
· 檢測到DDoS攻擊以后如何做到及時響應,減輕攻擊對合法數據傳送效率的影響;
·加強檢測方法的可適應性、自身的安全性和可靠性;
·目前DDoS攻擊逐漸轉向應用層,而傳統的檢測方法不能有效檢測出這些攻擊,因此應用層檢測研究顯得十分有必要;
·DDoS攻擊正呈現出多層結合的趨勢,因此對DDoS攻擊開展多層聯合檢測也是今后研究的一個重要方向。
參考文獻
1 嚴芬,王佳佳,趙金鳳等.DDoS攻擊檢測綜述.計算機應用研究,2008,25(4):966~969
2 Farahmand M,Azarfar A,Jafari A,et al.A multivariate adaptive method for detecting ARP anomaly in local area networks.In:Proc of ICSNC’06,Tahiti,Oct 2006
3 張潔,武裝,陸倜.一種改進的ARP協議欺騙檢測方法.計算機科學,2008,35(3):52~54
4 孫知信,任志廣,楊熙等.基于多層檢測的網絡安全防范系統.通信學報,2007,28(7):61~69
5 Yann Labit,Johan Mazel.HIDDEN:hausdorff distance based intrusion detection approach dedicated to networks.In:Proc of ICIMP’08,Bucharest,July 2008
6 HyunGon Kim.Protection against packet fragmentation attacks at 6LoWPAN adaptation layer.In:Proc of ICHIT’08,Daejeon,Aug 2008
7 Udhayan J,Anitha R.Demystifying and rate limiting ICMP hosted DoS/DDoS flooding attacks with attack productivity analysis.In:Proc of IACC 2009,Patiala,March 2009
8 胡鴻,袁津生,郭敏哲.基于TCP緩存的DDoS攻擊檢測算法.計算機工程,2009,35(16):112~114
9 Chen Ning,Chen Xiaosu,Xiong Bing,et al.An anomaly detection and analysis method for network traffic based on correlation coefficient matrix. In: Proc of SCALCOMEMBEDDEDCOM’09,Dalian,Sept 2009
10 Xu Rui,MaWenli,ZhengWenling.DefendingagainstUDP flooding by negative selection algorithm based on eigenvalue sets.In:Proc of IAS’09,Xi'an,Aug 2009
11 Michael Walfish,Mythili Vutuku,Hari BaIabshnan,et al.DDoS defense by offense.In:Proc of SIGCOMM'06,Pisa,Italy,Sept 2006
12 Supranamaya Ranjan,Ram Swaminathan,Mustafa Uysal,et al.DDoS-shield:DDOS-resilient scheduling to counter application laye attacks.IEEE/ACM Transactions on Networking,2009,17(1):26~39
13 Georgios Oikonomou,Jelena Mirkovic.Modeling human behavior for defense against flash-crowd attacks.In: Proc of ICC’09,Dresden,June 2009
14 Yi Xie,Shun Zhengyu.Monitoring the application-layer DDoS attacks for popular websites.IEEE/ACM transaction on networking,2009,17(1):15~25
15 康健,李強,張原.基于Multi-stream Combined隱馬爾柯夫模型源端檢測DDoS攻擊.計算機應用,2007,27(8):1884~1887
16 陳 偉,何炎祥,彭文靈.一種輕量級的拒絕服務攻擊檢測方法.計算機學報,2006,29(8):1392~1400
17 Malliga S,Tamilarasi A,Janani M.Filtering spoofed traffic at source end for defending against DoS/DDoS attacks.In:Proc of ICCCn 2008,St Thomas,VI,Dec 2008
18 Jelena Mirkovic,PeterReiher. D-Ward:a source-end defense against flooding denial-of-service attacks.IEEE Transactions on Dependable and Secure Computing,2005,2(3):216~232
19 Meenakshi S,Srivatsa SK.A distributed framework with less false positive ratio against distributed denial of service attack.Information Technology Journal,2007,6(8):1139~1145
20 Bu Kai,Sun Zhixin.A method based on AMHI for DDoS attacks detection and defense.In:Proc of ICYCS 2008,Hunan,Nov 2008
21 嚴芬,陳軼群,黃皓,等.使用補償非參數CUSUM方法檢測DDoS 攻擊.通信學報,2008,29(6):126~132
22 Bin Xiaoa,Wei Chen,Yanxiang He.An autonomous defense against SYN flooding attacks:detect and throttle attacks at the victim side independently.Journal of Parallel and Distributed Computing,2008(68):456~470
23 Cheng Jieren,Yin Jianping,Liu Yun,et al.DDoS attack detection using IP address feature interaction.In:Proc of INCOS’09,Nov 2009
24 Wang Haining,Jin Cheng,Shin K G.Defense against spoofed IP traffic using hop-count filtering.IEEE/ACM Transactions on Networking,2007,15(1):40~53
25 周再紅,謝冬青,熊偉等.一種基于帶權CAT的DDOS分布式檢測方法.武漢大學學報(理學版),2008,54(5):626~630
26 田俊峰,朱宏濤,孫冬冬等.基于用戶信譽值防御DDoS攻擊的協同模型.通信學報,2009,30(3):12~20