23 abril 2013

Mitigación de ataques DDoS basados en inundación

Los últimos años las denegaciones de servicio están en las noticias: ataques y amenazas a países enteros, bancos y servicios online, webs de intercambio de Bitcoins o cualquier otra cosa es susceptible de ser un objetivo.

Hace un tiempo Lorenzo contaba como se planteaban algunas mitigaciones. Esta entrada es una actualización, ahora que han pasado varios años y el panorama ha cambiado.

Antes de definir una solución técnica, los mecanismos de protección no tendrán sentido si no hay un procedimiento de respuesta y gestión del incidente que la respalde. Pese a que es obvio, este documento lo debe conocer y aprobar la dirección de la compañía. 

Algunas acciones que se han de contemplar para solventar el ataque, independientes del negocio del que se trate y la tecnología, incluyen:
  • Antes del ataque:
    • Conocer el impacto de la perdida de Internet, por ejemplo, si las VPN con clientes o proveedores se perderán, si otras oficinas ubicadas geográficamente se verán afectadas, si habrá correo electrónico con el exterior, VoIP, FAX, etcétera.
    • Establecer procedimiento de monitorización temprana, donde se detecten movimientos o síntomas de que pronto habrá un ataque. Generalmente para esto se usan servicios de vigilancia de marca.
    • Definir como se supervisan los sistemas y cuando generan una alerta de DDoS. Por ejemplo, cuando el ancho de banda es superior al 50%, hay más de 200.0000 conexiones en el firewall o su CPU ha superado el 75%.
    • Establecer la arquitectura tecnológica de defensa, que debe incluir varias capas y que discutiremos más adelante.
    • Definir como y cuando se harán pruebas de denegación de servicio para conocer como responderá la plataforma y el personal involucrado. Tal y como se haría en un Plan de Continuidad de Negocio específico.
    • Borrador de plan de comunicación, que será remitido a los medios en caso de que se produzca una caída durante un periodo largo de tiempo. Este es un tema complejo, ya que en ocasiones salir en los medios de comunicación es lo único que pretenden algunos atacantes, por lo que ser transparente puede ser perjudicial.
    • Plan de como se reforzarán otros canales de comunicación, por ejemplo, redes sociales, callcenters, presenciales, móviles, etcétera.
    • Elaborar lista de contactos, con todos aquellas personas que deban llevar a cabo alguna acción, incluido proveedores (ISP) o fuerzas de seguridad del estado.
  • Durante el ataque:
    • Activar todas las mitigaciones técnicas: redirección de tráfico, aumento del ancho de banda, reglas en firewalls, firmas en IPS, WAFs, etcétera.
    • Monitorizar la carga en los sistemas y aligerar la carga allí donde se pueda. Como por ejemplo hace Twitter cuando se cae y muestra un tiburón y un mensaje avisando de su caida. Podría definirse como "muerte con dignidad".
    • Publicar nota de prensa y seguir la estrategia para dar respuesta en redes sociales o llamadas de medios de comunicación.
    • Reportar el ataque a fuerzas de seguridad del estado en caso de que se considere esta opción como necesaria.
  • Después del ataque:
    • Hacer un estudio exhaustivo de lo ocurrido,  ya que en ocasiones la denegación de servicio es una cortina de humo para un ataque fraudulento más elaborado.
    • Analizar el comportamiento y aprender donde se han producido los cuellos de botella.
Estas acciones son un punto de partida, pero en base al sector y tipo de negocio, seguro que son necesarias incluir muchas otras.

En cuanto a la solución técnica, por desgracia no hay nada completamente eficaz y si el ataque es de tamaño considerable, nada podrá evitar que se deje a la compañía fuera de juego. Al final, es un pulso de recursos para averiguar quien tiene más dinero, si centenares de miles de personas (o bots) o una compañía que pueda pagar el coste que eso supone en ancho de banda.

Este tipo de soluciones no son excluyentes y es conveniente disponer de más de una de ellas. Es cierto que existe mucho marketing alrededor de las denegaciones de servicio, ya que es la última moda y los fabricantes no han tardado en sumarse al FUD para vender sus productos y servicios. Por desgracia y teniendo en cuenta la situación actual, es mejor protegerse.


La arquitectura de seguridad para minimizar los efectos de la denegación se basa en alejar lo máximo posible el ataque de los sistemas finales de la compañía y conseguir el filtrado lo más cerca posible de los que atacan, para ello hay distintos niveles de protección.

1.- Servicios de "data scrubbing"
Cada día son más populares, la defensa consiste en anunciar mediante BGP rutas alternativas que llevan   a datacenters estratégicamente ubicados en zonas clave de la red, donde filtran el tráfico malicioso y redireccionan el limpio hasta el destino.

Los proveedores que ofrecen este tipo de servicio son Prolexic y Verisign.  

2.-Servicios en redes distribuidas (CDN)
Funcionan como proxys-cache transparentes y hacen las funciones de WAF en la nube con capacidad de absorber grandes cantidades de ancho de banda. Generalmente solo sirven para web y DNS.

Los proveedores que ofrecen estos servicios son: Cloudflare, Akamai e Imperva

3.-Servicios del ISP
Los ISP grandes tienen servicios adicionales para proteger a sus clientes de los DDoS. Realmente lo único que hacen es redirigir el tráfico a su propio datacenter de limpiado donde con la cacharrería adecuada filtran el tráfico creando una tubería limpia o "clean pipe".

Los ISP  con este tipo de servicios son: Telefónica, Colt, Verizon, AT&T, etc

4.-Productos "in-house"
Además del firewall/IPS como elementos perimetrales de la propia red de la compañía, hoy en día es necesario añadir un producto específico que su única capacidad sea la del filtrado de tráfico. No tienen firmas para mucho más y el objetivo de estos appliances es el de procesar grandes volúmenes de datos.

Los proveedores que ofrecen este tipo de hardware específico son: Arbor, Radware, RioRey y Corero

Como había comentado anteriormente, no hay bala de plata, pero se puede luchar.

En la próxima entrada hablaré del plan de pruebas. Lo mismo a alguien le es útil.

8 comments :

qemm dijo...

Y los servicios de trafico limpio?

Alejandro Ramos dijo...

La 3

Anónimo dijo...

Una corrección léxica: "inundamiento" no existe en español; el término correcto sería "inundación".

Alejandro Ramos dijo...

Hmmm. ¡Gracias!

Enjutillo dijo...

Hola a todos. Más info sobre fallo copiar desde navegador por actualización de java...

qemm dijo...

Cojones me extrañaba que no estuviera jejeje.mis disculpas caballero

jesus castello dijo...

Podrías elaborar un poco sobre como funcionan estos servicios de "limpieza
de trafico"? Como separan el trafico real del trafico del atacante?

jesus castello dijo...

Podrías elaborar un poco en como funcionan estos servicios de "limpieza de trafico"? Como separan el trafico real del trafico del atacante?