Los Expertos Opinan: Mitigación de ataques de Denegación de Servicio - Eusebio Nieva

Publicado el 28-02-2013      Notícia sobre: Artículos
Eusebio Nieva Hernández
Director Técnico de Check Point para España y Portugal

Es innegable que los ataques de denegación de servicio (DoS) y en particular, su versión distribuída (DDoS), constituyen una de las amenazas más importantes de los últimos años. Existen estudios[1] (en este caso centrados en el sector financiero) que afirman que el año pasado más de un 68% de los bancos entrevistados sufrieron ataques de denegación de servicio y, al menos un 40%, sufrieron tres o más ataques de este tipo durante el último año. Como es lógico, las motivaciones de estos ataques son variadas, siendo las más habituales las económicas, ideológicas y políticas.


[1]Ponemon Institute: A study of retail Banks & DDoS attacks. Dec 2012.

Por su parte, el último ataque conocido contra bancos estadounidenses, presuntamente promocionado desde Irán, demuestra que este tipo de amenazas han sido potenciadas con el uso simultáneo de diferentes vectores de ataque.

Sin duda, las Botnets[2] son un elemento clave en el desarrollo de este tipo de ataques y su factor de amplificación. En este sentido, conviene destacar que no solamente aquellos usuarios, cuyo computador ha sido comprometido o usado como parte de la Botnet, son los que forman parte inconsciente de dichas redes de ataque, sino que en algunos casos (como se ha demostrado en los últimos ataques más notorios) también servidores con gran capacidad y ancho de banda han sido utilizados inadvertidamente por sus legítimos propietarios como herramientas coordinadas de ataque; y no despreciemos esta potencia puesto que se han llegado a alcanzar ataques de hasta 70 Gigabits por segundo[3]

Los objetivos de estos ataques pueden dividirse en tres grupos:

La red: En este caso, se trata de ataques volumétricos que intentan saturar la capacidad de switches, routers o dispositivos intermedios por pura “fuerza bruta”. Ejemplos son el UDP flooding o el TCP flooding.

Los servidores: Se intenta aprovechar debilidades tcp/ip o vulnerabilidades en los propios servidores que permitan, con un número relativamente limitado de recursos, amplificar la potencia del ataque.  Ejemplos de esta categoría serían los ataques SYN flooding.

Las aplicaciones: Se intenta multiplicar el volumen de peticiones o respuestas que habitualmente pueden verse en la aplicación, o incluso niveles superiores, de forma que un limitado número de peticiones consuman, debido a la arquitectura de la aplicación, una cantidad desproporcionada de recursos y, en consecuencia, eviten que los usuarios legítimos accedan al servicio. Las herramientas LOIC y HOIC son el paradigma de este tipo de ataques. 

La naturaleza multidimensional de la amenaza pone de manifiesto la necesidad de proyectar una defensa en diferentes niveles de profundidad y complejidad para responder a los diferentes vectores de amenaza.

Las defensas más comunes que proporcionan diferentes protecciones ante cada tipología de amenaza o, en algunos casos, que cubren diferentes tipos serían:

  • Rate limiting: en los ataques volumétricos la forma más fácil de responder a un ataque son los mecanismos de rate limiting; pero estos no discriminan el tráfico malicioso del que no lo es, sino que aplican a ciegas esta técnica con la esperanza de que una parte de los clientes reciban una respuesta adecuada, siendo éste un recurso final cuando no hay otro remedio.
  • IPS: reconocimiento de ataques y vulnerabilidades conocidas o aprovechamiento malicioso de debilidades en los protocolos, cobertura de ataques como SYN flooding, algunos tipos de UDP y TCP flooding, DNS reflections…
  • Reputación de IPs: herramienta útil para diferenciar la legitimidad del cliente peticionario. Es importante su actualización constante debido a la propia dinámica de los ataques y de sus posibles orígenes. En este punto es muy importante la coordinación y compartición de información entre entidades.

Ahora bien, la defensa más efectiva ante estas amenazas consiste en una de tipo adaptativo, en la que tendremos un análisis previo de las diferentes partes de la red que están expuestas a los ataques de esta naturaleza y su tipo de tráfico (y volumetría) bajo condiciones normales y, posteriormente, la toma de decisiones en respuesta a la detección de condiciones anómalas.

Estos sistemas analizan varios tipos de parámetros operativos de la red, tanto parámetros que dependen de su volumetría (rate based), que van desde la tasa de conexiones, tasa de peticiones o respuestas de aplicación, hasta parámetros independientes de volumetría, como la distribución de los flags TCP, porcentaje de protocolos, porcentaje de hits en URLs, relación entre tráfico entrante y saliente, entre otros.

Con el objeto de evitar falsos positivos, estos sistemas toman decisiones para descartar como malicioso un conjunto de paquetes cuando coinciden ciertas condiciones, por ejemplo, un volumen inusual de peticiones, y además concentradas en URLs, que suponen un incremento porcentual significativo, fuera de los parámetros habituales (es decir, coinciden en el espacio temporal parámetros volumétricos junto con parámetros invariantes con la volumetría). En estos casos, los sistemas suelen establecer una denominada firma en tiempo real que descarta el tráfico considerado malicioso según las condiciones actuales (bien por dirección origen o dirección origen y destino y protocolo…); en otras ocasiones, una vez que el sistema determina que se está ante un ataque, puede establecer pruebas para determinar si las peticiones provienen o bien de clientes legítimos, o bien de herramientas malintencionadas. Un ejemplo de este tipo de pruebas consiste en el envío de una redirección http a otra url ante una petición de una dirección sospechosa y, dependiendo del resultado, que permita decidir si esta dirección tiene un comportamiento malicioso o no. Sin embargo, el sistema debe seguir retroalimentándose y analizando si varían las condiciones reales en la red de manera que si no se detectan cambios significativos, se ampliará el espectro de descarte de paquetes y, si aun así no se produce la esperada normalización de la red, se utiliza el último recurso que es el descarte casi indiscriminado (rate-limiting).


[2]Botnet es un término que hace referencia a un conjunto de robots informáticos o bots, que se ejecutan de manera autónoma y automática. El artífice de la botnet (llamado pastor) puede controlar todos los ordenadores/servidores infectados de forma remota y normalmente lo hace a través del IRC. Las nuevas versiones de estas botnets se están enfocando hacia entornos de control mediante HTTP, con lo que el control de estas máquinas será mucho más simple. Ver: http://es.wikipedia.org/wiki/Botnet

[3]Ver http://betabeat.com/2013/01/u-s-intelligence-suspects-iran-of-using-brobots-to-ddos-american-banks/ y http://thinkprogress.org/security/2013/01/09/1424171/bank-hackings-iran-botnets-cloud/?mobile=nc

Global Gold Sponsor