1.什麼是UDP FLOOD攻擊
UDP FLOOD洪水攻擊是一種分佈式拒絕服務(DDoS)攻擊,常常攻擊者在短時間內向特定目標發送大量的UDP報文,佔用目標主機的帶寬,致使目標主機不能處理正常的業務。
2.UDP FLOOD攻擊原理
UDP協議是一種無連接的協議,使用UDP協議傳輸報文之前,客户端和服務器之間不需要建立連接。如果在從客户端到服務器端的傳遞過程中出現報文的丟失,協議本身也不做任何檢測或提示。這種報文處理方式決定了UDP協議資源消耗小、處理速度快,在被廣泛應用的同時也為攻擊者發動UDP Flood攻擊提供了可能。
傳統的UDP FLOOD攻擊方式如下圖示所:
攻擊者通過殭屍網絡向目標設備發送大量偽造的UDP報文,這種報文一般為大包且速率非常快,通常會造成鏈路擁塞甚至網絡癱瘓。
針對UDP協議的特性,近年來黑客又創造了新的攻擊方法,在這種攻擊中,攻擊者通過利用UDP協議無連接的特性,將請求包的源IP地址篡改為攻擊目標的IP地址,使得服務器的響應包被髮送到攻擊目標,形成反射攻擊。同時,由於UDP協議的特性,很多協議在響應包處理時,要遠大於請求包,這就形成了所謂的“放大”效果。例如,一個NTP請求包只有90字節的大小,而其迴應報文通常為482字節,100個迴應報文就是48200字節,放大倍數達到了500倍左右。
3.常見UDP反射放大類型
除了常見的DNS,NTP等UDP反射放大攻擊類型,目前還有其他10多種UDP協議,均可以用於反射放大攻擊,如下表所示:
4.UDP FLOOD攻擊的危害
UDP Flood屬於帶寬類攻擊,攻擊者通過殭屍網絡向目標服務器發起大量的UDP報文,這種UDP報文通常為大包,且速率非常快,通常會造成以下危害:
- 消耗網絡帶寬資源,嚴重時造成鏈路擁塞
- 大量變源變端口的UDP Flood會導致依靠會話轉發的網絡設備,性能降低甚至會話耗盡,從而導致網絡癱瘓。
5.如何防禦UDP FLOOD攻擊
UDP Flood屬於一種帶寬類的DDoS攻擊,攻擊者通常會結合源IP地址欺騙技術,利用殭屍網絡向目標發送大量的UDP報文,這種UDP報文通常為大包,且速率非常快。UDP Flood通常會消耗網絡帶寬資源,嚴重時造成鏈路擁塞;同時,大量隨機源IP和隨機源端口的UDP Flood會導致依靠會話轉發的網絡設備性能降低甚至資源耗盡,從而導致網絡癱瘓。
方法一:限流
這種方法的基本思路是利用DDoS防護系統對UDP報文進行限流,將鏈路中的UDP報文控制在合理的帶寬範圍之內。
可以採用兩種方式針對UDP Flood進行限流:一是以某個IP地址作為統計對象,對到達這個IP地址的UDP流量進行統計並限流,超過部分丟棄;二是以UDP會話作為統計對象,如果某條會話上的UDP報文速率達到了告警閾值,這條會話就會被鎖定,後續命中這條會話的UDP報文都被丟棄。
方法二:指紋學習
一般來説,黑客為了加大攻擊頻率,快速、長時間擠佔目標的網絡帶寬,在使用DDoS攻擊工具實現UDP Flood時,會直接在內存中存放一段內容,然後高頻發送到目標,所以攻擊報文具有很高的相似性(比如都包含某一個字符串,或整個報文內容一致);而正常業務的每個UDP報文負載內容一般都是不一樣的。所以,DDoS防護系統可以通過收集具有相同特徵的字符串來檢測UDP Flood攻擊,這樣可以有效降低誤報率。
指紋學習就是通過分析客户端向服務器發送的UDP報文載荷是否有大量的一致內容,來判定這個UDP報文是否異常。如圖所示,DDoS防護系統對到達指定目的地的UDP報文進行統計,當UDP報文達到告警閾值時,開始對UDP報文的指紋進行學習。如果相同的特徵頻繁出現,就會被學習成指紋,後續命中該指紋的報文將被判定為攻擊報文,並作為攻擊特徵進行過濾。目前,市面上絕大多數的DDoS防護系統產品均採用指紋學習的方法來防禦UDP Flood攻擊。
方法三:使用德迅雲安全 抗D盾產品
抗D盾是新一代的智能分佈式雲接入系統,接入節點採用多機房集羣部署模式,隱藏真實服務器IP,類似於網站CDN的節點接入,但是“抗D盾”是比CDN應用範圍更廣的接入方式,適合任何TCP 端類應用包括(遊戲、APP、微端、端類內嵌Web等)。用户連接狀態在各機房之間實時同步,節點間切換過程中用户無感知,保持TCP連接不中斷,輕鬆應對任何網絡攻擊。