解析DDOS放大攻擊

所有放大攻擊背後的基本思路都一樣。能夠實施IP欺騙的攻擊者向一臺易受攻擊的UDP服務器發送偽造的請求。UDP服務器不知道請求是偽造的,準備響應。成千上萬個響應被髮往一個渾然不知的目標主機時,大量耗用資源,通常網絡本身不堪重負,這時會出現問題。

解析DDOS放大攻擊/DDOS攻擊原理

放大攻擊之所以屢屢得逞,是由於響應數據包常常比請求數據包大得多。一種精心準備的攻擊手法讓IP欺騙能力有限(比如1Gbps)的攻擊者可以發動規模非常大的攻擊(達到100s Gbps),從而“放大”攻擊者的帶寬。

Memcrashed

隱蔽的放大攻擊一直在發生。我們常常看到“chargen”或“call of duty”數據包攻擊我們的服務器。

不過很少發現一種新的放大效果非常出色的放大攻擊途徑,這種新的memcached UDP DDoS絕對屬於這一類。

奇虎360的DDosMon監測放大攻擊途徑,該圖表顯示了最近的memcached/11211攻擊:

解析DDOS放大攻擊/DDOS攻擊原理

memcached攻擊的數量相對穩定,而幾天前突然開始激增。我們的圖表也證實了這一點,下面是過去四天的攻擊(每秒發送的數據包數量):

解析DDOS放大攻擊/DDOS攻擊原理

雖然每秒數據包數量不是特別大,但生成的帶寬卻特別大:

解析DDOS放大攻擊/DDOS攻擊原理

高峰時期,我們看到入站UDP memcached流量的速度達到260Gbps。對於一種新的放大攻擊途徑而言,這個數字很大。而數字不會謊言。這是由於所有反射的數據包都非常大。這是它在運行tcpdump後的結果:

解析DDOS放大攻擊/DDOS攻擊原理

大部分數據包的大小是1400字節。簡單算一下,23Mpps x 1400字節得出257Gbps的帶寬,正如上圖所示。

Memcached使用UDP?

我驚訝地發現memcached使用UDP,但確實如此!協議規範(https://github.com/memcached/memcached/blob/master/doc/protocol.txt)表明,UDP是迄今用於放大攻擊的最佳協議之一!毫無檢查機制,數據會以驚人的速度發往客戶端!此外,請求可能很小,響應很大(高達1MB)。

發動這種攻擊很容易。首先,攻擊者在一臺洩露的memcached服務器上植入很大的有效載荷(payload)。然後,攻擊者利用目標的Source IP欺騙“get”請求消息。

使用Tcpdump的綜合運行顯示流量:

解析DDOS放大攻擊/DDOS攻擊原理

15個字節的請求觸發了134KB的響應。放大係數是10000倍!實際上,我們還見過15個字節的請求觸發750kB的響應(放大了51200倍)。


分享到:


相關文章: