Ataque de denegación de servicio II

En la primera parte de este artículo vimos el concepto genérico sobre cómo funcionan los ataques de denegación de servicio (DoS, DDoS…) y algunos ejemplos tradicionales de ataques utilizando vulnerabilidades de los protocolos base de la red de Internet. En este artículo veremos cómo se han utilizado este tipo de ataques aprovechando debilidades de otros protocolos de red.

Denegación por ataques teardrop

Los ataques teardrop (que podría traducirse como lagrimeo) consisten en el envío de paquetes IP malformados de tamaño excesivo y con una secuenciación superpuesta. De esta manera se fuerza al receptor a dedicar recursos para restructurar y reorganizar los paquetes de información recibida para poder entregar la información a las capas superiores del nivel IP. Se trata de una técnica clásica que era efectiva en sistemas operativos de Microsoft previos a Windows XP y a los entronos Linux que utilizasen una versión anterior a la 2.1.63.

Lectura o escritura lenta

El protocolo TCP incluye una característica (denominada ventana TCP) que permite que tanto cliente como servidor negocien el ritmo de envío de información. Esta funcionalidad es muy útil cuando un cliente dispone de una línea de baja velocidad y desea recibir información de un servidor con mayor capacidad: el cliente indica al servidor el ritmo de paquetes a los que puede gestionar la información y así el servidor no satura al cliente. Este mecanismo puede ser utilizado de forma malintencionada cuando se fuerza al servidor a transmitir demasiado lento obligando a mantener recursos de memoria para gestionar este tráfico lo que si se combina con muchas peticiones puede causar que el servidor se quede sin recursos y generar una denegación de servicio.

HTTP POST

La opción POST dentro del protocolo HTTP permite que el cliente envíe información al servidor. Aunque inicialmente se pensó para enviar información de formularios actualmente se puede enviar casi cualquier archivo por este sistema (adjunto documentos a un webcorreo, subir imágenes a una red social, etc.). El ataque consiste en indicarle al servidor, dentro de una sesión válida, que queremos enviar un fichero de gran tamaño (p.e. 2GB) y hacerlo a una velocidad muy baja. El servidor deberá reservar memoria para almacenar ese fichero y dedicar recursos tanto de red como de procesamiento para gestionar esta petición. Si el envío de información se hace de forma lenta pero lo suficientemente rápido para que no se de la sesión por rota se consigue que el servidor bloquee recursos durante un tiempo excesivo. Si se pueden lanzar diversas sesiones con el mismo sistema podemos llegar a generar una denegación de servicio.

R-U-Dead-Yet? (RUDY)

Se trata de un ataque a aplicaciones web muy similar al HTTP POST. La idea es conseguir que el servicio web no pueda gestionar más sesiones y que mantendría multitud de sesiones semiactivas con el envío de información POST que nunca acabaría.

Redes P2P

En los primeros protocolos de las redes peer-to-peer no se había tenido en cuenta la securización de las conexiones por lo que rápidamente aparecieron algunos ataques que utilizaban vulnerabilidades y defectos de diseño de los mismos. En lo referente a los ataques de DDoS se aprovecharon de una debilidad del protocolo Direct Connect. El protocolo permitía la redirección de las conexiones a otros clientes P2P por lo que se podía forzar a todos los clientes que se conectasen a un servidor comprometido para que se conectase contra una víctima elegida. El resultado era que la víctima recibía tal cantidad de peticiones de conexión que directamente era incapaz de gestionarlas y se producía una denegación de servicio.

Ataques espejo

Diagrama de un ataque de espejo

Diagrama de un ataque de espejo Fuente imagen:Wikimedia

En inglés suelen denominarse como reflected attacks o spoofed attacks. En las comunicaciones IP legítimas la información es solicitada por un equipo (con una dirección IP concreta) y el servidor responde a esa dirección IP. Como ya vimos si utilizamos el protocolo TCP hay que realizar una fase previa de establecimiento de conexión pero no así si utilizamos el protocolo UDP. ¿Qué pasaría si el atacante falsease la dirección IP origen de un paquete UDP? Simplemente que se servidor enviaría la información solicitada a la dirección IP indicada en el paquete. Un usuario malintencionado podría solicitar una gran volumen de información falseando (en inglés: spoofing) la dirección IP  de tal forma que los servidores enviasen la información a la víctima deseada. Así la víctima recibirá una gran cantidad de información no deseada desde servidores que creen estar respondiendo a sus peticiones. Con esta estrategia el verdadero atacante queda oculto tras estos servidores que actúan como DDoS sin tener constancia de ello. Este tipo de ataques utilizan protocolos de uso común en Internet que al utilizar UDP, que no mantiene sesiones ni conexiones, dificultan su protección. Los más típiscos sería NTP, DNS, QOTDo SNMPv2.

Por ejemplo en el protocolo de DNS un usuario puede solicitar toda la información sobre un dominio de tal forma que ante una petición pequeña (que es lo que genera el atacante) se genera una respuesta de un tamaño considerable que la víctima recibirá y deberá gestionar. Así un atacante pueden lanzar múltiples peticiones pequeñas a servidores diferentes y que sean éstos quienes saturen las capacidades de la víctima.

Denegación de servicio telefónico

La irrupción de la Voz sobre IP (VoIP) ha permitido la aparición de servicios de telefonía con llamadas gratuitas y automatizables. La posibilidad de modificar la identificación de llamada (caller ID Spoofing) ha abierto nuevas posibilidades a los atacantes maliciosos.  La denegación del servicio telefónico (Telephony dinial-of-service – TDoS) consiste en realizar tal cantidad de llamadas a un objetivo que sature su capacidad de gestión dejando así el servicio de recepción y envío de llamadas. Al poder falsear la identificación de llamada es posible dirigir las actuaciones policiales posteriores a un ataque TDoS a nuestra verdadera víctima generando así un problemas y complicaciones reales a una persona o empresa.

2 pensamientos en “Ataque de denegación de servicio II

  1. Pingback: ¿Qué es una botnet? - Securizando

  2. Pingback: Denegación de servicio contra servidores DNS - Securizando

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *