當前位置:
首頁 > 最新 > 安全預警:攻擊者利用Memcached伺服器可發動大規模DDoS攻擊

安全預警:攻擊者利用Memcached伺服器可發動大規模DDoS攻擊

Memcached是一個非常流行的分散式高速緩存系統,廣泛應用於一些大型網站中,用以提升網站的訪問速度,尤其對於一些大型的或者需要頻繁訪問資料庫的網站來說,其提升訪問速度的效果十分顯著。

研究人員發現,目前互聯網中利用Memcached進行DDOS攻擊在近期呈明顯上漲的趨勢。攻擊者利用Memcached協議,發送大量帶有被害者IP地址的UDP數據包給放大器主機,然後放大器主機對偽造的IP地址源做出大量回應,形成分散式拒絕服務攻擊,從而形成DRDoS反射。早在2017年6月,360信息安全部0kee Team就發現了這種利用Memcache放大的攻擊技術,並通過PoC2017安全會議對安全社區做出了預警。

Memcached 工作在 TCP 11211 與 UDP 11211 埠,且 UDP 11211 埠默認對外開放。攻擊者可向 UDP 11211 埠發送一個小的原始數據包來誘使 Memcached 返回一個大於原始數據包上千倍(理論可達數萬倍)的數據包。

而又因為UDP協議可以偽造源IP的特性。攻擊者可以偽裝成受害者的IP來向Memcached發送一個小的原始數據包,導致 Memcached 向受害者的IP返回一個千倍大小的數據包,導致了對受害者的 「反射型 DDOS 攻擊」。Memcached 伺服器往往位於擁有高速帶寬的IDC中,一旦被攻擊者用於反射型DDOS攻擊,威力極大。

本次Memcrashed技術特點:

反射倍數較大,已經確認可以穩定的達到5萬倍

反射點帶寬充裕,且主要來自IDC機房伺服器

本次Memcrashed攻擊特點:

反射點分布,中國占較大比例(43%)

攻擊頻率,最近一周(2018-02-24日開始)突然上升了一個數量級。之前約

實際現網中,已經出現了 0.5Tbps 的攻擊,並且我們相信有更大的攻擊案例並未被公開報道

在接下來的一段時間內,我們預計會出現更多利用memcached進行DRDoS的事件,如果本次攻擊效果被其他DDoS團隊所效仿,將會帶來後果更嚴重的攻擊。

風險等級

360安全監測與響應中心風險評級為:高危

預警等級:藍色預警(一般網路安全預警)

影響範圍

版本在Memcached 1.5.6 以下,並且對公網開放 UDP 11211 訪問的 Memcached 伺服器都可以被攻擊者用來進行反射型 DDOS 攻擊。

通過360CERT QUAKE全網測繪顯示,在外開放的Memcache存儲系統有94489,在十萬量級上下:

其中美國最多,佔38899,中國次之,佔22944:

國內情況,香港地區數量最多,分布如下:

處置建議

1.1 緩解措施

對於Memcache使用者:

1. 官方最新版本 1.5.6 中已經默認關閉了 UDP 11211 埠,可升級至最新版本,並且使用SASL設置密碼來進行許可權控制。

2. 在邊界防火牆上關閉 UDP 11211 埠的入站以及出站流量。

3. 如非必要,應在伺服器上關閉 Memcached 的 UDP 11211 埠,或只允許其監聽在 127.0.0.1:11211。

運營商緩解措施:

1. 運營商的互聯互通設備上對出口網路中對源埠為 UDP 11211的請求進行控制。

2. 運營商內部的骨幹節點接入設備對出口網路中源埠為 UDP 11211的請求進行控制。

3. IDC 在網路出口對出口網路中的源埠為 UDP

11211的請求進行控制。

1.2 控制方式

1. 直接封禁UDP協議的11211埠。

2. 通過netflow等監控方式統計UDP 11211的流量,超過閾值再進行封禁。

