von carlos suazo Vor 7 Jahren
1996
Mehr dazu
Un ataque de denegación de servicio es un incidente en el cual un usuario o una organización es privada de los servicios de un recurso que esperaba obtener. Normalmente, la perdida de servicio se corresponde con la imposibilidad de obtener un determinado servicio de red como, por ejemplo, el acceso a una página web.
Definimos denegación de servicio como la imposibilidad de acceder a un recurso o servicio por parte de un usuario legítimo. Es decir, la apropiación exclusiva de un recurso o servicio con la intención de evitar cualquier acceso a terceras partes.
De forma más restrictiva, se pueden definir los ataques de denegación de servicio en redes IP como la consecución total o parcial (temporal o total) del cese de la prestación de servicio de un equipo conectado a la red.
Como ya hemos visto anteriormente, algunos de los ataques y técnicas de exploración que se utilizan en la actualidad se basan en no complementar intencionadamente el protocolo de intercambio del TCP. Esta debilidad del protocolo TCP proviene de las primeras implementaciones de las pilas TCP.
Cada vez que se procesa una conexión, deben crearse datagramas IP para almacenar la información necesaria para el funcionamiento del protocolo. Esto puede llegar a ocupar mucha memoria. Como la memoria del equipo es finita, es necesario imponer restricciones sobre el número de conexiones que un equipo podrá aceptar antes de quedarse sin recursos.
Este tipo de ataque de denegación de servicio es una variante del ataque anterior (IP Flo-oding), pero realizando una suplantación de las direcciones de origen y destino de una petición ICMP del tipo echo-request:
Como dirección de origen se pone la dirección IP de la máquina que debe ser atacada. En el campo de la dirección IP de destino se pone la dirección de difusión de la red local o red que se utilizara´ como trampolín para colapsar a la víctima.
Con esta petición fraudulenta, se consigue que todas las máquinas de la red respondan a la vez a una misma máquina, consumiendo todo el ancho de banda disponible y saturando el ordenador atacado.
El ataque de IP Flooding se basa en una inundación masiva de la red mediante datagramas IP.
Este ataque se realiza habitualmente en redes locales o en conexiones con un gran ancho de banda. Consiste en la generación de trafico basura con el objetivo de conseguir la degradación del servicio. De esta forma, se resume el ancho de banda disponible, ralentizando las comunicaciones existentes de toda la red.
Definido o dirigido. Cuando la dirección de origen, destino, o incluso ambas, es la de la máquina que recibe el ataque. El objetivo de este ataque es doble, ya que además de dejar fuera de servicio la red donde el atacante genera los datagramas IP, también tratará de colapsar al equipo de destino, sea reduciendo el ancho de banda disponible, o bien saturando su servicio ante una gran cantidad de peticiones que el servidor será incapaz de procesar.
Cuando la dirección de origen o destino del paquete IP es ficticia o falsa. Este tipo de ataque es el más básico y simplemente busca degradar el servicio de comunicación del segmento de red al que está conectado el ordenador responsable del ataque.
Durante los primeros años de internet, los ataques a sistemas informáticos requerían pocos conocimientos técnicos. Por un lado, los ataques realizados desde el interior de la red se basaban en la alteración de permisos para modificar la información del sistema. Por el contrario, los ataques externos se producían gracias al conocimiento de las contraseñas necesarias para acceder a los equipos de la red.
Con el paso de los años se han ido desarrollando nuevos ataques cada vez más sofisticados para explotar vulnerabilidades tanto en el diseño de las redes TCP/IP como en la configuración y operación de los sistemas informáticos que conforman las redes conectadas a internet. Estos nuevos métodos de ataque se han ido automatizando, por lo que en muchos casos solo se necesita un conocimiento técnico muy básico para realizarlos. Cualquier usuario con una conexión a internet tiene acceso hoy en día a numerosas aplicaciones para realizar estos ataques y las instrucciones necesarias para ejecutarlos.
En la mayor parte de la bibliografía relacionada con la seguridad en redes informáticas podemos encontrar clasificadas las tres generaciones de ataques siguientes:
· Primera generación: ataques físicos. Encontramos aquí ataques que se centran en con-ponentes electrónicos, como podrían ser los propios ordenadores, los cables o los dispositivos de red. Actualmente se conocen soluciones para estos ataques, utilizando protocolos distribuidos y de redundancia para conseguir una tolerancia a fallos aceptable.
· Segunda generación: ataques sintácticos. Se trata de ataques contra la lógica operativa de los ordenadores y las redes, que quieren explotar vulnerabilidades existentes en el software, algoritmos de cifrado y en protocolos. Aunque no existen soluciones globales para contrarrestar de forma eficiente estos ataques, podemos encontrar soluciones cada vez más eficaces.
· Tercera generación: ataques semánticos. Finalmente, podemos hablar de aquellos ataques que se aprovechan de la confianza de los usuarios en la información. Este tipo de ataques pueden ir desde la colocación de información falsa en boletines informativos y correos electrónicos hasta la modificación del contenido de los datos en servicios de confianza, como, por ejemplo, la manipulación de bases de datos con información pública, sistemas de información bursátil, sistemas de control de tráfico´ aéreo, etc.
El protocolo IP es el encargado de seleccionar la trayectoria que deben seguir los datagramas IP. No es un protocolo fiable ni orientado a conexión, es decir, no garantiza el control de flujo, la recuperación de errores ni que los datos lleguen a su destino.
A la hora de pasar a la capa inferior, los datagramas IP se encapsulan en tramas que, dependiendo de la red física utilizada, tienen una longitud determinada. Cuando los datagramas IP viajan de unos equipos a otros, pueden pasar por distintos tipos de redes. El tamaño exacto de estos paquetes, denominado MTU*, puede variar de una red a otra dependiendo del medio físico empleado para su transmisión.
Así, el protocolo IP debe tener en cuenta que ningún dispositivo puede transmitir paquetes de una longitud superior al MTU establecido por la red por la que hay que pasar. A causa de este problema, es necesaria la reconversión de datagramas IP al formato adecuado.
La fragmentación divide los datagramas IP en fragmentos de menor longitud y se realiza en el nivel inferior de la arquitectura para que sea posible recomponer los datagramas IP de forma transparente en el resto de niveles. El re ensamblado realiza la operación contraria.
El proceso de fragmentación y re ensamblado se ira repitiendo a medida que los datagramas vayan viajando por diferentes redes.
Como ya hemos introducido al principio de esta sección, la fragmentación IP puede plantear una serie de problemáticas relacionadas con la seguridad de nuestra red.
Aparte de los problemas de denegación que veremos con más detenimiento en la siguiente sección, una de las problemáticas más destacadas es la utilización de fragmentación IP malintencionada para burlar las técnicas básicas de inspección de datagramas IP.
En este caso, un atacante tratara de provocar intencionadamente una fragmentación en los datagramas que envía a nuestra red con el objetivo de que pasen desapercibidos por diferentes dispositivos de prevención y de detección de ataques que no tienen implementado el proceso de fragmentación y re ensamblado de datagramas IP.
. Mirad los módulos didácticos Mecanismos de prevención y Mecanismos de detección para más información.
De esta forma, el atacante solo deberá construir datagramas con diferentes longitudes, con el indicador de fragmentación establecido, a la espera de recibir estos mensajes de error.
Para solucionar el uso de la fragmentación fraudulenta y garantizar una correcta inspección de paquetes, es necesaria la implementación del proceso de fragmentación y el re ensamblado de datagramas en dispositivos de prevención y detección. Esta solución puede suponer un coste adicional, ya que significa tener que examinar y almacenar cada fragmento. Aunque puede resultar muy costoso en cuanto a recursos (tiempo, proceso y memoria), será la única forma de asegurar que la inspección del paquete se ha realizado de forma correcta.
La MTU por defecto de un datagrama IP para una red de tipo Ethernet es de 1500 bytes. Así pues, si un datagrama IP es mayor a este tamaño y necesita circular por este tipo de red, será necesario fragmentarlo por medio del encaminador que dirige la red. Los fragmentos pueden incluso fragmentarse más si pasan por una red con una MTU más pequeña que su tamaño.
Para que el equipo de destino pueda reconstruir los fragmentos, estos deben contener la siguiente información:
· Cada fragmento tiene que estar asociado a otro utilizando un identificador de fragmento común. Este se clonará desde un campo de la cabecera IP, conocido como identificador IP (también llamado ID de fragmento).
· Información sobre su posición en el paquete inicial (paquete no fragmentado).
· Información sobre la longitud de los datos transportados al fragmento.
· Cada fragmento tiene que saber si existen más fragmentos a continuación. Esto se indica en la cabecera, dejando o no activado el indicador de más fragmentos (more fragments, MF) del datagrama IP.
Toda esta información ira en la cabecera IP, colocada en el datagrama IP. Esto afectara a todo el tráfico TCP/IP puesto que IP es el protocolo responsable de la entrega de los paquetes.
En la siguiente figura vemos la configuración de un datagrama IP no fragmentado
podemos ver cómo, una vez más, ha sido clonada la cabecera IP de la cabecera original (con un identificador de fragmento idéntico). Los últimos 1048 bytes de datos ICMP se insertan en este nuevo datagrama IP. Este fragmento tiene un desplazamiento de 2960 y una longitud de 1048 bytes; y como no le siguen más fragmentos, el indicador de más fragmentos esta´ desactivado. En la siguiente figura podemos observar con más detenimiento este último fragmento:
Detrás de los 20 bytes de la cabecera IP encontramos en el fragmento el resto de bytes de los datos ICMP originales. El identificador de fragmento es 21223, y no se establece el indicador de más fragmentos porque este es el último.
Podemos ver en la siguiente figura como en el fragmento siguiente la cabecera IP de la cabecera original es clonada con un identificador de fragmento idéntico:
Vemos también como se reproduce la mayor parte del resto de datos de la cabecera IP (como el origen y destino) en la nueva cabecera. Detrás de esta van los 1480 bytes de datos ICMP. Este segundo fragmento tiene un valor de 1480 y una longitud de 1480 bytes. Además, como todavía le sigue un fragmento más, se activa nuevamente el indicador de más fragmentos.
La cabecera IP original se clonará para que contenga un identificador de fragmentos idéntico tanto para el primer como para el resto de fragmentos.
El primer fragmento es el único que contendrá la cabecera del mensaje ICMP. Esta no será clonada en los fragmentos posteriores. Como veremos más adelante, este hecho identifica la naturaleza del fragmento original.
Uno de los primeros ataques contra las dos primeras capas del modelo TCP/IP son las escuchas de red. Se trata de un ataque realmente efectivo, puesto que permite la obtención de una gran cantidad de información sensible.
Mediante aplicaciones que se encargan de capturar e interpretar tramas y datagramas en entornos de red basados en difusión, conocidos como escuchas de red o sniffers, es posible realizar el análisis de la información contenida en los paquetes TCP/IP que interceptan para poder extraer todo tipo de información.
Una de las aplicaciones más conocidas, en especial en sistemas Unix, es Tcpdump. Este programa, una vez ejecutado, captura todos los paquetes que llegan a nuestra maquina´ y muestra por consola toda la información relativa a los mismos. Se trata de una herramienta que se ejecuta desde la línea de comandos y que cuenta con una gran cantidad de opciones para mostrar la información capturada de formas muy diversas. Tcpdump es una herramienta muy potente y es la base para muchos otros sniffers que han aparecido posteriormente.
Otra herramienta muy conocida es Ettercap. Esta aplicación, que también funciona desde consola, ofrece un modo de ejecución interactivo en el que se muestran las conexiones accesibles desde la maquina´ donde se encuentra instalado y que permite seleccionar cual-quiera de ellas para la captura de paquetes. Ettercap es una aplicación muy potente que permite utilizar la mayor parte de las técnicas existentes para realizar tanto sniffing como eavesdropping y snooping. La siguiente imagen muestra una sesión de Telnet capturada mediante Ettercap:
El protocolo ARP es el encargado de traducir direcciones IP de 32 bits, a las correspondientes direcciones hardware, generalmente de 48 bits en dispositivos Ethernet. Cuando un ordenador necesita resolver una dirección IP en una dirección MAC, lo que hace es efectuar una petición ARP (arprequest) a la dirección de difusión de dicho segmento de red, FF: FF: FF: FF: FF: FF, solicitando que el equipo que tiene esta IP responda con su dirección MAC.
La figura anterior refleja como una maquina A, con IP 192.168.0.1 y MAC 0A:0A-: 0A:0A: 0A:0A solicita por difusión que dirección MAC está asociada a la IP 192.-168.0.2. La máquina B, con IP 192.168.0.2 y MAC 0B:0B: 0B:0B: 0B:0B debería ser la única que respondiera a la petición.
Una de las técnicas más utilizadas por la mayoría de los sniffers de redes Ethernet se basa en la posibilidad de configurar la interfaz de red para que desactive su filtro MAC (poniendo la tarjeta de red en modo promiscuo).
Las redes basadas en dispositivos Ethernet fueron concebidas en torno a una idea principal: todas las máquinas de una misma red local comparten el mismo medio, de manera que todos los equipos son capaces de ver el tráfico de la red de forma global.
Cuando se envían datos es necesario especificar claramente a quien van dirigidos, indican-do la dirección MAC. De los 48 bits que componen la dirección MAC, los 24 primeros bits identifican al fabricante del hardware, y los 24 bits restantes corresponden al número de serie asignado por el fabricante. Esto garantiza que dos tarjetas no puedan tener la misma dirección MAC.
Previamente a la planificación de un posible ataque contra uno o más equipos de una red TCP/IP, es necesario conocer el objetivo que hay que atacar. Para realizar esta primera fase, es decir, para obtener toda la información posible de la víctima, será necesario utilizar una serie de técnicas de obtención y recolección de información.
A continuación, veremos, con algunos ejemplos sencillos, algunas de las técnicas existentes que tanto los administradores de una red como los posibles atacantes, pueden utilizar para realizar la fase de recogida y obtención de información previa a un ataque.
Durante esta primera etapa de recogida de información, el atacante también tratara de obtener toda aquella información general relacionada con la organización que hay detrás de la red que se quiere atacar. La recogida de esta información puede empezar extrayendo la información relativa a los dominios asociados a la organización, así como las subredes correspondientes. Esto puede obtenerse fácilmente mediante consultas al servicio de nombre de dominios (DNS).
Si el servidor que ofrece la información de este dominio no se ha configurado adecuada-mente, es posible realizar una consulta de transferencia de zona completa, lo cual permitirá obtener toda la información de traducción de direcciones IP a nombres de máquina. Este tipo de consulta puede realizarse con las utilidades host, dig y nslookup, entre otras:
Entre la información encontrada, el atacante podría encontrar información sensible como, por ejemplo, relaciones entre sistemas de la red o subredes, el objetivo para el que se utilizan los mismos, el sistema operativo instalado en cada equipo, etc.
Una posible solución para proteger los sistemas de nuestra red contra esta extracción de información mediante herramientas de administración es la utilización de sistemas cortafuegos. Consultad el siguiente modulo´ didáctico para más información sobre filtrado de paquetes y sistemas cortafuegos.
Una vez descubierta la existencia de, como mínimo, uno de los equipos del dominio, el atacante podría obtener información relacionada con la topología o la distribución física y lógica de la red, mediante alguna aplicación de administración como, por ejemplo, traceroute.
La fase de recogida de información podría empezar con la utilización de todas aquellas aplicaciones de administración que permitan la obtención de información de un sistema como, por ejemplo, ping, traceroute, whois, finger, rusers, nslookup, rcpinfo, telnet, dig , etc.
La simple ejecución del comando ping contra la dirección IP asociada a un nombre de dominio podría ofrecer al atacante información de gran utilidad. Para empezar, esta información le permitirá determinar la existencia de uno o más equipos conectados a la red de este dominio.
Durante la década de los 60, dentro del marco de la guerra fría, la Agencia de Proyectos de Investigación Avanzada del Departamento de Defensa de los Estados Unidos (DARPA) se planteó la posibilidad de que un ataque afectara a su red de comunicaciones y financio equipos de investigación en distintas universidades con el objetivo de desarrollar una red de ordenadores con una administración totalmente distribuida.
Como resultado de la aplicación de sus estudios en redes de conmutación de paquetes, se creó la denominada red ARPANET, de carácter experimental y altamente tolerable a fallos. Más adelante, a mediados de los 70, la agencia empezó a investigar en la interconexión de distintas redes, y en 1974 estableció las bases de desarrollo de la familia de protocolos que se utilizan en las redes que conocemos hoy en día como redes TCP/IP.
Engloba todo lo que hay por encima de la capa de transporte. Es la capa en la que encontramos las aplicaciones que utilizan internet: clientes y servidores de web, correo electrónico, FTP, etc. Solo´ es implementada por los equipos usuarios de internet o por terminales de internet. Los dispositivos de encaminamiento no la utilizan.
Da fiabilidad a la red. El control de flujo y de errores se lleva a cabo principalmente dentro esta capa, que solo es implementada por equipos usuarios de internet o por terminales de internet. Los dispositivos de encaminamiento* (encaminado-res) no la necesitan.
Da unidad a todos los miembros de la red y, por lo tanto, es la capa que permite que todos se puedan interconectar, independientemente de si se conectan mediante línea telefónica o mediante una red local Ethernet. La dirección y el encaminamiento son sus principales funciones. Todos los equipos conectados a internet implementan esta capa.
Normalmente está formada por una red LAN* o WAN** (de conexión punto a punto) homogénea. Todos los equipos conectados a internet implementan esta capa. Todo lo que se encuentra por debajo de la IP es la capa de red física o, simplemente, capa de red.