Evolución del Firewall de Aplicaciones Web: de cortafuegos de red a sistemas de protección en la nube con aprendizaje automático

En nuestro material anterior sobre la temática de la nube, hemos contado, abordamos cómo proteger los recursos de TI en la nube pública y por qué los antivirus tradicionales no son del todo adecuados para estas necesidades. En este post, continuaremos el tema de la seguridad en la nube y hablaremos sobre la evolución del WAF y sobre qué es mejor elegir: hardware, software o la nube. 

Evolución del Firewall de Aplicaciones Web: de cortafuegos de red a sistemas de protección en la nube con aprendizaje automático

¿Qué es un WAF?

Más del 75% de los ataques de hackers se dirigen a vulnerabilidades en aplicaciones y sitios web: tales ataques suelen ser indetectables para la infraestructura y los servicios de seguridad informática. Las vulnerabilidades en aplicaciones web, a su vez, conllevan riesgos de compromiso y fraude de cuentas y datos personales de usuarios, contraseñas, y números de tarjetas de crédito. Además, las vulnerabilidades en un sitio web sirven como punto de entrada para los atacantes a la red corporativa.

El Firewall de Aplicaciones Web (WAF) es una pantalla de protección que bloquea ataques a aplicaciones web: inyecciones SQL, scripting entre sitios, ejecución remota de código, ataques por fuerza bruta y eludir la autorización (auth bypass). Esto incluye ataques que utilizan vulnerabilidades de día cero. Los firewalls de aplicaciones proporcionan protección monitoreando el contenido de las páginas web, incluyendo HTML, DHTML y CSS, y filtrando solicitudes potencialmente maliciosas por HTTP/HTTPS.

¿Cuáles fueron las primeras soluciones?

Los primeros intentos de crear un Firewall de Aplicaciones Web se realizaron a principios de la década de 1990. Se conoce al menos a tres ingenieros que trabajaron en este ámbito. El primero es el profesor de ciencias de la computación Gene Spafford de la Universidad de Purdue. Él describió la arquitectura de un firewall de aplicaciones con proxy y la publicó en 1991 en su libro «Seguridad UNIX en la práctica».

El segundo y el tercero fueron expertos en seguridad informática, William Cheswick y Marcus Ranum de Bell Labs. Ellos desarrollaron uno de los primeros prototipos de firewalls de aplicaciones. Su difusión fue gestionada por la empresa DEC, que lanzó el producto bajo 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 mejorada — la capacidad de bloquear ataques a FTP y RSH. Por esta razón, el primer WAF considerado hoy en día es un producto de Perfecto Technologies (más tarde Sanctum). En 1999, la empresa ha presentado el sistema AppShield. En ese momento, Perfecto Technologies estaba desarrollando soluciones de ciberseguridad para el comercio electrónico, y el público objetivo de su nuevo producto eran las tiendas en línea. AppShield podía analizar las solicitudes HTTP y bloquear ataques basados en políticas de ciberseguridad dinámicas.

Casi al mismo tiempo que AppShield (en 2002), apareció el primer WAF de código abierto. Este fue ModSecurity. Se creó con el objetivo de popularizar las tecnologías WAF y todavía es mantenido por la comunidad IT (aquí está su el repositorio en GitHub). ModSecurity bloquea ataques a aplicaciones, basándose en un conjunto estándar de expresiones regulares (firmas) — herramientas para verificar solicitudes según un patrón — OWASP Core Rule Set.

Como resultado, los desarrolladores lograron su objetivo: comenzaron a aparecer nuevas soluciones WAF en el mercado, incluidas aquellas basadas en ModSecurity.

Tres generaciones — ya una historia

Se suelen distinguir tres generaciones de sistemas WAF, que han evolucionado a medida que han avanzado las tecnologías.

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

Un ejemplo de detección basada en expresiones regulares es el ya mencionado proyecto Core Rule Set de código abierto. Otro ejemplo es Naxsi, que también es de código abierto. Los sistemas con expresiones regulares tienen una serie de desventajas, en particular, al detectar una nueva vulnerabilidad, el administrador debe crear reglas adicionales manualmente. En el caso de una infraestructura IT a gran escala, puede haber miles de reglas. Gestionar tal cantidad de expresiones regulares es bastante complicado, sin mencionar que su verificación puede disminuir el rendimiento de la red.

Las expresiones regulares también tienen un alto nivel de falsos positivos. El famoso lingüista Noam Chomsky propuso una clasificación de gramáticas, dividiéndolas en cuatro niveles de complejidad condicional. Según esta clasificación, las reglas de los cortafuegos se pueden describir solo con expresiones regulares que no contemplan desviaciones del patrón. Esto significa que los atacantes pueden fácilmente "engañar" a un WAF de primera generación. Uno de los métodos para combatir esto es agregar caracteres especiales a las solicitudes a las aplicaciones que no afectan la lógica de los datos maliciosos, pero infringen la regla de firma.

