目錄

DDoS 清洗中心基礎了解

目錄

正文

清洗中心在你受到 DDoS 攻擊的時候,會自動把你導流到清洗中心(可能使用 BGP reroute, Anycast DNS, Tuneel),過濾完回到使用者的伺服器(可能透過 Tunnel or 直接送回 ISP 網路)。

伺服器在回送的時候可能會走網路回到使用者,或有些用 Tunnel 強制回到清洗中心,走原路回去,這是對稱回程(Return Path 也繞清洗中心)。

如果是走原路回去,就可以用 Syn proxy,沒有走原路回去,不能用 Syn proxy。

像 Cisco Systems、NETSCOUT(Arbor)、Radware 這類廠商提供給清洗中心設備,他們會有自己的高吞吐 network appliance(硬體設備)。使用 FPGA / ASIC 加速封包檢測。

然後他們會有自己的控制平台,偵測系統。

這種通常都是無狀態防禦,也就是不紀錄 session,像是

  • ACL / 黑白名單
  • Rate limiting(基於 IP / prefix),不記 session,只記「計數」
  • SYN Proxy (要原路返回)
  • Packet filtering / signature match
    • 根據像是 TTL/Flag 異常,丟掉封包
  • uRPF 逆向轉發
  • 黑洞
  • 採樣後的統計狀態,不是建立狀態,而是紀錄像是正常情況下,某網段的 UDP 與 TCP 比例是多少?SYN 與 ACK 的非對稱比例是多少?
    • 負責看流量行為的 Cisco Detector 並非串接(Inline)在主幹線上,而是透過 NetFlow 數據匯出 或 SPAN(鏡像流量) 來獲取資料
  • 動態粒度與多級聚合結構(Dynamic Granularity)
    • MULTOPS 數據結構
    • 粗粒度聚合(Coarse Granularity): 系統初期只記錄大網段(例如 /16 或 /24)的封包進出比例與速率
    • 動態分裂(Dynamic Sub-nodes): 只有當某個網段的流量突破特定閾值(Threshold),判定有異常時,系統才會在記憶體中動態建立子節點(Sub-node),把監控粒度切細到更小的網段 ,最後一路往下追查到具體的單一 IP
    • 動態釋放: 一旦流量恢復正常,該記憶體節點就會立刻被回收,這讓記憶體消耗量始終保持在 $O(N)$ 的可控範圍內,有效防止狀態表溢出

不能像是防火牆建立狀態,因為容易狀態表塞報,有狀態他會氣路 session timeout, tcp state,因此可以 drop half-open flood,偵測怪異的建立連線速率,使用者的請求模式,慢速攻擊(偵測到 state 太慢了)。

Reference