• No se han encontrado resultados

Mitigación de Ataques en la Capa de Enlace de Datos Mediante Detección y Monitoreo de la Red Edición Única

N/A
N/A
Protected

Academic year: 2020

Share "Mitigación de Ataques en la Capa de Enlace de Datos Mediante Detección y Monitoreo de la Red Edición Única"

Copied!
79
0
0

Texto completo

(1)INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS MONTERREY. PROGRAMA DE GRADUADOS EN ELECTRÓNICA, COMPUTACIÓN, INFORMACIÓN Y COMUNICACIONES. Mitigación de ataques en la Capa de Enlace de Datos mediante Detección y Monitoreo de la red.. TESIS.. JESSICA IZQUIERDO ÁLVAREZ.. MONTERREY, NL. MAYO, 2004..

(2) INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS MONTERREY DIVISIÓN DE ELECTRÓNICA, COMPUTACIÓN, INFORMACIÓN Y COMUNICACIONES PROGRAMA DE POSTGRADO EN ELECTRÓNICA, COMPUTACIÓN, INFORMACIÓN Y COMUNICACIONES Los miembros del comité de tesis recomendamos que la presente tesis de la Ing. Jessica Izquierdo Álvarez sea aceptada como requisito parcial para obtener el grado académico de Maestra en Ciencias en Ingeniería Electrónica con especialidad en Telecomunicaciones.. Comité de Tesis: ____________________________ Dr. Cesar Vargas Rosales. Asesor. _______________________ Dr. José Raúl Pérez Cázares.. _______________________ Ing. Jaime Martínez Garza.. Sinodal. Sinodal. _______________________________ Dr. David A. Garza Salazar. Director de los Programas de Postgrado en Electrónica, Computación, Informática y Comunicaciones. Mayo de 2004. -2 -.

(3) MITIGACIÓN DE ATAQUES EN LA CAPA DE ENLACE DE DATOS MEDIANTE LA DETECCIÓN Y MONITOREO DE LA RED.. POR JESSICA IZQUIERDO ÁLVAREZ.. TESIS Presentada a la División de Graduados en Electrónica, Computación, Informática y Comunicaciones. Este trabajo es requisito parcial para obtener el Título de. MAESTRA EN CIENCIAS EN INGENIERÍA ELECTRÓNICA CON ESPECIALIDAD EN TELECOMUNICACIONES.. INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS MONTERREY Mayo de 2004.. -3 -.

(4) AGRADECIMIENTOS. __________________________________________________ Gracias a Dios por hacerme ver que en cada respiro, en cada ser vivo y en cada oportunidad se encuentra siempre presente. Gracias a mis padres por siempre confiar en mí, por brindarme todo su apoyo, amistad y tiempo, por motivarme a ser mejor día con día y por hacerme sentir la hija más querida y bendecida del mundo. Gracias a mis hermanos Nancy, Oscar y Chuy por ser los mejores amigos y cómplices a lo largo de estos años. Gracias a todos y cada uno de mis amigos que han formado parte de mi vida y me han dejado también ser parte la suya. Gracias a mi asesor, el Dr. Cesar Vargas, por su paciencia, sus recomendaciones, su tiempo, su conocimiento y su disposición. Gracias a mis sinodales, el Dr. Raúl Pérez y el Ing. Jaime Martínez por sus comentarios, su tiempo y disposición. Gracias al departamento de Ciencias Computacionales por darme la oportunidad de ser parte de sus asistentes de docencia a lo largo de estos tres años y gracias al departamento de Planeación y Desarrollo Organizacional por financiar mis estudios de Postgrado en esta Institución. Finalmente, y no por eso menos importante, le doy muchas gracias a mi querido Robert por estar junto a mí todos estos años y ser el mejor amigo, confidente y esposo que alguien puede tener. Muchas gracias por tu paciencia, tus consejos, tu ternura, tu apoyo, tu amor y sobre todo, muchas gracias por hacer de mí una mejor persona.. -4 -.

(5) RESUMEN. _______________________________________________ Seguridad es un tema primordial para los administradores de red de cualquier corporación. En la actualidad existen muchas herramientas que previenen y monitorean las redes en busca de ataques. Sin embargo, la mayoría de estas herramientas protegen los dispositivos contra amenazas que van desde la capa 3 (red) hasta la capa 7 (aplicación) del modelo OSI, dejando las capas inferiores al descubierto. En los últimos años se han generado gran variedad de ataques que dañan el comportamiento de los dispositivos de capa 2, provocando que la red conmutada no responda de forma apropiada y llegando en ocasiones a generar la negación de los servicios (DoS). Uno de los protocolos de capa 2 que es vulnerable a estos ataques es el Spanning-Tree Protocol (STP). Se propone una arquitectura que mejora la seguridad en las redes conmutadas. Esta arquitectura previene la Negación de Servicios con la detección oportuna de los ataques. Además se hacen algunas recomendaciones sobre el dispositivo que funciona como Root en la topología creada por el STP para mitigar varios ataques de compromiso de topología. Los escenarios en donde se prueba esta arquitectura constan de switches con enlaces redundantes, los cuales por defecto activan STP para la prevención de lazos. Con esta propuesta se logran mitigar en gran medida los ataques de usurpación de roles dentro de la topología del protocolo Spanning-Tree.. -5 -.

(6) ABSTRACT. ______________________________________________ Security is an important subject for the network administrators of any company. Actually, there are many monitoring/detection tools that prevent attacks on the networks, but unfortunately these tools only cover upper levels (3 to 7) of OSI model. Current technology has very limited capabilities at lower levels. In the past few years, the layer two devices have been damaged by several new attacks. By consequence, the switched network does not respond on the proper way and sometimes the Denial of Services is presented. One of the layer two protocols that is vulnerable is the Spanning-Tree Protocol (STP). We propose an architecture that improves the security on the switched network. This architecture prevents the Denial of Services with the opportune detection of the layer 2 attacks. We also propose some recommendations about the devices on the STP topology for mitigate these attacks, specially the topology engagement attacks. The sceneries for the simulation of attacks have redundant links between the participant switches, and the STP is active by the default behavior. We probe that topology engagement attacks are mitigated with our recommendations.. -6 -.

