近日,內容分發網絡(CDN)運營商Akamai表示,一種使網站快速癱瘓的DDoS放大攻擊新方法正在被不法分子所利用。這種方法是通過控制數量巨大的中間設備(middlebox,主要是指配置不當的服務器),可以將大量垃圾數據快速放大到之前無法想象的規模。
這些中間設備大多未遵循傳輸控制協議規范——在建立連接之前,這種規范需要三方握手,這個握手過程包括客戶端發送SYN數據包、服務器發送SYN+ACK響應以及客戶端發送用于確認的ACK數據包。
由于ACK確認數據包必須來自合法用戶,而不是欺騙目標IP地址的攻擊者,這種握手機制會阻止基于TCP的應用程序被用作放大器。但是考慮到需要處理非對稱路由,這類中間設備有意放棄了這一要求。這就使得攻擊者可以通過放大手法提高攻擊力,實施更具破壞力的DDoS攻擊活動。
隱藏的武器庫
去年8月,馬里蘭大學和科羅拉多大學博爾德分校的研究人員發表的研究結果表明,攻擊者有能力利用這數十萬個中間設備發動最嚴重的分布式拒絕服務(DDoS)攻擊。攻擊者使用DDoS向網站發送流量或超出服務器處理能力的垃圾數據,從而使其拒絕向合法用戶提供服務。DDoS類似以前的這種惡作劇——將更多電話轉到電話線不夠處理的比薩店。
為了盡量加大損害并節省資源,DDoS攻擊者常常通過放大手法提高攻擊力。放大攻擊的原理是,欺騙目標的IP地址,并向用于解析域名、同步計算機時鐘或加快數據庫緩存的配置不當的服務器發送數量較少的數據。由于服務器自動發送的響應比請求大幾十倍、幾百倍甚至幾千倍,所以這種自動響應讓受騙的目標不堪重負。
研究人員表示,他們發現的至少10萬個中間設備超過了DNS服務器的放大倍數(約54倍)和網絡時間協議服務器的放大倍數(約556倍)。他們發現使用memcached來放大流量的數百臺服務器,會產生比上述配置不當的服務器更高的倍數放大流量。memcached用于加速網站的數據庫緩存系統,可以將流量增加驚人的51000倍。
研究人員當時表示,他們沒有證據表明中間設備DDoS放大攻擊在外面被大肆使用,但預計這一天早晚會到來。近日,Akamai研究人員表示,他們已檢測到多起DDoS攻擊就采用這種方式來使用中間設備,其攻擊峰值流量達到11Gbps,每秒150萬個數據包。雖然與最大規模的DDoS相比是小巫見大巫,但兩個研究團隊都預測:隨著DDoS攻擊者開始優化攻擊,并找到更多可以被濫用的中間設備,攻擊規模會變得更大。
去年8月發表研究論文的首席研究員Kevin Bock表示,DDoS攻擊者有強烈的動機來重現其團隊理論上推測的攻擊。在Akamai的檢測中發現,一個中間設備收到了帶33字節有效載荷的SYN數據包,返回了2156字節的回復。也就是說,放大倍數是65,但這種放大攻擊手法大有潛力可挖。
Akamai研究人員表示:
TCP容量耗盡攻擊以前需要攻擊者訪問大量機器和大量帶寬,通常需要功能非常強大的機器,擁有高帶寬連接和源頭欺騙功能或僵尸網絡。這是由于在此之前,TCP協議方面沒有受到嚴重的放大攻擊;少量放大是有可能,但被認為幾乎忽略不計,至少與針對UDP的放大攻擊相比不值一提。
如果想把SYN洪水攻擊與容量耗盡攻擊結合起來,就需要1:1的攻擊帶寬量,通常向受害者發送填充的SYN數據包這種流量。中間設備攻擊放大的出現顛覆了長期以來對TCP攻擊的這番認識。現在,從容量耗盡攻擊的角度來看,攻擊者在一些情況下只需要1/75的帶寬量,攻擊者就能免費獲得SYN、ACK或PSH+ACK洪水流量。
攻擊從未停歇
Akamai遇到的另一個中間設備由于未知原因使用自己的多個SYN數據包來響應SYN數據包。遵循TCP規范的服務器不應該以這種方式響應。更糟糕的是,該中間設備完全忽略了受害者發送的RST數據包,這些數據包本該終止連接。
另外令人擔憂的是,Bock的研究團隊發現,一些中間設備在收到含有RST的任何其他數據包時做出響應。這會造成無休止的數據包風暴。Akamai還附上一段演示,展示了攻擊者攻擊基于TCP服務的特定端口時出現的破壞。
Akamai解釋,這些發送到TCP應用程序/服務的SYN數據包會導致該應用程序試圖用多個SYN+ACK數據包進行響應,并保持TCP會話開放,等待三方握手的其余過程。由于每個TCP會話都處于這種半開放狀態,系統會消耗套接字,反過來會消耗資源,最終資源完全耗盡。
遺憾的是,普通的最終用戶無法阻止DDoS放大手法被利用。同時,在許多情況下,中間設備運營方重新配置其設備是不可能的。網絡防御者必須改變其過濾和響應數據包的方式。