什么是UDP Flood
發(fā)布作者:微思網絡 發(fā)布時間:2024-04-28 瀏覽量:0次
UDP Flood是互聯網上最經典的DDoS(Distributed Denial of Service)攻擊之一。攻擊者在短時間內向目標設備發(fā)送大量的UDP報文,導致鏈路擁塞甚至網絡癱瘓。一般的UDP報文由攻擊工具偽造,通常在數據段具備相同的特征,另一部分由真實網絡設備發(fā)出的UDP報文,雖然數據段不相同,但固定的目的端口也可作為一種特征。
確定UDP攻擊報文的特征后,即可根據特征進行過濾。特征過濾就是常說的指紋過濾,可根據攻擊報文的特征,自定義過濾屬性。指紋過濾包括靜態(tài)指紋過濾和動態(tài)指紋學習兩種方法。
顧名思義,UDP Flood是指用洪水一樣的UDP報文進行攻擊。不同于TCP協(xié)議,UDP協(xié)議是一種無連接的協(xié)議,使用UDP協(xié)議傳輸報文之前,客戶端和服務器之間不建立連接,如果在從客戶端到服務器端的傳遞過程中出現報文的丟失,協(xié)議本身也不做任何檢測或提示。這種報文處理方式決定了UDP協(xié)議資源消耗小、處理速度快,在被廣泛應用的同時也為攻擊者發(fā)動UDP Flood攻擊提供了可能。 傳統(tǒng)UDP Flood攻擊是一種消耗攻擊和被攻擊雙方資源的帶寬類攻擊方式。攻擊者通過僵尸網絡向目標設備發(fā)送大量偽造的UDP報文,這種報文一般為大包且速率非常快,通常會造成鏈路擁塞甚至網絡癱瘓的危害。這種攻擊方式由于技術含量較低,現在已經越來越少被使用。 近幾年來,越來越多的攻擊者選擇使用UDP反射放大攻擊。UDP反射放大攻擊有兩個特點,一是屬于UDP協(xié)議,二是目的端口號固定。UDP反射放大攻擊的原理類似,以常見的NTP(Network Time Protocol)反射放大攻擊為例,其有兩個關鍵點:反射和放大。 在UDP協(xié)議中,正常情況下,客戶端發(fā)送請求包到服務器,服務器返回響應包給客戶端,一次交互就已完成,中間沒有校驗過程。反射攻擊正是利用了UDP協(xié)議面向無連接、缺少源認證機制的特點,將請求包的源IP地址篡改為攻擊目標的IP地址,最終服務器返回的響應包就會被送到攻擊目標,形成反射攻擊。 攻擊者通常利用互聯網的基礎架構來進行放大攻擊。由于網絡中開放的NTP服務器非常多,攻擊者會利用僵尸主機同時向NTP服務器發(fā)起大量的Monlist請求,1個Monlist請求包可以引發(fā)100個響應包。通常1個NTP請求包只有90字節(jié)的大小,而1個回應報文通常為482字節(jié),100個回應報文就是48200字節(jié),可以發(fā)現回應報文是請求報文的500倍左右,這就形成了四兩撥千斤的放大攻擊,最終造成鏈路擁塞甚至網絡癱瘓。 由于UDP協(xié)議不建立連接,對UDP Flood的防御并不能像SYN Flood一樣進行源探測。最初防火墻對UDP Flood的防御方式就是限流,將鏈路中的UDP報文控制在合理的帶寬范圍之內,可基于目的IP地址、目的安全區(qū)域和會話進行限流。雖然限流可以有效緩解鏈路帶寬的壓力,但這種方式可能會丟棄一些正常報文,因此需要新的手段防御UDP Flood。 由攻擊工具偽造的攻擊報文通常都擁有相同的特征字段,比如都包含某一字符串或整個報文內容一致,而對于UDP反射放大攻擊中那些由真實網絡設備發(fā)出的報文,在數據段不具備相同特征,但其目的端口都是固定的,所以不難發(fā)現UDP Flood攻擊報文都具有一定的特征。確定攻擊報文的特征后即可進行過濾,特征過濾也就是常說的指紋過濾。指紋過濾包括靜態(tài)指紋過濾和動態(tài)指紋學習兩種方法。 UDP報文的數據段、源IP地址、源端口、目的IP地址、目的端口都可能隱藏著攻擊報文的特征。對于已知的攻擊特征,可以直接配置到設備的過濾器參數中。配置了靜態(tài)指紋過濾后會對收到的報文進行特征匹配,對于匹配到攻擊特征的報文進行丟棄、限流等下一步操作。 在攻擊特征未知的情況下,可通過動態(tài)指紋學習進行攻擊防御。對于一些攻擊工具發(fā)起的UDP Flood攻擊,攻擊報文通常都擁有相同的特征字段,指紋學習就是對一些有規(guī)律的UDP Flood攻擊報文進行統(tǒng)計和特征識別,當報文達到告警閾值時則開始進行指紋學習。如果相同的特征頻繁出現,就會被學習成指紋,后續(xù)命中指紋的報文則被判定為攻擊報文,進行丟棄、限流等后續(xù)操作。
傳統(tǒng)UDP Flood攻擊示意圖反射攻擊
反射攻擊示意圖放大攻擊
放大攻擊示意圖
指紋過濾示意圖靜態(tài)指紋過濾
動態(tài)指紋學習