La evolución del Web Application Firewall: de firewalls a sistemas de protección basados ​​en la nube con aprendizaje automático

En nuestro material anterior sobre temas de la nube, dicho, cómo proteger los recursos de TI en la nube pública y por qué los antivirus tradicionales no son del todo adecuados para estos fines. En este post continuaremos con el tema de la seguridad en la nube y hablaremos de la evolución de WAF y qué es mejor elegir: hardware, software o nube. 

La evolución del Web Application Firewall: de firewalls a sistemas de protección basados ​​en la nube con aprendizaje automático

¿Qué es WAF?

Más del 75% de los ataques de piratas informáticos tienen como objetivo las vulnerabilidades de aplicaciones web y sitios web: estos ataques suelen ser invisibles para la infraestructura de seguridad de la información y los servicios de seguridad de la información. Las vulnerabilidades en las aplicaciones web conllevan, a su vez, riesgos de compromiso y fraude de cuentas de usuario y datos personales, contraseñas y números de tarjetas de crédito. Además, las vulnerabilidades del sitio web sirven como punto de entrada para los atacantes a la red corporativa.

Web Application Firewall (WAF) es una pantalla protectora que bloquea los ataques a aplicaciones web: inyección SQL, secuencias de comandos entre sitios, ejecución remota de código, fuerza bruta y omisión de autorización. Incluyendo ataques que explotan vulnerabilidades de día cero. Los firewalls de aplicaciones brindan protección al monitorear el contenido de la página web, incluidos HTML, DHTML y CSS, y al filtrar solicitudes HTTP/HTTPS potencialmente maliciosas.

¿Cuáles fueron las primeras decisiones?

Los primeros intentos de crear un firewall de aplicaciones web se realizaron a principios de los años 90. Se sabe que al menos tres ingenieros han trabajado en este campo. El primero es el profesor de informática Gene Spafford de la Universidad Purdue. Describió la arquitectura de un firewall de aplicación proxy y la publicó en 1991 en el libro "Seguridad UNIX en la práctica".

El segundo y tercero fueron los especialistas en seguridad de la información William Cheswick y Marcus Ranum de Bell Labs. Desarrollaron uno de los primeros prototipos de firewall de aplicaciones. Fue distribuido por DEC; el producto se lanzó con el nombre SEAL (Secure External Access Link).

Pero SEAL no era una solución WAF completa. Era un firewall de red clásico con funcionalidad avanzada: la capacidad de bloquear ataques a FTP y RSH. Por esta razón, se considera que la primera solución WAF en la actualidad es producto de Perfecto Technologies (más tarde Sanctum). En 1999 ella presentado Sistema AppShield. En ese momento, Perfecto Technologies estaba desarrollando soluciones de seguridad de la información para el comercio electrónico y las tiendas online se convirtieron en el público objetivo de su nuevo producto. AppShield pudo analizar solicitudes HTTP y bloquear ataques basándose en políticas dinámicas de seguridad de la información.

Casi al mismo tiempo que AppShield (en 2002), apareció el primer WAF de código abierto. Se convirtió en ModSecurity. Fue creado con el objetivo de popularizar las tecnologías WAF y todavía cuenta con el apoyo de la comunidad de TI (aquí está repositorio en GitHub). ModSecurity bloquea ataques a aplicaciones basándose en un conjunto estándar de expresiones regulares (firmas): herramientas para verificar solicitudes basadas en patrones. Conjunto de reglas básicas de OWASP.

Como resultado, los desarrolladores lograron lograr su objetivo: comenzaron a aparecer en el mercado nuevas soluciones WAF, incluidas las creadas sobre la base de ModSecurity.

Tres generaciones ya son historia

Se acostumbra distinguir tres generaciones de sistemas WAF, que han ido evolucionando con el desarrollo de la tecnología.

Primera generación. Funciona con expresiones regulares (o gramáticas). Esto incluye ModSecurity. El proveedor del sistema estudia los tipos de ataques a las aplicaciones y genera patrones que describen solicitudes legítimas y potencialmente maliciosas. WAF verifica estas listas y decide qué hacer en una situación particular: bloquear el tráfico o no.

Un ejemplo de detección basada en expresiones regulares es el proyecto ya mencionado. Conjunto de reglas básicas fuente abierta. Otro ejemplo - Naxsi, que también es de código abierto. Los sistemas con expresiones regulares tienen una serie de desventajas, en particular, cuando se descubre una nueva vulnerabilidad, el administrador tiene que crear reglas adicionales manualmente. En el caso de una infraestructura TI de gran escala, pueden existir varios miles de reglas. Administrar tantas expresiones regulares es bastante difícil, sin mencionar el hecho de que verificarlas puede reducir el rendimiento de la red.

