Hace ya bastante tiempo, cuando escuché por primera vez en mi vida lo que había sido uno de los primeros ataques de denegación de servicio (DDoS), estaba en una clase sobre “redes”, cuando el profesor habló del ping de la muerte (ping of death), algo que llamó mi atención y se me quedó grabado.
Para quien no sepa de que estoy hablando, ping of death o ping de la muerte, es un ataque que en los inicios de Internet y de las redes, podía dejar una tarjeta de red “tostada”, sólo enviando un paquete ICMP de mayor tamaño, que el establecido en TCP/IP.
Cuando diseñaron las primeras tarjetas de red, a nadie se le ocurrió pensar que pasaría si llegaba un paquete con mayor tamaño del definido por los limites TCP. Como se comprobaría mas tarde, las tarjetas de red no sabían qué hacer, y entraban en un “shock” que las dejaba fuera de juego.
Algo tan simple, es la base de cualquier ataque de denegación de servicio y de multitud de ataques contra servicios, aplicaciones o infraestructura. Hoy en día, todo ha cambiado bastante, pero todo sigue teniendo algún parecido con “ping of death”.
En el año 2020, donde las comunicaciones y las redes se han extendido de manera casi infinita, facilitándonos nuestra actividad laboral y personal, encontramos la contrapartida a esta evolución tecnológica. Más tecnología, más equipos con fallos en su diseño, más protocolos en uso que no se han diseñado desde un punto de vista funcional, etc… hace que con el aumento de esta tecnología, también aumenten los ataques, robos de información, etc…
DDoS
Distributed Denial of Service o Ataques de denegación de servicio distribuido, es un término con el que la mayoría de los que trabajamos en el mundo IT, estamos familiarizados. En los últimos años ha habido ataques muy sonados a grandes infraestructuras, que han dejado a millones de personas sin acceso a servicios que utilizamos en nuestra vida cotidiana (VISA, youtube, amazon, entidades bancarias…).
QUÉ ES DDoS
Cuando hablamos de DDoS nos referimos a cualquier tipo de ataque que tenga como finalidad crear indisponibilidad en un servicio, aplicación o recurso. Es decir, estos ataques no buscan robar información o controlar dispositivos de forma remota, su única finalidad es denegar el servicio.
DoS y DDoS son dos términos muy similares, cuya diferencia principal es el uso de un dispositivo o varios, para realizar una denegación de servicio. En los principios de Internet, con un único equipo podíamos crear indisponibilidades en infraestructuras criticas.
Con el tiempo los servidores y aplicaciones han aumentado sus recursos tanto a nivel de ancho de banda como de máquina, lo que hace muy complicado que podamos denegar un servicio utilizando solo un dispositivo. Los ataques DDoS utilizan multitud de dispositivos atacando a la vez un único objetivo.
Estos ataques han aumentado en los últimos años con el uso de “botnets” (redes controladas de miles de dispositivos, por ciberdelincuentes) y hoy en día, se ha convertido en una actividad muy rentable.
TIPOS DE ATAQUES DDoS
Vamos a profundizar en los tipos de ataque DDoS y algunas técnicas que se utilizan para poder comprender el alcance y el daño que tienen estos ataques en cualquier sector.
Ataques Volumétricos
Los ataques volumétricos tienen como objetivo agotar los recursos físicos de un servicio por volumen de tráfico, como su nombre indica. El hecho de hablar de volumen no necesariamente implica saturar el ancho de banda de una línea, aunque es habitual.
Los ataques por volumen implican una gran cantidad de tráfico enviado al objetivo o víctima.
La víctima considera estos paquetes como válidos y los procesa, por lo que se acaba saturando el ancho de banda o los recursos de los servidores. Estos ataques se suelen medir en bps dentro de los ataques por volumen, los mas conocidos son:
- Amplificación/Reflexión. Los hackers utilizan un sistema remoto, para hacer peticiones con la IP spoofeada de la víctima, es decir, se hacen pasar por el equipo que quieren saturar. Hay muchos protocolos que por su diseño, responden a una cantidad de datos mucho mayor, de la petición inicial. Los hackers utilizan estos sistemas para enviar una pequeña petición muchas veces en un corto periodo de tiempo y el sistema “amplificador”, responde con gran cantidad de información a la víctima.
- ICMP/UDP. Los atacantes aprovechan el servicio de escucha “echo” para enviar unas peticiones de gran tamaño al objetivo. ICMP y UDP al no estar orientados a conexión, se pueden utilizar con IPS falsas, ya que la finalidad no es recibir las respuestas, sino que el objetivo se sature al no poder procesar todas las peticiones recibidas. Estos ataques saturan los recursos de las máquinas y agotan el ancho de banda.
- SMURF. Es una variante utilizada por primera vez en 1997, de un ataque ICMP Flood. SMURF utiliza como IP de origen, la dirección de la víctima y se hacen muchas peticiones a direcciones de broadcast. La víctima empieza a recibir miles de peticiones de todos los hosts que agrupa la dirección de broadcast.
Ataques Aplicación/Protocolo
Los ataques a aplicaciones y protocolos son muy comunes y buscan explotar alguna debilidad en el diseño de aplicaciones en las capas 4 o 7, del modelo OSI. Estos ataques se producen intentando agotar los recursos físicos del objetivo y la denegación del servicio o aplicación, llenando tablas de conexiones/sesiones o agotando los recursos de las máquinas atacadas (CPU, memoria…).
Hay multitud de ataques contra aplicaciones, en Internet lo más común es atacar servidores web, bases de datos o aplicaciones que estén dando un servicio a usuarios. Mediante el uso de paquetes malformados o paquetes incompletos en la capa de aplicación, se van agotando los recursos de los servidores.
Son ataques de gran magnitud en cuanto a tráfico, pero su principal objetivo no es degradar o saturar líneas de comunicaciones, sino los servidores que están ejecutando aplicaciones.
Vamos a ver algunos de los mas comunes:
- HTTP POST/GET. En este tipo de ataque se explota una debilidad en el diseño de HTTP. Se utiliza una cabecera HTTP “delayed” o retrasada. El servidor web tiene que esperar a que llegue la primera parte de la cabecera web y deja en espera la cabecera “delayed”. Al recibir muchos paquetes de este tipo, se acaba saturando el buffer y la memoria del servidor Web. Con el método post, se hace algo similar, pero utilizando paquetes con el “body” incompleto.
- SLOWLORIS. En este ataque el atacante va a intentar llenar la tabla de conexiones del servidor web, abriendo conexiones parciales y enviando partes de esas conexiones cada mucho tiempo. Los servidores web deben tener estas conexiones activas y en espera, lo que acaba llenando la tabla de conexiones y ocupando recursos de la máquina.
- TCP FLOOD. El atacante va a enviar un numero elevado de paquetes TCP con el flag SYN. El servidor abre la conexión y espera a recibir los siguientes paquetes para completar el “3 way handshake”, y así comenzar el intercambio de información. El atacante nunca envía el ACK para continuar con el proceso, por lo que el servidor tiene que guardar esta conexión en su tabla de conexiones durante 75 segundos, que es el tiempo que tiene TCP asignado como “timeout”. Los atacantes utilizan este ataque inundando de peticiones el servidor, y llenando su tabla de conexiones TCP, hasta que no pueda procesar ninguna conexión más, por tener muchas en espera.
Ataques Multivector
Actualmente, los sistemas para realizar ataques DDoS son muy sofisticados. Los atacantes controlan grandes «botnets». Una «botnet» es una red infectada de dispositivos que suelen tener algún “trojan” o “backdoor”. Estos equipos son controlados desde un Centro de Control (CC), y los hackers pueden lanzar un comando desde el CC, a miles de ordenadores que ejecutarán la orden a la vez.
La mayoría de los ataques DDoS utilizan una combinación de varios ataques. En nuestra experiencia en este campo trabajando con operadores, hemos observado como los ataques dirigidos son muy sofisticados y difíciles de mitigar. Generalmente empiezan con ataques básicos, y a medida que se van mitigando y parcheando fallos, empiezan a cambiar los patrones de ataques, utilizando una combinación de varios ataques desde multitud de IPS simultáneamente. Esto hace muy complicado poder distinguir este tráfico ilegítimo, del tráfico legítimo.
También utilizan muchos dispositivos IoT que están diseñados para un funcionamiento muy específico y no suelen tener medidas de seguridad.
El aumento de IoT, IPV6 y las líneas domesticas simétricas, ha hecho que sea muy sencillo realizar ataques DDoS y muy económicos para quien los contrata. Sin unas buenas medidas de protección y seguridad, cualquier empresa puede llegar a tener perdidas económicas, por competencia desleal, intereses contrarios o ser víctima del hacktivismo.
En el siguiente artículo de esta serie, comentaremos las soluciones mas efectivas contra ataques DDoS y casos de éxito. Mientras, puedes echar un vistazo a nuestras Soluciones de Ciberseguridad. ¡Hasta pronto!