Hablemos de DrDOS

Recientemente, como ya contamos hace unos días, se ha detectado que mediante el uso de servicios memcached expuestos en internet, se había logrado llevar a cabo un ataque ‘DDoS Reflection’ (DrDOS) con un multiplicador cercano a 51.000.

Un ataque ‘DDos Reflection’ es un ataque de denegación de servicio por amplificación, que se produce cuando haciendo peticiones hacia un objetivo, éste es capaz de multiplicar el número de peticiones hacia el objetivo final.


Memcached es un sistema distribuido para caché de código abierto utilizado principalmente para mejorar la escalabilidad de las aplicaciones web. Memcached almacena pequeños datos mediante una funcionalidad de clave-valor. Los atacantes hacen uso de la funcionalidad clave-valor para crear un gran flujo con el que llevan a cabo el ataque.

El ataque se lleva a cabo en primer lugar mediante la obtención de servidores memcached expuestos en internet, para ello los atacantes hacen uso de herramientas como Shodan. Una vez se obtiene el listado de IPs, se modifica la configuración clave-valor con el fin de lograr la mayor cantidad de almacenamiento posible, permitiendo mediante la falsificación de la IP de destino en la solicitud, que el sistema memcached responda a la IP falsificada, aumentando el diferencial del que hemos hablado anteriormente.
Al llevar a cabo la técnica anteriormente descrita sobre un ‘poll’ de servidores, logramos un ataque DrDoS contra la IP de origen que se ha falsificado, que en este caso, correspondería a la víctima.
Históricamente, este tipo de ataques lo hemos podido observar en sistemas DNS, NTP y sistemas SSDP entre otros muchos, por lo que no es nada nuevo. La novedad se encuentra en el multiplicador que se ha llegado a conseguir superando con bastante claridad al resto de ataques DrDOS registrados.

 

A continuación os mostramos una tabla comparativa:


Protocolo
Multiplicador
DNS
28 a 54
NTP
556.9
SNMPv2
6.3
NetBIOS
3.8
SSDP
30.8
CharGEN
358.8
QOTD
140.3
BitTorrent
3.8
Kad
16.3
Quake Network Protocol
63.9
Steam Protocol
5.5
Multicast DNS (mDNS)
2 a 10
RIPv1
131.24
Portmap (RPCbind)
7 a 28
LDAP
46 a 55
CLDAP
56 a 70
TFTP
60
Memcache
10,000 a 51,000


Este ataque ha sido posible debido a una mala política de securización. Los que hemos trabajado con servicios memcached sabemos que están pensados para trabajar en ‘Loopback’ o redes locales, y una sola línea en su configuración hacen que sean expuestos en internet, por lo que cualquier persona podría usarlos. Aunque implemente medidas de seguridad éstas no vienen configuradas por defecto, y su fácil puesta en marcha, hace que estas medidas queden en muchos casos en el olvido.
En este casos no estamos hablando de una vulnerabilidad, sino de una técnica de DDoS que se aprovecha de una mala configuración de seguridad, la cual permite alcanzar picos de tráfico que han generado records para empresas como Akamai y Cloudfare. Por ejemplo, Akamai experimentó un ataque de 1.3 Tbs contra un solo cliente, más del doble del tamaño del ataque botnet Mirai mitigado por Akamai en 2017.

 

La mitigación de este tipo de ataques es sencilla ya que procede del puerto 11211 UDP que utiliza el servicio memcached, por lo que es fácilmente identificable para la aplicación de políticas de mitigación por parte de los servicios anti DDoS.
Más información:

El mayor ataque DDoS de la historia mitigado en minutos:

http://unaaldia.hispasec.com/2018/03/el-mayor-ataque-ddos-de-la-historia.html

The latest “reflection attack” gooses Denial of Service attacks by a factor of 51,000: