一般來說,我們會根據不同的協議類型和攻擊模式,將DDoS分為SYN Flood、ACK Flood、UDP Flood、NTP Flood、SSDP Flood、DNS Flood、HTTP Flood、ICMP Flood、CC等攻擊類型。
每種類型的攻擊都有其自身的特點,反射式DDOS攻擊是一種新的變體。攻擊者不是直接攻擊目標服務IP,而是使用Internet的一些特例來打開服務器。通過偽造Attackee的IP地址,將構造好的請求消息以開放服務方式發送給服務器,服務器將比請求消息多幾倍的回復數據發送給被攻擊的IP,以便攻擊者將回復數據發送給被攻擊的IP。DDOS攻擊是間接形成的。實際上,攻擊者使用更多的木偶機器進行攻擊。他們不直接將攻擊包發送給受害者,而是假裝是受害者,然后將包發送給放大器,放大器隨后通過放大器反射回受害者。
在反射攻擊中,攻擊者利用網絡協議的缺陷或漏洞來欺騙IP,主要是因為許多協議(如ICMP、UDP等)沒有對源IP進行身份驗證。同時,為了達到更好的攻擊效果,黑客通常選擇具有放大效果的協議服務進行攻擊。綜上所述,IP欺騙用于反射和放大,從而達到4到2組千克的效果。
DNS反射攻擊
DNS服務是整個互聯網的基礎服務。當我們連接到互聯網時,我們需要通過DNS解析將域名轉換成相應的IP地址。理論上,ISP的DNS服務器只響應來自其自身客戶端IP的DNS查詢響應,但實際上,互聯網上大量DNS服務的默認配置丟失,導致響應所有IP的DNS查詢請求。
同時,大多數DNS使用沒有握手過程的UDP協議來驗證請求的源IP。攻擊者(實際上是由攻擊者控制的傀儡機)將大量偽造的請求從受害者IP發送到DNS服務器,該服務器充當一個放大器來回復受害者的DNS響應。
NTP反射攻擊
NTP是網絡時間協議的縮寫,是用于同步計算機時間的網絡協議。ntp包含一個monlist函數,也稱為mon-getlist,主要用于監視ntp服務器。當ntp服務器響應monlist時,它們返回與ntp服務器同步的最后600個客戶機的IP。響應包分為六個IP包,最多100個響應包。我們可以通過ntpdc命令向ntp服務器發送monlist,并結合抓包查看實際效果。
ntpdc-n-c monlist x.x.x_wc-l
602
在上面的命令行中,我們可以看到一個包含monlist的請求收到了602行數據,除了前兩行是無效數據之外,它碰巧是600個客戶機IP列表。從上圖中的Wireshare,我們還可以看到有101個NTP協議包,除了一個請求包,恰好是100個響應包。
反射 DDoS 攻擊由于難以追蹤、且不需要大量的肉雞等特點,越來越流行,勢必會對業務造成很大的威脅。除了需要各方通力合作對互聯網上的設備和服務進行安全管理和安全配置消除反射站點之外,還需要在服務端做好防御準備,比如增加 ACL 過濾規則和 DDoS 清洗服務。目前大量的云廠商都提供 DDoS 流量的清洗服務,可以直接使用。