Vulnerabilidad por IPv6 en paquetes RA (Router Advertisement)

Hace unos días, como parte de un reto técnico impuesto por uno de los profesores de la Maestría en Redes de Comunicaciones que estoy cursando desde agosto de este año, me puse a investigar sobre un posible método de ataque a través de alguna técnica de inundación.

En Google encontré un post que refería un tipo de vulnerabilidad bastante grave en los equipos Windows con soporte nativo de IPv6. Se trata de un problema detectado en el rendimiento del equipo Windows y que nadie se aventura mucho a declarar si la razón del problema es el módulo de IPv6 o un problema más profundo.

El ataque está basado en el tráfico de unos mensajes denominados Router Advertisement (RA) que son parte del Protocolo de Descubrimiento de Vecinos (NDP por sus siglas en Inglés) y que viajan como paquetes conocidos como (bien pude adivinarlo) RA Packets. Este protocolo es parte fundamental de las capacidades plug-and-play que son una de las características más distintivas de IPv6, conjuntamente con el enorme tamaño del espacio de direcciones IP (2^128 ó unos 340 sextillones ó el 340 con 36 dígitos a la derecha).

Al recibir el equipo estos paquetes, que fundamentalmente sirven o son usados por los routers para anunciar de su presencia y capacidades a los equipos aledaños, Windows empieza a usar una enorme cantidad de recursos para procesar estos mensajes; sin embargo este tráfico, en condiciones normales, es bastante escaso y esporádico, por ende se podría asumir que el problema de excesivo consumo de recursos no debería ser mayor.

Sin embargo, dado que por alguna razón Windows no libera enseguida los recursos que consume, si inundamos la red con este tipo de mensajes, el equipo en pocos segundos llega a inhibirse completamente.

El ataque lo realicé con la ayuda de una herramienta que está integrada a un kit popular en ethical hacking, denominado THC-IPv6 tools7 y lo ejecuté desde mi equipo con Fedora 17. En la misma red tenía otro equipo con Fedora, uno con Windows XP y uno con Windows 7. Los resultados a continuación:

Windows XP
No es vulnerable pues no tiene soporte para IPv6 habilitado por defecto. Por ende simplemente ignora este tipo de tráfico.

Windows 7
Inmediatamente de recibir el ataque, se incrementa a tope el uso del procesador en el equipo, de tal forma que aún cuando detengamos el ataque, la carga y rendimiento quedan permanentemente afectados requiriendo en la mayoría de casos de un apagado forzoso. El equipo no sólo pierde navegabilidad y comunicación por red de forma casi instantánea, sino que además queda virtualmente muerto.


Rendimiento del equipo antes del ataque

Ejecución del ataque desde mi Fedora Linux.

Rendimiento del equipo unos segundos luego del ataque

Fedora 17
Si bien a nivel del servicio de red, el equipo sufre del mismo síntoma de inhabilidad de navegación y comunicación vía red, no adolece del problema en el rendimiento, es decir, tan pronto el ataque se detiene, la red y navegabilidad regresan, sin sufrir estragos a nivel de funcionamiento general del mismo.