miércoles, 10 de agosto de 2011

Mitigación de Ataques en Capa 2 con equipos CISCO


Resumen
La seguridad informática es un tema muy importante en las empresas de cualquier sector, para remediar esto se invierte en software y dispositivos de comunicación para asegurar el tráfico que entra y sale de la red interna, dejando de lado lo que puede ocurrir en la misma red interna.
La solución a este problema, es trabajar con los usuarios finales y con los dispositivos de comunicación que trabajan en la red interna.
En este trabajo se revisa brevemente la norma peruana NTP-ISO/IEC 17799, donde establece una metodología para la seguridad física y la organización que se debe de realizar en la institución para asegurar la red interna.  También se analiza un ataque en la red LAN realizado con ARP Spoofing y se explica como protegerla utilizando dispositivos de comunicación.

Fundamentos

¿Qué puede ocurrir en la red interna?
La red interna es el punto más susceptible en las empresas, ya que no se puede determinar el comportamiento del usuario.  El usuario final puede reaccionar ante diferentes emociones pudiendo comprometer la seguridad de la red interna; algunas catalogaciones personales y utilizadas en la red son:
  • El usuario Lammer

Son usuarios con pocos conocimientos de informática, que podrían hackear a otros usuarios al probar cualquier software descargado de internet.  
  •  El usuario SCRIPT KIDDIE

Son simples usuarios de la red, sin conocimientos de hack o crack pero con afición a estos temas; se dedican a recopilar información de la red y  buscar programas que luego los ejecutan sin la más mínima idea de lo que están haciendo, infectando en muchos casos con virus a los equipos.
  • El usuario informático

Son los usuarios con pocos conocimientos de informática que replican al administrador de la red.
  • El usuario común (los más difíciles de controlar)

Muchos usuarios de forma ingenua saturan el ancho de banda de la red interna y el acceso a internet, esto lo consiguen al escuchar música por internet, descargando software innecesario, reproducir videos musicales por internet, al estar interconectado con otros usuarios de la misma empresa a través de software de mensajería instantánea, al tener presencia activa en las redes sociales y reenviando cadena de correo electrónico.
  • El usuario hacker

Experto en redes y seguridad que accede a sistemas a los que no tiene autorización, sin ánimo de causar daño, generalmente para aprender más y superarse a sí mismo.
Están orientados a la seguridad informática, programación y diseño de sistemas.
  • El usuario cracker

Este es un usuario con conocimientos avanzados de informática, que mediante ingeniería inversa realiza seriales, keygens y cracks; los cuales sirven para modificar el comportamiento o ampliar la funcionalidad del software o hardware original.  Otro grupo de ellos, se dedica a violar la seguridad en sistemas informáticos  de forma similar a como lo haría un hacker;  con la diferencia que el cracker lo realiza con fines de beneficio personal o para hacer daño.

Una forma de controlar a estos usuarios es monitoreando y restringiendo sus acciones, o también se podría concientizar al usuario en las consecuencias de sus acciones.


¿Qué problemas podrían causar los diferentes tipos de usuarios?
La gran parte de los problemas son ocasionados al área de sistema y a los usuarios en general, entre los problemas más usuales podemos encontrar:

  • Consumo innecesario de los recursos del área de sistemas
  • Comprometen la seguridad de la información de la empresa
  • Consumo innecesario del ancho de banda de la red
  • Saturación de los servicios de red en la empresa




¿Cómo puedo asegurar la red interna?
La respuesta es simple, concientizando al usuario y con inversión en equipos de comunicación.
El primer paso para asegurar la red, es comprometer formalmente a la gerencia, una alternativa para realizar esta tarea es siguiendo las recomendaciones de la norma técnica peruana NTP-ISO/IEC 17799 [2], donde indica:
“La gerencia debería establecer de forma clara las líneas de la política de actuación y manifestar su apoyo y compromiso a la seguridad de la información, publicando y manteniendo una política de seguridad en toda la organización.”
Estas políticas, según NTP-ISO/IEC 17799, establecen implementar un comité de seguridad conformado por el encargado de sistemas, encargados de las distintas áreas y la gerencia.  Este comité deberá establecer, velar por el cumpliendo y actualizar las normas según los nuevos requerimientos.
Otro de los puntos que recomienda la norma, es realizar capacitaciones periódicas de seguridad informática a los usuarios finales, con el fin de concientizarlos en las buenas prácticas para desarrollar un trabajo seguro.
Con respecto a la inversión en equipos de comunicación, la empresa debe de utilizar como base la pirámide tecnológica (ver figura 1).

