當前位置:
首頁 > 科技 > Memcrashed:來自 UDP 埠 11211 的大規模放大攻擊

Memcrashed:來自 UDP 埠 11211 的大規模放大攻擊

文章來自cloudflare公司博客,作者Marek Majkowski

在過去這幾天,我們發現一種隱蔽的放大攻擊途徑非常猖獗:這種攻擊使用memcached協議,來自UDP埠11211。

過去我們多次談論過發生在互聯網上的放大攻擊。最近關於該話題的兩篇博文是:

《突破100Gbps的SSDP放大》(https://blog.cloudflare.com/ssdp-100gbps/)。有意思的是,從那以後,我們成了一種速度為196Gbps的SSDP攻擊的對象。

《關於我們看到的各种放大攻擊的一般性統計數字》(https://blog.cloudflare.com/reflections-on-reflections/)。

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

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

Memcrashed

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

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

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

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

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

大部分數據包的大小是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的綜合運行顯示流量:

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

Source IP

易受攻擊的memcached伺服器遍布全球,在北美和歐洲更為密集。下圖顯示了我們在120多個接入點(POP)看到的Source IP分布圖:

值得關注的是,我們在紐瓦克(EWR)、漢堡(HAM)和香港(HKG)的數據中心看到的攻擊性IP數量異常多。這是由於大多數易受攻擊的伺服器放在幾大託管服務提供商處。我們看到的IP的AS編號如下:

我們看到的大多數memcached伺服器都來自AS16276(OVH)、AS14061(Digital Ocean)和AS7684(Sakura)。

我們總共只看到memcached伺服器的5729個獨特的source IP。我們預計將來會看到規模大得多的攻擊,Shodan報告網上有88000台「敞開無阻」的memcached伺服器:

修復漏洞

有必要修復這個漏洞,防止進一步的攻擊。下面是要做的幾件事。

memcached用戶

如果你使用memcached,要是目前未使用它,務必禁用UDP支持。在memcached啟動時,你可以指定--listen 127.0.0.1隻偵聽本地主機,指定-U 0完全禁用UDP。默認情況下,memcached偵聽INADDR_ANY,並在UDP支持啟用的情況下運行。說明文檔:

https://github.com/memcached/memcached/wiki/ConfiguringServer#udp

你可以輕鬆測試伺服器是否易受攻擊,只需運行該命令:

如果你看到內容非空的響應(如上所示),表明你的伺服器岌岌可危。

系統管理員

務必確保你的memcached伺服器與互聯網之間有防火牆這道屏障!想測試是否可以用UDP來訪問它們,建議使用上面的nc示例;想證實TCP是否關閉,運行nmap:

互聯網服務提供商

為了在將來擊敗這類攻擊,我們需要修復易受攻擊的協議,還要搞定IP欺騙。只要互聯網上允許IP欺騙,我們就會麻煩不斷。

開發者

務必要停止使用UDP。如果非用不可,請不要默認啟用UDP。如果你不知道放大攻擊是什麼,千萬別在編輯器中輸入SOCK_DGRAM。

我們在這條路上已跌栽過好多次跟頭。DNS、NTP、Chargen、SSDP以及現在的memcached。如果你使用UDP,必須始終以較小的數據包來響應,否則你的協議會被濫用。還要記住:人們確實忘記安裝防火牆。做個好公民。別開發缺少任何一種驗證的基於UDP的協議。

結束語

誰也不知道在我們將易受攻擊的伺服器收拾乾淨之前,memcached攻擊會變得多大。已有傳聞稱過去幾天出現了0.5Tbps的放大攻擊,這只是個開始。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲頭條 的精彩文章:

美國參議員議案:美國政府應封殺華為和中興網路設備
華為回應余承東將負責雲服務傳聞:假消息

TAG:雲頭條 |