memcached 分布式拒絕服務(DDoS)攻擊是一種網絡攻擊,攻擊者試圖通過網際網路流量使目標受害者超載。攻擊者欺騙了對易受攻擊的UDP memcached *伺服器的請求,然後伺服器會利用網際網路流量淹沒目標受害者,這可能會壓倒受害者的資源。當目標的網際網路基礎設施過載時,無法處理新請求,常規流量無法訪問網際網路資源,導致拒絕服務。
* Memcached是一個用於加速網站和網絡的資料庫緩存系統。
以下是Cloudflare網絡中的135多個數據中心以及他們在最近一次攻擊中收到的相關memcached攻擊流量。
memcached攻擊如何工作?
Memcached攻擊的操作類似於所有DDoS放大攻擊,例如NTP放大和DNS放大。攻擊的工作原理是向易受攻擊的伺服器發送欺騙性請求,然後使用比初始請求更多的數據進行響應,從而放大流量。
Memcached放大可以被認為是在一個惡意的少年打電話給餐館並說「我將擁有一切,請給我回電話並告訴我我的整個訂單」的背景下。當餐廳要求回撥號碼時,給出的號碼是目標受害者的電話號碼。然後,目標接收來自餐館的電話,其中包含許多他們未請求的信息。
這种放大攻擊方法是可行的,因為memcached伺服器可以選擇使用UDP協議進行操作。UDP是一種網絡協議,允許在不首先獲得所謂的握手的情況下發送數據,這是雙方同意通信的網絡過程。使用UDP是因為從不詢問目標主機是否願意接收數據,允許在未經他們事先同意的情況下將大量數據發送到目標。
memcached攻擊分4個步驟發生:
攻擊者在暴露的memcached伺服器上植入大量有效載荷*。接下來,攻擊者利用目標受害者的IP位址欺騙HTTP GET請求。接收請求的易受攻擊的memcached伺服器(通過響應嘗試提供幫助)會向目標發送大量響應。目標伺服器或其周圍的基礎結構無法處理從memcached伺服器發送的大量數據,從而導致合法請求的過載和拒絕服務。
這是針對Cloudflare網絡的每秒260 GB的memcached攻擊
memcached放大攻擊有多大?
這種攻擊的放大係數確實令人咋舌; 在實踐中,我們目睹了高達51,200倍的放大因子!這意味著對於15位元組請求,可以發送750 kB響應。這代表了無法承受這一攻擊流量的網絡屬性的巨大放大因素和安全風險。擁有如此大的放大係數和易受攻擊的伺服器使得memcached成為尋求針對各種目標發起DDoS的攻擊者的主要用例。
如何減輕memcached攻擊?
禁用UDP - 對於memcached伺服器,請確保在不需要時禁用UDP支持。默認情況下,memcached啟用了UDP支持,可能會使伺服器容易受到攻擊。防火牆memcached伺服器 - 通過對來自Internet的memcached伺服器進行防火牆,系統管理員可以在必要時使用UDP進行memcached而無需暴露。防止IP欺騙 - 只要IP位址可以被欺騙,DDoS攻擊就可以利用此漏洞將流量引導到受害者網絡。防止IP欺騙是一種更大的解決方案,任何特定的系統管理員都無法實現,並且它要求轉接提供商不允許任何數據包離開其網絡,其源IP位址源自網絡外部。換句話說,諸如網際網路服務提供商(ISP)之類的公司必須過濾流量,使得不允許離開其網絡的分組假裝來自其他地方的不同網絡。如果所有主要的運輸提供商實施這種類型的過濾,基於欺騙的攻擊將在一夜之間消失。開發具有減少的UDP響應的軟體 - 消除放大攻擊的另一種方法是去除任何傳入請求的放大因子; 如果作為UDP請求的結果發送的響應數據小於或等於初始請求,則不再能夠放大。Cloudflare在我們的網絡邊緣過濾UDP流量,消除了諸如此類放大攻擊所帶來的風險。探索Cloudflare 先進的DDoS保護。