Ataques y Contramedidas

Es necesario valorar la necesidad de mantener la información segura, aplicando la medidas necesarias para evitar la monitorización de redes cableadas y clasificar las propiedades de seguridad de los protocolos utilizados en las redes inalámbricas.

11-Ago-2016

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.

Ataques wifi. Aircrack-ng

Las redes inalámbricas son particularmente interesantes de atacar porque están muy extendidas (tanto en el ámbito personal como en el empresarial) y porque el atacante no necesita entrar en las instalaciones de la víctima: basta con situarse lo suficientemente cerca para entrar en la cobertura del access point.

Por medio de la herramienta aircrak-ng, podemos realizar ataques a las redes inalámbricas que utilizan el protocolo WEP inseguro.

Esta herramienta trabaja con tarjetas en estado monitor (promiscuo), donde captura el tráfico generado entre las máquinas y el AP para posteriormente descodificar las claves.

Contramedidas ataques wifi

La primera solución es evitar utilizar cifrado WEP.

La segunda medida es reducir la potencia del AP. Así evitaremos que cualquiera de la calle pueda intentar atacarnos: simplemente no le llega la señal.

También se puede intentar activar en el AP la lista de MAC permitidas. Aunque es relativamente fácil para un atacante conocer alguna MAC permitida, ya que puede descifrar el tráfico porque tiene la clave WEP. Después, tranquilamente modifica la MAC de su máquina y ya puede conectar.

Ataques web. WebGoat

Las aplicaciones web aplican la arquitectura cliente-servidor; por tanto, adolecen de los mismos problemas que los protocolos de red. En especial, el ataque MITM que vimos al principio de este módulo.

La herramienta WebGoat permite ilustrar estos problemas. Al descargarla tenemos un entorno de aplicaciones web (Tomcat) configurado con unas lecciones para enseñar qué peligros corremos. Entre las posibles acciones a realizar está la de poder capturar las peticiones HTTP de nuestro navegador y de esta manera alterar el valor de los datos que se envían al servidor web.

Contramedidas ataques web

En este punto quienes deben tomar medidas son los programadores de aplicaciones, más que los técnicos de sistemas. Los  responsables del software que corre en el servidor nunca deben de confiar en que los datos de una petición son válidos solo porque han superado los controles que se han puesto en el navegador.

La principal misión de esos controles es ahorrar peticiones fallidas, de manera que los servidores no pierden tiempo y el usuario puede corregir sus erratas inmediatamente.

Es conveniente, además, que el equipo de pruebas de sistemas (responsables de probar una aplicación antes de entregarla al cliente) conozca estas herramientas de interceptación de peticiones, porque pueden ser utilizadas también por cualquier usuario.

Otro tipo de ataque consiste en procesar las peticiones HTTPs de equipos que hayan sufrido un ataque MITM mediante envenenamiento y posteriormente convertirlas en peticiones HTTP para así no utilizar cifrado. El objetivo son los paquetes de autenticación: usuario y contraseña.

El ataque es efectivo porque la mayoría de los servidores admiten tanto HTTP como HTTPS. Aunque la página inicial redirige a la versión HTTPS, las demás no. La solución más simple es utilizar servidores que no admitan HTTP.

Ataques proxy. Ultrasurf

Los usuarios de Windows pueden utilizar la herramienta Ultrasurf que se comporta como un proxy en nuestra propia máquina y modifica la configuración de Windows para que todas las conexiones web pasen por él (esto afecta a Internet Explorer y a Chrome, que utiliza la configuración del sistema).

Este proxy interno recibe las conexiones y las encamina fuera de la máquina conectando con otras máquinas en Internet. Estas máquinas utilizan el puerto 443 (el habitual del tráfico SSL). Como en un proxy normal, obtienen las páginas que el usuario pedía y se las mandan al proxy interno, el cual las entrega al navegador. Por tanto, el tráfico del usuario pasa por dos proxy: uno local y otro en Internet.

Contramedidas ataques proxy

La primera medida es formar a los usuarios para que entiendan que introducir software no controlado es una fuente de problemas:

  • No sabemos si ese software amable y gratuito realmente oculta un troyano que puede tomar el control de nuestra máquina.
  • Todo nuestro tráfico web está pasando por máquinas que no conocemos. Pueden utilizarlo para robarnos contraseñas, documentación personal o profesional, realizar ataques MITM, etc.
  • Se pone un proxy en una empresa para conseguir unos objetivos y, al evitar utilizarlo, estamos obstaculizando su cumplimiento.

Otra medida consistirá en espiar nuestra red. Primero con medidas estadísticas que evalúen el porcentaje de paquetes que pasan por el proxy comparado con aquellos que utilizan el puerto 443. Si tienden a equilibrarse, tenemos que entrar en detalle. Para ello utilizaremos un NIDS que busque máquinas con alto porcentaje de tráfico 443.

Tampoco tiene mucho sentido utilizar el firewall de red para bloquear todos los paquetes que quieran salir a Internet con destino la IP del proxy externo de Ultrasuft. Este tipo de software es muy listo y suele tener disponibles muchos servidores en distintos puntos de Internet.