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 太慢了)。