Los últimos días han sido bastante movidos si nos atenemos al nivel de los ataques de denegación de servicio distribuido (DDoS) detectados hasta el momento. Se ha batido el récord dos veces en menos de una semana y todo apunta a que podrían volver a superarse las marcas establecidas a corto plazo.
Cronología de los ataques
En el momento de escribir este post, aún tenemos poca información con respecto al ataque producido durante el 5 de marzo a un proveedor de servicios estadounidense que llegó a alcanzar 1,7 Tb por segundo y que fue mitigado por la empresa Arbor Networks. Sin embargo, disponemos de abundante información al respecto del ataque dirigido la semana pasada contra GitHub, el cual, debido a que la técnica utilizada por los atacantes es fácilmente replicable, puede servir de ejemplo para mitigar aquellos ataques que muy probablemente se volverán a repetir.
Impacto del ataque DDoS sobre GitHub – Fuente: githubengineering.com
El ataque a GitHub se produjo entre las 17:21 y las 17:30 UTC el pasado 28 de febrero. A esa hora se detectó una anomalía en el tráfico de entrada y el de salida que produjo que se alertara a varios ingenieros. Cuando se detectaron picos de tráfico superiores a 100 Gb por segundo en una de sus instalaciones se decidió desviar el tráfico a Akamai, para así obtener más ancho de banda, algo que funcionó y evitó que GitHub estuviese inaccesible. El pico registrado en este ataque fue de 1,35 Tb por segundo, con un segundo ataque de 400 Gb por segundo que se produjo poco después de las 18:00 UTC.
Ataques Memcache. ¿Cómo funcionan?
Muchos se estarán preguntando cómo es posible haber alcanzado estas cifras con tan poco tiempo de diferencia cuando la anterior marca se encontraba en 650 Gb por segundo y fue registrado por ATLAS, teniendo como objetivo una empresa brasileña en verano de 2016. Los ataques de la última semana empequeñecen esa cifra y han permitido a los atacantes realizarlos gracias a una técnica que se conoce desde noviembre de 2017 y que recibe el nombre de Memcrashed.
Los ataques DDoS por amplificación no son nuevos y se han observado varios incidentes usando diferentes técnicas. Quizás la más conocida sea la que utiliza la amplificación DNS, técnica en la que se han basado ampliamente para desarrollar el ataque Memcrashed, ya que, en esencia, su funcionamiento es prácticamente idéntico con una salvedad: en los ataques por amplificación DNS se utilizan servidores de nombre de dominio como ejecutores involuntarios del ataque y en los ataques Memcrashed se utilizan servidores Memcached mal configurados.
Esquema de funcionamiento del ataque por amplificación memcache – Fuente: Cloudfare
Estos servidores permiten la utilización del protocolo UDP para comunicarse con ellos, por lo que no se realiza ninguna comprobación. Y es aquí donde se encuentra la raíz del problema, ya que un atacante puede suplantar la dirección IP de la víctima, enviar una gran cantidad de peticiones de pequeño tamaño (apenas unos bytes) y recibir respuestas de varios centenares de Kilobytes o incluso de más de un megabyte.
Por ejemplo, los datos analizados por empresas como Cloudfare han demostrado que una petición de tan solo 15 bytes puede provocar fácilmente una respuesta de 134 KB, aunque en la práctica esta cifra se eleva a 750Kb, consiguiendo un factor de amplificación de 51.200 veces. Con estos datos, no hace falta que los atacantes dispongan de un elevado número de IPs desde las que lanzar el ataque, ya que solamente utilizando algunos de los servidores memcache vulnerables se pueden conseguir ataques DDoS muy potentes utilizando un ancho de banda no muy elevado.
Solucionando el problema
Para evitar que este tipo de ataques se sigan produciendo a corto plazo, resulta esencial que se adopten ciertas medidas a todos los niveles. Lo más efectivo sería deshabilitar la utilización del protocolo UDP en estos servidores memcache, pero es probable que algunos administradores no estén dispuestos a hacerlo porque utilizan este protocolo con alguna finalidad que les resulta especialmente útil.
Asimismo, se puede evitar que los atacantes utilicen estos servidores controlando y protegiendo su acceso a Internet mediante cortafuegos, cortando y bloqueando cualquier petición maliciosa que intente aprovecharlos para lanzar ataques DDoS.
Evolución de los ataques por amplificción memcache – Fuente: ddosmon.net
Sin embargo, hay un punto crucial, y es el de la suplantación mediante técnicas de spoofing de la dirección IP de la víctima. Si no se pudiera realizar de forma tan fácil como hasta ahora, estos ataques mediante amplificación no serían tan efectivos. Para conseguirlo, debemos revisar los protocolos usados en la actualidad y solucionar los problemas con los que cuentan. Recordemos que muchos de ellos se diseñaron pensando principalmente en la usabilidad y no tanto en la seguridad.
Conclusión
Puede que estos dos ataques hayan sido solo el principio y que veamos muchos más a corto plazo. Ambos ataques han podido ser mitigados gracias a los esfuerzos de empresas como Akamai o Arbor Networks, que actuaron de forma eficiente para mitigar la gran cantidad de tráfico que estaban gestionando sus clientes.
No obstante, no todas las empresas tienen contratados servicios especializados en bloquear estos y otros tipos de ataques, por lo que, debido a la aparente sencillez con la que se pueden replicar, es muy probable que más pronto que tarde veamos ataques que consigan bloquear temporalmente la web o algún servicio online, algo que debemos intentar evitar a toda costa.