Evolución del Firewall de Aplicaciones Web: de cortafuegos de red a sistemas de protección en la nube con aprendizaje automático

Segunda generación. Para superar los problemas relacionados con el rendimiento y la precisión de los WAF, se desarrollaron cortafuegos para aplicaciones de segunda generación. Estos incluyen analizadores responsables de detectar tipos de ataques muy específicos (sobre HTML, JS, etc.). Estos analizadores trabajan con tokens especiales que describen las solicitudes (por ejemplo, variable, cadena, desconocido, número). Las secuencias de tokens potencialmente maliciosas se extraen a una lista separada, que se verifica regularmente con el sistema WAF. Este enfoque se presentó por primera vez en la conferencia Black Hat 2012 a través de C/C++ la biblioteca libinjection, que permite identificar inyecciones SQL.

En comparación con los WAF de primera generación, los analizadores especializados pueden funcionar más rápido. Sin embargo, no han resuelto las dificultades asociadas con la configuración manual del sistema ante la aparición de nuevos ataques maliciosos.

Evolución del Firewall de Aplicaciones Web: de cortafuegos de red a sistemas de protección en la nube con aprendizaje automático

Tercera generación. La evolución en la lógica de detección de tercera generación radica en la aplicación de métodos de aprendizaje automático, permitiendo acercar al máximo la gramática de detección a la gramática real de SQL/HTML/JS de los sistemas protegidos. Esta lógica de detección es capaz de adaptar la máquina de Turing para abarcar gramáticas recursivamente enumeradas. Anteriormente, la tarea de crear una máquina de Turing adaptable era irresoluble, hasta que se publicaron las primeras investigaciones sobre máquinas neuronales de Turing.

El aprendizaje automático ofrece una oportunidad única para adaptar cualquier gramática para abarcar cualquier tipo de ataque sin necesidad de crear listas de firmas manualmente, como se requería en la detección de primera generación, y sin desarrollar nuevos tokenizadores/parsers para nuevos tipos de ataques, como las inyecciones de Memcached, Redis, Cassandra, SSRF, como exigía la metodología de segunda generación.

Al combinar las tres generaciones de lógica de detección, podemos dibujar un nuevo diagrama, donde la detección de tercera generación se representa con un contorno rojo (fig. 3). Esta generación incluye una de las soluciones que implementamos en la nube junto a 'Onsec', desarrollador de la plataforma de protección adaptativa de aplicaciones web y API Valarm.

Ahora en la lógica de detección se utiliza la retroalimentación de la aplicación para la autoajuste. Dentro del aprendizaje automático, este ciclo de retroalimentación se llama 'refuerzo'. Por lo general, hay uno o varios tipos de este refuerzo:

  • Análisis del comportamiento de la respuesta de la aplicación (pasivo)
  • Escaneo/fuzzer (activo)
  • Archivos de informes/procedures interceptores/trampas (post mortem)
  • Manual (determinado por el supervisor)

Como resultado, la lógica de detección de tercera generación también aborda un problema importante de precisión. Ahora es posible no solo 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.

Evolución del Firewall de Aplicaciones Web: de cortafuegos de red a sistemas de protección en la nube con aprendizaje automático

Evolución del Firewall de Aplicaciones Web: de cortafuegos de red a sistemas de protección en la nube con aprendizaje automático

Evolución del Firewall de Aplicaciones Web: de cortafuegos de red a sistemas de protección en la nube con aprendizaje automático

A continuación, consideremos las capacidades tecnológicas de las diferentes opciones de implementación de WAF.

¿Hardware, software o nube: qué elegir?

Una de las opciones de implementación de firewalls de aplicaciones es la solución 'hardware'. Estos sistemas son dispositivos de computación especializados que la empresa instala localmente en su centro de datos. Sin embargo, en este caso, es necesario comprar hardware propio y pagar a los integradores por su configuración y ajuste (si la empresa no tiene su propio departamento de TI). Además, cualquier hardware se vuelve obsoleto y se desgasta, por lo que los clientes se ven obligados a presupuestar para la actualización del hardware.

Otra opción para implementar un WAF es la implementación de software. La solución se instala como un complemento para algún software (por ejemplo, ModSecurity se configura sobre Apache) y funciona en el mismo servidor. Por lo general, este tipo de soluciones se pueden desplegar tanto en un servidor físico como en la nube. Su desventaja es la limitada escalabilidad y el apoyo por parte del proveedor.

La tercera opción es configurar un WAF desde la nube. Estas soluciones son proporcionadas por proveedores de nube como un servicio por suscripción. Las empresas no necesitan adquirir ni configurar hardware especializado, ya que estas tareas recaen en el proveedor del servicio. Un punto importante es que un WAF moderno en la nube no implica migrar recursos a la plataforma del proveedor. El sitio puede estar desplegado en cualquier lugar, incluso localmente.

