Los empleados deciden en qué idioma publican sus entradas.
Puedes encontrar más contenidos seleccionando el idioma inglés en el enlace superior.

Seguridad en IPv6. Envenenamiento de caché para ataque ‘Man In The Middle’

 Autor: Rafael Valdavida

Como los medios de comunicación han dejado  patente a lo largo de los últimos meses es el momento del IPv6. El espacio de direccionamiento de IPv4 se acaba, hay que buscar una solución e IPv6 parece ser que es lo primero que se le viene a la cabeza a todo el mundo. De hecho los últimos (y no tan últimos) productos tecnológicos incorporan ya soporte para IPv6. Un claro ejemplo es el Windows 7. Su pila IPv6 está activada por defecto y de forma preferente. Es decir, si ha de elegir entre IPv4 e IPv6 elegirá esta última.

Desde el punto de vista tecnológico IPv6 no es simplemente una solución para la escasez de espacio de direccionamiento. Se trae bajo el brazo su correspondiente juego de particularidades y un buen conjunto de protocolos adicionales (cabeceras de extensión, ICMPv6, NDP,  MLD, IPSec, ….). Para un potencial atacante cada una de las particularidades y características de esos protocolos es un campo abonado para el florecimiento de nuevas vulnerabilidades que pueden permitir todo tipo de acción maliciosa.

Centrémonos en UNA funcionalidad de UNO de esos protocolos. Una que por su relevancia y cercanía al usuario puede tener un mayor peso en la implementación de la solución IPv6. El protocolo NDP (Neighbor Discovery Protocol) se encarga, mediante la utilización de cinco tipos de mensajes ICMPv6, de proporcionar una serie de funcionalidades básicas. Entre ellas se encuentra la resolución de direcciones (identificar para una dirección IP dada qué dirección MAC le corresponde). Parece algo bastante básico para el funcionamiento de todo el tinglado.

En su definición, el protocolo NDP no especifica la necesidad de autentificación por parte de los participantes, lo que viene a significar que:

  • Cualquiera puede enviar cualquier mensaje (y estamos hablando de mensajes básicos para la configuración y el funcionamiento de la red).
  • Es muy difícil (¿imposible?) distinguir si la información de un mensaje dado proviene de quien se supone que debe provenir.

De hecho existe una tabla resumen sobre los posibles ataques a los que resulta susceptible el discutido protocolo NDP:

Es posible que la tabla requiera un poco más de explicación (qué son todos esos acrónimos y ‘palabras raras’) pero de por sí resulta muy ilustrativa. Incluso se puede adivinar que algunos de los problemas presentados no tienen, de momento, una solución clara (última columna).

En general, a lo largo de toda la especificación de IPv6, cada vez que surgen cuestiones sobre la seguridad la solución se redirige al uso de IPSec. No es este lugar para discutir las bondades o deficiencias de IPSec. Baste con decir que para el entorno del NDP, a día de hoy, IPSec no es una solución viable. Requiere no solo configuraciones engorrosas de claves privadas y públicas si no también resolver cuestiones sobre intercambios de claves (IKE). Bajo estas circunstancias nos encontramos con situaciones de vulnerabilidad bastante comunes. Por ejemplo, cualquier Windows 7, en su instalación por defecto, está preparado para funcionar bajo IPv6 y por tanto soporta el protocolo NDP de forma automática. Sin embargo en el proceso de instalación del sistema operativo o de su conexión a la red no se realiza ningún tipo de activación y configuración de IPSec.

Llegados a este punto yo diría que un posible atacante no solo dispone de un campo abonado. El campo ha florecido. Veamos un ejemplo de cómo un usuario malicioso puede aprovecharse de la situación descrita.

‘Man In The Middle en IPv6

El entorno considerado consta de los siguientes elementos:

  • Red local IPv6
  • Equipos A y B legítimos
  • Equipo Z malicioso

En IPv6, como en IPv4, cuando el equipo ”A” quiere comunicarse con el “B” necesita saber la dirección de capa de enlace (MAC) de dicho equipo “B”. Para obtenerla , “A” envía a la red un mensaje ICMPv6 del tipo “Neighbour Solicitation” a una dirección IPv6 multicast (dirección en la que escuchan todos los nodos de la red) con el formato “ff02::1:ffXX:YYZZ”. Donde XXYYZZ se corresponde con los últimos tres bytes de la dirección IPv6 con la que desea comunicarse. El elemento “B” contestaría hacia “A” con un mensaje ICMPv6 del tipo “Neighbour Advertisement” donde “B” envía toda la información de capa de enlace necesaria para que “A” se comunique con “B”.

Conociendo este comportamiento, y con todo lo anterior dicho sobre la carencia de autentificación, “Z” solo necesitaría enviar mensajes ICMPv6 de tipo “Neighbour Advertisement” indicando:

  • a “A” que la dirección IPv6 de “B” se corresponde con la dirección MAC de “Z”
  • a “B” que la dirección IPv6 de “A” se corresponde con la dirección MAC de “Z”

Nada impide que “Z” pueda enviar este tipo de mensajes (los mensajes “Neighbour Advertisement” pueden ser enviados espontáneamente para indicar cambios en la configuración local o nuevas incorporaciones) y tras la recepción de estos mensajes “A” y  “B” almacenarán la información fraudulenta en sus cachés y comenzarán a utilizarla. Como resultado toda la información enviada de “B” hacia “A” y de “A” hacia “B” pasará por “Z” que podrá:

  1. Acceder a la información intercambiada
  2. Modificar la información intercambiada
  3. Interrumpir la comunicación

Acabamos de replicar el ataque de envenenamiento de caché, típico de la tecnología IPv4, en IPv6 y sin más complejidad que la generación de dos paquetes IPv6 manipulados. La herramienta scapy, de libre acceso, ofrece toda la funcionalidad requerida. La solución, hoy por hoy no es sencilla, la opción sería proporcionar mecanismos de autentificación. Estaríamos hablando de configurar IPSec o una segunda posibilidad de más fácil aplicación y desarrollada para este problema que es el SEND (SEcure Neighbour Discovery). Pero eso ya es tema para otro/os artículos.

Compártelo en :

Compartelo en Tuenti Compartelo en Facebook Compartelo en Twitter

Comentarios

Un comentario to “Seguridad en IPv6. Envenenamiento de caché para ataque ‘Man In The Middle’”

  1. Seguridad en IPv6. Envenenamiento de caché para ataque ‘Man In The Middle’. Un articulo en ‘ Mi Universo DigitUAL ’ para inLumine.es on junio 9th, 2011 %H:%M 04Thu, 09 Jun 2011 16:31:09 +000009.

    [...] el junio 9, 2011 por rvd  Archivado como General, Sociedad de la Información, Tendencias | Deja un comentario (Votos: 2. Media: 5,00/5)  Loading [...]