Memcached DDoS 攻擊

Memcached 可以加快網站速度,但是 Memcached 伺服器也可能被利用來執行 DDoS 攻擊。

學習目標

閱讀本文後,您將能夠:

  • 定義 Memcached DDoS 攻擊
  • 說明 Memcached 的運作方式
  • 強調緩解 Memcached 攻擊的方法

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

什麼是 memcached DDoS 攻擊?

Memcached 分散式阻斷服務 (DDoS) 攻擊是一種網路攻擊,其中攻擊者試圖使用網際網路流量使目標受害者的機器過載。攻擊者將欺騙性的請求傳送到易受攻擊的 UDP Memcached* 伺服器,該伺服器隨後向目標受害者傳送大量網際網路流量,從而可能使受害者的資源不堪重負。當目標的網際網路基礎結構過載時,就無法處理新請求,而常規流量也無法存取網際網路資源,從而導致阻斷服務

*Memcached 是用於加速網站和網路的資料庫快取系統。

Cloudflare Memcached 流量圖

以下是 Cloudflare 全球網路中的資料中心,以及它們在最近一次攻擊期間收到的 Memcached 攻擊流量的相對數量。

Memcached 攻擊如何運作?

Memcached 攻擊的運作方式類似於所有 DDoS 放大攻擊,例如 NTP 放大DNS 放大攻擊。攻擊的運作方式是向易受攻擊的伺服器傳送欺騙性請求,然後該伺服器回應比初始請求更多的資料量,從而放大流量。

Memcached 放大可比作一個懷有惡意的青少年打電話給一個餐廳說:「我要每樣東西都點一份,請給我回電並告訴我整個訂單的內容。」餐廳要求提供回撥號碼時,所給號碼就是目標受害人的電話號碼。然後目標會接到來自餐廳的電話,提供其并未請求的大量信息。

這種放大攻擊方法是可能的,因為 Memcached 伺服器可以選擇使用 UDP 通訊協定進行運作。UDP 是一種網路通訊協定,允許在不首先進行交握(交握是指雙方都同意通訊的網路過程)的情況下傳送資料。之所以使用 UDP,是因為不用諮詢目標主機是否願意接收資料,無需事先徵得它們的同意,就可以將大量資料傳送給目標主機。

Memcached 攻擊分為 4 個步驟:

  1. 攻擊者在公開的 Memcached 伺服器上植入大量資料裝載*。
  2. 接下來,攻擊者使用目標受害者的 IP 位址傳送欺騙性 HTTP GET 請求。
  3. 易受攻擊的 Memcached 伺服器接收請求,並試圖回應來提供幫助,從而向目標傳送大型回應。
  4. 目標伺服器或其周圍的基礎結構無法處理從 Memcached 伺服器傳送的大量資料,導致過載並對合法要求造成阻斷服務。
Memcached

這是正在緩解一次針對 Cloudflare 網路的每秒 260 GB 的 Memcached 攻擊的情況

Memcached 放大攻擊能有多大?

這種類型的攻擊的放大係數確實令人驚嘆;在實際中,我們目睹了高達 51,200 倍的放大係數!這意味著,對於一個 15 個位元組的請求,可能傳送一個 750 kB 的回應響。這是一個巨大的放大係數,無法承受如此大量攻擊流量的 Web 資產將面臨巨大的安全風險。如此巨大的放大係數加上易受攻擊的伺服器,使 Memcached 成為希望針對各種目標啟動 DDoS 的攻擊者的主要使用案例。

如何緩解 Memcached 攻擊?

  1. 停用 UDP:對於 Memcached 伺服器,如果您不需要,請務必停用 UDP 支援。預設情況下,Memcached 已啟用 UDP 支援,可能導致伺服器容易受到攻擊。
  2. 防火牆 Memcached 伺服器:透過在 Memcached 伺服器和網際網路之間新增防火牆,系統管理員能夠在必要時為 Memcached 使用 UDP 而不會暴露。
  3. 防止 IP 詐騙:只要 IP 位址是欺騙性的,DDoS 攻擊就可以利用該漏洞將流量引導到受害者的網路。防止 IP 欺騙是一個規模較大的解決方案,無法由特定的系統管理員實作,它要求傳輸提供者商禁止來源 IP 位址源自網路外部的任何封包離開其網路。換句話說,網際網路服務提供者 (ISP) 之類的公司必須篩選流量,以使離開其網路的封包不得假裝成來自其他地方的其他網路。如果所有主要的傳輸提供者都實作了這種篩選,基於欺詐的攻擊將在一夜之間消失。
  4. 開發具有減少 UDP 回應的軟體:消除放大攻擊的另一種方法是移除任何傳入請求的放大係數;如果因 UDP 請求而傳送的回應資料小於或等於初始請求,則放大就不復可能。

Cloudflare 在我們的網路邊緣篩選 UDP 流量,消除此類放大攻擊所帶來的風險。探索 Cloudflare 的進階 DDoS 防護。

如需更深入的瞭解 Cloudflare 遇到 Memcached 攻擊以及用於緩解的具體命令和程序,請閱讀部落格文章 Memcrashed - 來自 UDP 連接埠 11211 的大規模放大攻擊