摘要:結合DDoS攻擊檢測方法的最新研究情況,對DDoS攻擊檢測技術進行系統分析和研究,對不同檢測方法進行比較,討論了當前該領域存在的問題及今后研究的方向。
關鍵詞:分布式拒絕服務; 攻擊檢測
中圖分類號:TP393文獻標志碼:A
文章編號:1001-3695(2008)04-0966-04
0引言
DoS(denial of service,拒絕服務)攻擊是對網絡服務有效性的一種破壞,使受害主機或網絡不能及時接收并處理外界請求,或無法及時回應外界請求,從而不能提供給合法用戶正常的服務,形成拒絕服務。DDoS攻擊就是利用足夠數量的傀儡機產生數目巨大的攻擊數據包對一個或多個目標實施DoS攻擊,耗盡受害端的資源,使受害主機喪失提供正常網絡服務的能力。DDoS攻擊已經是當前網絡安全最嚴重的威脅之一,是對網絡可用性的挑戰。反彈攻擊和IP源地址偽造技術的使用使得攻擊更加難以察覺。就目前的網絡狀況而言,世界的每一個角落都有可能受到DDoS攻擊,但是只要能夠盡可能檢測到這種攻擊并且作出反應,損失就能夠減到最小程度。因此,DDoS攻擊檢測方法的研究一直受到關注。
1DDoS攻擊的研究現狀
DDoS攻擊的研究主要在預防、檢測、響應追蹤三個方面。
防范DDoS攻擊的第一道防線就是攻擊預防。預防的目的是在攻擊尚未發生時采取措施,阻止攻擊者發起DDoS攻擊進而危害網絡。在DDoS攻擊的預防研究方面,目前研究最多的還是提高TCP/IP協議的質量,如延長緩沖隊列的長度和減少超時時間。目前,SYN cookie技術已經討論完善,并在UNIX系統中得到了應用。另外,加強事先防范以及采取更嚴密的措施來加固系統也是必要的,主要的安全措施包括避免FUD(fear, uncertainty and doubt)、加強中間環節的網絡安全、加強與網絡服務提供商的合作、優化路由及網絡結構、優化對外提供服務的主機、保護主機不被入侵、審核系統規則、使用密碼檢查。
僅僅預防攻擊是不夠的,當攻擊真的發生時需要進行響應。響應追蹤的目的是消除或緩解攻擊,盡量減小攻擊對網絡造成的危害。響應追蹤研究又可以分為攻擊發生時追蹤和攻擊發生后追蹤。攻擊發生后追蹤的主要方法包括路由器產生ICMP追蹤消息法、分組標記法、數據包日志記錄法;攻擊發生時追蹤的主要方法包括基于IPSec的動態安全關聯追蹤法、鏈路測試法和逐跳追蹤法等。
為了盡快響應攻擊,就需要盡快地檢測出攻擊的存在。在檢測研究方面,目前已有很多種方法以及不同的分類。本文將對DDoS攻擊的檢測進行詳細的分析和系統的研究。
2DDoS攻擊檢測方法
2.1按檢測模式分類的檢測方法
2.1.1基于誤用的DDoS檢測
基于誤用的DDoS攻擊檢測是指事先收集已有DDoS攻擊的各種特征,然后將當前網絡中數據包的特征和各種攻擊特征相互比較,如果特征匹配則發現DDoS攻擊。基于誤用方法依賴于攻擊特征的選取,一般用于檢測利用漏洞型的DDoS攻擊。基于誤用的DDoS檢測主要是利用了特征匹配、模型推理、狀態轉換和專家系統的方法。
特征匹配主要是利用各種DDoS的特征進行檢測。例如Trinoo攻擊的特征有:a)傀儡機在安裝攻擊工具時可能輸出以下一行代碼“rcp IP地址:leaf /usr/sbin/rpc.listen”;b)傀儡機的contab文件被修改,因此只要時常檢查contab文件就可以檢測到主機是否被Trinoo攻擊入侵;c)特定端口開放,常見的如UDP 27655端口等。只要將已知攻擊的特征輸入特征庫就可以迅速地檢測出攻擊是否存在,如ping of death、teardrop等。目前這方面已有較為成熟的產品,如Snort。
模型推理也是利用DDoS攻擊的特征進行檢測。將已知DDoS的各種特征作為基礎建立一個攻擊特征庫,對包含這些特征的行為進行監視,并判斷出網絡中是否出現已知攻擊。文獻[1]利用模型推理的原理和人工神經網絡能夠在有限、不完全和非線性的數據資源的條件下檢測出攻擊的特點,提出了一種利用神經網絡的分析特長來進行誤用檢測的方法。
狀態轉換將DDoS攻擊看成被系統監測的一系列系統狀態轉換和相對應的條件,攻擊事件與系統狀態不要求一一對應。文獻[2]中將Petri網用于入侵檢測,類似于利用狀態轉換分析圖檢測DDoS攻擊的方法。
專家系統將專家關于DDoS攻擊檢測的知識轉換成特征庫中的特征與規則,是知識檢測中運用最多的一種方法。檢測系統一旦認為網絡中出現了與專家系統中攻擊發生的條件相匹配的現象,就判定發生了攻擊。文獻[3]就是利用專家系統提出了一種新的檢測方法。
2.1.2基于異常的DDoS檢測
基于異常的DDoS攻擊檢測是指通過監視系統審計記錄上系統使用的異常情況,可以檢測出違反安全的事件。目前,大多數的DDoS攻擊檢測都屬于異常檢測。基于異常的DDoS檢測取決于檢測模型的建立,不同的模型對應著不同的檢測方式,主要包括統計檢測、模式預測、人工智能檢測、機器學習檢測四種方法。
統計檢測是應用最早也是應用最多的一種方法。當DDoS攻擊發生時,網絡中會出現流量突增并超過正常工作時極限流量的現象。很多DDoS攻擊檢測手段是用統計的方法計算出網絡正常工作時流量的閾值,然后與當前網絡流量進行比較,如果當前網絡流量超過了閾值則說明可能發生了DDoS攻擊。文獻[4]利用變化點檢測的方法在線、快速地檢測出DDoS攻擊的發生;文獻[5]通過統計的方法用馬爾可夫鏈模型表示網絡正常行為的文件,將其與當前網絡行為比較來檢測攻擊;文獻[6]采用熵和卡方檢驗的方法分別給出了一種檢測攻擊的模型;文獻[7]基于大規模網絡流量的自相似特性,采用相似度的分析方法發現DDoS攻擊時產生的流量異常;文獻[8]提出了一種基于流連接密度(FCD)的DDoS攻擊檢測方法。
模式預測就是通過分析攻擊發生前必然發生的一些現象來判斷是否發生了DDoS攻擊。DDoS攻擊的發生不是毫無預兆的,例如每次攻擊發生前夕,攻擊者要解析受害者的主機名,因此網絡中就會出現大量的地址解析請求,如果解析后發現同一個主機名稱出現過多的話,則可能發生攻擊。還可以通過特定攻擊發生時會產生一些特定格式的數據包來判斷攻擊的類型,例如TFN2K攻擊時會發送一些數據段只包含文字和數字字符的數據包,其他一些攻擊則發送數據段只包含二進制字符串和high-bit字符的數據包。文獻[9]給出了基于時間的推理方法,利用時間規則來識別網絡正常模式特征,并能夠通過歸納學習產生規則集,從而具有預測性。
基于人工智能的檢測方法主要包括數據挖掘、人工神經網絡和模糊理論等。DMDoSD[10]就是利用數據挖掘中的關聯算法和聚類算法分布處理數據來達到檢測DDoS攻擊的目的。人工神經網絡檢測不僅可以用于誤用檢測而且可以用于異常檢測。在異常檢測中主要是采用正常的網絡數據來訓練神經網絡模型,經過適當訓練后,該模型即可通過本身的性質辨識出網絡是否受到了攻擊。文獻[11]利用小波神經網絡結合遺傳算法設計了一種檢測DDoS的工具;文獻[12]提出了基于模糊理論的檢測方法,該方法要求并行檢測網絡中的正常信號和異常信號,并用模糊理論對檢測結果進行計算,再通過與動態閾值的比較判斷DDoS攻擊對當前網絡危害的程度。
使用機器學習的方法實現DDoS攻擊的檢測也是可行的。文獻[13]提出了基于機器學習的入侵檢測系統,將遺傳算法和貝葉斯分類算法結合使用,使得檢測規則可以自動生成。
2.1.3混合模式DDoS檢測
混合模式DDoS攻擊檢測是將誤用DDoS攻擊檢測和異常DDoS攻擊檢測兩種方式混合使用。通常使用數據挖掘的方法,由異常檢測發現攻擊,從發現的攻擊中摘錄特征放入誤用模式特征庫中,再利用誤用檢測的方法來檢測DDoS攻擊。但實際效果根據具體情況的不同也有差異。
2.1.4分析
基于誤用的DDoS檢測是建立負面行為模型,誤報率低,但存在檢測率不高的問題。誤用檢測模型往往依賴于具體的環境,可移植性和可擴展性較差。由于必須將所有已知的攻擊規則輸入知識庫,模型的維護開銷較大,需要不斷更新知識庫且只能檢測已知攻擊。另外,對攻擊特征的提取也存在一定的困難。
基于異常的DDoS檢測是建立正面行為模型,檢測率很高,但誤報率也很高。異常檢測模型最大的優點是可以檢測出未知攻擊。
現有研究結果說明了沒有一種DDoS攻擊檢測方式對于所有的DDoS攻擊都有效。基于誤用的DDoS檢測必須與基于異常的DDoS檢測聯合使用才能達到理想的效果。混合模式DDoS檢測能夠對誤用檢測和異常檢測的缺陷產生互補作用,達到高檢測率的同時也能保持低誤報率。因此,幾乎目前所有的DDoS攻擊檢測產品都包含有誤用檢測模塊和異常檢測模塊。
2.2按算法部署位置分類的檢測方法
2.2.1源端檢測
源端DDoS攻擊檢測指的是將檢測算法布置在發出攻擊數據包的主機所處網絡的邊界路由器上。將DDoS攻擊檢測系統部署在源端,可以使得攻擊數據流在進入網絡之前被阻止。文獻[14]通過在整個源端網絡中發現進出的數據流與正常網絡模型的異常來檢測DDoS攻擊;文獻[15]采用了基于歷史記錄的源IP地址過濾的方法,在源端網絡邊界路由器上過濾以較高頻率出現的IP地址的數據包,阻止內部可能的攻擊源;文獻[16]通過在源端網絡邊界路由器上部署出口過濾機制來過濾源IP地址被偽造的攻擊報文;在文獻[17,18]提出的攻擊源端檢測DDoS攻擊的方法中,均用到了基于變化點的快速檢測方法。
2.2.2中間網絡檢測
中間網絡DDoS攻擊檢測是指將攻擊檢測算法部署在整個網絡上,包括路由器、交換機或其他網絡設備。
在中間網絡進行檢測,通常是在核心路由器上部署分布式的DDoS防御檢測系統。文獻[8]首先在核心路由器上以時間間隔Δt對網絡流F進行采樣;然后分別計算出(源地址、目的地址、目的端口)相同的數據包的集合,得到以上三元組相同的數據包a隨時間變化的序列;當時間間隔很大時計算該序列的自相關系數βk=[∑N=ki=1(ai-a)(ai+k-a)]/[∑Ni=1(ai-a)2]。其中:ai(i=1,2,…,k)為k個Δt時間內a的序列;a為a的數學期望;βk即為自相關系數。如果自相關系數不為0,則說明發生了DDoS攻擊。文獻[19]提出了在邊界路由器檢測SYN flooding攻擊的方法。
2.2.3目的端檢測
目的端DDoS攻擊檢測是指將攻擊檢測算法部署在被攻擊的主機和相關網絡設備上。目前應用得最多的攻擊檢測都是在目的端(即受害端)進行的。
文獻[20]提出了一種HCF方法,利用數據包從源端到達目的端所需要的跳數是不可改變的,將網絡中特定服務器作為目的端,建立一張源地址和跳數相對應的表。通過查表可以區別出正常數據包和源地址經過偽造的數據包,其理論依據是源地址經過偽造的數據包和源地址正常的數據包報頭中的TTL值是不同的。文獻[21]提出了使用SYN cache和SYN cookies來抵抗SYN flooding攻擊的方法,用SYN cache和SYN cookies代替目的主機建立SYN連接,在連接完成后再轉交給目的主機。這樣可以避免攻擊者利用三次握手原理進行SYN攻擊;文獻[22]提出了往返時間級擁塞窗口算法的連續動態模型。使用擁塞控制算法根據目的端網絡擁塞反饋信號估計可用帶寬,分組速率能快速收斂并能長期保持在可用帶寬附近。
2.2.4分析
源端檢測是最為理想的一種方法,能夠在受害端受到攻擊之前阻止攻擊的發生,將攻擊對網絡的威脅降到最低,但對檢測系統的要求較高,源地址被偽造的數據包很容易在源端檢測出來。但是要求所有的網絡服務提供商都安裝源端檢測算法顯然不切實際,而且源端攻擊包流量小,不易檢測。
中間網絡檢測比源端檢測具有更好的可實施性和更低的覆蓋要求。但也存在邊界網關的修改、路由器的負載、缺乏網間合作等問題。
目的端DDoS攻擊檢測是最容易的,因為目的端的攻擊數據流量最大,并且最注重于對DDoS的防范。缺點是如果上游網絡鏈接被阻塞的話,目的端不管做什么也于事無補。
2.3其他檢測方法和相關研究
隨著無線網絡的發展,出現了專門針對無線網絡的DDoS攻擊。無線網絡和有線網絡的環境是不同的,檢測的手段也不同。特別強調服務質量的無線網絡如何檢測和應對DDoS分布式拒絕服務攻擊成為當前的一個敏感點。文獻[23]對無線網絡中DDoS攻擊進行了分析和分類,并從RTS/CTS包的檢測、單個用戶訪問的頻率、重傳時間和響應階段等方面用標記的方式進行檢測。
隨著網絡安全技術的發展,產生了主動檢測DDoS攻擊的技術,如利用蜜罐、蜜網進行DDoS攻擊特征提取,幫助進行DDoS攻擊檢測。蜜罐是故意接受攻擊的目標,進出蜜罐的幾乎全是攻擊流量,因此,察覺攻擊和發現未知攻擊的特征就會容易很多。蜜網是指另外采用了技術的蜜罐,能夠以合理的方式記錄下黑客的行動,同時盡量減小或排除對因特網上其他系統造成的風險。文獻[24]利用虛擬蜜罐技術提出了一種框架,可以應用于DDoS檢測技術。還可以使用安全協議進行加密或認證、檢測并抵御DDoS攻擊。文獻[25]認為DDoS防御的重點應該是攻擊發生后如何保證正常服務的性能和質量。他們提出一種基于信息安全服務建設的思想,利用IPSec建立安全通道,用安全通道兩端的訪問控制列表區分開合法用戶數據流和攻擊流,過濾掉攻擊用戶的非法數據流。
DDoS的根本解決辦法是在整個Internet中建立一個全球范圍的防御系統,因此一些檢測方法在源端、中間網絡和目的端均部署了防御點。
2.4DDoS攻擊檢測系統的體系結構
DDoS攻擊檢測系統的體系結構大致可以分為三種:基于主機(host-based)型、基于網絡(network-based)型和基于移動代理(agent-based)型。基于主機型的DDoS攻擊檢測系統是指該檢測系統能夠在主機上運行,如文獻[22]提出了一種可以配置在主機上的擁塞控制算法,能夠反饋主機可用帶寬。真正的DDoS攻擊發生時,受害主機自身的性能、處理能力和各方面的開銷都很大,在這種超負荷的情況下受害主機再運行DDoS攻擊檢測系統有一定的困難。因此,僅依靠主機型的檢測是不夠的。基于網絡型的DDoS攻擊檢測系統起到一定的作用,如文獻[8]通過在網絡中對流量狀態的比較判斷攻擊。隨著DDoS攻擊的復雜化和大型化,檢測系統也需要分布式相互協作,要求具有自適應性、可擴展性等,因此出現了基于移動代理型的DDoS攻擊檢測系統,如文獻[26]就是利用若干個相互獨立的agent分布進行檢測,然后將檢測結果發送到檢測中心。
3DDoS攻擊檢測方法的分析
檢測率、誤報率、漏報率、檢測攻擊需要的時間、算法的復雜程度、建立檢測模型的難易程度和檢測模型的維護開銷都是評價DDoS攻擊檢測系統的因素。本文選擇了這七項技術指標對幾種主要的DDoS攻擊檢測算法進行了比較,如表1所示。
除了檢測算法本身的性能外,DDoS攻擊檢測算法部署的位置對于檢測的效率也有很大的影響。表2從檢測率、誤報率、漏報率、算法部署的難易程度,以及算法部署在相應位置時所需要花費的路由器開銷、網絡開銷和管理開銷這七個方面對算法部署的位置進行了分析比較。
4結束語
為了避免DDoS造成災難性的后果,盡早識別攻擊并采取相應的對策是十分重要的。DDoS攻擊檢測系統的主要作用在于:a)監視并檢測網絡安全狀況;b)識別DDoS攻擊行為和攻擊者;c)為以后防御DDoS攻擊提供重要的信息。因此,DDoS攻擊檢測是必要的。
本文系統地研究了現有DDoS攻擊檢測的方法,并從不同的方面對它們進行了分析和比較。隨著網絡的發展,DDoS攻擊也日益呈現出復雜性、多變性、范圍廣、追蹤難等特征。但是每一種DDoS攻擊檢測方法只在有限的工作條件和處理范圍內有作用,缺乏通用高效的檢測方案。今后要做的工作主要包括:a)提高源端檢測的效率,降低源端檢測的時空復雜度;b)掌握網絡中可控網絡設備的數據傳輸情況,在攻擊尚未成熟前準確預警;c)在攻擊被檢測出來后及時準確地過濾攻擊包。
此外,當前檢測系統所面臨的高效檢測、實時監測、高速網絡中的攻擊檢測、特征模式的確認、攻擊標準化描述語言等問題都有待于進一步研究。
參考文獻:
[1]CANNADY J. Artificial neural networks for misuse detection[C]//Proc of National Information System Security Conference. Arlington:[s.n.], 1998:443-456.
[2]嚴芬,黃皓,殷新春.基于CTPN的復合攻擊檢測方法研究[J].計算機學報,2006,29(8):1383-1391.
[3]TAMARU A, GILHAM F, JAGANNATHAN R, et al. A real-time intrusion detection expert system(IDES)[R]. Menlo Park, CA: Computer Science Laboratory, 1992.
[4]何慧,張宏莉,張偉哲,等.一種基于相似度的DDoS攻擊檢測方法[J].通信學報,2004,25(7):176-184.
[5]YE Nong. A markov chain model of temporal behavior for anomaly detection[C]//Proc of IEEE Workshop on Information Assurance and Security United States Military Academy. New York: West Point, 2000.
[6]FEINSTEIN L, SCHNACKENBERG D, BALUPARI R, et al. Statistical approaches to DDoS attack detection and response[C]//Proc of DARPA Information Survivability Conf and Exposition. Washington DC:[s.n.], 2003.
[7]郝志宇,云曉春,張宏莉,等.基于相似度的DDoS異常檢測系統[J].計算機工程與應用,2004,40(35):122-124,225.
[8]孫欽東,張德運,高鵬.基于時間序列分析的分布式拒絕服務攻擊檢測[J].計算機學報,2005,28(5):767-773.
[9]VIGNA G, KEMMERER R A. NetSTAT: a network-based intrusion detection system[J]. Journal of Computer Security, 1999,7(1):37-71.
[10]高能,馮登國,向繼.一種基于數據挖掘的拒絕服務攻擊檢測技術[J].計算機學報,2006,29(6):944-951.
[11]蔣平.基于小波神經網絡的DDoS攻擊檢測及防范[J].計算機工程與應用,2006,42(3):116-119.
[12]張彥波,李明.基于模糊理論的分布式拒絕服務攻擊檢測[J].計算機應用,2005,25(12):2751-2752.
[13]王旭仁,許椿生.基于機器學習的入侵檢測系統研究[J].計算機工程,2006,32(14):107-108,153.
[14]MIRKOVIC J, PIRER G. Attacking DDoS at the source[C]//Proc of the 10th IEEE International Conference on Network Procotols. Paris:[s.n.], 2002:312-321.
[15]TAO Peng, LECKIE C, RAMAMOHANARAO K. Protection from distributed denial of service attacks using history-based IP filtering[C]//Proc of IEEE International Conference on Communications. Anchorage:[s.n.], 2003:482-486.
[16]SANS Institute. Egress filtering v0.2[EB/OL].(2000-02).http://www.sans.org/y2k/egress.htm.
[17]陳偉,何炎祥,彭文靈,等.一種輕量級的拒絕服務攻擊檢測方法[J].計算機學報,2006,29(8):1392-1400.
[18]林白,李鷗,趙樺.基于源端網絡的SYN flooding攻擊雙粒度檢測[J].計算機工程,2005,31(10):132-134.
[19]WANG H, ZHANG D, SHIN K G. Detecting SYN flooding attacks[C]//Proc of Annual Joint Conference of the IEEE Computer Society and Communications Society(INFOCOM). New York:[s.n.], 2002:1530-1539.
[20]JIN Cheng, WANG Hai-ning, SHIN K G. Hop-count filtering: an effective defense against spoofed DDoS traffic[C]//Proc of the 10th ACM Conference on Computer and Communications Security. New York: ACM Press, 2003:30-41.
[21]LEMON J. Resisting SYN flood DoS attacks with a SYN cache[C]//Proc of BSD Conference. Berkeley: USENIX Association, 2002:13-20.
[22]邵立松,張鶴穎,竇文華.基于窗口的端到端擁塞控制:網絡穩定性與效率[J].計算機學報,2006,29(3):353-360.
[23]REN Wei, JIN Hai, LIU Teng-hong. Congestion targeted reduction of quality of service DDoS attacking and defense scheme in mobile Ad hoc networks[C]//Proc of the 7th IEEE International Symposium on Multimedia. Washington DC:[s.n.], 2005.
[24]PROVOS N. A virtual honeypot framework[C]//Proc of the 13th USENIX Security Symposium. Berkeley: USENIX Association, 2004.
[25]CHEN H G, CHOW R. A new perspective in defending against DDoS[C]//Proc of the 10th IEEE Int’l Workshop on Future Trends of Distributed Computing Systems. Los Alamitos:[s.n.], 2004:186-190.
[26]FOO S Y, ARRADONDO M. Mobile agents for computer intrusion detection[C]//Proc of the 36th Southeastern Symposium on System Theory. Atlanta:[s.n.], 2004:517-521.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”