Figura 1 : Pirámide Tecnológica
Fuente: http://www.que-informatica.com

Esta pirámide indica que, cuando logramos una robusta base en la capa de comunicaciones podremos obtener mayor estabilidad en las capas superiores.  Por ello, se debe realizar una mayor inversión en la capa de comunicaciones porque solo así se podrá estabilizar la red.
Los dispositivos más importantes que trabajan en la red interna son los switch de capa 2 y 3.  Para disponer los equipos de comunicación, CISCO recomienda utilizar el modelo ECNM (Enterprise Composite Network Model), es un modelo jerárquico, que divide la red en áreas física, lógica y funcional. [3]

¿Cómo atacar a la red interna?
Una de las mayores amenazas de una red informática, es un equipo intruso haciéndose pasar por un equipo de confianza.  Una vez que el intruso logre ingresar a la red, puede realizar varias acciones que perjudique a la red, a los usuarios y a la empresa.  Por ejemplo, puede interceptar y registrar el trafico destinado a los servicios de red o puede esperar a que los clientes empiecen a enviar información confidencial.
Suplantar un cliente de red tiene consecuencias especialmente graves en las redes IP, ya que abre otras posibilidades de ataque.  Una de las técnicas de suplantación de host en una red IP es a través de ARP Spoofing (Protocolo de Resolución de Direcciones).  ARP Spoofing solo se limita a los segmentos de red de área local.


Cuando un datagrama IP se envía desde un host a otro en el mismo segmento físico, la dirección IP del host de destino debe traducirse en una dirección MAC.  Esta es la dirección de hardware de la tarjeta Ethernet que está conectado físicamente a la red.  Para ubicar al host de destino se utiliza el protocolo de resolución de direcciones (ARP), ver figura 2.



Figura 2 : Proceso de consulta ARP
Fuente: Elaboración propia

Cuando un host tiene que conocer la dirección Ethernet de otro host, envía una trama de broadcast, similar a la siguiente.


01:20:14.833350 arp who-has 192.168.0.66 tell 192.168.0.62
Figura 3 : Request ARP
Fuente: ebook Network Security Hacks

Dado que este requerimiento es enviado a la dirección broadcast, todos los dispositivos Ethernet en el segmento local deben de recibir la solicitud.  La maquina que coincide con la solicitud, responderá enviado un response ARP como el siguiente:


01:20:14.833421 arp reply 192.168.0.66 is-at 0:0:d1:1f:3f:f1
Figura 4 : Response ARP
Fuente: ebook Network Security Hacks

Dado que el request ARP ya contiene la dirección MAC del remitente en el frame Ethernet, el receptor puede enviar su respuesta sin hacer una nueva petición ARP.

El mayor problema de ARP es un protocolo sin estado.  Esto significa que no hace un seguimiento de las respuestas a las solicitudes que se envían, por lo que acepta las respuestas sin haber enviado una solicitud.




El atacante podría recibir el tráfico destinado a otro host, enviando paquetes response ARP a la dirección IP de la víctima con la dirección MAC del atacante, como lo muestra la figura 5.  La maquina que recibe estos paquetes no puede distinguirlos de los legítimos response ARP y comenzara a enviar los paquetes a la dirección MAC del atacante.



Figura 5 : Proceso ARP Spoofing
Fuente: Elaboración propia
Otro problema de este protocolo, son las tablas ARP ya que solo utilizan la última respuesta.  El atacante inunda al host con este tipo de respuestas, de tal forma que consigue sobre escribir las direcciones legítimas.
Entre los ataques más peligrosos y difíciles de controlar, están los generados a través de ARP Spoofing, este tipo de técnica puede ser utilizada para generar otros ataques como:

    CAM Table Overflow: Los switchs guardan las asociaciones MAC-Puerto e información de VLAN a medida que las aprenden en una tabla llamada CAM, al saturar esta tabla el switch envía los paquetes a todos los puertos del dispositivo; después de concretarse este tipo de ataque, el Switch se comporta como un HUB para cualquier MAC que no haya aprendido.
·         Switch Port Stealing: El atacante consigue que todas las tramas dirigidas hacia otro puerto del switch lleguen al puerto del atacante, para luego re-enviarlos hacia su destinatario.  De esta forma el atacante puede monitorear el tráfico que viaja desde el remitente hacia el destinatario.
·         Secuestro (Hijacking): El atacante logra redirigir el flujo de tramas entre dos dispositivos hacia su equipo.
·         Denial of service (DoS): El atacante puede hacer que un equipo crítico de la red tenga una dirección MAC inexistente.
·         Man in the Middle: El atacante logra que todas las tramas que intercambia las victimas pasen primero por su equipo.