Las expresiones regulares también tienen una tasa bastante alta de falsos positivos. El famoso lingüista Noam Chomsky propuso una clasificación de gramáticas en la que las dividió en cuatro niveles condicionales de complejidad. Según esta clasificación, las expresiones regulares sólo pueden describir reglas de firewall que no impliquen desviaciones del patrón. Esto significa que los atacantes pueden "engañar" fácilmente al WAF de primera generación. Un método para combatir esto es agregar caracteres especiales a las solicitudes de aplicaciones que no afecten la lógica de los datos maliciosos, pero violen la regla de firma.

La evolución del Web Application Firewall: de firewalls a sistemas de protección basados ​​en la nube con aprendizaje automático

Segunda generacion. Para evitar los problemas de rendimiento y precisión de los WAF, se desarrollaron firewalls de aplicaciones de segunda generación. Ahora tienen analizadores que se encargan de identificar tipos de ataques estrictamente definidos (en HTML, JS, etc.). Estos analizadores trabajan con tokens especiales que describen consultas (por ejemplo, variable, cadena, desconocido, número). Las secuencias de tokens potencialmente maliciosas se colocan en una lista separada, que el sistema WAF verifica periódicamente. Este enfoque se mostró por primera vez en la conferencia Black Hat 2012 en forma de C/C++. bibliotecas de libinyección, que le permite detectar inyecciones de SQL.

En comparación con los WAF de primera generación, los analizadores especializados pueden ser más rápidos. Sin embargo, no resolvieron las dificultades asociadas con la configuración manual del sistema cuando aparecen nuevos ataques maliciosos.

La evolución del Web Application Firewall: de firewalls a sistemas de protección basados ​​en la nube con aprendizaje automático

Tercera generacion. La evolución en la lógica de detección de tercera generación consiste en el uso de métodos de aprendizaje automático que permiten acercar la gramática de detección lo más posible a la gramática SQL/HTML/JS real de los sistemas protegidos. Esta lógica de detección es capaz de adaptar una máquina de Turing para cubrir gramáticas recursivamente enumerables. Además, anteriormente la tarea de crear una máquina de Turing adaptable era irresoluble hasta que se publicaron los primeros estudios sobre las máquinas neuronales de Turing.

El aprendizaje automático proporciona la capacidad única de adaptar cualquier gramática para cubrir cualquier tipo de ataque sin crear manualmente listas de firmas como se requiere en la detección de primera generación, y sin desarrollar nuevos tokenizadores/analizadores para nuevos tipos de ataques como Memcached, Redis, Cassandra, inyecciones SSRF. , como lo exige la metodología de segunda generación.

Al combinar las tres generaciones de lógica de detección, podemos dibujar un nuevo diagrama en el que la tercera generación de detección está representada por el contorno rojo (Figura 3). Esta generación incluye una de las soluciones que estamos implementando en la nube junto con Onsek, desarrollador de la plataforma de protección adaptativa de aplicaciones web y la API Wallarm.

La lógica de detección ahora utiliza comentarios de la aplicación para autoajustarse. En el aprendizaje automático, este circuito de retroalimentación se llama "refuerzo". Normalmente, existen uno o más tipos de dicho refuerzo:

  • Análisis del comportamiento de respuesta de la aplicación (pasivo)
  • Escaneo/fuzzer (activo)
  • Archivos de informes/procedimientos de interceptación/trampas (después del hecho)
  • Manual (definido por el supervisor)

Como resultado, la lógica de detección de tercera generación también aborda la importante cuestión de la precisión. Ahora es posible no sólo evitar falsos positivos y falsos negativos, sino también detectar verdaderos negativos válidos, como la detección del uso de elementos de comando SQL en el Panel de control, la carga de plantillas de páginas web, solicitudes AJAX relacionadas con errores de JavaScript y otros.

La evolución del Web Application Firewall: de firewalls a sistemas de protección basados ​​en la nube con aprendizaje automático

La evolución del Web Application Firewall: de firewalls a sistemas de protección basados ​​en la nube con aprendizaje automático

La evolución del Web Application Firewall: de firewalls a sistemas de protección basados ​​en la nube con aprendizaje automático

A continuación, consideraremos las capacidades tecnológicas de varias opciones de implementación de WAF.

Hardware, software o nube: ¿qué elegir?

Una de las opciones para implementar firewalls de aplicaciones es una solución de hardware. Estos sistemas son dispositivos informáticos especializados que una empresa instala localmente en su centro de datos. Pero en este caso, tendrá que comprar su propio equipo y pagar dinero a los integradores para que lo configuren y lo depuren (si la empresa no tiene su propio departamento de TI). Al mismo tiempo, cualquier equipo queda obsoleto y queda inutilizable, por lo que los clientes se ven obligados a presupuestar actualizaciones de hardware.

Otra opción para implementar un WAF es una implementación de software. La solución se instala como complemento para algún software (por ejemplo, ModSecurity está configurado sobre Apache) y se ejecuta en el mismo servidor que él. Como regla general, estas soluciones se pueden implementar tanto en un servidor físico como en la nube. Su desventaja es la escalabilidad y el soporte del proveedor limitados.

