Dispositivos IPS vs DDoS de Anonymous

Últimamente los ataques DDoS están ganando cierta importancia en el entorno de seguridad, sobre todo por parte de los ataques que Anonymous lanza contra diferentes compañías u organismos gubernamentales o no gubernamentales. Independientemente de nuestras ideologías o de si estamos a favor o en contra de estos movimientos, nuestro deber como profesionales de seguridad es intentar que la empresa para la que trabajamos no sufra ninguna interrupción en su servicio.

Se me ocurrió escribir este artículo raíz de una experiencia vivida en un cliente con un ataque de denegación de servicio del estilo de los que lanza Anonymous. Después de este ataque pasaron un elenco de comerciales de las diferentes marcas vendiéndonos las excelencias de sus productos y como me pico la curiosidad me puse a investigar que ofrecían los fabricantes para protección contra DDoS. Voy a intentar explicar como se comportan los IPS frente a este tipo de ataques y plantear algunas soluciones.

Para los que no sepáis nada de los ataques que Anonymous suele lanzar, se tratan de unos ataques DDoS mediante un programa llamado LOIC. Para los que no conozcáis LOIC, se trata de un programa para ataques de denegación de servicio, en la que los atacantes se reúnen en un canal IRC, y delegan ciertas partes de la configuración de LOIC al administrador del canal. Cada uno de los usuarios del canal IRC se convierte en un integrante de una botnet. No voy a entrar en detalle, ya que se ha escrito mucho en internet sobre esto. Solo decir que LOIC lo que generan son peticiones HTTP normales, como las que generamos cuando navegamos con cualquier navegador, pero con un volumen de peticiones por segundo importante.

En la práctica…

En una empresa u organismo de considerable tamaño, del tipo de las que Anonymous se fija como objetivo, deberían tener ciertas medidas de seguridad estas suelen ser a grandes rasgos IPS, Firewall y balanceadores. Sobre las labores que suele realizar cada uno se podría hablar largo y tendido, ya que los fabricantes integran de todo en todas partes, no es raro ver un IPS con ACL al mas puro estilo Firewall, y no es raro ver Firewalls con módulos IPS, en cuanto a los firewall de aplicación esto ya si que es un caos, en teoría un SQL Injection y un XSS lo debería parar un IPS, pero los Firewalls de gama alta suelen incluir un modulo de firewall de aplicación por no hablar de los balanceadores, que también suelen incluir protecciones de este tipo.

Aunque no hay un modelo estandarizado de que arquitectura de como se deben colocar los dispositivos en la DMZ, y esto depende de la calidad de estos, y además daría para otro articulo, lo mas aconsejable y lo que recomienda Garner (la gente famosa del cuadrante mágico), es poner IPS->FW->Balanceadores. Hay gente que coloca el IPS detrás del FW, esta solución es igualmente valida, y se suele aplicar cuando los IPS no son de mucha calidad y no pueden analizar mucho volumen de tráfico, y así evitar que analicen el trafico que el FW ya esta bloqueando.

El primer punto que tenemos que tener en cuenta es como detectar este tipo de ataques, teniendo en cuenta que se trata de peticiones HTTP totalmente válidas. Detectarlo no es tarea fácil. Uno de los métodos para detectarlo seria monitorizar el servidor web de alguna forma. O bien porque detectemos una carga inusual de la CPU o porque tengamos monitorizado el numero de peticiones web que se realizan, esto se puede hacer por algun sistema de correlación y sacando los datos del propio log del servidor.

Una vez que habéis detectado un DDoS y trabajáis en una empresa medianamente grande, todos los jefes o altos cargos que tengan nociones de seguridad van a mirar a los IPS. Los IPS, básicamente lo que hacen es buscar paquetes con trazas concretas en el trafico de red. Nos puede servir para detectar cualquier tipo de ataque tipo SQL Injection, XSS.. o también lo podemos usar para mitigar virus como Conficker. Como veis en la imagen anterior de LOIC, en attack options hay una parte que se llama subtittle, si todos la gente que nos está atacando se pusiera de acuerdo en el ataque y pusiese el mismo subtitulo, si que podríamos generar una firma en el IPS para bloquear esas peticiones HTTP, pero si activan la opción de “append random chars to the URL”, pues nos han fastidiado. No hay manera de diferenciar entra peticiones de ataque o peticiones de usuarios lícitos. Lo ideal seria que los IPS nos permitieran contar el número de conexiones, pero la mayoría de los IPS no son capaces de hacer esto. Y además los IPS no se diseñaron para contar conexiones, se diseñaron más para analizar patrones de trafico. Sobre que un IDS/IPS nos permita contar conexiones va a depender del fabricante. De si este a implementado un modulo con ese fin. Lo normal es que no la incluyan, o que no sea muy fiable.

