Memcached DDoS Saldırıları ve Kill-Switch

Memcached nedir?

Memcached açık kaynak bir cacheleme aracıdır. Objelerin hafıza üzerinde saklanmasını sağlar ve 11211 portundan hizmet verir. Dinamik web uygulamaları üzerindeki veritabanı yükünü azaltmak için kullanılmaktadır.

Memcached ile DDoS nasıl yapılıyor?

Memcached, UDP üzerinden çalıştığında, servis verdiği porta gelen istekleri kimden geldiğine bakmaksızın yerine getiriyor. Bu da, 11211 portu açık bir memcache servisine dışarıdan her hangi birinin istek yapabileceği/yaptırabileceği anlamına geliyor. Cloudflare’ın yaptığı açıklamaya göre 15-byte’lık bir isteğe dönülen cevap 750kb civarında oluyor.

Yani; UDP/11211 portu açık bir sunucu üzerinden her hangi bir hedefe büyük çaplı DoS saldırıları yapabilmek mümkün.

Memcached zafiyetine nasıl önlem alabilirim?

Memcached açık olan sunucudaki 11211 portu ile UDP üzerinden haberleşmenin kaldırılması/engellenmesi gerekmekte.

Bulunan bir başka teknik ise saldırı altındaki sistemlerde efektif bir şekilde saldırıyı engelleyebiliyor; DDoS sırasında kullanılan sunucuların memcached servisine loop olarak yollanacak “shutdown\r\n”, or “flush_all\r\n” komutu ile bu sunuculardan gelen istekler durdurulabiliyor. [1]

Ayrıca, Memcached 1.5.6 versiyonu UDP protokolünü varsayılan ayar olarak kapatmaktadır.

İncelemek üzere exploit kodu bulabilir miyim?

Shodan üzerinden 11211 portunda çalışan memcached servisini barındıran sunucuları bulan ve bu sunucular üzerinden hedefe DDoS saldırısı yapan Memcrashed-DDoS exploit kodunu burada bulabilirsiniz. [2]

[1] https://www.corero.com/company/newsroom/press-releases/corero-network-security-discovers-memcached-ddos-attack-kill-switch-and-also-reveals-memcached-exploit-can-be-used-to-steal-or-corrupt-data/

[2] https://github.com/649/Memcrashed-DDoS-Exploit/