白帽大勝入侵者——一場經典的DDoS攻防戰
攻擊者發出的DNS請求數據包為36 bytes,而DNS服務器的響應數據包長為3000 bytes。攻擊者偽裝來自Spamhaus向DNS系統發起請求,之后依靠返回的響應包對Spamhaus發起攻擊,使得合法用戶不能訪問到Spamhaus的網站系統。
(上)周二,Spamhaus遭受到嚴重的DDoS攻擊,攻擊流量達到75Gbps,導致所有用戶均無法訪問公司網站。ISP采取了實時黑名單的方式也無法阻止攻擊。Spamhaus很快轉向尋求專業提供網站防護和抗DDoS服務的CloudFlare公司的支持。
經典的一幕發生了。一方面是攻擊者聚集了超大流量對單一網站進行攻擊,另一方面是CloudFlare采用路由技術——Anycast進行攻擊化解。
攻擊者的攻擊流量為75Gbps,這個流量超過了大多數僵尸網絡所能夠發起的攻擊帶寬。為了放大攻擊流量,攻擊者借助了DNS系統——一種可以將流量方法100倍的手段。DNS放大攻擊是借助諸如AT&T、GoDaddy、SoftLayer和巴基斯坦電信這樣提供開放式DNS服務器的系統。攻擊者借助這些開放的DNS系統發起致命攻擊的歷史要追溯到若干年前。
CloudFlare公司CEO Matthew Prince稱,攻擊者發出的DNS請求數據包為36 bytes,然而,DNS服務器的響應數據包長為3000 bytes。攻擊者偽裝來自Spamhaus向DNS系統發起請求,之后依靠返回的響應包對Spamhaus發起攻擊,使得合法用戶不能訪問到Spamhaus的網站系統。
拯救Spamhaus網站的“英雄”是——Anycast,依托一個路由協議將對某個IP的訪問流量分發到全球23個數據中心去。互聯網流量總會選擇最短的路徑。Anycast依據地理位置將海量的流量分散到幾十個彼此獨立的數據中心去,之后,每個數據包都將被檢查。當發現符合異常行為的特征——例如來自開放DNS系統的3000bytes的響應包,數據包就將被丟棄。只有合法的訪問流量才會被轉發到Spamhaus所在的數據中心。
Anycast同時也有效阻止了攻擊者對Spamhaus系統的其他類型攻擊。當時,攻擊者還對Spamhaus的反垃圾郵件系統進行的ACK 反射攻擊。“ACK反射攻擊,是攻擊者偽裝Spamhaus系統的IP向一些服務器發出大量的SYN包,”Prince說,“這些服務器會向Spamhaus系統返回ACK數據包。和DNS反射攻擊類似,通過偽裝為請求的發起一方,使得回應包指向被攻擊的目標。”
相對于DNS反射攻擊來說,ACK攻擊相對容易防護,因為不存在放大的效應。CloudFlare有效丟棄了所有的非法ACK數據包。
具有諷刺意味的是,當CloudFlare阻止這些攻擊的時候,網絡運營商抗議他們的系統遭到了嚴重DNS/SYN Flood濫用。