Metodología
Figura 6 : Diagrama de red
Fuente: Elaboración propia
El diagrama anterior muestra una conexión típica de un usuario a Internet, la conexión se realiza a través del Switch de capa 3.  La puerta de enlace del usuario esta direccionada a la interfaz fastethernet del router.
El tipo de ataque a generar es Man in the Middle, este es uno de los más difíciles de controlar ya se desarrolla en la red interna y el único dispositivo de red que puede revisar el trafico es el Switch de comunicaciones.  Para lograr esto se utilizara software arpspoof, el cual se encuentra dentro del paquete de herramientas Dsniff bajo el sistema operativo Linux.
Al demostrar como se realiza un ataque por ética se debe de enseñar cómo proteger del ataque generado.  Este tipo de ataque puede ser controlado a través de diferentes métodos, entre ellos podemos encontrar:
·         Configurar la tabla ARP de forma estática, tanto en los SO Windows como Linux soporta entradas estáticas en la tabla ARP.  El comando utilizado para realizar este tipo de tarea es: arp –s <IP> <MAC>
Esta solución podría ser viable para redes muy pequeñas, para redes medianas a grandes ya no es factible por complicar la administración, perdería la escalabilidad y flexibilidad.
·         Monitorear la red a través de sniffer como WireShark, esta solución consume muchos recursos y solo se podría registrar el ataque realizado.
·         Monitoreo automático en el cliente, existe aplicaciones que se pueden instalar en clientes tanto Windows o Linux que constantemente verifican los Event y Firewall logs alertando cualquier cambio de la dirección MAC de la puerta de enlace.  Esta solución requiere usuarios con conocimientos avanzados.
·         Filtrar el trafico de paquetes en dispositivos de red LAN, esta solución es la recomendable por que bloquearía el puerto al primer intento de realizar ARP Spoofing
En la PC atacante, habilitamos la capacidad de reenvío de paquetes, esto se logra con el comando:

#echo 1 >/proc/sys/net/ipv4/ip_forward

Ahora procedemos a envenenar la cache ARP de la maquina Usuario, lo que se busca es que el usuario piense que la IP de puerta de enlace está relacionada con la MAC de la maquina del atacante:
#arpspoof -i eth0 -t 192.168.50.140 192.168.50.1
0:c:29:1:a6:bb 0:c:29:c6:dd:8d 0806 42: arp replay 192.168.50.1 is-at 0:c:29:1:a6:bb
0:c:29:1:a6:bb 0:c:29:c6:dd:8d 0806 42: arp replay 192.168.50.1 is-at 0:c:29:1:a6:bb

Hasta el momento solo hemos capturado el trafico que viene de la puerta de enlace a la maquina Usuario, ahora debemos realizar lo mismo, pero para el trafico que va de la máquina de usuario a la puerta de enlace.
#arpspoof -i eth0 -t 192.168.50.1 192.168.50.140
0:c:29:1:a6:bb 0:c:29:70:7d:2d 0806 42: arp replay 192.168.50.1 is-at 0:c:29:1:a6:bb
0:c:29:1:a6:bb 0:c:29:70:7d:2d 0806 42: arp replay 192.168.50.1 is-at 0:c:29:1:a6:bb
Ahora el cliente habrá llenado su tabla arp, podemos observar en la figura 3, que la puerta de enlace y el atacante tiene la misma dirección MAC.
C:\>arp –a
Interfaz: 192.168.50.140 --- 0x2
  Dirección IP               Dirección física      Tipo
  192.168.50.1               0:c:29:1:a6:bb        dinámico
  192.168.50.120             0:c:29:1:a6:bb        dinámico
Figura 7 : Tabla ARP de PC Usuario
Fuente: Elaboración propia
En el cliente hemos instalado el software Wireshark, para realizar el análisis del tráfico en la red, en la figura 4 muestra como el atacante envía constantemente paquetes ARP indicando que la dirección Ip de la puerta de enlace tiene la dirección MAC del atacante.
Este ataque también afecta al switch, ya que el dispositivo aprende las direcciones MAC del mismo tráfico que pasa por sus puertos.
Luego que hemos logrado colocar al atacante en el medio, existe una gran variedad de software que puede ser utilizado para capturar o analizar el tráfico que sale o ingresa del cliente.  En esta prueba utilizaremos la aplicación urlsnarf el cual se encuentra dentro de la herramienta Dsniff.
Urlsnarf registra todas las referencias a URL existentes en el tráfico capturado, con la posibilidad de mostrarlo en pantalla o guardarlo en un archivo.  La figura 5 muestra la salida de la aplicación urlsnarf cuando el cliente ingresa a la página web de tecsup.

