El WAF de Cloudflare ayuda a los propietarios de los sitios a proteger su aplicación contra los atacantes. Para ello, analiza el tráfico con las reglas administradas de Cloudflare: reglas especializadas escritas a mano que detectan y evitan las cargas maliciosas. Sin embargo, tienen un problema: a menos que una regla se haya escrito para un ataque determinado, no lo detectará.
Hoy, resolvemos este problema, ya que nuestro WAF es ahora más inteligente. Anunciamos que nuestro sistema de puntuación de ataque del WAF ya está disponible de forma general.
Los clientes de nuestros paquetes de seguridad básica y avanzada del plan Enterprise accederán de forma gradual a esta nueva función. Todos los demás clientes del plan Enterprise podrán acceder en los próximos meses.
Nuestro sistema de puntuación de ataque del WAF, totalmente complementario de nuestras reglas administradas de Cloudflare, clasifica todas las solicitudes utilizando un modelo entrenado con positivos reales observados en toda la red de Cloudflare. De esta forma, puedes detectar (y bloquear) la evasión, la omisión y las nuevas técnicas de ataque antes de que sean conocidas públicamente.
El problema de los WAF basados en la firma
Los atacantes que intentan infiltrar las aplicaciones web a menudo utilizan cargas conocidas o recientemente expuestas. Desarrollamos el WAF de Cloudflare para manejar también estos ataques. De hecho, el conjunto de reglas administradas de Cloudflare y el conjunto de reglas administradas OWASP de Cloudflare se actualizan continuamente. Su objetivo es proteger las aplicaciones web contra las amenazas conocidas, al mismo tiempo que minimizan los falsos positivos.
El asunto se complica en el caso de los ataques que no se conocen públicamente. Estos se denominan a menudo ataques de día cero. Aunque nuestros equipos hacen todo lo posible por investigar los nuevos vectores de amenaza y mantener actualizadas las reglas administradas de Cloudflare, la velocidad humana es un factor limitante. Cada vez que aparece un nuevo vector, los atacantes tienen una nueva oportunidad de omitir la mitigación.
El ataque de RCE a Log4j es un ejemplo conocido por todos, donde tuvimos que implementar frecuentes actualizaciones de las reglas a medida que descubríamos nuevas omisiones cambiando los patrones de ataque conocidos.
La solución: complementar las firmas con un modelo de puntuación de aprendizaje automático
Nuestro sistema de puntuación de ataque del WAF es una mejora basada en el aprendizaje automático del WAF de Cloudflare. Puntúa cada solicitud según sea más o menos probable de que se trate de una solicitud maliciosa. Puedes utilizar esta puntuación, junto con las reglas administradas de Cloudflare existentes, para implementar reglas personalizadas del WAF para proteger tu aplicación.
¿Cómo utilizamos el aprendizaje automático en el WAF de Cloudflare?
En cualquier problema de clasificación, la calidad del conjunto de datos de entrenamiento está directamente relacionada con la calidad del resultado de la clasificación. Por lo tanto, dedicamos muchos esfuerzos a preparar los datos de entrenamiento.
Y aquí es donde utilizamos uno de los poderes especiales de Cloudflare: aprovechamos la visibilidad de la red de Cloudflare recopilando millones de muestras de positivos reales generadas por nuestro WAF existente basado en la firma, y la mejoramos aún más mediante la utilización de las técnicas que describimos en "Mejora de la precisión del WAF de aprendizaje automático".
Esto nos ha permitido entrenar un modelo que puede clasificar, dada una solicitud HTTP, la probabilidad de que dicha solicitud contenga una carga maliciosa. Lo que es más importante, también puede clasificar cuando una solicitud es muy similar a un positivo real conocido, pero aun así suficientemente distinta para evitar una coincidencia de regla administrada.
El modelo se ejecuta en línea con el tráfico HTTP y, a partir de hoy, está optimizado para tres categorías de ataque: inyección de código SQL (SQLi), scripting entre sitios (XSS) y una amplia variedad de ataques de ejecución remota de código (RCE) como, por ejemplo, inyección de shell, inyección de PHP, riesgos de tipo Apache Struts, Apache log4j y ataques similares que causan la ejecución remota de código (RCE). Tenemos previsto añadir próximamente más tipos de ataque.
Los resultados de las puntuaciones son similares a las puntuaciones de la gestión de bots. Van del 1 al 99, donde las puntuaciones más bajas indican solicitudes HTTP maliciosas o posiblemente maliciosas y las puntuaciones más altas solicitudes HTTP limpias o posiblemente limpias.
Demostramos el valor inmediato
Como ejemplo de la eficacia de este nuevo sistema, el 13 de octubre de 2022 identificamos CVE-2022-42889 como una "Gravedad crítica" en Apache Commons Text que afecta a las versiones 1.5 a 1.9.
Las reglas administradas de Cloudflare no bloquearon de forma inmediata la carga utilizada en el ataque. No obstante, el sistema de puntuación de ataque la identificó correctamente (debido a una puntuación muy baja). Esto nos permitió proteger los puntos finales e identificar el ataque sin ningún tiempo de implementación. Por supuesto, aun así actualizamos también las reglas administradas de Cloudflare para cubrir el nuevo vector de ataque. Esto nos permite mejorar nuestros datos de entrenamiento, ya que seguimos completando nuestro bucle de información.
Descubre lo que no sabes con los nuevos análisis de seguridad
Además del sistema de puntuación de ataque, tenemos otro anuncio importante: nuestros nuevos análisis de seguridad. Puedes encontrar más información sobre ellos en el anuncio oficial.
Con los nuevos análisis de seguridad, puedes visualizar la distribución de la puntuación de ataque, independientemente de si las solicitudes se han bloqueado o no, y puedes explorar ataques potencialmente maliciosos antes de implementar las reglas.
La vista no muestra únicamente la puntuación de ataque del WAF. También muestra la gestión de bots y la exploración del contenido, y permite combinar y correlacionar los filtros como prefieras.
Cómo utilizar la puntuación de ataque del WAF y los análisis de seguridad
Hagamos una demostración para detectar ataques utilizando los nuevos análisis de seguridad. A continuación, utilizaremos las puntuaciones de ataque del WAF para mitigarlos.
Primeros pasos con los análisis de seguridad
Esta nueva vista tiene la capacidad de mostrarte toda la información sobre tu tráfico en una única ubicación. Dispones de decenas de filtros que puedes combinar y correlacionar, las estadísticas principales y varias distribuciones de gráficos interactivos, así como las muestras de registros para verificar tu hipótesis. Básicamente, te permite obtener una vista previa de una serie de filtros, sin necesidad de crear primero reglas personalizadas del WAF.
Paso 1 - acceder a los nuevos análisis de seguridad: para acceder a los nuevos análisis de seguridad en el panel de control, ve a la pestaña "Seguridad" (Seguridad > Análisis), la pestaña anterior (Seguridad > Información general) aún existe en (Seguridad > Eventos). Por ahora, para poder ver los nuevos análisis de seguridad, debes tener acceso al menos a la puntuación de ataque del WAF.
Paso 2 - analizar la información: en la página de los nuevos análisis, verás la distribución temporal de todo tu tráfico, junto con muchos filtros, en la parte derecha, que muestran las distribuciones correspondientes a distintas funciones, tales como la puntuación de ataque del WAF y la puntuación de la gestión de bots, para que aplicar los interesantes filtros que hemos añadido a la sección “Información" sea increíblemente fácil.
Si eliges la opción "Análisis de ataques", verás una descripción general en forma de gráfico apilado del aspecto de tu tráfico desde la perspectiva de la puntuación de ataque del WAF.
Paso 3 - filtrar según el tráfico de ataque: una buena manera de empezar es buscar solicitudes HTTP no mitigadas que se han clasificado como ataques. Para ello, utiliza los controles deslizantes de la puntuación de ataque situados a la derecha, o bien selecciona cualquiera de los filtros de la información, que son atajos de un solo clic muy fáciles de utilizar. Todos los gráficos se actualizarán automáticamente según los filtros seleccionados.
Paso 4 - verificar el tráfico de ataque. Para ello, amplía la muestra de registros situada debajo del gráfico de distribución del tráfico. Por ejemplo, en el siguiente registro ampliado, puedes ver una puntuación muy baja de RCE, lo que indica un "ataque", junto con una puntuación de bot que indica que la solicitud estaba "Probablemente automatizada". Si comprobamos el campo "Ruta", podemos confirmar que realmente se trata de una solicitud maliciosa. Ten en cuenta que actualmente no se registran/muestran todos los campos. Por ejemplo, una solicitud podría recibir una puntuación baja debido a una carga maliciosa en el cuerpo HTTP, lo que en estos momentos no podemos verificar fácilmente en la muestra de registros.
Paso 5 - crear una regla para mitigar el tráfico de ataque: una vez que has verificado que tu filtro no coincide con falsos positivos, con un solo clic en el botón "Crear regla personalizada" irás al creador de reglas personalizadas del WAF, donde todos tus filtros ya estarán completados y listos para que hagas clic en "Implementar".
Puntuaciones de ataque en los registros de eventos de seguridad
Las puntuaciones de ataque del WAF también están disponibles en los registros HTTP y si vas a (Seguridad > Eventos) al ampliar cualquiera de las muestras de registros de eventos:
Ten en cuenta que todos los nuevos campos están disponibles en las reglas personalizadas del WAF y las reglas de limitación de velocidad del WAF. Estas se documentan en nuestra documentación para los desarrolladores: cf.waf.score
, cf.waf.score.xss
, cf.waf.score.sqli
y cf.waf.score.rce
.
Aunque la forma más fácil de utilizar estos campos es empezar desde nuestro panel de control de los nuevos análisis de seguridad, puedes utilizarlos tal cual al crear reglas y, por supuesto, combinarlos con cualquier otro campo disponible. El ejemplo siguiente despliega una regla de Acción "Registro" para cualquier solicitud con una puntuación de ataque del WAF agregada (cf.waf.score
) inferior a 40.
¿Y después?
Esta es solo la primera de muchas medidas para que nuestro WAF de Cloudflare sea verdaderamente "inteligente". Además de implementar esta nueva tecnología en más clientes, ya estamos trabajando para proporcionar una visibilidad aún mayor y para abarcar vectores de ataque adicionales. Para mantenerte al corriente de eso y mucho más, ¡estate atento!