Suscríbete para recibir notificaciones de nuevas publicaciones:

Aprendizaje automático para la optimización del WAF

2022-03-15

4 min de lectura
Esta publicación también está disponible en English, 繁體中文, Français, Deutsch, Italiano, 日本語, 한국어 y 简体中文.

Cloudflare gestiona 32 millones de solicitudes HTTP por segundo. Además, más del 22 % de todos los sitios web con un servidor web conocido por W3Techs utilizan nuestros servicios. Nos encontramos en una situación privilegiada para proteger el tráfico de 1 de cada 5 propiedades de Internet, lo que nos permite identificar nuevas amenazas y hacer un seguimiento de su evolución y cambio.

Improving the WAF with Machine Learning

Nuestro Firewall de aplicaciones web (WAF) es la base de nuestras herramientas de seguridad, y las reglas administradas son una función clave del WAF. Se trata de una colección de reglas creadas por el equipo de analistas de Cloudflare que bloquean las solicitudes cuando muestran patrones de ataques conocidos. Estas reglas administradas funcionan muy bien para los patrones de vectores de ataque establecidos, ya que se han probado minuciosamente para minimizar tanto los falsos negativos (pasar por alto un ataque) como los falsos positivos (encontrar un ataque cuando no lo hay). Entre los factores negativos, las reglas administradas a menudo pasan por alto las variaciones de los ataques (también conocidas como omisiones), ya que las reglas estáticas basadas en expresiones regulares son intrínsecamente sensibles a las variaciones de firma aplicadas, por ejemplo, por técnicas de fuzzing.

Observamos este problema cuando lanzamos las protecciones para Log4j. Durante unos días, después de que se hiciera pública la vulnerabilidad, tuvimos que actualizar constantemente las reglas para que se ajustaran a las variaciones y mutaciones conforme los atacantes intentaban omitir el WAF. Además, la optimización de las reglas requiere una importante intervención del usuario y, por lo general, solo funciona después de que se hayan identificado o incluso explotado las omisiones, lo que hace que la protección sea reactiva en lugar de proactiva.

Hoy estamos encantados de complementar los conjuntos de reglas administradas (como el conjunto de reglas básicas de OWASP y las reglas administradas por Cloudflare) con una nueva herramienta destinada a identificar las omisiones y las cargas útiles maliciosas sin intervención del usuario y antes de que se produzcan. Los clientes pueden ahora acceder a las señales de un modelo de aprendizaje automático entrenado en el tráfico legítimo/malintencionado clasificado por las reglas administradas y los datos aumentados, mejorando así la protección frente a una variedad más amplia de ataques antiguos y nuevos.

Te damos la bienvenida a nuestro nuevo sistema de detección WAF con aprendizaje automático.

Los clientes suscritos a los planes Enterprise, Pro y Business pueden conseguir acceso anticipado al nuevo sistema de detección. Apúntate a la lista de espera si te interesa hacer una prueba. A largo plazo, estará disponible para los clientes de niveles superiores.

El primer WAF de autoaprendizaje

El nuevo sistema de detección complementa los conjuntos de reglas administradas existentes con tres ventajas principales:

  1. Se ejecuta en todo el tráfico. Cada solicitud se puntúa en función de la probabilidad de que contenga un ataque SQLi o XSS, por ejemplo. De este modo, se facilita una nueva experiencia de análisis del WAF que te permite explorar tendencias y patrones en tu tráfico general.

  2. La tasa de detección mejora en función del tráfico anterior y los comentarios recibidos. El modelo se entrena con el tráfico legítimo y malintencionado según las reglas administradas en todo el tráfico de Cloudflare. Los sitios pequeños pueden obtener así el mismo nivel de protección que las propiedades más grandes de Internet.

  3. Nueva definición de rendimiento. El motor de aprendizaje automático identifica las omisiones y anomalías antes de que sean explotadas o identificadas por recursos humanos.

El ingrediente secreto es una combinación de modelos innovadores de aprendizaje automático, entre los que se incluye: un vasto conjunto de datos de entrenamiento desarrollado a partir de los ataques que bloqueamos a diario, técnicas de aumento de datos, el marco adecuado de evaluación y pruebas basado en el principio de las pruebas de comportamiento y una ingeniería de vanguardia que nos permite evaluar cada solicitud con una latencia insignificante.

Nueva experiencia WAF

El nuevo sistema de detección se basa en el paradigma lanzado con Análisis de bots. Siguiendo este enfoque, se evalúa cada solicitud, a la que se asigna una puntuación, independientemente de que adoptemos medidas sobre ella. Dado que puntuamos cada solicitud, los usuarios pueden visualizar cómo evoluciona la puntuación a lo largo del tiempo para la totalidad del tráfico dirigido a su servidor.

