panda-security-ddos- ataques

Se ha hablado mucho de los ataques DDoS (denegación de servicio) tras el incidente que dejó sin acceso a miles de internautas a causa del colapso de los servidores de Dyn, un proveedor de DNS. Y lo cierto es que resulta conveniente conocer este tipo de amenaza, saber cómo funciona, cómo defenderse y por qué ahora, en tiempos de la internet de las cosas, resulta más sencillo para los cibercriminales montar un ejército de dispositivos infectados para realizar el ataque.

La seguridad de numerosos aparatos de la internet de las cosas deja mucho que desear, de forma que los atacantes acceden y logran controlarlos de forma muy sencilla para utilizarlos como armas. En un DDoS, todos estos reclutas forzosos se conectan a la vez al servidor que se pretende tumbar para que se sature y sea incapaz de responder a peticiones legítimas. Es como si un montón de gente se pusiera delante de ti en la cola del supermercado sin intención de comprar nada; solo para impedir que tú puedas hacerlo.

Pero, si bien este peligro está a la orden del día y las empresas deben protegerse contra ello, lo cierto es que resulta mucho más probable que los servidores de una compañía se colapsen por culpa de sus propios errores que a causa de una acción externa. Así lo han confirmado expertos de Google, que sin aportar datos concretos advierten sobre la alarmante frecuencia con que esto sucede.

Es más probable que los servidores de una compañía se  colapsen por culpa de sus propios errores

Los investigadores del gigante de las búsquedas afirman que los informáticos y desarrolladores a menudo asumen que la carga de tráfico será distribuida de manera correcta y equilibrada por el sistema, sin diseñar un plan de contingencia por si no sucede.

Desde Google lo explican con un ejemplo. Buena parte de las aplicaciones móviles contactan con sus servidores cada cierto tiempo para recibir información. Como no se trata de algo urgente, muchas lo hacen cada 15 minutos. Por si ocurre un error, para impedir que la ‘app’ tenga que esperar otros 15 minutos, también programan que la petición vuelva a formularse cada 60 segundos si algo sale mal a la primera.

Este método demuestra sus carencias cuando el servidor, por la razón que sea, deja de estar disponible durante un periodo (no necesariamente largo) de tiempo. Cuando vuelve a estar en funcionamiento, no solo recibirá la petición habitual de cada usuario cada 15 minutos, sino que asumirá de golpe el sinfín de peticiones de todos los usuarios que se han ido realizando cada 60 segundos durante el período fuera de servicio.

¿El resultado? Un ataque DDoS autoinfligido que puede tumbar la aplicación por exceso de conexiones simultáneas. Si además el servidor vuelve a caerse a raíz de este cuello de botella, la cadena de incidentes volverá a iniciarse.

Consejos para evitar un ataque DDoS

Para evitar que todo esto suceda, los expertos de Google ofrecen ciertos consejos:

  • En primer lugar, establecer que el retardo de 60 segundos que hemos programado para reintentar la petición se duplique a cada intento, de forma que la segunda se realice transcurridos 120 segundos, la tercera cuando pasen 240 y así sucesivamente. De esta forma, el número de solicitudes acumuladas cuando el servidor retorne a la normalidad será más bajo.
  • Además, recomiendan que la aplicación lleve la cuenta del número de intentos de reconexión que ha realizado cada usuario, de forma que se puedan priorizar las peticiones más urgentes cuando el servidor funcione con normalidad. Así, los que más tiempo llevan esperando serán atendidos en primer lugar, mientras el resto esperan. No se producirá, por tanto, un cuello de botella que acabe con tu aplicación caída a causa de un DDoS que se ha lanzado a sí misma.