En los últimos años, las organizaciones han informado de un número creciente de incidentes relacionados con grupos de atacantes que tratan de dañar las aplicaciones web comerciales e institucionales agotando sus recursos mediante ataques de denegación de servicio distribuido (DDoS). Los grupos de atacantes son conscientes de que mantener la disponibilidad de las aplicaciones es de gran prioridad para la mayoría de las organizaciones porque la disponibilidad influye en los ingresos de las aplicaciones y, por lo tanto, cualquier disminución en la calidad del servicio puede reducir los ingresos, así como dañar la reputación de la organización.
Los ataques DDoS al nivel de aplicación son conocidos concretamente porque es difícil protegerse totalmente de ellos. El nivel de aplicaciones de la red está diseñado para ser de naturaleza genérica; cada aplicación tiene características únicas, pero las interfaces y los mecanismos utilizados para entregar esas aplicaciones son similares. En consecuencia, la capa de aplicaciones es vulnerable a una amplia gama de amenazas, incluyendo ataques relativamente poco sofisticados. Por ejemplo, el análisis de los recientes ataques DDoS a una importante empresa de tarjetas de crédito implicada en el incidente de WikiLeaks de 2009 mostraba que, cuando el sitio web de la empresa experimentó el primer tiempo de inactividad, 940 ordenadores se encontraban participando en el ataque, que se cometió utilizando tráfico HTTP de fuerza bruta a la aplicación.1Este caso demuestra la facilidad con la que incluso un ataque sencillo puede hacer caer una aplicación web. Con herramientas DDoS más sofisticadas, los atacantes pueden identificar vulnerabilidades específicas en las aplicaciones y sus métodos de entrega, lo que les permite utilizar menos ancho de banda y más recursos distribuidos para agotar los recursos de la aplicación en toda la red.
Un buen ejemplo de la facilidad con la que se pueden encontrar y explotar las vulnerabilidades públicas es la vulnerabilidad recientemente descubierta en los servidores web que ejecutan una determinada combinación de PHP5, Java y ASP.NET. Las solicitudes HTTP especialmente diseñadas y dirigidas a esta combinación de plataformas tan específica pueden dar lugar a colisiones de la función hash del servidor web cuando las solicitudes únicas devuelven respuestas no únicas y superpuestas. Un atacante podría enviar muchas solicitudes «hash busting» al mismo tiempo para generar con éxito un evento de denegación de servicio en el servidor web, cortando el suministro a los recursos legítimos.
Afortunadamente, centrándose en la forma en que los usuarios interactúan con las aplicaciones en tiempo real y en cómo se entregan esas aplicaciones a través de la red, las organizaciones pueden predecir cómo evolucionarán los atacantes y los ataques. Al contemplar la amenaza desde un punto de vista de protección, es posible para los administradores de aplicaciones y de la red trabajar juntos en la detección y protección de amenazas DDoS.
El controlador de entrega de aplicaciones (ADC) adecuado puede desempeñar un papel inestimable. F5 BIG-IP Application Security Manager (ASM), que reside entre las aplicaciones y los usuarios, puede detectar y proteger contra un ataque en tiempo real mediante:
Mediante el control del acceso, la implementación de motores de reto/respuesta y de detección de anomalías, y la aplicación de la capacidad para entender el comportamiento de las aplicaciones, BIG-IP ASM defiende contra las conexiones maliciosas y evita que los atacantes saturen las aplicaciones.
Figura 1: F5 BIG-IP ASM es un cortafuegos de aplicaciones web que detecta y mitiga la amenaza de los ataques DDoS a aplicaciones basándose en la capacidad para entender la capa de aplicaciones y su comportamiento.
Los recientes incidentes de DDoS a nivel de aplicación muestran que un ataque de este tipo puede describirse como un número masivo de solicitudes HTTP a la aplicación web desde el mayor número de fuentes posible. Antes de que el ataque DDoS se pusiese de moda, el ataque estándar de denegación de servicio (DoS) de un solo punto era un elemento básico y probado de la comunidad de atacantes. A diferencia de su «primo el distribuido», un ataque DoS estándar utiliza una única fuente que envía tantas solicitudes como sea posible para mermar la disponibilidad de la aplicación, mientras que un ataque DDoS se monta desde múltiples ubicaciones distribuidas geográficamente para así tratar de eludir los métodos de protección tradicionales.
Desde el punto de vista de la seguridad, esta diferencia entre los ataques DoS y DDoS dicta la forma en que un filtro de seguridad puede detectar y mitigar el ataque. Un filtro de seguridad puede detectar fácilmente una tasa anormal de solicitudes HTTP enviadas desde una sola fuente, como ocurre en un ataque DoS tradicional. Una vez detectado, el ataque puede mitigarse fácilmente bloqueando el acceso desde es fuente única.
Mientras que el escenario del DoS parece trivial desde el punto de vista de la protección, porque es muy fácil de detectar y mitigar, el DDoS es mucho más complejo, ya que incluye un ataque desde múltiples fuentes y cada una de ellas envía muchas solicitudes HTTP. Estos ataques suelen realizarse por parte de filas de ordenadores «zombis»: dispositivos infectados por malware y controlados de forma remota por un atacante anónimo, a menudo sin que el propietario de la máquina tenga conocimiento de que se está produciendo un ataque. Para detectar este tipo de ataques, las políticas de protección DDoS deben estudiar cómo se utiliza legítimamente la aplicación atacada. Esto solo es posible sabiendo cómo se accede a la aplicación con el tiempo, además de todas las características del tráfico válido. Estas características suelen incluir:
La detección de estas características del tráfico debe basarse en la detección de anomalías, o en otras palabras, en los cambios en el comportamiento de la aplicación. Por ejemplo, si la tasa de acceso de la página de búsqueda de una aplicación es normalmente de 500 transacciones por segundo y, de repente, esa tasa salta a 5000 transacciones por segundo, por lo general sería seguro asumir que la página de búsqueda está sufriendo un mal uso y posiblemente esté bajo ataque. Dependiendo de las ubicaciones de origen de cada una de esas solicitudes, es posible que la aplicación sea objeto de un ataque DDoS. En este ejemplo, el filtro de seguridad no debe supervisar el origen del ataque, sino el recurso atacado.
BIG-IP ASM detecta estos ataques conociendo cómo se accede normalmente a la aplicación. En función de la configuración, normalmente BIG-IP ASM lo consigue mediante la recopilación de la siguiente información:
BIG-IP ASM detectará un ataque cuando se produzca un cambio en la forma de acceder a una aplicación en comparación con la información considerada normal que ya conoce.
Después de detectar que una aplicación se encuentra bajo ataque DDoS, el siguiente paso en la defensa es determinar quién está atacando la aplicación o, al menos, qué información sobre el atacante o atacantes se puede sacar en conclusión. Por definición, un ataque DDoS no se monta a partir de una sola fuente que hay que bloquear, sino a partir de muchas. En el ejemplo anterior de solicitudes de páginas de búsqueda inusuales, puede haber varios usuarios intentando realizar búsquedas en la aplicación. Algunas de estas fuentes de tráfico serán usuarios válidos, mientras que otras serán participantes del ataque, y la dificultad se encuentra en diferenciar entre las búsquedas legítimas y las ilegítimas.
La mejor manera de diferenciarlas es presentando un obstáculo a los usuarios para distinguir entre los usuarios normales que trabajan con navegadores y las herramientas automáticas maliciosas que envían solicitudes directamente a la aplicación. Un ejemplo de este tipo de obstáculo es la prueba de autenticación CAPTCHA, que se utiliza en muchas páginas de inicio de sesión de aplicaciones y cuyo objetivo es repeler los ataques de fuerza bruta exigiendo al usuario que responda a un obstáculo que puede ser aleatorio o personal.
Otro ejemplo de obstáculo eficaz, y que utiliza BIG-IP ASM, es la inyección de JavaScript para usuario. Solo los clientes que utilizan un navegador pasan este obstáculo, mientras que las herramientas automáticas maliciosas no lo pasan. En consecuencia, BIG-IP ASM puede localizar y bloquear selectivamente esas herramientas automáticas.
Por supuesto, la detección y la identificación del atacante no siempre son decisivas. La complejidad de la situación impacta directamente en la precisión de los esfuerzos de detección, y las tareas de detección difíciles pueden dar lugar a falsos positivos. Además, el hecho de no responder a un obstáculo de seguridad no equivale necesariamente a un ataque. Por ejemplo, un obstáculo puede no recibir respuesta por las limitaciones o la configuración del navegador del usuario. No obstante, las medidas de seguridad con capacidad para extraer información acerca de posibles atacantes y plantear uno o más obstáculos a los usuarios sospechosos pueden detectar con mayor eficacia y, por tanto, mitigar las amenazas.
Como se ha señalado, la entrega de aplicaciones es a menudo un objetivo empresarial primordial y puede ser la interacción principal (o única) de una organización con el cliente. En estos casos, es inaceptable que se suspendan las transacciones de los usuarios de las aplicaciones, incluso cuando los usuarios sospechosos no responden a un obstáculo de seguridad. En su lugar, los esfuerzos para mitigar los ataques DDoS deben aplicar estos principios:
Si se produce un ataque, mitigar los efectos del ataque en la aplicación. Mantener la disponibilidad de la aplicación para que permanezca intacta para otros usuarios.
Una opción de mitigación que se ajusta a estos principios es aumentar la disponibilidad general de un recurso atacado reduciendo la velocidad a la que las fuentes sospechosas pueden acceder a la aplicación, manteniendo así la disponibilidad de la aplicación y evitando el ataque DDoS al mismo tiempo. Las ventajas de este enfoque son que:
Con este enfoque, el peor escenario se convierte en un falso positivo que ralentiza la conectividad del usuario a la aplicación, pero no impide el servicio al usuario, manteniendo así la disponibilidad para los usuarios legítimos. En los ataques reales, la aplicación también está protegida.
Durante un posible ataque, existen varias opciones de mitigación:
Los administradores pueden gestionar el equilibrio que ofrece BIG-IP ASM entre la protección y la disponibilidad de las aplicaciones estableciendo políticas que influyan en la agresividad con la que se deben interrumpir las conexiones sospechosas.
BIG-IP ASM utiliza un enfoque único y bidireccional para detectar los ataques DDoS e identificar la información del atacante, conservando así la calidad del servicio y mitigando los efectos del ataque al mismo tiempo. Dado que BIG-IP ASM se coloca entre los usuarios y las aplicaciones, puede estar al tanto de ambos para:
BIG-IP ASM también mantiene al tanto a los administradores de TI de la actividad normal y potencialmente anormal de las aplicaciones a través de paneles de control e informes operativos. Además del panel de gestión, que muestra de forma rutinaria datos operativos como las conexiones, el rendimiento y la disponibilidad, BIG-IP ASM proporciona informes específicos sobre incidentes DoS y DDoS. Los administradores pueden consultar fácilmente vistas detalladas de las anomalías detectadas, la respuesta de mitigación, incluidas las conexiones interrumpidas, y las direcciones IP sospechosas implicadas. Con estos datos, las organizaciones pueden ser conscientes de la frecuencia y el nivel de los ataques DoS y DDoS contra sus redes, así como los efectos que esos ataques pueden haber tenido en la disponibilidad, de modo que las decisiones de gestión se puedan tomar con confianza.
Las aplicaciones web son a la vez cruciales para las operaciones y el servicio al cliente de muchas organizaciones, y especialmente vulnerables a los ataques DDoS que se producen con tanta frecuencia hoy en día. Detectar el ataque es el primer paso para mitigarlo y mantener la disponibilidad de la aplicación. Cuando se intenta determinar si una aplicación está bajo un ataque DDoS, se debe tener en cuenta cualquier cambio en las características de comportamiento de la aplicación, ya que la combinación de información como las tasas de acceso y respuesta puede proporcionar una visión clara del estado de la aplicación.
F5 BIG-IP ASM ofrece una solución todo en uno para proteger las aplicaciones y las organizaciones de los ataques DDoS mediante:
1 «'Tis the Season of DDoS», blog de PandaLabs, diciembre de 2010