
Primera iteración de WAF de retroalimentación basado en ML
NGWAF es creado por @yupengfei, @zhangbosen, @matthewng y @elizabethlim.
Un agradecimiento especial a @ruinahkoh por sus contribuciones en las etapas iniciales de NGWAF.
NGWAF es una prueba de concepto experimental y no está listo para su uso en producción en su estado actual.
Contenido
Los Componentes | Los Engranajes de NGWAF
El Cerebro: WAF basado en Aprendizaje Automático
El Espejo: Entorno de Cuarentena Interactivo Escalable
La Biblioteca: Secuencia de Reentrenamiento para Reforzar el Cerebro
Con el crecimiento explosivo de las aplicaciones web desde principios de los años 2000, los ataques basados en la web se han vuelto progresivamente más desenfrenados. Una solución común es el Cortafuegos de Aplicaciones Web (WAF). Sin embargo, ajustar las reglas de los WAF actuales para mejorar los mecanismos de detección puede ser complejo y difícil. NGWAF busca abordar estos inconvenientes con una novedosa arquitectura basada en aprendizaje automático y cuarentena hacia honeypots.
Inspirado en puntos débiles reales de la operación de WAF, NGWAF pretende simplificar y reinventar las operaciones de WAF a través de los siguientes procesos:
| Punto débil | Característica de NGWAF |
|---|---|
| El mantenimiento de los mecanismos de detección y las reglas puede ser complejo | Aprovechar el aprendizaje automático para automatizar el proceso de creación y actualización de mecanismos de detección |
| El bloqueo inmediato del tráfico malicioso reduce las oportunidades de aprender del comportamiento de los actores de amenazas para futuras mejoras del WAF | Eliminación de amenazas mediante cuarentena redirigida en lugar del descarte y bloqueo convencional del tráfico malicioso |
Para simplificar y hacer portátil el despliegue, hemos contenerizado los diferentes componentes de la arquitectura usando Docker y los hemos configurado en un archivo docker-compose. Esto permite ejecutarlo en una instalación nueva de forma rápida y sencilla, ya que las dependencias son manejadas automáticamente por Docker. El despliegue se puede ampliar para implementarse en un clúster de Kubernetes local o en la nube, lo que lo hace escalable ya que los usuarios pueden aumentar el número de nodos/pods para manejar grandes volúmenes de tráfico.
El despliegue se ha probado en macOS (Docker Desktop) y Linux (Ubuntu).
NGWAF funciona de fábrica con tres componentes clave, estos componentes, como se mencionó anteriormente, están todos contenerizados y son escalables según el uso deseado. El recurso protegido se puede personalizar realizando un cambio de despliegue dentro de la configuración.
Arquitectura de alto nivel de NGWAF con los flujos de tráfico esperados de diferentes partes
NGWAF fue diseñado teniendo en cuenta los siguientes beneficios clave para el usuario:
NGWAF reemplaza los conjuntos de reglas tradicionales con modelos de aprendizaje profundo para reducir la complejidad de gestionar y actualizar las reglas. En lugar de editar reglas manualmente, el aprendizaje automático de NGWAF automatiza el proceso de aprendizaje de patrones a partir de datos maliciosos. Los datos recopilados del entorno de cuarentena se depuran y agrupan automáticamente, lo que permite reentrenarlos en nuestro modelo de detección si se desea.
NGWAF adopta una arquitectura novedosa que consiste en un entorno interactivo y de cuarentena diseñado para aislar a posibles atacantes hostiles. A diferencia de los WAF convencionales que bloquean al detectar, NGWAF desvía a los actores de amenazas hacia sistemas emulados, atrapándolos para mitigar el impacto de sus acciones maliciosas. El entorno también actúa como un sumidero para recopilar métodos de ataque actuales, permitiendo la observación y recolección de datos maliciosos. Estos datos se pueden utilizar para mejorar aún más la capacidad de detección de NGWAF.
NGWAF en acción: al detectar una inyección SQL, NGWAF redirige a nuestro entorno de cuarentena, en lugar de descartar o bloquear el intento.
El principio rector detrás de la creación de NGWAF es protegerse contra los riesgos destacados en el documento de concienciación estándar del Proyecto de Seguridad de Aplicaciones Web Abierto: The OWASP Top 10 2021.
Los datos de entrenamiento y las comprobaciones de cumplimiento para NGWAF se recopilan y realizan según este requisito.
¿Quién necesita manual cuando podemos ir a lo NEURONAL?
En lugar de conjuntos de reglas tradicionales que requieren que los analistas identifiquen y agreguen reglas manualmente con el tiempo, NGWAF aprovecha tuberías de aprendizaje automático de extremo a extremo para el mecanismo de detección, lo que reduce enormemente la complejidad en la gestión de reglas WAF, especialmente para detectar cargas útiles complejas.
Para hacerlo, primero necesitábamos crear un modelo base y una arquitectura que los usuarios puedan usar inicialmente, antes de que luego utilicen datos recopilados de sus propias aplicaciones para reentrenamiento y ajuste fino:
La arquitectura general del modelo base es una RNN simple con un módulo LSTM bidireccional como el siguiente:
Imagen tomada de Tensorflow (enlace)
Al usar esta arquitectura RNN, pudimos lograr mejoras de rendimiento sobre modelos más simples: