AtaqueS DDoS (Distributed Denial of Service)

La traducción es “ataque distribuido denegación de servicio”, y traducido de nuevo significa que se ataca al servidor desde muchos ordenadores para que deje de funcionar.

Pero aun así esto no nos guía mucho sobre lo que es un DDoS. Para explicarlo voy a recurrir a una simple analogía en la que nuestro servidor es un auxiliar que atiende a personas en una ventanilla.

Nuestro auxiliar es muy eficiente y es capaz de atender a varias personas a la vez sin despeinarse: es su carga normal. Pero un día empiezan a llegar cientos de personas a la ventanilla a pedirle cosas a nuestro auxiliar. Y como cualquier humano normal, cuando hay mucha gente no puede atender a todos y empieza a atender más lento de lo normal. Si viene todavía más gente, probablemente se marchará de la ventanilla y ya no atenderá a nadie más.

En el servidor pasa lo mismo: cuando hay demasiadas peticiones se queda sin recursos, se cuelga y deja de funcionar. Puede que se apague directamente o que sólo deje de responder conexiones. De cualquiera de las dos formas, el servidor no volverá a la normalidad hasta que el ataque pare, ya sea porque los atacantes han parado o porque se logrado bloquear las conexiones ilegítimas , y se rearranque todo lo que haya dejado de funcionar.

¿Cómo se lleva a cabo un ataque DDoS?

Como el concepto básico del DDoS es simple, realizar los ataques es relativamente fácil. De hecho, valdría con que hubiese un número suficientemente grande de personas recargando la web continuamente para tirarla. Sin embargo, las herramientas que se suelen usar son algo más complejas.

Con ellas se pueden crear muchas conexiones simultáneas o enviar paquetes alterados con las técnicas que comentaba antes. También permiten modificar los paquetes poniendo como IP de origen una IP falsa, de forma que no pueden detectar quién es el atacante real.

Otra técnica para llevar a cabo los DDoS es usar botnets: redes de ordenadores infectados por un troyano y que un atacante puede controlar remotamente. De esta forma, los que saturan el servidor son ordenadores de gente que no sabe que están participando en un ataque DDoS, por lo que es más difícil encontrar al verdadero atacante.

¿Cómo afecta un DDoS a una web?

Depende del ataque y del servidor. Los servidores se pueden proteger contra estos ataques con filtros que rechacen los paquetes mal formados o modificados con IPs falsas, de forma que al servidor sólo le llegan los paquetes legítimos. Por supuesto, las medidas no son infalibles y el servidor siempre puede acabar saturado si el ataque es suficientemente masivo y está bien preparado.

¿Y qué ocurre cuando el servidor se satura? Simplemente deja de estar disponible durante un tiempo hasta que el ataque para. Es muy difícil que se produzcan daños físicos en el servidor. Además, el DDoS por sí sólo no permite entrar en el servidor: para ello es necesario aprovechar alguna vulnerabilidad, y eso no es nada fácil.

Así que, básicamente, un DDoS sólo puede provocar la caída de la web, nada más. Dependiendo del tipo de web esto puede ser una catástrofe o no. Si la web genera dinero (venta online, publicidad), el propietario deja de ganar dinero mientras esa web está caída. Imaginá las pérdidas que puede llegar a tener Amazon, por ejemplo, si su página está caída durante un día.

Pero, ¿qué pasa cuando la página es simplemente informativa, como pueden ser las de instituciones públicas? La verdad es que no pasa mucho. La institución no depende de la web para funcionar. En su lugar se suelen usar redes internas que no están accesibles desde Internet, sólo desde dentro de la propia institución, por lo que no se ven afectadas por el ataque. Lo único que ocurre es que el que quiera ver alguna información de esa página tendrá que esperarse un rato a que esté disponible.

Perfeccionando el DDoS (SLOW READ), un tema técnico pero importante…

En el caso del nuevo ataque DoS, Slow Read, el procedimiento consiste en enviar una petición lícita a un servidor, sin embargo, el éxito radica en ralentizar lo máximo posible la recepción de los datos por parte del servidor hacia el cliente. Al ser TCP el protocolo web, es decir, orientado a la conexión y con control de errores, hasta que el servidor no recibe los correspondientes paquetes con Flag ACK indicando al servidor que prosiga enviando el resto de los datos, no se dará por finalizada la sesión, y por ende, los recursos no serán liberados en el servidor.
 
Mitigar este tipo de ataques resulta muy complicado, puesto que no se basan en patrones detectables por mecanismos como IPS o WAF debido al tipo de la petición. De hecho, el WAF libre mod_security, implementa mecanismos que permiten mitigar este y otros tipos de Denegaciones de Servicio, en base a limitar el número de conexiones por IP origen que se encuentren en estado SERVER_BUSY_WRITE, mediante la configuración de la directiva SecWriteStateLimit. Otra forma de mitigación de este tipo de ataques es mediante la inclusión de límites de tiempo existentes por cada conexión, a la hora de recibir cabeceras, así como en las transmisiones de datos en el envío o de recepción. Sin embargo, estas medidas son peligrosas puesto que cuando las conexiones se efectúan tras un proxy de forma lícita por muchos clientes, se pueden dar situaciones que provoquen un falso positivo denegando un montón de conexiones.

 
FUENTE: Securitybydefault –  GenBeta – ThinkstockPhotos

En definitiva, los servidores tienen sistema de protección, el cual consiste en APAGARSE EN ÚLTIMA INSTANCIA, para lo cual al usuario o a la persona no técnica en el tema significa:


«Una Web que deja de funcionar, mientras Ud. ve la web sin funcionar, hay gente detras que esta trabajando bloqueando este tipo de ataques, para que todo vuelva a la normalidad.»