Los clientes pueden utilizar el motor de categorización de aprendizaje automático para identificar tendencias en su tráfico

Customers can use the machine learning categorization engine to identify trends in their traffic.

Además, los usuarios pueden visualizar el histograma de cómo se puntuaron las solicitudes para un vector de ataque específico (como SQLi) y encontrar qué puntuación es un buen valor para separar el tráfico legítimo del malintencionado.

La mitigación real se lleva a cabo con reglas del WAF personalizadas en las que se utiliza la puntuación para decidir qué solicitudes se deben bloquear. De este modo, los clientes pueden crear reglas cuya lógica incluye cualquier parámetro de las solicitudes HTTP, incluidos los campos dinámicos rellenados por Cloudflare, como las puntuaciones de los bots.

Firewall rule built on waf ml score.

Regla de firewall creada sobre la puntuación waf ml

Ahora estamos estudiando la posibilidad de ampliar este enfoque para que funcione también para las reglas administradas (conjunto de reglas básicas de OWASP y las reglas administradas por Cloudflare). Los clientes podrán identificar tendencias y crear reglas basadas en patrones que son visibles cuando se observa el tráfico general. En lugar de crear reglas basadas en ensayo y error, se registra el tráfico para validarlas y finalmente aplicar la protección.

¿Cómo funciona?

Las detecciones basadas en el aprendizaje automático complementan los conjuntos de reglas administradas existentes, tales como el conjunto de reglas básicas de OWASP y las reglas administradas por Cloudflare. El sistema se basa en modelos diseñados para identificar variaciones de patrones de ataque y anomalías sin la supervisión directa de los investigadores o del usuario final.

Histogram of the score across all traffic hitting an application.

A día de hoy, presentamos puntuaciones para dos vectores de ataque: inyección de código SQL y scripting entre sitios. Los usuarios pueden crear reglas WAF/firewall personalizadas utilizando tres puntuaciones distintas: una puntuación total (cf.waf.ml.score), una para SQLi y otra para XSS (cf.waf.ml.score.sqli, cf.waf.ml.score.xss, respectivamente). Las puntuaciones pueden tener valores entre 1 y 99, siendo 1 el tráfico definitivamente malicioso y 99 el tráfico legítimo.

Histograma de la puntuación de todo el tráfico que llega a una aplicación

The detection engine provides a breakdown of where the threats were found (for example, body, URI, headers).

A continuación, el modelo se entrena basándose en el tráfico clasificado por las reglas de WAF existentes y funciona sobre una versión transformada de la solicitud original, lo que facilita la identificación de las huellas de los ataques.

Para cada solicitud, el modelo puntúa cada parte de la solicitud de forma independiente, de modo que es posible identificar dónde se han detectado las cargas útiles maliciosas, por ejemplo, en el cuerpo de la solicitud, la URI o los encabezados.

El motor de detección proporciona un desglose de dónde se encontraron las amenazas (por ejemplo, cuerpo, URI, encabezados)

Esto parece fácil sobre el papel, pero hay una serie de desafíos que los ingenieros de Cloudflare han tenido que resolver para llegar hasta aquí. Entre ellos se incluye cómo desarrollar un conjunto de datos fiable, el etiquetado de datos escalable, la selección de la arquitectura del modelo adecuado y el requisito de ejecutar la categorización en cada solicitud procesada por la red global de Cloudflare (es decir, 32 millones de veces por segundo).

En las próximas semanas, el equipo de ingeniería publicará artículos en el blog que te ayudarán a comprender mejor cómo funciona la solución de forma avanzada.

Perspectivas

En los próximos meses, pondremos el nuevo motor de detección a disposición de los clientes y les pediremos opinión sobre su rendimiento. A largo plazo, tenemos previsto ampliar el motor de detección para cubrir todos los vectores de ataque ya identificados por las reglas administradas y utilizar los ataques bloqueados por el modelo de aprendizaje automático para mejorar aún más nuestros conjuntos de reglas administradas.

Protegemos redes corporativas completas, ayudamos a los clientes a desarrollar aplicaciones web de forma eficiente, aceleramos cualquier sitio o aplicación web, prevenimos contra los ataques DDoS, mantenemos a raya a los hackers, y podemos ayudarte en tu recorrido hacia la seguridad Zero Trust.

Visita 1.1.1.1 desde cualquier dispositivo para empezar a usar nuestra aplicación gratuita y beneficiarte de una navegación más rápida y segura.

Para saber más sobre nuestra misión para ayudar a mejorar Internet, empieza aquí. Si estás buscando un nuevo rumbo profesional, consulta nuestras ofertas de empleo.
Security Week (ES)WAFIA

Síguenos en X

Cloudflare|@cloudflare

Publicaciones relacionadas