Una denegación de servicio vale miles de peticiones

Me parece que se me había pasado comentaros pero…

Los ataques de denegación de servicio (DOS, por sus siglas en ingles) son una de las “armas” digitales más utilizadas actualmente para muchos propósitos. Alguno de sus usos son el chantaje, control de competidores, prueba de poder o desvío de atención. El concepto de denegación de servicio es ampliamente conocido dentro del mundo de las redes desde hace mucho, pero no fue una realidad para el gran público hasta que Low Orbit Ion Cannon fue usado por Anonymous en diferentes ataques a gran escala. Años después, la botnet Mirai revivió esos temores realizando uno de los ataques más grandes jamás vistos hasta el momento desde dispositivos IoT vulnerables. Actualmente estos ataques se suelen ofrecer como servicio, que se monetizan por tiempo del ataque.

Empezando desde los cimientos, un ataque de denegación de servicio se basa en impedir que un servidor responda a las peticiones de un usuario legítimo, por ejemplo realizando miles sino millones de peticiones simultáneas, como comúnmente se denomina, “inundando” la red. Inicialmente estos ataques se podían realizar desde un único equipo ya que no existían protecciones al respecto, pero rápidamente empezaron a crearse soluciones que controlaban el número de peticiones por equipo y detectaban estas acciones. Por ello, apareció una nueva versión , la denegación de servicio distribuida (DDOS), que se centra en realizar peticiones desde diferentes puntos para así camuflar el ataque y que resulte difícil identificar si las peticiones son reales o son parte del propio ataque orquestado. Hoy en día la gran mayoría de ataques de éste tipo se encontrarían dentro de esta categoría. Existen diferentes formas de lograr una denegación de servicio, a continuación explicaremos brevemente los 3 grandes grupos que podemos encontrar:

  • Ataques basados en volumen: Éste grupo sería el que hemos avanzado previamente. El objetivo del ataque es saturar/consumir el ancho de banda del servicio atacado mediante peticiones masivas de paquetes spoofeados como por ejemplo podrían ser UDP o ICMP. De esta forma, el servicio estará completamente congestionado y no podrá responder a ninguna petición adecuadamente, dado que ha sobrepasado con creces el tráfico esperado para la red diseñada

  • Ataques de protocolo: Estos ataques se consideran más sofisticados que el grupo anterior, ya que en éste caso lo importante no es el número de peticiones sino la “calidad” de las mismas. El propósito de cada petición es utilizar el mayor número de recursos tanto del servidor como de cualquier intermediario (firewalls, balanceadores de carga…) que exista. El conocido como “Ping de la muerte” es el ejemplo perfecto de éste grupo. El atacante realiza varias peticiones ICMP modificadas, para finalmente lograr que el objetivo reciba un paquete IP mayor que el máximo permitido (65,535 bytes), generando un overflow.

  • Ataques a nivel de aplicación: En éste caso, el ataque se centra en realizar peticiones de capa 7 para inhabilitar servidores web. Dada su tipología de alto nivel, muchas veces resulta complejo identificar llamadas maliciosas. Un ejemplo claro sería el llamado “Slowloris”, que mantiene el mayor número de conexiones HTTP abiertas con el servidor realizando peticiones parciales sin llegar a completarlas. Finalmente el número máximo de conexiones concurrentes se alcanza, llevando consigo una denegación de servicio.

Se tiende a pensar que si alguien tiene el servidor completamente actualizado (cruzando los dedos para que nadie encuentre un zero-day) se puede lograr mantener un servicio a flote sin ningún problema. Pero no hay que olvidar que la explotación de vulnerabilidades a nivel de servidor no es el único problema que hay que tener en mente, una denegación de servicio puede hacer perder millones a una empresa si no está preparada.

El que avisa no es traidor.

Iskander Sanchez-Rola
Acerca de
Content Director/Researcher at DT
Expertise: Web Security, Privacy, Reverse Engineering, Malware
iskander-sanchez-rola.github.io

Deja un comentario

Tu dirección de correo electrónico no será publicada.