Ataque DDoS basado en memcached

Memcached puede acelerar los sitios web, pero también se puede aprovechar la vulnerabilidad de memcached para realizar un ataque DDoS.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Definir un ataque DDoS basado en memcached
  • Explicar cómo funciona memcached
  • Destacar los métodos para mitigar los ataques a memcached

Contenido relacionado


¿Quieres saber más?

Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.

Revisa la política de privacidad de Cloudflare para saber más sobre cómo Cloudflare gestiona tus datos personales.

Copiar enlace del artículo

¿Qué es un ataque DDoS basado en memcached?

Un ataque de denegación de servicio distribuido (DDoS) es un tipo de ciberataque en el que un atacante intenta sobrecargar a una víctima con tráfico de Internet. El atacante falsifica las solicitudes a un servidor memcached* UDP vulnerable, que luego inunda a la víctima objetivo con tráfico de Internet, lo que puede llegar a sobrecargar los recursos de la misma. Mientras está sobrecargada la infraestructura de Internet del objetivo, no se pueden procesar nuevas solicitudes y el tráfico regular no puede acceder al recurso de Internet, lo cual provoca una denegación de servicio.

*Memcached es un sistema de almacenamiento en caché de bases de datos para acelerar sitios web y redes.

Mapa de tráfico de Memcached de Cloudflare

Aquí están los centros de datos de la red global de Cloudflare y la cantidad relativa de ataque de tráfico de memcached que recibieron durante un ataque reciente.

¿Cómo funciona un ataque basado en memcached?

Un ataque basado en Memcached funciona de forma similar a todos los ataques de amplificación DDoS, como la amplificación NTP y la amplificación DNS. El ataque funciona mediante el envío de solicitudes falsas a un servidor vulnerable, que luego responde con una mayor cantidad de datos que la solicitud inicial, magnificando el volumen de tráfico.

Se puede pensar en una amplificación memcached en el contexto de un adolescente con malas intenciones que llama a un restaurante, pide todo lo que incluye el menú y solicita al establecimiento que le vuelvan a llamar para que le repitan todo el pedido Cuando el restaurante le pide el número de teléfono, el adolescente facilita el número de la víctima, quien recibe entonces una llamada del restaurante con mucha información que no solicitó.

Este método de ataque de amplificación es posible porque los servidores de memcached tienen la opción de funcionar con el protocolo UDP. UDP es un protocolo de red que permite el envío de datos sin obtener primero lo que se conoce como protocolo de enlace, que es un proceso de red en el que ambas partes están de acuerdo con la comunicación. UDP se utiliza porque nunca se consulta al host objetivo si está o no dispuesto a recibir los datos, lo que permite enviar una gran cantidad de datos al objetivo sin su consentimiento previo.

Un ataque basado en memcached se produce en 4 pasos:

  1. Un atacante implanta una gran carga útil* de datos en un servidor memcached en riesgo.
  2. A continuación, el atacante falsifica una solicitud HTTP GET con la dirección IP de la víctima.
  3. El servidor de memcached vulnerable que recibe la solicitud, que intenta ser útil respondiendo, envía una respuesta extensa al objetivo.
  4. El servidor objetivo o su infraestructura circundante es incapaz de procesar la gran cantidad de datos enviados desde el servidor memcached, lo cual provoca una sobrecarga y una denegación de servicio a las solicitudes legítimas.
Memcached

Este es un ataque basado en memcached de 260 GB por segundo contra la red de Cloudflare que está siendo mitigado

¿Qué tamaño puede tener un ataque de amplificación basado en memcached?

¡El factor de amplificación de este tipo de ataque es realmente asombroso; en la práctica hemos sido testigos de factores de amplificación de hasta la friolera de 51 200 veces! Esto significa que por una solicitud de 15 bytes se puede enviar una respuesta de 750 kB. Esto representa un factor de amplificación masivo y un riesgo de seguridad para las propiedades web que no pueden soportar el peso de este volumen de ataque de tráfico. Tener un factor de amplificación tan grande junto con servidores vulnerables hace que memcached sea un caso de uso principal para los atacantes que buscan lanzar DDoS contra varios objetivos.

¿Cómo se puede mitigar un ataque basado en memcached?

  1. Desactivar UDP - Para los servidores de memcached, asegúrate de desactivar el soporte de UDP si no lo necesitas. Por defecto, memcached tiene el soporte de UDP habilitado, lo que deja potencialmente vulnerable a un servidor.
  2. Firewalls en los servidores de memcached - al poner un firewall en los servidores de memcached que los protege de la Internet, los administradores del sistema pueden utilizar UDP para memcached si es necesario sin exponerse a riesgos.
  3. Evitar la suplantación de IP - Mientras las direcciones IP puedan ser suplantadas, los ataques DDoS pueden aprovechar la vulnerabilidad para dirigir el tráfico a la red de la víctima. Evitar la suplantación de IP es una solución más amplia que no puede ser implementada por ningún administrador de sistemas en particular, y requiere que los proveedores de tránsito no permitan que ningún paquete salga de su red que tenga una dirección IP de origen de fuera de la red. En otras palabras, empresas como los proveedores de servicios de Internet (ISP) deben filtrar el tráfico de forma que los paquetes que salgan de su red no puedan fingir que proceden de una red diferente en otro lugar. Si todos los principales proveedores de tránsito aplicaran este tipo de filtrado, los ataques basados en la suplantación desaparecerían de la noche a la mañana.
  4. Desarrollar un software con respuestas de UDP reducidas - otra forma de eliminar los ataques de amplificación es eliminar el factor de amplificación a cualquier solicitud entrante; si los datos de respuesta enviados como resultado de una solicitud UDP son inferiores o iguales a la solicitud inicial, la amplificación ya no es posible.

Cloudflare filtra el tráfico UDP en nuestro perímetro de la red, eliminando el riesgo que suponen los ataques de amplificación como este. Explorar la protección avanzada contra DDoS de Cloudflare.

Para una mirada más profunda sobre los ataques de Cloudflare basados en memcached, y los comandos y procesos específicos para su mitigación, échale un vistazo a la publicación del blog Memcrashed - Importantes ataques de amplificación desde el puerto UDP 11211.