Ataques de reflexión DNS
Un ataque de reflexión DNS se utiliza en muchos ataques de denegación de servicio distribuidos (DDoS) para derribar una tubería de Internet. El ataque es de dos pasos; el atacante envía una gran cantidad de peticiones a uno o más servidores DNS legítimos mientras utiliza la IP de origen falsa de la víctima objetivo. El servidor DNS que recibe las peticiones semilegítimas responde a la IP falsa, lanzando así, sin saberlo, un ataque a la víctima objetivo con respuestas a peticiones que la víctima nunca envió.
Internet está lleno de servidores DNS que se ofrecen como resolvedores abiertos y que servirán cualquier petición que se les envíe, algunos informes mencionan millones como cantidad. Este enorme número hace que sea muy difícil preidentificar el ataque utilizando la reputación IP. Además, los servidores son en realidad servidores legítimos que suelen enviar tráfico legítimo, lo que hace que cualquier servicio de reputación IP se confunda sobre si su naturaleza es o no maliciosa.
La mayoría de las consultas DNS se envían utilizando UDP, un protocolo que no permite la validación de la IP de origen. Por ello, el servidor DNS intermediario asume que las peticiones provienen de la víctima y le devuelve las respuestas. La suplantación de IP dificulta enormemente la detección del atacante por parte del servidor víctima, ya que parece que está siendo atacado por un servidor DNS legítimo, y la IP del atacante queda completamente oculta. La suplantación de IP también invalida los servicios de reputación de IP, que, si no están bien escritos, pueden asignar una mala reputación a un servidor DNS legítimo. También elimina cualquier trazabilidad para las expectativas de seguridad que tratan de identificar el origen del ataque.
Otra ventaja para el spoofing es la capacidad de atacar cualquier servidor o servicio. El atacante puede utilizar la IP y el puerto del servidor público de la víctima para asegurarse de que el ataque se envía a cualquier servicio, no sólo a un servicio DNS. El tráfico simplemente parecerá un montón de datos y el servidor tendrá que analizar y examinar los datos para asegurarse de que no es tráfico legítimo.
Nótese que la suplantación de IP es también una limitación de este ataque – si la suplantación de IP no es posible, el ataque no puede ser lanzado ya que no hay manera de dirigir las respuestas a la IP de la víctima. Este es el caso de los bots Mirai que se ejecutan en dispositivos IoT detrás de un router que realiza NAT. Sin embargo, las recientes tácticas de infección de Mirai apuntan a los propios routers domésticos, saltándose así la limitación del NAT.
La última y mayor ventaja que contribuye al potencial destructivo de las inundaciones de DNS reflexivas es la amplificación, que puede lograrse utilizando extensiones de DNS (EDNS0, definidas en el RFC 2671) y DNSSec. EDNS0 permite que la respuesta de DNS sea mayor que las 512 originales permitidas, mientras que DNSSec permite la autenticación de la respuesta para evitar el envenenamiento de la caché. DNSSec requiere EDNS0 para funcionar, ya que añade datos criptográficos a la respuesta. Dado que DNSSec se está haciendo popular en la Internet actual, consciente de la seguridad, hace que cada vez más servidores DNS soporten EDNS0 y permite a un atacante conseguir grandes respuestas a sus peticiones.
El posible tamaño de la respuesta – hasta 4096 bytes, permite al atacante enviar un pequeño número de peticiones cortas, mientras que las respuestas enviadas por el servidor DNS se amplifican enormemente, agotando la tubería de Internet de la víctima. Los atacantes pueden estudiar el servidor DNS y encontrar qué consultas legítimas pueden dar lugar a grandes respuestas, y también utilizar DNSSec para hacerlas aún más grandes con datos criptográficos. En muchos casos, la respuesta puede llegar al máximo de 4096 bytes, lo que da un factor de amplificación de x100 para la solicitud original.
Con la gran conectividad de Internet de hoy en día, una conexión de 100 M a Internet puede enviar un ataque modesto por sí solo y aún así causar algún daño a un sitio normal. Sin embargo, si el atacante tiene la capacidad de utilizar esta enorme respuesta de 4096 bytes para su solicitud de 44bytes y obtener una amplificación 100x, el servidor víctima recibirá 10G de tráfico de ataque, por encima de su ancho de banda de tráfico normal. Este tráfico hará que cualquier servicio normal quede inmediatamente fuera de servicio. Imagínese lo que se puede conseguir con una red de bots de este tipo.
Además del tamaño de la respuesta, está el hecho de que estas respuestas no caben en un paquete IP normal. En casos como éste, los servidores utilizan la opción de fragmentación IP, que les permite dividir el mensaje en varios paquetes. El uso de tráfico fragmentado en el ataque hace que la mitigación del ataque sea aún más difícil: el mitigador necesita almacenar los datos de la capa 4 del primer paquete (puertos UDP) en una tabla y aplicarla al resto de los paquetes del mismo mensaje. Muchas entidades de la red se agotan rápidamente con una gran cantidad de tráfico fragmentado, lo que hace que este ataque sea aún más eficiente.
El vídeo del ataque de amplificación de DNS en YouTube de Radware ilustra gráficamente la estructura y el flujo de un ataque de DNS reflexivo.
Después de conocer todos los entresijos del ataque de DNS reflexivo, queda una cosa por hacer: ¿cómo proteger una organización contra dicho ataque y mitigarlo? A diferencia de la sofisticación del ataque en sí, este problema tiene una solución conocida: para mitigar un ataque de reflexión DNS, hay que tener un buen detector in situ para detectar rápidamente el ataque y evitar el tiempo de inactividad. El detector debe ser lo suficientemente inteligente como para entender que el ataque que ve está saturando la conexión a Internet y que es necesario desviar el tráfico a un centro de depuración en la nube. Una vez que el tráfico se desvíe al centro de depuración en la nube, se limpiará y se enviará al sitio.
La depuración en sí depende de la cantidad de tráfico similar que se considere legítimo – ¿el sitio ve mucho tráfico UDP? ¿Tráfico DNS? ¿Tráfico fragmentado? Y si es así, ¿qué lo distingue del tráfico de ataque? El uso de una técnica automatizada para separar el tráfico legítimo y el de ataque le dará una buena y rápida mitigación de la nube y también, algo de tranquilidad.
Para más información, consulte mi blog anterior: DNS y ataques de DNS
Lee «Creación de un entorno seguro para APIs poco protegidas» para saber más.
Descargue ahora