Figura 8 : Salida de la aplicación urlsnarf
Fuente: Elaboración propia

¿Cómo proteger este tipo de ataques?
Para proteger este tipo de ataques, se utilizan dispositivos de red LAN de capa 3 como el switch Catalyst 3560, que cumple la función de comunicar las PC’s de la red.
Cisco a partir de la versión del IOS Software Release 12.2(25)SEB, implementa Dynamic ARP inspection (DAI), esta característica ayuda a prevenir ataques maliciosos de tipo ARP Spoofing.
Lo primero que debe de realizar es habilitar DAI en la VLAN respectiva y crear la lista de acceso con IP y su MAC respectiva, la figura 6 muestra la comprobación de esta tarea.
Habilitamos DAI en la Vlan1
Switch(config)# ip arp inspection vlan 1

Creamos la lista de acceso donde relacionamos la IP con su respectiva MAC
Switch(config)# arp access-list Usuarios
Switch (config-arp-nacl)# permit ip host 192.168.50.1 mac host 000c.2970.7d2d
Switch (config-arp-nacl)# permit ip host 192.168.50.140 mac host 000c.29c6.dd8d

Aplicamos la lista de acceso a la Vlan 1
Switch (config)# ip arp inspection filter Usuarios vlan 1
 

Resultados

Switch# show ip arp inspection vlan 1

Source Mac Validation      : Disabled
Destination Mac Validation : Disabled
IP Address Validation      : Disabled

 Vlan     Configuration    Operation   ACL Match          Static ACL
 ----     -------------    ---------   ---------          ----------
    1     Enabled          Active      Usuario            No

 Vlan     ACL Logging      DHCP Logging
 ----     -----------      ------------
    1     Deny             Deny 
Figura 9 : Estado del DAI
Fuente: Elaboración propia

Después de aplicar DAI, podemos notar en la figura 7 que el switch empieza a detectar la sobrecarga de paquetes ARP y bloqueando el respectivo tráfico de paquetes.

Figura 10 : El switch detecta un sobre flujo ARP
Fuente: Elaboración propia

Con esto cualquier tipo de ataques ARP Spoofing queda bloqueado.  DAI también nos permite mostrar estadísticas del tráfico cursado.

Figura 11 : Estadística del flujo de paquetes ARP
Fuente: Elaboración propia
Conclusiones
·         Todo el personal de las distintas áreas de una empresa, son parte del esquema de seguridad y deben trabajar para mantener y proteger la empresa donde se labora.
·         La empresa debe establecer las políticas de seguridad a seguir, y debe crear una comisión encargada de mantener y velar por el cumplimiento de estas
·         No existe una red segura, solo con un monitoreo constante de la red podemos minimizar los riesgos que pueda sufrir.
Referencias
[1] Lockhard, Andrew. (2006). Network Security Hacks. En: Hack 62. Detect ARP Spoofing (pp. 130-147). United States of America: O’Reily Media.
[2] Comisión de Reglamentos Técnicos y Comerciales, (2007). Norma Técnica Peruana, NTP-ISO/IEC 17799, (EQV. ISO/IEC 17799:2005 Information technology. Code of practice for information security management). Lima: INDECOPI
[3] Diane Tare y Catherine Paquet (2007), Building Scalable Cisco Internetworks (BSCI) 3ra edition. United States of America: Cisco Press.
[4] Cisco (2006), Catalyst 3560 Switch Software Configuration Guide. Configuring Dynamic ARP Inspection. Recuperado el 15 de Febrero del 2011 de: http://www.cisco.com/en/US/docs/
switches/lan/catalyst3560/software/release/12.2_20_se/configuration/guide/swdynarp.html
[5] Dave Hucaby y Steve McQuerry (2002), Cisco Field Manual: Catalyst Switch Configuration. En: Controlling Traffic and Switch Access (pp 299 - 327). United States of America: Cisco Press
[6] Kevin Wallace (2008), CCNA Security Official Exam Certification Guide. En: Securing Layer 2 Devices (pp 207 - 249). United States of America: Cisco Press

No hay comentarios:

Publicar un comentario