Entrando en materia: 

  1. Una de las soluciones que proponía uno de los fabricantes que mas me llamó la atención, esusar un correlador de eventos como detector de DDoS y usar el IPS para bloquearlo. Es decir, con un correlador correlas el log del servidor web con una regla para que cuente las conexiones web de las direcciones IP durante un tiempo determinado y cuando una IP exceda ese número de conexiones, el correlador se comunica con el IPS y bloquea esas direcciones IP. Por supuesto el fabricante ya tenia un módulo programado entre su correlador y su IPS. Pero podría ser una idea aplicable a cualquier empresa que tenga un sistema de correlación y un firewall, no seria difícil programar una serie de scripts que introdujeran reglas en el firewall. O delegar esta labor a los operadores de red si es que la empresa dispone de una línea de operación 24h.
  2. Otro fabricante proponía otra solución, su producto tenía un sistema o algoritmo de aprendizaje. Con lo que la idea era activar el modo aprendizaje una semana en el que se suponía que el tráfico iba a ser normal, el IPS aprendía ese patrón de tráfico. Una vez realizado el aprendizaje se supone que el IPS podría detectar volúmenes o patrones de tráfico anormales. Esta solución no es especifica para Ataques de tipo Anonymous y me resultaba un poco descabellada. No conozco al detalle como funciona el algoritmo de aprendizaje, pero suponer que una semana, o un mes tras otro, el trafico va a seguir siendo parecido me parece poco sensato, y dependería de a qué se dedica la empresa. Lo cierto es que con reglas así podríamos llegar a bloquear tráfico totalmente lícito y normal, con lo que eso supondría para las empresas.
  3. Investigando por la red encontré información de otro fabricante que ofrecía una solución muy parecida al anterior, tenía un sistema heurístico que era capaz de detectar cambios en los patrones del tráfico de red, pero esta vez sin proceso de aprendizaje.
  4. Por otro lado, tenemos snort que sí que permite definir una regla de tipo threshold para contar conexiones. Esto es básicamente lo que comentaba al principio: contar las conexiones. Pero tenemos que tener en cuenta que snort es en su origen un IDS, aunque se pueda configurar para que también haga labores de IPS. No he podido comprobar si la versión comercial de este IPS propone la misma solución.
  5. Mas tarde y hablando con gente del sector e investigando encontré un aparato que casi sin querer hace justo lo que se necesita para parar este tipo de ataques: se trata de unbalanceador de carga web. Como ya sabréis la mayoría, un balanceador de carga web se coloca justo delante de los servidores web y lo que hace es gestionar las conexiones web repartiendo la carga entre varios servidores web. Algunos implementan un módulo para no colapsar esos servidores y lo que hace es muy sencillo: cuando el balanceador ve que el número de conexiones está saturando los servidores web, empieza a bloquear las direcciones IP que mas conexiones esté generando. Esto es justo lo que se necesita para bloquear los ataques de LOIC. Además tiene algo de sentido parar este tipo de ataques con estos aparatos, ya que son los que se encargan de gestionar las conexiones web y LOIC al fin y al cabo genera conexiones legítimas. Pero esto tiene sus inconvenientes; explicar a los altos cargos de la empresa de que disponiendo una infraestructura basada en IPS en Firewall, vas a tener que usar además un balanceador de carga para parar un ataque de DDoS.

La infraestructura normal de una empresa debería ser la siguiente:

Requisitos y Conclusiones:

  • Tenemos que tener en cuenta que para parar un ataque de este tipo nuestra infraestructura y ancho de banda debe soportar el volumen de tráfico del ataque, y por infraestructura me refiero a todo aparato por el que vayan a pasar las conexiones.
  • Si usamos un balanceador de carga para parar un ataque de este tipo, tienes que explicarle a lospeces gordos de la empresa que aun teniendo IPS y Firewalls, vas a parar el ataque justo antes del servidor. Esto es comparable a decirles que vives en una casa con alambrada y puerta blindada, y al final paras a los malos en la puerta de la cocina.
  • Debe haber muchas otras soluciones de las cuales yo no tengo noticias, así que os ánimo a que expongáis cualquier otra solución que conozcáis en los comentarios.
  • Aunque Snort nos soluciona la papeleta, el que un software de este tipo no tenga un gran fabricante al que echar las culpas cuando falle, suele echar para atrás a las empresas.

—————

Contribución por Manuel Bermúdez

Fuente: SecurityByDefault

Share

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.