Ataques TCP/IP. MITM
MITM
La familia de protocolos TCP/IP se diseñó a principios de los años setenta, orientando el diseño hacia la fiabilidad más que hacia la seguridad, por lo que son muy inseguros.
Son especialmente peligrosos los ataques MITM (Man-In-The-Middle, intermediario): en una comunicación entre dos equipos aparece un tercero que consigue que los paquetes intercambiados pasen por él. Desde ese momento puede leer todo el tráfico (ataque de interceptación) o, lo que resulta más peligroso, alterar los datos para su beneficio (ataque de modificación).
El atacante puede interponerse en el tráfico entre origen y destino de dos maneras:
- Por hardware. El atacante tiene acceso directo a un elemento de red que forma parte del camino entre el origen y el destino.
- Por software (engaño). El atacante consigue que el origen crea que él es el destino, y también consigue que el destino crea que él es el origen. El ataque MITM mediante software es un ataque de tipo fabricación.
- Es mucho más simple que el anterior porque no hace falta tener acceso físico a los equipos.
- La segunda ventaja del engaño es que es fácil activar y desactivar el ataque a voluntad, lo que hace más difícil detectarlo.
Ataque por envenenamiento
El ejemplo más típico de ataque MITM por software (engaño) es el envenenamiento ARP (ARP poisoning). El protocolo ARP (Address Resolution Protocol) se utiliza para obtener la dirección MAC asociada a una IP; es decir, cuando una máquina (PC-A) quiere comunicarse con otra máquina (PC-B) de la que sabe su dirección IP (nivel 3 de TCP/IP), obtiene la dirección MAC (nivel 2) mediante ARP. Las llamaremos IP-PCB y MAC-PCB, respectivamente.
Para ello, PC-A introduce en la red un paquete broadcast (que llegará a todos los equipos de la subred) preguntando la MAC que corresponde a la IP-PCB. En condiciones normales, solo PC-B debería contestar con su MAC-PCB.
El ataque consiste en que una máquina PC-X, conectada al mismo tramo de red que PC-A y PC-B, en un momento dado empieza a generar paquetes de respuesta ARP. Sin que nadie le pregunte, envía un paquete a PC-A diciendo que la MAC de IP-PCB es MAC-PCX (la MAC de la máquina PC-X), y envía otro paquete a PC-B diciendo que la MAC de IP-PCA también es MAC-PCX. Es decir, intenta convencer a PC-A de que PC-X es PC-B, e intenta convencer a PC-B de que PC-X es PC-A.
Por desgracia, estas respuestas espontáneas son aceptadas por PC-A y PC-B. No hay ningún tipo de validación ni correlación con una pregunta anterior, etc.
Contramedidas ataques MITM
Los ataques MITM son difíciles de evitar.
- Utilizar en todas las máquinas tablas ARP estáticas, renunciando al protocolo dinámico, vista su debilidad.
- Supone mucho trabajo de mantenimiento: cada vez que llega una nueva máquina, o introducimos una nueva tarjeta de red en una máquina ya existente, hay que actualizar una a una todas las máquinas de la empresa (y pueden ser cientos).
- Controlar el acceso a nuestra red: si el atacante no puede conectar su equipo, no podrá lanzar paquetes maliciosos.
- Utilizar, siempre que sea posible, protocolos seguros con infraestructura de clave pública (PKI). Cualquier interceptación de mensajes no será provechosa, y el atacante no tiene las claves privadas de los extremos, por lo que no puede suplantarlos.
- La solución definitiva es introducir un NIPS en la red (Network Intrusion y Network Prevention), que nos alerte de la presencia de respuestas ARP no solicitadas.
- No necesitamos un NIPS muy potente: el ataque es tan sencillo que un simple sniffer lo detecta durante la captura. Examinando los archivos log del análisis de la red, podemos fijarnos en que aparece un aviso sobre la doble asignación MAC-IP: es normal que una dirección MAC pueda servir a varias direcciones IP, pero no es normal que una IP no aparezca asociada a dos MAC distintas.
Salvo en casos excepcionales en los que se utilizan tarjetas de red de respaldo, la inmensa mayoría de las direcciones IP de los paquetes que circulan por la red de una empresa deben estar asociadas a una única MAC. Encontrar asignaciones duplicadas debe hacernos sospechar.
En general, son susceptibles de ser atacados todos los protocolos donde no hay autenticación de los equipos que participan en la comunicación, poniéndose en evidencia la importancia que tiene el concepto de seguridad de extremo a extremo.