La tercera opción es configurar un WAF desde la nube. Estas soluciones las proporcionan los proveedores de la nube como servicio de suscripción. La empresa no necesita comprar y configurar hardware especializado, estas tareas recaen sobre los hombros del proveedor de servicios. Un punto importante es que un WAF en la nube moderno no implica la migración de recursos a la plataforma del proveedor. El sitio se puede implementar en cualquier lugar, incluso en las instalaciones.

Explicaremos con más detalle por qué la gente ahora mira cada vez más hacia el WAF en la nube.

Qué puede hacer WAF en la nube

En términos de capacidades tecnológicas:

  • El proveedor es responsable de las actualizaciones.. WAF se proporciona mediante suscripción, por lo que el proveedor del servicio supervisa la relevancia de las actualizaciones y licencias. Las actualizaciones no sólo afectan al software, sino también al hardware. El proveedor actualiza el parque de servidores y lo mantiene. También es responsable del equilibrio de carga y la redundancia. Si el servidor WAF falla, el tráfico se redirige inmediatamente a otra máquina. La distribución racional del tráfico le permite evitar situaciones en las que el firewall ingresa al modo de apertura fallida: no puede hacer frente a la carga y deja de filtrar solicitudes.
  • Parches virtuales. Los parches virtuales restringen el acceso a partes comprometidas de la aplicación hasta que el desarrollador cierre la vulnerabilidad. Como resultado, el cliente del proveedor de la nube tiene la oportunidad de esperar tranquilamente hasta que el proveedor de tal o cual software publique "parches" oficiales. Hacer esto lo más rápido posible es una prioridad para el proveedor de software. Por ejemplo, en la plataforma Wallarm, un módulo de software independiente es responsable de la aplicación de parches virtuales. El administrador puede agregar expresiones regulares personalizadas para bloquear solicitudes maliciosas. El sistema permite marcar algunas solicitudes con el indicador “Datos confidenciales”. Entonces sus parámetros se enmascaran y en ningún caso se transmiten fuera del área de trabajo del firewall.
  • Escáner de vulnerabilidad y perímetro incorporado. Esto le permite determinar de forma independiente los límites de la red de la infraestructura de TI utilizando datos de consultas DNS y el protocolo WHOIS. Luego, WAF analiza automáticamente los servicios que se ejecutan dentro del perímetro (realiza escaneo de puertos). El firewall es capaz de detectar todos los tipos comunes de vulnerabilidades (SQLi, XSS, XXE, etc.) e identificar errores en la configuración del software, por ejemplo, acceso no autorizado a los repositorios de Git y BitBucket y llamadas anónimas a Elasticsearch, Redis, MongoDB.
  • Los ataques son monitoreados por recursos de la nube.. Los proveedores de la nube suelen disponer de una gran capacidad informática. Esto le permite analizar amenazas con alta precisión y velocidad. En la nube se implementa un grupo de nodos de filtro, a través del cual pasa todo el tráfico. Estos nodos bloquean ataques a aplicaciones web y envían estadísticas al Centro de análisis. Utiliza algoritmos de aprendizaje automático para actualizar las reglas de bloqueo de todas las aplicaciones protegidas. La implementación de dicho esquema se muestra en la Fig. 4. Estas reglas de seguridad personalizadas minimizan la cantidad de falsas alarmas de firewall.

La evolución del Web Application Firewall: de firewalls a sistemas de protección basados ​​en la nube con aprendizaje automático

Ahora un poco sobre las características de los WAF en la nube en términos de cuestiones organizativas y de gestión:

  • Transición a OpEx. En el caso de los WAF en la nube, el coste de implementación será cero, ya que todo el hardware y las licencias ya han sido pagados por el proveedor; el pago del servicio se realiza mediante suscripción.
  • Diferentes planes tarifarios. El usuario del servicio en la nube puede habilitar o deshabilitar rápidamente opciones adicionales. Las funciones se gestionan desde un único panel de control, que además es seguro. Se accede a través de HTTPS y además existe un mecanismo de autenticación de dos factores basado en el protocolo TOTP (algoritmo de contraseña de un solo uso basado en el tiempo).
  • Conexión a través de DNS. Puede cambiar el DNS usted mismo y configurar el enrutamiento de la red. Para resolver estos problemas no es necesario contratar ni formar especialistas individuales. Como regla general, el soporte técnico del proveedor puede ayudar con la configuración.

Las tecnologías WAF han evolucionado desde simples firewalls con reglas generales hasta complejos sistemas de protección con algoritmos de aprendizaje automático. Los firewalls de aplicaciones ofrecen ahora una amplia gama de características que eran difíciles de implementar en los años 90. En muchos sentidos, la aparición de nuevas funciones fue posible gracias a las tecnologías de la nube. Las soluciones WAF y sus componentes continúan evolucionando. Al igual que otras áreas de la seguridad de la información.

El texto fue preparado por Alexander Karpuzikov, gerente de desarrollo de productos de seguridad de la información del proveedor de nube #CloudMTS.

Fuente: habr.com

Añadir un comentario