(7) INDICE. ________________________________________________ 1 Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 1.1 Ataques de Negación de Servicio. . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 1.2 Trabajos relacionados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 1.3 Objetivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4 Metodología. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 1.5 Resumen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..13 2 Antecedentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 2.1 Tipos de Ataques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 2.2 Denial of Service (DoS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2.1 Formas de Ataque DoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2.1.1 Consumo de Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 2.2.1.2 Alteración de información de configuración. . . . . . . . . . . . . .20 2.2.1.3 Destrucción Física / Alteración de componentes.. . . . . . . . . 20 2.3 Seguridad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..20 2.3.1 Seguridad en Redes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..21 2.3.2 Perímetro de Seguridad. . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . 22 2.3.3 Prevención . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4 Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 2.4.1 Redes no conmutadas vs Redes conmutadas. . . . . . . . . . . . . . . 23 2.4.2 Funcionamiento básico del switch . . . . . . . . . . . . . . . . . . . . . . . . .24 2.4.3 La tabla de direcciones. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . 26 2.5 ARP – Address Resolution Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.5.1 Reverse Address Resolution Protocol (RARP) . . . . . . . . . . . . . . ..28 2.5.2 Gratuitous ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.5.3 Ejemplo de utilización del ARP . . . . . . . . . . . . . . . . . . . . . . . . .. . 29 2.6 Ataques de la capa de Enlace de Datos . . . . . . . . . . . . . . . . . . . . . . . 29 2.6.1 Duplicación de dirección MAC (MAC Spoffing). . . . . .. . . . . . . . . .29 2.6.2 ARP Cache Poisoning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.6.3 CAM Table Overflow (Flooding) . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.6.4 Manipulación del Spanning-Tree Protocol (STP). . . . . . . . . . . . . .32 3 Comportamiento del protocolo Spanning-Tree (STP). . . . . . . . . . . . . . . . . . . . . ..33 3.1 Funcionamiento del STP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2 Algoritmo del STP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3 Ataques al STP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3.1 Ataques de Inundación (Flooding). . . . . . . . . . . . . . . . . . . . . . . . 38 3.3.2 Ataques de compromiso de topología . . . . . . . . . . . . . . . . . .. . . 38 3.4 Mitigación de Ataques al STP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39. -7 -.

(8) 4 Experimentación y Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 4.1 Ataques Analizados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 4.2 Escenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 4.2.1 Escenario 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..44 4.2.2 Escenario 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 4.2.3 Escenario 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54 4.2.4 Escenario 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.3 Resultados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57 4.4 Arquitectura Propuesta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..61 Bibliografía. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 Apéndice A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..67 Apéndice B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..73 Apéndice C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75. -8 -.

(9) CAPÍTULO 1. ________________________________________________ INTRODUCCIÓN. Uno de los mayores problemas que se presentan en cualquier tipo de red es el ataque de intrusos que encuentran vulnerabilidades del sistema o los enlaces y puntos de unión débiles para introducirse a las redes de las compañías. En la actualidad aproximadamente 12000 ataques de Negación de Servicio se llevan a cabo en un lapso de tres semanas [1]. Generalmente las empresas colocan sus políticas de seguridad desde la capa 3 (Red) hasta la capa 7 (Aplicación). La capa 2 no está diseñada para ser segura. La seguridad de las redes conmutadas y de los switches corresponden directamente a las redes enrutadas y a los enrutadores. La conmutación impone nuevos riesgos, mientras no tenga la capacidad de agregar ciertas restricciones de seguridad. Por ejemplo, los enrutadores pueden sustituir algunas características críticas de seguridad en los límites de la red mediante el filtrado de tráfico. Los conmutadores típicamente tienen capacidades limitadas de filtrado. Por lo tanto, en un ambiente de red que está basado en conmutación de forma predominante, cada host y dispositivo individualmente tiene que ser configurado de forma segura para proteger los límites de la LAN [2]. Así también existen protocolos de capa 2 que dejan al descubierto varios puntos críticos fáciles de atacar. Tal es el caso del protocolo Spanning-Tree (STP) que se utiliza para descubrir lazos físicos en una red y crear una topología lógica libre de lazos. Recientemente se han descubierto y publicado las vulnerabilidades del STP, las cuales pueden ser explotadas para causar inestabilidad en las redes conmutadas e incluso llegar a ocasionar ataques de Negación de Servicio (Denial of Service).. -9 -.

(10) 1.1 Ataques de Negación de Servicio (DoS). La mayoría de las personas piensa que los switches no son sensibles a los ataques de negación de servicio porque trabajan con frames de Ethernet y no necesitan el manejo de direcciones IP como los enrutadores. Pero en la actualidad muchos conmutadores tienen características de configuración de monitoreo como por ejemplo la utilización de SNMP, la capacidad de ser configurados mediante telnet o un servidor de web. Además cada vez son más utilizados los switches multicapas que requieren interactuar con otros dispositivos que manejan direcciones IP. Por lo tanto, desde este punto de vista, el switch es otro dispositivo más que puede ser blanco de un DoS. Como prueba de esto, se pueden mencionar algunas vulnerabilidades de switches populares como los de Cisco, tal como el land.c attack, o la vulnerabilidad de servicio TCP sin documentación de la serie 5000. [3], [4]. Cuando una persona sin autorización obtiene de alguna forma privilegios de administrador y modifica la configuración de un conmutador se dice que se ha llevado a cabo un Switch Hijacking. Una vez que el conmutador ha sido comprometido, el atacante puede realizar una gran variedad de acciones como apagar puertos, cambiar la contraseña de administrador, reconfigurar las VLANs, entre otras cosas. Existen varias formas de obtener acceso sin autorización, una muy común es llevar a cabo el husmeo (sniffing) de paquetes cuando el administrador está ejecutando un telnet hacia el switch [3]. Anteriormente, se creía que el husmeo en redes conmutadas (switched networks) no era posible debido a la forma de trabajar del conmutador, sin embargo existen métodos que dejan vulnerable al switch y se puede llevar a cabo la captura de paquetes. Algunos de estos métodos son ARP Spoofing, MAC Flooding, MAC Duplicating, por mencionar algunos [5]. Existe una herramienta desarrollada por Dug Song la cual no sólo captura información en red es conmutadas sino que además decodifica contraseñas de protocolos inseguros como telnet, http, snmp que son comúnmente utilizados para administrar los switches [6]. Recordemos que los conmutadores y sus protocolos nunca fueron diseñados para añadir seguridad sino para mejorar el desempeño de la red. En cuanto a protocolos de conmutadores podríamos mencionar el Spanning Tree Protocol, conocido por sus siglas STP, el cual tiene algunas características que lo hace vulnerable a ataques de Negación de Servi cio como su tiempo de convergencia lento, la carencia de autenticación en sus mensajes, los roles designados para los conmutadores no son monitoreados, entre otros [7]. Los ataques pueden ser inundaciones a la red conmutada o compromiso de la topología.. - 10 -.

(11) Los ataques de inundación (flooding) se caracterizan por ser ataques de fuerza bruta. Se envían BPDUs (Bridge Protocol Data Unit) falsos que forzan a que el algoritmo STP siga hacienda el cálculo de la topología. Este tipo de ataque consume mucho ancho de banda. Algunas versiones de este tipo de ataque son: § Inundación con mensajes de configuración con banderas modificadas. § Inundación con mensajes de configuración reclamando el rol de root. § Inundación con BPDUs que notifican el cambio de topología, entre otros. Para los ataques de compromiso de topología, una estación de trabajo maliciosa finge ser parte de la topología y se le asigna un rol activo en la formación del árbol. Este ataque puede ser llevado a cabo con una sola máquina o un conjunto de computadoras. Puede ocasionar que la topología lógica sea dividida si se introducen dos máquinas con el mismo BID que el Root [8]. En el capítulo segundo, sección 2.2, se explicará más a detalle la variedad de ataques de Negación de Servicio, así también en el capítulo 3, sección 3.3, se profundizará sobre los diferentes ataques del STP que conllevan a la generación de DoS.. 1.2 Trabajos relacionados. Una vez que se detectaron las vulnerabilidades de capa 2, se empezaron a desarrollar los ataques que explotaban dichos huecos del diseño, a su vez, también se emprendió el esfuerzo por mitigar, prevenir y detectar los ataques. Las soluciones que se proponen son agregar la autenticación como parte de los protocolos de capa 2, la detección oportuna de ataques antes de que se produzcan DoS y el encriptamiento. Por ejemplo, para el caso de los ataques de STP se está trabajando en añadir autenticación al protocolo. Algunas herramientas ya han sido liberadas por los proveedores de equipo, tal como BPDU Guard y ROOT Guard de Cisco Systems [9] y otras han sido desarrolladas en proyectos de código abierto. Sean Whalen de la UCDavis desarrollo un código de autenticación utilizando CryptoAPI v2, para añadir md5 y sha-1 a STP[10]. Se generaron pruebas y se comprobó que la autenticación bloqueaba varios de los ataques al Spanning Tree Protocol. Así también por la parte de identificación de ataques se desarrolló una herramienta llamada arpwatch [11], la cual permite detectar algunos ataques relacionados con los paquetes ARP (Address Resolution Protocol) en capa 2 y capa 3.. - 11 -.

(12) En cuanto al área de monitoreo e identificación de ataques en capa de enlace de datos, aún no se han presentado grandes avances y las pocas herramientas que han liberado los proveedores de equipo son limitadas en cuanto a monitoreo de capa 2 y su costo es elevado.. 1.3 Objetivos. Los objetivos que se desean obtener con la elaboración de la tesis son los siguientes: §. Determinar las variables/vulnerabilidades factibles a ataques en la capa 2.. §. Determinar las variables que se utilizan con mayor frecuencia entre los atacantes de capa 2.. §. Determinar el conjunto de eventos que se leen como síntoma de un ataque de capa 2.. §. Establecer parámetros que ayuden a determinar que tan dañinas son las vulnerabilidades de capa 2.. §. Encontrar los casos en los que pueden ser factibles las falsas alarmas (establecer rango adecuado).. §. Obtener el desempeño obtenido con un Sistema de Detección de Intrusos, tomando en cuenta los siguientes factores: − − − − −. Mejor ubicación para un IDS de capa 2. Rapidez para responder a los ataques. Alarmas a generar. Medidas a tomar en caso de ataque. Reconocimiento de Ataque.. 1.4 Metodología. Se tiene previsto la implementación de un sistema básico de detección de intrusos tomando como base la semántica completa del protocolo Spanning-Tree (STP) y aprovechando las bondades de la herramienta de conmutación de software abierto: Bridge Utils. Se identificarán los ataques de capa 2 partiendo del funcionamiento de estos y de la información proporcionada al husmear la red.. - 12 -.

(13) Las pruebas a realizar se llevarán a cabo con algunas estaciones de trabajo que tendrán instalado el sistema básico de detección de intrusos e interactuarán con una topología de switches los cuales serán los blancos de diversos ataques de DoS. Se propondrá una arquitectura para mitigar los ataques de capa dos, en especial los ataques que aprovechan las vulnerabilidades del protocolo SpanningTree. Esta Arquitectura se presentará de forma similar a la propuesta por Keromytis, Misra y Rubenstein [12] en su publicado “SOS: An Architecture for Mitigating DDoS Attacks” en donde se explica su arquitectura siguiendo una serie de puntos como su diseño, rango de protección, funcionamiento, redundancia entre otros apartados. Los resultados serán presentados para cada uno de los escenarios establecidos y de esta forma se proporcionarán los datos que justifican la arquitectura propuesta. Los datos arrojados serán: retardos en la detección de ataqu es, tiempo de recuperación de la red, tiempo de respuesta del sistema de detección, entre otros.. 1.5 Resumen. En el capítulo 1 se presentan los temas que se desarrollarán a lo largo de la tesis, se dan a conocer los objetivos que se pretenden alcanzar, así como la metodología a utilizar. En el capítulo 2 se estudian las diferentes formas de ataques y como afectan la red al ser ejecutados, se proponen algunas medidas preventivas, se explican las diferencias entre las redes conmutadas y las no conmutadas así como el funcionamiento básico de un conmutador (switch). El capítulo 3 nos ofrece un panorama del Spanning-Tree Protocol, nos da a conocer el comportamiento del algoritmo así como las vulnerabilidades implícitas en este protocolo de capa 2. En el capítulo 4 se muestran y explican los escenarios de los experimentos realizados para llegar finalmente a los resultados presentados en el capítulo 5.. - 13 -.

(14) CAPÍTULO 2. ______________________________________________ ANTECEDENTES. En este capítulo se introducen los diferentes temas relacionados con el desarrollo de la tesis, tales como: Formas de ataque a un Sistema, Seguridad en Redes, el proceso de conmutación, la diferencia entre las arquitecturas de una red conmutada y una no conmutada. Se dan a conocer los tipos de ataques comúnmente utilizados por los hackers así como las vulnerabilidades que una red puede presentar. Se sabrá sobre la clasificación de la red basada en el tipo de interacción que se maneja con el sistema. Se comenta sobre la implementación de políticas de seguridad sólidas y se conocerán herramientas que ayudan a proteger la información confidencial de una red. Se entenderá el funcionamiento básico de la capa de Enlace de Datos y como se lleva a cabo la conmutación de frames. Se aprenderá acerca de la forma de trabajar del switch, el sistema de almacenamiento de las direcciones MAC, el uso de ARP y algunas vulnerabilidades adheridas a su funcionamiento. También se explicarán las formas en que pueden ser explot adas dichas vulnerabilidades y como algunas pueden ser prevenidas. En el capítulo tres se analizarán algunos esquemas propuestos con anterioridad para añadir seguridad a la capa de Enlace de Datos, se hará enfoque especial al protocolo Spanning-Tree. Se comentará sobre los sistemas de detección de intrusos como forma de mitigación de los ataques y como se llevará a cabo esto. Se propondrá un esquema de defensa para los ataques existentes y futuros ataques que puedan surgir.. - 14 -.

(15) 2.1 Tipos de Ataques. En la actualidad el uso de las computadoras abarca áreas desde la investigación hasta las comunicaciones y las compras en línea. Se realizan transacciones con cuentas bancarias, se manejan grandes cantidades de información y la confidencialidad en el manejo de estos datos es uno de los factores más importantes para los usuarios. Existen intrusos que buscan obtener el control de sistemas y poder acceder a información de vital importancia para empresas o bien, personas que simplemente por diversión o curiosidad intentan boicotear los servicios de los usuarios. Estos individuos son conocidos como hackers, atacantes o crackers y aprovechan cualquier vulnerabilidad del sistema para llevar a cabo su cometido. Generalmente los ataques se llevan a cabo modificando o creando un flujo de información de un host fuente a un destino. Tomando esto en cuenta se puede hablar de cuatro categorías principales de ataques [13]: § § § §. Interrupción. Ataca la disponibilidad de los servicios de la red. Intercepción. Ataca la confidencialidad de la información. Modificación. Ataca la integridad de los datos. Fabricación. Ataca la autenticidad de los archivos del sistema.. Existen varias formas de lograr estos ataques. A continuación se listan las más comunes. Ingeniería Social. El atacante utiliza la psicología para acceder a una computadora o datos importantes del sistema, puede ser un correo electrónico, una simple conversación o una llamada telefónica. Puede ser realizado por una persona conocida o algún individuo que simula ser de la misma compañía. Es una amenaza difícil de detener pues utiliza el factor humano y no puede ser detectado por software o hardware. Otra forma de ingeniería social se puede basar en programas u archivos troyanos, los cuales persuaden al usuario de ejecutar alguna aplicación para obtener un beneficio, pero al realizar tal ejecución el resultado puede ser una computadora infectada con virus, el acceso a contraseñas e información importante del sistema, incluso el comienzo de un ataque de Negación de Servicio Distribuido.. - 15 -.

(16) Por ejemplo, un atacante puede escribir un programa que simule el proceso normal de autenticación. Un usuario ve el prompt “login:” para autenticarse y probablemente no se de cuenta que es un troyano. De esta forma el atacante se podrá autenticar y obtendrá control sobre los privilegios que tiene este usuario en el sistema. Para solucionar este tipo de ataques se tiene que capacitar a los empleados sobre el cuidado al proporcionar passwords e información de relevancia [14]. Programas remotos. En muchas ocasiones los administradores monitorean la red a través de estaciones remotas. Si algún individuo conoce la forma de trabajar de estos programas y es capaz de imitar su funcionamiento podría tener acceso a la información que es monitoreada. A su vez, se han descubierto varios programas que tienen vulnerabilidades y es conveniente que los administradores de la red sean realmente cuidadosos con el software que deciden utilizar para esta tarea. En ocasiones, los programadores dejan puntos de entrada en un programa para permitir pruebas o monitoreo de este. Estas puertas de acceso deben ser retiradas cuando el software se libera para no violar medidas de seguridad [14]. Archivos compartidos. El compartir archivos nos ofrece una opción rápida y sencilla para transmitir información de una estación a otra. Desgraciadamente es una entrada fácil para generar un ataque. Una computadora que fue tomada por un hacker puede crear problemas no sólo a ella misma sino a toda la red a la que pertenece, si la computadora está conectada a Internet puede causar daño a un gran número de hosts. Incluso existen virus que se propagan gracias a la propiedad de compartir. Scripts y Código móvil. Algunos scripts pueden ser añadidos a sitios web como una forma de registro o una búsqueda en una base de datos. Cuando el sitio web responde, el script dañino se transfiere al navegador del usuario, es decir, a su computadora. Hay varias formas de tener contacto con scripts dañinos, entre ellas se pueden mencionar: las comunidades en internet, mensajes de correo electrónico, páginas de web, formas interactivas, grupos de discusión, foros y otras páginas generadas dinámicamente [15]. También existen lenguajes de programación que son ejecutados en los navegadores de los usuarios, algunos ejemplos son lenguajes como Java, ActiveX y JavaScript. Esto es lo que se llama código móvil. Este tipo de código también puede ser utilizado por los intrusos para obtener información o ejecutar código dañino en alguna computadora.. - 16 -.

(17) Extensiones de archivos ocultas. Existen virus propagados por correo electrónico que aprovechan la característica de los archivos de extensiones ocultas. Los sistemas operativos Windows tienen la opción de ocultar las extensiones de archivos ya conocidas. Por ejemplo, el archivo AnnaKournikova.jpg.vbs puede ser fácilmente encubierto ya que se podría pensar que es un archivo de imagen sin embargo es la muestra real de un virus. Estos tipos de virus aparecen como archivos que normalmente son utilizados, tales como MPEG (.mpg), de música (.mp3), de texto (.txt), AVI (.avi), etc. Pero realmente son archivos dañinos que tienen extensiones de archivos ejecutables o scritps (.exe, .vbs, .bat) Chats y correo electrónico. Como se ha mencionado anteriormente a través del uso del correo electrónico se ejecutan diferentes tipos de ataques. La mayoría de estos es mediante los archivos adjuntos al correo. Como ejemplo se puede mencionar el virus “Melissa”, el cual es originado con una dirección de correo familiar al usuario, debido a esto, es muy fácil pensar que el archivo que se accede es confiable. Las aplicaciones de Chat a través de Internet también son un fuerte punto de ataque; proveen mecanismos para transmitir y recibir información entre dos o más computadoras. Existen muchos clientes que permiten el intercambio de archivos ejecutables y son un blanco sencillo para los atacantes. De igual forma existen virus que se propagan a través de mensajeros instantáneos, obtienen la lista de contactos del usuario que ataca en ese momento y se vuelve a propagar a través de ellos siguiendo el mismo procedimiento. De esta forma una gran cantidad de computadoras pueden llegar a ser dañadas si se ejecuta el archivo. Husmeo de paquetes (Packet Sniffing). Existen programas a través de los cuales se pueden capturar los paquetes que viajan en una red o segmento de la red, estos programas son llamados sniffers. Generalmente son utilizados por los administradores para observar el comportamiento del tráfico en su red pero también pueden ser utilizados con motivos no muy fiables. Los paquetes monitoreados a través de los sniffers pueden contener datos tan importantes como nombres de usuarios, contraseñas, información de los usuarios, etc. Desgraciadamente muchos de los datos que transitan por la red no están cifrados y pueden ser leídos fácilmente. Por ejemplo, si se instala un sniffer en un segmento determinado de la red, la máquina con el sniffer podrá capturar cualquier paquete transmitido por los vecinos de ese segmento [16]. Más adelante, se marcarán las diferencias entre el husmeo de paquetes en redes conmutadas y el husmeo en redes no conmutadas.. - 17 -.

(18) A continuación se profundizará en uno de los ataques más temidos por los administradores de red: los ataques de Negación de Servicio. En este tipo de ataques no necesariamente todos los hosts serán víctimas, sino que algunos serán utilizados como “trampolín” para llegar al verdadero destino, es decir, serán participantes de la ejecución la Negación de Servicio. A esta variante del ataque se le conoce como DDoS (Distributed Denial of Service).. 2.2 Denial of Service (DoS). Los ataques “Denial of Service” van dirigidos a diferentes tipos de víctimas, ya sea que se niegue el servicio a un host específico, ruteadores, equipos de comunicación o redes enteras. En los últimos años se ha observado que este tipo de ataques utilizan métodos más sofisticados y eficientes así como también es difícil descubrir de donde son generados. Algunos ataques DoS son ejecutados con recursos limitados a través de una red que cuenta con software y hardware más sofisticado. Esto se conoce como ataque asimétrico. Existen varias clasificaciones de los ataques DoS, una de ellas divide los ataques de acuerdo a las herramientas que se utilizan [17]: § Ataques de Primer nivel, se refiere a los ataques simples, los cuales, únicamente aprovechan los errores o puntos débiles del diseño de la red y/o su sistema operativo, por ejemplo: el “ping of death”. § Ataques de protocolo o almacenaje, sistema, por. Segundo nivel hace referencia a herramientas de algún implementación de sistema que limitan la capacidad de introducen retardos, limitan la accesibilidad o saturan el ejemplo: el “ARP cache poisoning attack”.. § El tercer nivel de ataque es el más dañino, el agresor utiliza características específicas del protocolo de comunicación para ejecutar su ataque haciendo que parezca normal el funcionamiento de la red.. 2.2.1 Formas de Ataques DoS. Los ataques de Negación de Servicio se pueden llevar a cabo a través de diversas técnicas y pueden incluir una variedad de Servicios. Algunas formas de ataque se presentan a continuación.. 2.2.1.1 Consumo de Recursos. Al hablar de recursos se hace referencia a memoria, ancho de banda, espacio en disco, tiempo de CPU, acceso a computadoras y redes, estructuras de datos, etc. [18]. - 18 -.

(19) Conectividad a la red. El objetivo de los ataques DoS que se basan en la conexión de red es, como su nombre lo indica, dejar a las víctimas (hosts, switches, routers, servers, segmentos de red) sin tener forma alguna de accesar a la red. Una forma de lograr este ataque es empezar el proceso para establecer conexión a la máquina de la víctima pero nunca completarlo. La máquina (estación de trabajo, enrutador, switch, etc) empieza a reservar un número de estructuras de datos requeridas para completar la conexión y no puede seguir atendiendo peticiones de clientes verdaderos. En este caso lo que sucede es que el intruso consume las estructuras de datos del kernel que están involucradas en el proceso de establecimiento de conexión. Uso de los recursos del usuario para su ataque. En este caso el hacker puede utilizar algún servicio que este solicitando el usuario para llevar a cabo su cometido. Por ejemplo, en algún host que realice peticiones a un servidor, el atacante puede lograr intervenir los mensajes de ambos para que el host sature de peticiones al servidor y el servidor sólo pueda responderle a este. Por lo tanto todo el ancho de banda disponible entre estos dos equipos estaría únicamente dedicado a esta tarea. Obviamente, las máquinas pertenecientes a este segmento de red también se verán afectadas [17]. Consumo de Ancho de Banda. Hay diversas formas de consumir el ancho de banda de una red. La forma más común es generando una cantidad considerable de paquetes que transiten a través de los enlaces de la red. Estos paquetes falsos no tienen dirección fuente y cuando se requiera hacer el proceso de “handshake” que se realiza en las conexiones orientadas a conexión no podrá encontrar la ruta de regreso y se hará una inundación de paquetes que consumirán todo el ancho de banda disponible [18]. Consumo de otros recursos del sistema. Existen muchos otros recursos que pueden ser utilizados por un atacante para llevar a cabo la Negación de Servicio. Por ejemplo, un intruso puede correr un script o programa que cree copias del él mismo indefinidamente. Haciendo esto, puede consumir ciertas estructuras de datos del sistema, por ejempl o crear una tabla de procesos muy grande, ocupar el espacio requerido por otros procesos, etc. Algunos sistemas operativos cuentan ya con facilidades de cuotas que protegen contra este tipo de ataques.. - 19 -.

(20) Para consumir el espacio en disco duro también se pueden utilizar otras técnicas como la generación masiva de mensajes de correo electrónico, generación de errores falsos que tienen que ser almacenados en el archivo de eventos, almacenamiento de archivos a través de un ftp anónimo, etc [18],[19]. Algunas medidas para contrarrestar este tipo de ataques se refieren a implementar esquemas de identificación más rigurosos, por ejemplo limitar el número de veces que un usuario se puede autenticar con su contraseña; si falla “n” veces entonces el sistema lo bloquea por cierto tiempo. Se tiene que poner especial interés en las cuentas de root y administrador ya que si un intruso accede el sistema con alguna de ellas puede tomar control total. De igual forma se pueden establecer contraseñas para realizar determinadas operaciones sobre los archivos y directorios. Otro recurso que puede ser afectado por un ataque de Negación de Servicio son las conexiones de red, las cuales pueden ser rotas enviando datos que no se esperan en la red. Así también se pueden bloquear impresoras, dispositivos de almacenamiento [18],[19],[20].. 2.2.1.2 Alteración de información de configuración. Si un intruso tiene acceso a la información de configuración del sistema puede ocasionar un verdadero desastre, incluso borrar completamente esta configuración paralizando por completo una red. El atacante puede hacer uso dañino de la información encontrada en un enrutador o un switch, por ejemplo modificando las tablas de ruteo, deshabilitando algún protocolo de enrutamiento necesario para interconectar los diferentes segmentos de la red, modificar los puertos pertenecientes a una VLAN, deshabilitar enlaces troncales, etc. Así mismo, si un hacker manipula la información de configuración de un servidor podría ocasionar que todos los usuarios estuvieran bloqueados sin poder autenticarse y hacer uso de los recursos correspondientes de la red.. 2.2.1.3 Destrucción física / Alteración de componentes de la red. Es de vital importancia que la instalación de los dispositivos de red y servidores se haga en un lugar completamente seguro. Si un intruso tiene acceso físicamente a estos dispositivos es muy fácil causar el daño incluso con algo tan sencillo como desconectar su fuente de poder o un cable de red. Por tal motivo la seguridad física es uno de los principales componentes para lograr los ataques de Negación de Servicio.. 2.3 Seguridad. En Seguridad se puede hablar de dos áreas principales. La primera se refiere a Seguridad de Datos, la cual abarca las siguientes características:. - 20 -.

(21) Confidencialidad. La información sólo debe estar disponible para las personas que la accedan de la forma correcta. Integridad. La información sólo debe ser modificada por personas autorizadas para hacerlo. Disponibilidad. La información debe ser accesible para quien lo necesite cuando lo necesite. La segunda es en cuanto a Control de Acceso, que se enfoca a proteger los recursos de la red, como hosts, switches, servidores, ruteadores y dispositivos de comunicación, de accesos sin autorización [21]. Si hablamos de Seguridad de Datos podemos encontrar varias herramientas como la criptografía, certificados digitales, Firmas digitales, Kerberos, Transaciones Electrónicas Seguras (SET), llaves de sesión públicas y privadas, entre otros. En cuanto a Control de Acceso, existen herramientas que ayudan a mejorar la seguridad tales como: Firewalls, Listas de Control de Acceso, Dispositivos de protección de puertos, Autenticación basado en Host, Redes privadas virtuales, por mencionar algunos.. 2.3.1 Seguridad en redes. “Para proteger el buen funcionamiento de la red, se tiene que hacer énfasis en mantener la integridad de la red física, el software y los recursos de la red. Esta integridad envuelve la identificación comprobable de computadoras y usuarios, la correcta operación de los servicios que la red provee y el desempeño óptimo de la red, todos estos factores son importantes para mantener un ambiente de red productivo” [16]. Hay que recordar que el administrador de la red tiene un registro de cada usuario en su dominio. El registro del usuario contiene nombre, ip, identificador del usuario, detalles de la cuenta, autorización de accesos a servicios y otra información con la cual el administrador toma decisiones en respuesta a las peticiones de servicios del usuario. Toda esta información obviamente debe ser privada y protegida.. 2.3.2 Perímetro de Seguridad. Una política de seguridad está definida por una serie de procedimientos que se encargan de la protección de la red de una organización. Una solución de seguridad es el firewall, por ejemplo, el cual monitorea la red y restringe el acceso de acuerdo a las políticas de seguridad establecidas. El firewall establece donde termina la red privada y empieza la red pública [16].. - 21 -.

(22) Para establecer el perímetro de seguridad se deben definir las redes a ser protegidas y los mecanismos correspondientes para lograrlo. Generalmente el firewall es la puerta de enlace para todos los enlaces entres las redes confiables y las no confiables y desconocidas. § Redes Confiables. Se encuentran dentro del perímetro de seguridad de la red del sistema. Es decir, son las redes que se tratan de proteger de ataques. Ya se tienen políticas de seguridad establecidas (firewall) para estas redes y los dispositivos saben como tratar los paquetes que llegan o salen de esta red. § Redes No Confiables. Son redes conocidas que se encuentran fuera del perímetro de seguridad. Estas redes están fuera del control del administrador, son privadas y son redes con las que se comunica nuestra red, pero a su vez, se trata de proteger. Generalmente el firewall aceptará peticiones de estas redes pues ya han sido identificadas de alguna forma. § Redes desconocidas. No son ni confiables ni desconfiables. No se le puede espec ificar al firewall que tipo de red es. Son redes que se encuentran fuera del perímetro de seguridad. Las políticas que se aplican a estas redes son las de un nodo de Internet.. 2.3.3 Prevención. A continuación se presentan algunas medidas preventivas para evitar ataques, en especial de Negación de Servicio [14],[16],[22]: § § § § § § § § §. Implementar listas de control de acceso en los enrutadores. Instalar sólo el software que necesita el sistema. Instalar parches al sistema que ayuden a evitar ataques comunes. Deshabilitar servicios de red innecesarios o que no se utilizan. Establecer medidas de seguridad que autentiquen al usuario de forma única: tarjetas electrónicas, biométricas, etc. Si es posible, establecer sistemas de cuotas en el sistema operativo para evitar el consumo ilimitado de disco duro. Observar el rendimiento del sistema (uso de CPU, disco duro y tráfico en la red) y establecer los rangos para considerar una actividad ordinaria. Tener presente siempre la seguridad física y examinarla. Usar herramientas para detectar cambios o anomalías en la configuración, así como la detección de intrusos.. Más información sobre prevención de ataques: http://www.cert.org/. - 22 -.

(23) § § § §. Invertir y mantener máquinas/dispositivos de respaldo, lo(a)s cuales podrán ser utilizadas en caso de la máquina original o dispositivo sea deshabilitado(a). Invertir en configuraciones de red redundantes y tolerantes a fallas. Establecer y mantener políticas y calendarios de respaldo para información de configuración importante. Establecer y mantener políticas de contraseñas.. 2.4 Switches. Los switches son dispositivos de capa 2 utilizados para incrementar el ancho de banda disponible y reducir la congestión de la red. En la actualidad las redes típicamente son construidas con switches y enrutadores o dispositivos que realizan las funciones de los dos.. 2.4.1. Redes no conmutadas vs Redes conmutadas.. Entre tantas herramientas para proteger y penetrar el sistema de red, existe una que se utiliza con mayor frecuencia: el husmeo de tráfico en la red (sniffing). Este husmeo consiste en interceptar frames de la red y ver su contenido. Anteriormente, se creía que el husmeo en redes conmutadas (switched networks) no era posible debido a la forma de trabajar del conmutador. A continuación se explicarán las diferencias principales entre estos dos tipos de redes. Redes no conmutadas. En este tipo de redes se maneja el concepto de segmento de red. Un segmento es una arquitectura de red que se encuentra detrás de un enrutador, puente (bridge), concentrador (hub) o conmutador (switch). Cada nodo se relaciona de forma directa por cada uno de los otros nodos, los frames son manejados con broadcast. Es decir, cuando un nodo transmite un frame, este es visto por cada nodo en el segmento. Cada nodo en turno, deberá examinar el frame para ver si va dirigido a él; si este no es el destinatario entonces el frame es descartado. Si un host quiere utilizar un agente de husmeo, su tarjeta de red tiene que ser configurada en modo “promiscuo”. Después de establecer este modo, la interfaz de red no desechará los paquetes que no le corresponden y podrá leer el contenido de la información perteneciente a otros usuarios. Algunas de las herramientas públicas que existen para llevar a cabo el husmeo son linsniffer, sniffit, snmpsniff por mencionar algunas [5].. - 23 -.

(24) Redes conmutadas. En este tipo de redes se sigue manejando el concepto de segmento de red, con la diferencia de que ahora este segmento sólo incluye el nodo y el switch. Los frames de datos son manejados de forma directa. Es decir, los frames que van desde un origen hacia un destino son mandados mediante circuitos establecidos por el conmutador y ningún otro host tiene porque recibir un paquete que no va dirigido a él. Se podría decir que son conexiones privadas entre dos usuarios. Aún así, los hosts pertenecientes a este tipo de red siguen examinando que la dirección destino sea la correspondiente con la de ellos aunque el switch esté garantizando que son los hosts destinatarios. Esto procesamiento innecesario del host es necesario porque los usuarios pueden migrar de una red conmutada a una no conmutada. Entre las ventajas de esta red se puede mencionar que el tráfico generado es menor debido a que no se utiliza el broadcasting, por lo tanto se tiene mayor ancho de banda y el dominio de colisiones se reduce. Otro beneficio de este tipo de red es que los hosts ya no procesan tanta información pues sólo corroboran los frames que son destinados a ellos. La desventaja podría ser el procesamiento del switch [5]. La única desventaja del switch contra el hub podría ser la cantidad de procesamiento que se lleva en el dispositivo ya que el switch implementa algunos sistemas para llevar a cabo la conmutación de frames. Hablando en términos del sniffing, se puede observar que una red conmutada no es tan fácil llevar a cabo esto. Aunque, es importante dejar en claro que los switches fueron inventados con el fin de mejorar el rendimiento y velocidad de la red, no fueron diseñados para añadir seguridad. De hecho, se han encontrado muchas vulnerabilidades que ya han sido explotadas en estos últimos años. La forma de llevar a cabo el sniffing en redes conmutadas es generando ataques como: ARP Spoofing (MAC Duplicating), MAC Flooding o CAM Table Overflow para que el conmutador se comporte de forma similar a un hub.. 2.4.2. Funcionamiento básico del Switch.. Hasta hace poco las redes Ethernet se construían con repetidores. Cuando se empezaron a añadir muchos dispositivos a la red, el rendimiento de estas disminuyó y la solución fue añadir puentes (bridges) para crear diferentes dominios de colisión. Las redes siguieron creciendo en tamaño y complejidad y los puentes evolucionaron a conmutadores (switches) modernos permitiendo la microsegmentación de la red y la división del dominio de broadcast. La arquitectura más común de una LAN (Local Area Network) es Ethernet. Todos los nodos (computadoras, impresoras, servidores, etc.) que comparten el medio transmiten y reciben frames de datos mediante broadcast.. - 24 -.

(25) El rendimiento de una LAN Ethernet de medio compartido puede verse afectado por varios factores como: los mensajes broadcast, CSMA/CD, que sólo permite que una estación transmita a la vez, congestión creada por aplicaciones que demanden mucho ancho de banda, latencia de los frames al atravesar dispositivos de capa 1, 2 y 3, el uso de repetidores, entre otros [23]. El formato de un frame de Ethernet se puede observar en la siguiente figura:. Figura 2.1. Formato de un frame de Ethernet.. Por definición, conmutación (switching) es el proceso de recibir un frame de entrada en una interfaz y dirigirlo hacia otra. Los enrutadores utilizan la conmutación en capa 3 y los switches en capa 2. La diferencia entre conmutación de capa 2 y capa 3 es el tipo de información, la conmutación en capa 2 se basa en la información de dirección MAC y la conmutación en capa 3 se basa en direcciones IP. La conmutación en capa 2 verifica la dirección MAC en el encabezado del frame y lo reenvía a la interfaz o puerto apropiado basado en la tabla de conmutación (switching table). Esta tabla es almacenada en la memoria de direccionamiento de contenido (CAM – Content Addressable Memory). Si el switch no sabe a donde redireccionar el frame, enviará un mensaje de broadcast a todos los puertos. Cuando este mensaje le sea contestado, el switch grabará esta nueva dirección en la CAM [23]. Un switch Ethernet puede utilizar una técnica de buffers que almacene y reenvíe frames. Esta técnica puede ser utilizada cuando el puerto destino este ocupado. El área de memoria donde el switch almacena los datos es llamada buffer de memoria, la cual puede ser utilizada como buffer de memoria basada en puertos o buffer de memoria compartida. En la memoria basada en puertos, los frames son almacenados en filas/pilas que son relacionadas con los puertos específicos. Un frame es transmitido al puerto de salida sólo cuando todos los frames en la fila ya han sido transmitidos. En los buffers de memoria compartida todos los frames comparten el mismo buffer en el switch y la cantidad de memoria es asignada de forma dinámica [24].. - 25 -.

(26) El switch guarda un mapa de enlaces frame-puerto para cuando el paquete necesite ser tranmitido. El enlace es borrado cuando el frame es transmitido con éxito. En memoria compartida, el número de frames almacenado en el buffer es restringido por el tamaño del buffer de memoria y no es limitado a un sólo puerto. Esto permite que frames de mayor tamaño sean transmitidos sin descartar tantos frames.. 2.4.3 La Tabla de Direcciones. Los conmutadores sólo reenvían frames, los cuales necesitan viajar de un segmento de LAN a otro, para realizar esto tienen que aprender que dispositivos se encuentran en el segmento de LAN. El switch es considerado un dispositivo inteligente porque toma sus decisiones basado en las direcciones MAC. Para esto, el conmutador tiene que hacer referencia a la tabla de direcciones. Cuando un switch es encendido, se transmiten mensajes broadcast a todas las estaciones del segmento local. Cuando las estaciones regresan el mensaje de broadcast, el switch construye una tabla de direcciones locales, el switch “aprende”. Los conmutadores aprenden de las siguientes formas: § Leyendo la dirección MAC fuente de cada frame. § Grabando el puerto en el cual la dirección MAC fue recibida. De esta forma, el conmutador (o puente) aprende pertenecen a los dispositivos conectados a cada puerto [23].. cuales direcciones. Las direcciones aprendidas y asociadas a cada puerto o interfaz son almacenadas en la tabla de direcciones. El switch examina la dirección de destino de todos los frames recibidos, entonces busca en la tabla de direcciones cual es la dirección destino. CAM es utilizada por el switch para tomar y procesar la información de la dirección de los paquetes de llegada y para comparar la dirección destino con la tabla de direcciones almacenada en ella.. 2.5 ARP – Address Resolution Protocol. La dirección de Ethernet es la dirección correspondiente a la capa de enlace de datos y depende de la tarjeta de la interfaz que se esté utilizando. El protocolo IP opera en la capa de red y no se preocupa sobre la dirección de hardware que los nodos utilizan individualmente. El protocolo de resolución de dirección (ARP) es utilizado para hacer la traducción entre estos dos tipos de dirección. Los procesos de clientes y servidores de ARP se realizan en computadoras que utilizan IP sobre Ethernet. Los procesos son normalmente implementados como parte del software del manejador (driver) de la tarjeta de interfaz de red [25].. - 26 -.

(27) ARP es un protocolo de capa 3 requerido para permitir que una estación de trabajo obtenga información suficiente para formar frames de capa 2 con direcciones MAC fuente y destino. Cada dispositivo de red mantiene una tabla con direcciones IP y sus correspondientes direcciones MAC, esta tabla es llamada ARP Cache. Si no se encuentra una dirección de Hardware en el ARP Cache entonces se manda un ARP broadcast al medio de transmisión (cableado). Este mensaje de broadcast es leído por cada estación incluyendo la estación destino. Entonces la estación destino envía un ARP reply con su dirección de hardware [25], [26]. A pesar de que ARP es un protocolo de capa 3, este no utiliza un encabezado IP sino que tiene su propio formato de paquete y ejecuta un broadcast en la red local con el dato de frame de capa 2 sin necesidad de ser enrutado. El formato del paquete se muestra a continuación:. Figura 2.2. Formato de un paquete ARP.. El campo de “Tipo” en el frame de ethernet toma el valor de 0x0806 para indicar que es un paquete de ARP. Los campos que conforman el paquete de ARP se explican a continuación: § § § § § § § § §. Tipo de Hardware – adquiere valor de 1 si se trata de Ethernet. Tipo de protocolo – es el protocolo utilizado en la capa de red. Longitud de la dirección de HW – longitud en bytes, adquiere el valor de 6 para ethernet. Longitud de la dirección del Protocolo – para TCP/IP el valor de este campo es de 4 bytes. Código de operación – este código indica cuando el paquete es un ARP Request (1) o es un ARP Response (2). Dirección de HW del remitente – dirección del nodo fuente. Dirección de protocolo (IP) del remitente – se refiere a la dirección de capa 3 del nodo fuente. Dirección de HW del objetivo – usada en un RARP request, la respuesta lleva las dos direcciones del destino (hardware y capa 3). Dirección de protocolo (IP) del objetivo – usada en un RARP request, la respuesta lleva las dos direcciones del destino (hardware y capa 3).. Existen cuatro tipos de mensajes de arp que pueden ser utilizados por este protocolo. Estos mensajes se identifican mediante cuatro diferentes valores en el campo de “operación” de un paquete ARP. Los tipos de mensaje son: ARP request, ARP reply, RARP request y RARP reply [26].. - 27 -.

(28) Figura 2.3. Formato de paquetes ARP Request y ARP Reply.. 2.5.1 Reverse Address Resolution Protocol (RARP). Este protocolo existe para el caso contrario del explicado con anterioridad. Si una estación no conoce su IP Address debe mandar un RARP Request a un servidor RARP el cual tiene una tabla de direcciones de hardware y direcciones IP. El RARP usa el mismo formato de paquete que un ARP y usa el campo “tipo”=0x8035 para indicar que es un RARP. El código de operación toma valor de 3 para un RARP Request 4 para un RARP Response [27].. 2.5.2 Gratuitous ARP. La mayoría de los hosts en una red enviará este tipo de paquete cuando estén inicializando su pila IP. El Gratuitous ARP es un ARP request de su propia dirección IP y es usado para verificar si una dirección IP está duplicada. Si la dirección IP está duplicada entonces la pila no completará su inicialización [26].. - 28 -.

(29) 2.5.3 Ejemplo de la utilización del ARP. El protocolo ARP es utilizado cuando una estación de trabajo ejecuta un “ping” para contactar por primera vez a una computadora remota. En la figura 4 se ilustra el esquema para la resolución de las direcciones MAC para este caso.. Figura 2.4. Formato de paquetes ARP Request y ARP Reply.. 2.6 Ataques de la capa de Enlace de Datos. En este apartado se detallan los esquemas que se siguen para llevar a cabo gran parte de los ataques en la capa de enlace de datos.. 2.6.1 Duplicación de dirección MAC (MAC Spoofing). Este tipo de ataque involucra el uso de una dirección MAC conocida de un host para forzar a que el switch envíe frames al atacante en lugar de al host remoto. Enviando un solo frame con la dirección de ethernet del host fuente, el atacante modifica la tabla CAM del conmutador y los frames son dirigidos hacia él (se roba el puerto). El host original quedará aislado a menos que vuelva a enviar tráfico y la tabla CAM sea reescrita y se actualice con el puerto original [5].. - 29 -.

(30) Por ejemplo, el host “A” y el host “B” pueden pertenecer oficialmente al segmento de red y entre ellos transmiten información importante. Llega el atacante “C” que conoce la dirección de B y se hace pasar por él. En el momento que el switch actualiza su tabla CAM, B queda desconectado virtualmente y C recibe la información que está transmitiendo A. Si, por ejemplo, B fuera un servidor de correo este podría ser un ataque de Nçegación de Servicio ya que las peticiones no llegarían a B sino a C. Y si B no tiene que mandar ningún frame de actualización, el servicio de correo puede quedar “desconectado” por un tiempo considerable [28]. Existen varias herramientas de software libre o de prueba tales como: CC Get MAC Address y SMAC que ayudan a descubrir las direcciones ethernet un una LAN. Así también en una máquina con Linux es muy fácil cambiar la dirección MAC con algunas indicaciones del comando ifconfig. En algunas distribuciones de Linux, se tiene que ubicar el archivo etc/sysconfig/network-scripts/ifcfg-eth0 y añadir la línea MACADDR=”xx:xx:xx:xx:xx:xx”. Otra forma de hacerlo es con el comando “ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx ”.. 2.6.2 ARP Cache Poisoning. Este ataque se considera generalmente un ataque a nivel de capa 3. Por lo tanto no se profundizará en este. De forma general, este tipo de ataque engaña a las máquinas participantes para que en su tabla de ARP Cache guarden los datos del atacante como si fuera el host vecino. El host A y el host B pensarán que la transmisión entre ellos es transparente, sin embargo C recibe el tráfico transmitido entre los dos hosts participantes y lo reenvía. Así, la información se compromete y queda en manos del atacante [29]. Para generar este ataque existen varias herramientas de software libre tales como: Arp -sk, Winarpwatch, Arpoison. Ettercap, Parasite, entre otros.. 2.6.3 CAM Table Overflow (Flooding). Recordemos que la tabla CAM (Content Addressable Memory) de un switch contiene información como la dirección MAC dada por un puerto físico de un conmutador así como parámetros de la VLAN asociada, etc. Cuando un switch de capa 2 recibe un frame, este busca en su tabla CAM por la MAC destino. Si existe una entrada en la tabla para la dirección MAC destino, entonces el switch reenvía el frame al puerto designado según esta dirección. Si la MAC no existe en la tabla, el switch reenvía un frame a cada uno de los puertos actuando como un hub. Si existe una respuesta para esa dirección MAC, el switch actualiza su tabla CAM [28].. - 30 -.

(31) Figura 2.5. Forma de llenado de la tabla CAM.. Las tablas CAM están limitadas en tamaño. Si se introducen suficientes entradas en la tabla antes de las entradas actuales expiren, entonces la tabla CAM llegará al punto en que no aceptará más nuevas entradas. Típicamente un intruso inundará el switch con un gran número de direcciones MAC inválidas hasta que la tabla CAM se llene por completo. Cuando esto ocurre, el conmutador inunda todos los puertos con tráfico ya que no puede encontrar el número de puerto de una dirección MAC particular en la tabla CAM. En este momento el switch actúa como un hub. Si el intruso no mantiene la inundación de direcciones MAC inválidas entonces el switch en algún momento desechará las MACs anteriores, empezará a construir nuevamente la tabla CAM real y funcionará nuevamente como switch. Este tipo de ataque únicamente inunda tráfico dentro de la misma VLAN donde el intruso esté conectado. En mayo de 1999 se creó la herramienta macof [30], la cual fue escrita aproximadamente en 100 líneas de PERL y posteriormente se tradujo a lenguaje C para incorporarlo al paquete dsniff de Dug Song [6]. Esta herramienta realiza una inundación de direcciones MAC e IPs fuente generados de forma aleatoria. Cuando la tabla CAM se llena con esas direcciones el switch empieza a reenviar todos los frames recibidos a cada puerto como se explicó anteriormente. Proveedores de switches como Cisco han implementado en algunos de sus sistemas operativos herramientas como “port security”, la cual limita el número de direcciones MAC que pueden ser aprendidas por un puerto del switch o bloquear el puerto si alguna dirección MAC inválida es detectada. Aún no existe una herramienta de detección de intrusos que tenga una característica similar [28].. - 31 -.

(32) 2.6.4 Manipulación del protocolo Spanning-Tree (STP). Existen diversos ataques que consisten en la manipulación del protocolo de capa dos, el STP. Este protocolo previene que se formen lazos en topologías con switches. El atacante puede ejecutar estos ataques interceptando la información que se transmite entre los conmutadores a través de los BPDUs (Bridge Protocol Data Units), puede participar activamente en la topología cambiando los valores de los diversos contadores y puede inundar la red con BPDUs falsos. Todo esto causa inestabilidad en la red o puede incluso ocasionar que conmutadores queden fuera de la topología y de esta forma los equipos conectados a ese conmutador ya no tengan acceso a la red. Es decir, pueden causar ataques de Negación de Servicio. El funcionamiento del protocolo Spanning-Tree y los ataques a este se explicarán con más detalle en el capítulo tres.. - 32 -.

(33) CAPÍTULO 3. __________________________________________ COMPORTAMIENTO DEL. PROTOCOLO SPANNING-TREE (STP ).. El Spanning Tree (STP) en un protocolo de la capa de Enlace de Datos que utiliza un algoritmo de propósito específico para descubrir lazos físicos en una red y crear una topología lógica libre de lazos. La estructura lógica que crea este protocolo parte y se extiende en toda la capa 2 del modelo OSI. Desafortunadamente este protocolo tiene algunas vulnerabilidades que habían pasado de forma desapercibida hasta hace poco. Los rusos Oleg Artemjev y Vladislav Myasnyankin publicaron en Mayo del 2002 los posibles ataques que pueden ser llevados a cabo para causar inestabilidad en el comportamiento del algoritmo y por lo tanto inestabilidad en la red conmutada en donde se está ejecutando. Así también en Mayo del 2003, Guillermo Marro de la Universidad UCDavis en California publicó el primer trabajo de investigación sobre los ataques a este protocolo y su modificación RSTP (Rapid STP). Marro generó una herramienta para llevar a cabo los ataques propuestos por Artemjev y Myasnyankin y además agregó algunos otros ataques que explotaba n otras vulnerabilidades. En este capítulo se explicará la forma de trabajar del protocolo SpanningTree, sus vulnerabilidades y las posibles medidas a tomar para mitigar los ataques descubiertos. Cabe mencionar que hasta ahora no se ha implementado ningún sistema de detección para estos ataques.. - 33 -.

(34) 3.1 Funcionamiento del STP. Los lazos pueden crearse por varias razones, usualmente son creados por conexiones troncales redundantes entre los conmutadores o por errores de configuración. Los lazos físicos pueden llegar a causar problemas como corrupción en la tabla de conmutación o lazos de broadcast, por lo tanto en redes conmutadas de gran tamaño es necesario tener habilitado este protocolo [31]. El algoritmo utilizado por el STP es definido por el estándar IEEE 802.1 D. Los parámetros utilizados para tomar sus decisiones son: el ID del Conmutador , el costo de la ruta (Path Cost) y finalmente el ID del puerto (Port ID). El primer parámetro que se utiliza es el Bridge ID (BID), este parámetro ayuda a determinar el centro de la red conmutada (Root Bridge). El BID se conforma por 8 bytes, los primeros 2 bytes son la prioridad (Bridge Priority), definida por un número decimal que hace referencia a la preferencia de un conmutador en el algoritmo, la prioridad puede tomar valores entre 0 y 65,536. Los siguientes 6 bytes están conformados por una de las direcciones MAC del conmutador. Cada conmutador tiene un rango de direcciones MAC para cada instancia del STP. El BID no puede ser igual puesto los conmutadores tienes asignadas direcciones físicas únicas. En el STP el conmutador con el menor BID es el que se elige como Raíz [31]. El segundo parámetro a tomar en cuenta es el costo de la ruta, el cual hace referencia a la velocidad de los enlaces (valor tipo entero). Ayuda a determinar la ruta óptima hacia el conmutador raíz ya que mide que tan cerca se encuentran los conmutadores sumando los costos de todos los enlaces que se encuentran entre estos dos. La mejor ruta hacia la raíz será la que tenga menor costo. El tercer parámetro es el ID del puerto. Se conforma por 2 bytes, el primer byte es la prioridad del puerto y el segundo es el número del puerto. El puerto que tenga el menor ID será el preferido. La prioridad del puerto puede tomar valores entre 0 y 255. Cuando se crea una topología libre de lazos, el Spanning Tree siempre usa la misma secuencia de pasos para tomar su decisión: PASO 1 PASO 2 PASO 3 PASO 4. – Determina el Root Bridge. – Calcula el menor costo de la ruta hacia el RB. – Determina el emisor con menor BID. – Determina el menor Port ID.. - 34 -.

(35) Los conmutadores participantes en el algoritmo del STP necesitan intercambiar información, para esto utilizan los Bridge Protocol Data Units (BPDUs). Los cuatro pasos nombrados anteriormente se llevan a cabo determinando cual es el mejor BPDU observado en cada puerto. Si ya se seleccionó un BPDU para un puerto y llega otro mejor candidato, entonces este nuevo BPDU reemplazará al anterior. El formato del frame del BPDU según el estándar 802.1D se muestra a continuación [31]:. Figura 3.1. Formato de un frame BPDU.. El campo de control de frame siempre es 01. La dirección destino se refiere al grupo de conmutadores. Para la los BPDUs del estándar IEEE esta dirección destino es: 0x800143000000. La dirección fuente se refiere a la dirección MAC utilizada por el conmutador. El campo de control de enlace lógico controla todos los tipos de frames BPDU, su valor es 0x424203. Los campos de ID de protocolo, versión y mensaje tienen valor de cero. Las banderas incluyen un bit (bit 1) para el cambio de topología (TC), el cual indica que se trata de un BPDU con TCN (Topology Change Notification). Si este bit está apagado quiere decir que el BPDU es de configuración. Otro de los bits (bit 8) es el TCA (Topology Change Acknowledgment), el cual tiene valor de 1 sí el conmutador ha recibido un mensaje con el bit TC encendido [32]. El campo de ID del puerto indica el número de puerto de donde fue enviado el mensaje. Este campo permite detectar y corregir lazos creados por múltiples conmutadores conectados. El campo de “Message Age” indica la cantidad de tiempo que ha pasado desde que el conmutador raíz envió el mensaje original de configuración.. - 35 -.

(36) El proceso de envío de los BPDU está basado en los tiempos establecidos por el protocolo Spanning Tree. Inicialmente cuando un conmutador se activa, todos sus puertos envían BPDUs cada 2 segundos (tiempo de facto para el “Hello Time”). Si un puerto “oye” sobre un BPDU más atractivo en otro puerto, entonces el puerto local deja de enviar BPDUs. Si ese BPDU más atractivo deja de llegar por 20 segundos (tiempo de facto del Max Age) entonces el puerto local mandará nuevamente sus BPDUs. El Max Age es el tiempo que define el “time out” del mejor BPDU. El timer de “Forward Delay” indica el tiempo que el conmutador debe esperar antes de pasar a un nuevo estado después de un cambio de topología. Si un conmutador hace esta transición muy rápido es posible que no todos o ls enlaces de la red hayan alcanzado su estado estable y en consecuencia se pueden crear lazos. En la tabla 3.1 se muestra un resumen de los tiempos manejados por el STP [31]. Tabla 3.1. Contadores utilizados por el STP.. TIMER Hello Time Forward Delay Max Age. Propósito Cantidad de tiempo entre el envío de BPDUs y la elección del mejor. Duración de de los estados de “Listening” y “Learning”. Tiempo de almacenamiento de un BPDU (después es borrado).. Valor de facto 2 segundos. 15 segundos. 20 segundos.. Se tiene que hacer énfasis en dos factores importantes al momento de considerar los timers del Spanning Tree Protocol. El primero son los valores de facto que tienen los timers. Se tiene que ser muy cuidadoso si se desean cambiar. El segundo factor es la sincronización de los timers. Es necesario que sólo se modifiquen los timers del conmutador raíz pues los BPDUs se redirigen de este a los demás conmutadores de la red. Si cada conmutador fuera configurado localmente, cada elemento participante alcanzaría estados diferentes a tiempos distintos. Este comportamiento causaría que la red conmutada perdiera su estabilidad. Por esto mismo, el Conmutador raíz es quien tiene que establecer los parámetros de tiempo para la toda la red conmutada.. - 36 -.

(37) 3.2 Algoritmo del STP. Ya que los conmutadores han determinado cuales son los puertos raíz, los puertos designados y los no designados entonces el STP configura los Puertos Raíz y los designados para que envíen tráfico. Los puertos no designados se bloquearán. En ese momento se dice que se tiene una topología libre de lazos [7]. Los estados que se presentan en el algoritmo del Spanning tree se muestran en la figura 7 y la tabla 3.2 [31]:. Figura 3.2. Estados del algoritmo del STP.. Tabla 3.2. Estados y Eventos del STP.. 1 2 3 4 5. ESTADOS – Inicialización / Habilitación del puerto. – Puerto Deshabilitado o falla. – Puerto Raíz o designado. – Puerto deja de ser Raíz o designado. – Expira el tiempo de Reenvío.. EVENTOS 6 - Port Fast 7 – UplinkFast. Se podría decir que los puertos del conmutador inician escuchando BPDUs en el estado “Blocking”, y empiezan a funcionar normalmente en el estado de “Forwarding”. El estado “Disable” es el estado de “shutdown” administrativo del STP, generalmente no se toma en cuenta como parte normal del proceso. Si, inmediatamente después de haber iniciado, un conmutador piensa que él es el Root bridge o en la ausencia de BPDUs por un cierto periodo de tiempo, los puertos cambian a estado de “Listening”, en este estado no se transite información del usuario pero el puerto envía y recibe BPDUs para determinar la topología activa.. - 37 -.

Figure

Figura 2.1. Formato de un frame de Ethernet.
Figura 2.2. Formato de un paquete ARP.
Figura 2.3. Formato de paquetes ARP Request y ARP Reply.
Figura 2.4. Formato de paquetes ARP Request y ARP Reply.
+7

Referencias

Documento similar

Proporcione esta nota de seguridad y las copias de la versión para pacientes junto con el documento Preguntas frecuentes sobre contraindicaciones y

[r]

Contraindicaciones: El uso de la mascarilla está contraindicado para los pacientes y los miembros de sus familias, profesionales sanitarios y compañeros de

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

Para denegación hegeliana del mal: «Así como no existe lo fal- so, no existe el mal, es objetada primero por Sade y luego por la subjetividad romántica: en la mé- dula de la