Un grupo de amigos acudía, cada tarde, al mismo bar donde disfrutaban plácidamente de una tranquila tertulia mientras daban sorbos a un buen café envueltos por una agradable música. El camarero les atendía rápidamente y siempre había un lugar en aquellas mesas para el grupo de amigos.

Una tarde, al entrar en el bar, observaron asombrados que un grupo de forofos de fútbol había ocupado todas las mesas. En la barra no cabía un codo y la música no se oía con tanto bullicio. El camarero no daba abasto sirviendo tanta cerveza, si no la derramaba antes de llegar a su destino.

Aquella tarde, los amigos se quedaron sin música, sin tertulia y sin café en aquel lugar que siempre tuvo cabida para ellos cada tarde. Eso fue un ataque DoS en toda regla.

Es obvio que se trataba de un ejemplo pero describe a la perfección qué es un ataque DoS.

DoS son las siglas de Denial of Service (denegación de servicio). El concepto en el que se basa un ataque DoS es muy sencillo: saturar los recursos de un sistema.

La función básica de un servidor es recibir peticiones, las cuales se procesan y se entrega un resultado. Si fuéramos capaces de enviar más peticiones de las que puede procesar, se produce un colapso y el servidor será incapaz de atender las nuevas peticiones que continuarán llegando. Normalmente, los sistemas atacados suelen ser servidores webs, aunque cualquier servidor que esté ofreciendo un servicio a través de internet o red pública puede verse afectado. Servidores de archivos, de correo o de bases de datos son también objetivo habitual.

Cuando un ataque DoS es realizado desde varias máquinas de forma simultánea se define como DDoS (Distributed Denial of Service), denegación de servicio distribuido, Son los más efectivos para inutilizar un servidor, pero también el más costoso de realizarlo. La forma más habitual de un ataque distribuido es la participación de otros computadores infectados por malware o por alguna vulnerabilidad desconociendo su propietario que su equipo está siendo utilizado para efectuar un ataque a un servidor en concreto.

Existen varios tipos de ataques DoS/DDoS pero la finalidad de todos ellos es la de agotar los recursos del servidor: la RAM, la capacidad de proceso, los sockets, la transferencia de datos asignada... de tal forma que la víctima sera incapaz de funcionar con normalidad o, incluso, que no llegue a procesar absolutamente nada.

En la mayoría de los casos, al cesar el ataque, el servidor recupera la normalidad por sí sólo. Pero si el ataque no cesa y el sistema no es capaz de funcionar correctamente, lo habitual es desconectarlo de la red pública para que, al menos, no derive en problemas adicionales como la corrupción de datos o sobre costes de transferencia.

En los últimos años, los ataques DoS han aumentado considerablemente por varios motivos. Uno de ellos es el aumento en la velocidad de las conexiones a internet de los usuarios, lo que permite enviar mucha más información en menos tiempo al servidor, pudiendo provocar el deseado colapso.

cristal roto m

Otro motivo del aumento de estos ataques es la facilidad con la que se puede perpetrar haciendo uso de herramientas gratuitas diseminadas por internet y desarrolladas exclusivamente para estos fines. Cualquier usuario, sin conocimientos, podría desestabilizar un servidor en segundos.

Existe una tercera causa por la cual el número de ataques ha aumentado: con la proliferación de los servicios a través de internet, muchos usuarios sin los conocimientos adecuados han montado un servidor que carece de la configuración y medidas de seguridad adecuadas para reducir, aunque no evitar, los ataques a sus servidores.

Todo esto suena catastrófico pero existen configuraciones, métodos y herramientas para mitigar los ataques menos contundentes, Esto lo veremos en Mitigar ataques DoS.

Un ataque DoS acarrea frustración y consecuencias económicas pues el servicio queda inutilizado y podría suponer pérdidas a la empresa perjudicada. Otras veces, supone un quebradero de cabeza para los administradores de sistemas mientras tratan de mitigar el ataque.

¿Por qué se hace esto? ¿Qué mueve a una persona hacer tal cosa? Algunos buscan en los ataques DoS una forma de protesta, de manifestarse contra algo o contra alguien. Otros son movidos por el afán de notoriedad o simplemente encuentran satisfacción en tumbar un servidor web; jugar sucio con la competencia o, incluso, extorsión.

Un poco más en profundidad

Antes indicaba que existen varios tipo de ataques DoS/DDoS. Los más habituales son los de tipo HTTP Flood, SYN Flood, ICMP Flood, UDP Flood y Slowloris.

Hay mucha información detallada sobre estos tipos de ataques en internet, pero aún así, indicaré muy brevemente de qué tratan cada uno de ellos.

http floodHTTP Flood

Se envía un gran número de peticiones a una página web. Más de las que el servidor puede procesar. Poco a poco se va perdiendo rendimiento, el servidor se ralentiza e incluso puede quedar fuera de servicio.

Es uno de los ataques más comunes sobre todo cuando se dirigen a páginas webs de contenido dinámico que precisan un tiempo para ser procesadas antes de ser mostradas al usuario.

syn floodSYN Flood

En cada comunicación cliente/servidor se envía una cabecera de datos que gestiona, organiza y asegura la comunicación. Un ejemplo sería cuando llamamos por teléfono: 

  1. ring, ring
  2. ¿Quién es?
  3. Soy Miguel

En un ataque SYN Flood, el atacante llama (ring, ring) y el servidor contesta (¿quién es?) pero aguarda pacientemente esperando saber quién llamaba; respuesta que nunca llegará.

Es decir, el servidor recibe un gran número de peticiones de conexión que nunca se darán por concluidas hasta el punto de incapacitar la posibilidad de que entren nuevas y legítimas peticiones.

icmp floodICMP Flood

En comunicaciones, para conocer si un servidor remoto es accesible se envía un ping y se espera hasta recibir un pong. Sería similar a estar estar entre montañas, gritar "¡eco...!" y esperar a que la montaña nos rebote "¡eco...!". Cuanto más larga sea la frase que gritemos, mayor será la longitud de lo rebotado.

En un ataque ICMP Flood, varias máquinas atacantes envían un ping muy grande. Esto provoca que el servidor tenga que contestar con el enorme dato que recibió colapsando su ancho de banda.

udp floodUDP Flood

El atacante envía un gran número de datos aleatorios a diferentes puertos al azar del servidor. La víctima, al recibirlos, no entiende qué hacer con ellos y se ve obligado a devolver al atacante un mensaje "Destination Unreachable".

Imagina un cartero que recibe en un momento miles de cartas con destinatarios que no existen y tiene que enviar una notificación de regreso a cada remitente indicando que no pudo entregar la carta. Obviamente, el cartero no podría realizar todo su trabajo dejando otros asuntos pendientes.

slowlorisSlowloris

Cuando se realiza una petición a un servidor, generalmente toma menos de un segundo en procesarse. Hasta que dicha petición no ha finalizado, ese recurso no se libera. Con Slowloris, el atacante realiza una gran número de peticiones tan lentamente que el servidor tarda varios segundos en procesarlas y por tanto los recursos no se liberan.

Slowloris es similar a cuando esperamos en la cola del banco. Fluye con normalidad hasta que un cliente se demora con una conversación con el cajero. La cola, al igual que la paciencia y la desesperación, va en aumento.

Imagen de cabecera: cc bySurian Soosay

Sígueme

Suscríbete

Recibe todas las novedades en tu correo

copyright © bitplanet.es 2017

Todos los derechos reservados salvo contenidos que apliquen su propia licencia

aviso legal | política de privacidad | política sobre cookies