Şubat 2018'de GitHub, o zamanki en büyük DDoS saldırısı olan 1,35 Tbps'lik trafiğe maruz kaldı. Silah: on binlerce operatörün yanlışlıkla herkese açık internete bıraktığı açık kaynaklı bir önbellek sistemi olan Memcached.
Memcached Yükseltme Saldırısı Nedir?
Memcached, herkese açık internette değil, güvenilir ağların içinde çalışmak üzere tasarlanmıştır. UDP 11211 portunu dinler ve herhangi bir sorguya kimlik doğrulaması olmadan yanıt verir. Saldırganlar bunu, sahte bir kaynak IP'siyle — kurbanın adresiyle — herkese açık Memcached sunucularına küçük istekler göndererek kötüye kullanır. Her sunucu da kurbana, orijinal isteğin 51.000 katına kadar büyük bir yanıt seli gönderir.
Yükseltme oranı
15 baytlık bir istek 750 KB'lik bir yanıt tetikleyebilir — 51.000 katlık bir yükseltme oranı. Binlerce savunmasız sunucuyla saldırgan bir dizüstü bilgisayardan terabit ölçeğinde seller üretebilir.
Saldırının Anatomisi
- Saldırgan bir Memcached sunucusuna büyük bir değer önceden yükler (örneğin 1 MB'lik bir yük).
- Saldırgan, kaynak olarak kurbanın IP'siyle sunucuya bir UDP GET isteği gönderir.
- Memcached sunucusu tüm yükü kurbana gönderir — hiçbir şey sormadan.
- 10.000 sunucuyla saldırgan tek bir makineden 500 Gbps ve üzerini sürdürebilir.
Akarguard Bunu Nasıl Azaltır?
Kapsam konusunda net olmakta fayda var: Memcached ve diğer UDP yansıtmaları bir ağ katmanı (L3/L4) saldırısıdır. Akarguard, DNS'inizin trafiği yönlendirdiği noktada HTTP/HTTPS uygulamalarını koruyan bir ters-vekil uç katmanıdır. Yansıtmayı bir hattı doyurmadan durduran upstream ağ filtrelemesinin ve BCP38 kaynak-adres doğrulamasının yerini almaz.
- Web trafiği bir DNS değişikliğiyle Akarguard ters-vekil uç katmanından geçirilir, bu da origin IP'nizi herkese açık kayıttan uzak tutar.
- Uygulama katmanında uç, IP başına hız ve bağlantı limitleri, WAF kuralları ve sınama modları uygular.
- Hacimsel UDP yansıtması en iyi upstream'de, host ya da transit sağlayıcınızın ağında durdurulur; giriş kaynak-adres filtrelemesi (BCP38) yapıp yapmadıklarını sorun.
- Tespit sürekli çalışır ve her mitigasyon olayı bir uyarı ve indirilebilir bir PDF rapor üretir.
Şimdi Yapabilecekleriniz
Memcached çalıştırıyorsanız UDP desteğini hemen kapatın (--listen 127.0.0.1 ya da 11211/udp portunu güvenlik duvarıyla kapatın). Shodan şu anda 85.000'den fazla herkese açık Memcached örneğini indeksliyor — her biri internetteki herhangi bir hedefe karşı potansiyel bir silahtır.
Memcached'de UDP'yi kapatmak size hiçbir şeye mal olmaz. Açık bırakmak ise herkese mal olur.