技術分析

基於UDP協議的DDOS反射攻擊

分散式拒絕服務(DDoS:Distributed Denial of Service)攻擊指藉助於客戶/伺服器技術,將多個計算機聯合起來作為攻擊平台,對一個或多個目標發動拒絕服務攻擊,從而成倍地提高拒絕服務攻擊的威力。

而本次事件中基於UDP協議的DDOS反射攻擊靠的是發送大量帶有被害者IP地址的UDP數據包給放大器主機(Memcached),最後放大器主機對偽造的IP地址源做出大量回應,形成分散式拒絕服務攻擊。這樣就巧妙的利用了無需交互認證的基於 UDP 的服務將DDOS攻擊數據「放大」並「反射」到受害者主機IP上。而黑客往往會選擇那些響應包遠大於請求包的UDP服務,這樣只需要極小的攻擊流量就可以造成上百Gbps的攻擊效果。

下圖引用了CLOUDFLARE對UDP協議的DDOS反射攻擊圖例來說明攻擊過程:

Memcached反射DDOS攻擊技術分析

要完成一次UDP反射放大攻擊,需要滿足以下幾個基本條件:

作為攻擊者,需要能偽造IP,並發送海量偽造來源的請求。

作為反射伺服器,上面需要運行著容易放大反射攻擊的服務,而運行了設計不當的UDP協議的服務是最佳的選擇。

反射伺服器的響應包最好遠遠大於請求包,這樣才能使用較小的攻擊流量進行高流量的DDOS攻擊。

反射伺服器對應的協議或服務在互聯網上有一定的使用量,比如本次攻擊中的Memcached。

而Memcached提供的基於UDP協議的服務正好滿足上訴的UDP反射放大攻擊的各種條件:

從協議看,Memcached支持UDP。

Memcached大部分是作為企業應用的組件,往往具有很高的上傳帶寬。

Memcached不需要認證就可以隨意交互。

很多用戶編譯安裝時,錯誤的監聽了0.0.0.0,且未設置iptables或雲安全組,這使得攻擊者可以自由訪問這些服務,從而進行UDP反射攻擊。

攻擊流程

完成一次針對Memcached的UDP反射放大攻擊,基本攻擊流程如下:

掃描埠和服務,抓取協議指紋,獲取未認證的Memcached。

過濾出可以反射的UDP Memcached,再獲取可以成功放大的Memcached主機ip地址。

向可以放大UDP返回數據的Memcached主機ip發送偽造成被攻擊主機IP的UDP包。

Memcache主機ip將放大了上萬倍的UDP數據發送給被攻擊主機IP,造成DDOS攻擊。

放大倍數

測試了多個Memcached server,反射放大係數是有上限的,放大倍數最高可以在6W倍左右,使用tcpdump分析請求響應的報文:

攻擊機器A:

測試指令:

python -c "print "x01x01gets a b c d e
"" |nc -nvvu 9x.xx.xx.2 11211 |less

被攻擊機器B:

測試指令:

tcpdump -ni eth0 port 11211 -t

可以看到,一個15位元組的UDP請求觸發了分片後總量達到近百個,單個1400位元組長度的響應,重複數百次,DDOS攻擊的放大倍數達到了近萬倍。

利用條件

1、Memcached服務必須開了UDP 11211埠。(注意:開了TCP 11211埠無效)

2、可被利用的Memcached存在Authentication Disable缺陷,即無需認證。

3、Memcached服務存在的節點有比較充足的帶寬資源。

以上3個條件必須同時滿足時,才可以打出放大倍數比較大的反射流量。

參考資料

[2] https://www.arbornetworks.com/blog/asert/memcached-reflection-amplification-description-ddos-attack-mitigation-recommendations/

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

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


請您繼續閱讀更多來自 360企業安全 的精彩文章:

數據驅動工業信息安全防護?不看你就out啦!

TAG:360企業安全 |