Por qué cada vez más se mira hacia un WAF en la nube, lo explicaremos a continuación.

Qué puede hacer un WAF en la nube

Desde el punto de vista de las capacidades tecnológicas:

  • Las actualizaciones son responsabilidad del proveedor. El WAF se proporciona por suscripción, por lo que el proveedor del servicio se encarga de mantener la actualidad de las actualizaciones y licencias. Las actualizaciones no solo se refieren al software, sino también al hardware. El proveedor actualiza el parque de servidores y se encarga de su mantenimiento. También se encarga del balanceo de carga y la redundancia. Si ocurre una falla en el servidor WAF, el tráfico se redirige de inmediato a otra máquina. La distribución racional del tráfico permite evitar situaciones en las que el firewall entra en modo de falla abierta — no puede manejar la carga y deja de filtrar solicitudes.
  • Patching virtual. Los parches virtuales restringen el acceso a las partes comprometidas de la aplicación hasta que el desarrollador cierre la vulnerabilidad. Como resultado, el cliente del proveedor de la nube puede esperar tranquilamente a que el proveedor del software correspondiente publique los "parches" oficiales. Hacer esto de la manera más rápida posible es una prioridad para el proveedor de software. Por ejemplo, en la plataforma "Valarm", un módulo de software separado se encarga del parcheo virtual. El administrador puede añadir expresiones regulares personalizadas para bloquear solicitudes maliciosas. El sistema permite marcar algunas solicitudes con la etiqueta "Datos confidenciales". Así, sus parámetros se ocultan y no se transmiten bajo ninguna circunstancia fuera de la zona de trabajo del firewall.
  • Escáner de perímetro y vulnerabilidades integrado. Esto permite determinar de manera autónoma los límites de la infraestructura de TI, utilizando datos de solicitudes DNS y el protocolo WHOIS. Después, el WAF analiza automáticamente los servicios y aplicaciones que funcionan dentro del perímetro (realiza un escaneo de puertos). El firewall es capaz de detectar todos los tipos comunes de vulnerabilidades — SQLi, XSS, XXE, entre otros — y identificar errores en la configuración del software, como el acceso no autorizado a repositorios de Git y BitBucket, así como accesos anónimos a Elasticsearch, Redis y MongoDB.
  • Los ataques se monitorizan con recursos de la nube. Por lo general, los proveedores de nube cuentan con grandes volúmenes de capacidad de computación. Esto permite un análisis de amenazas con alta precisión y velocidad. Se despliega en la nube un clúster de nodos filtradores, a través de los cuales pasa todo el tráfico. Estos nodos bloquean ataques a aplicaciones web y envían estadísticas al Centro de Análisis. Este utiliza algoritmos de aprendizaje automático para actualizar las reglas de bloqueo para todas las aplicaciones protegidas. La implementación de dicho esquema se indica en la figura 4. Estas reglas de seguridad adaptadas minimizan el número de falsos positivos del firewall.

Evolución del Firewall de Aplicaciones Web: de cortafuegos de red a sistemas de protección en la nube con aprendizaje automático

Ahora hablemos un poco sobre las características de los WAF en la nube desde el punto de vista organizacional y de gestión:

  • Transición a OpEx. En el caso de los WAF en la nube, el costo de implementación será cero, ya que el proveedor ya ha pagado todo el hardware y las licencias, y el pago del servicio se realiza mediante suscripción.
  • Planes de tarifa variados. Un usuario del servicio en la nube puede conectar o desconectar opciones adicionales rápidamente. La gestión de las funciones se realiza desde un único panel de control, que también está protegido. El acceso se realiza a través de HTTPS, además de contar con un mecanismo de autenticación de dos factores basado en el protocolo TOTP (Time-based One-Time Password Algorithm).
  • Conexión por DNS. Se puede cambiar el DNS de forma autónoma y configurar el enrutamiento en la red. Para resolver estas tareas no es necesario reclutar y capacitar a especialistas individuales. Por lo general, el soporte técnico del proveedor puede ayudar con la configuración.

Las tecnologías WAF han evolucionado desde simples cortafuegos de red con reglas empíricas hasta sistemas de protección complejos con algoritmos de aprendizaje automático. Ahora, los cortafuegos de aplicaciones cuentan con un amplio espectro de funciones que eran difíciles de implementar en los años 90. Gran parte de esta nueva funcionalidad ha sido posible gracias a las tecnologías en la nube. Las soluciones WAF y sus componentes continúan evolucionando, al igual que otros campos de la ciberseguridad.

El texto fue preparado por Alexander Karpuzikov, gerente de desarrollo de productos de ciberseguridad en el proveedor de nube #CloudMTS.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster