Première itération du WAF de rétroaction basé sur ML
NGWAF est créé par @yupengfei, @zhangbosen, @matthewng et @elizabethlim.
Un merci spécial à @ruinahkoh pour ses contributions aux premières étapes de NGWAF.
NGWAF est une preuve de concept expérimentale et n'est pas prête pour une utilisation en production dans sa forme actuelle.
Sommaire
Les Composants | Les Engrenages de NGWAF
Le Cerveau : WAF basé sur l'apprentissage automatique
Le Miroir : Environnement de Quarantaine Interactif et Évolutif
La Bibliothèque : Séquence de Réentraînement pour Renforcer le Cerveau
Avec la croissance explosive des applications web depuis le début des années 2000, les attaques basées sur le web sont devenues progressivement plus courantes. Une solution courante est le Pare-feu d'Application Web (WAF). Cependant, ajuster les règles des WAF actuels pour améliorer les mécanismes de détection peut être complexe et difficile. NGWAF cherche à résoudre ces inconvénients avec une architecture novatrice basée sur l'apprentissage automatique et une mise en quarantaine vers un système leurre.
Inspiré par les problèmes réels rencontrés lors de l'exploitation de WAF, NGWAF vise à simplifier et réinventer les opérations des WAF grâce aux processus suivants :
| Problème | Fonctionnalité NGWAF |
|---|---|
| La maintenance des mécanismes de détection et des règles peut être complexe | Utiliser l'apprentissage automatique pour automatiser le processus de création et de mise à jour des mécanismes de détection |
| Le blocage immédiat du trafic malveillant réduit les chances d'apprendre du comportement des acteurs malveillants pour de futures améliorations du WAF | Élimination des menaces via une quarantaine redirigée, contrairement au rejet et au blocage conventionnels du trafic malveillant |
Pour rendre le déploiement simple et portable, nous avons conteneurisé les différents composants de l'architecture à l'aide de Docker et les avons configurés dans un fichier docker-compose. Cela permet de le faire fonctionner sur une installation fraîche rapidement et facilement, car les dépendances sont gérées automatiquement par Docker. Le déploiement peut être étendu à un cluster Kubernetes local ou dans le cloud, ce qui le rend évolutif car les utilisateurs peuvent augmenter le nombre de nœuds/pods pour gérer de grandes quantités de trafic.
Le déploiement a été testé sur macOS (Docker Desktop) et Linux (Ubuntu).
NGWAF fonctionne prêt à l'emploi avec trois composants clés, ces composants comme mentionné ci-dessus sont tous conteneurisés et évolutifs selon l'utilisation souhaitée. La ressource protégée peut être personnalisée en modifiant le déploiement dans la configuration.
Architecture de haut niveau de NGWAF avec les flux de trafic attendus des différentes parties
NGWAF a été conçu avec les avantages utilisateur clés suivants à l'esprit :
NGWAF remplace les ensembles de règles traditionnels par des modèles d'apprentissage profond pour réduire la complexité de la gestion et de la mise à jour des règles. Au lieu de modifier manuellement les règles, l'apprentissage automatique de NGWAF automatise le processus d'apprentissage des schémas à partir de données malveillantes. Les données collectées dans l'environnement de quarantaine sont automatiquement nettoyées et regroupées par lots, ce qui permet de les réentraîner dans notre modèle de détection si souhaité.
NGWAF adopte une architecture novatrice comprenant un environnement interactif et de quarantaine conçu pour isoler les attaquants potentiels hostiles. Contrairement aux WAF conventionnels qui bloquent dès la détection, NGWAF redirige les acteurs malveillants vers des systèmes émulés, les piégeant pour atténuer l'impact de leurs actions malveillantes. L'environnement agit également comme un puits pour recueillir les méthodes d'attaque actuelles, permettant l'observation et la collecte de données malveillantes. Ces données peuvent être utilisées pour améliorer davantage la capacité de détection de NGWAF.
NGWAF en action : Lors de la détection d'une injection SQL, NGWAF redirige vers notre environnement de quarantaine, au lieu de rejeter ou bloquer la tentative.
Le principe directeur derrière la création de NGWAF est de se prémunir contre les risques mis en évidence dans le document de sensibilisation standard du Open Web Application Security Project - Le OWASP Top 10 2021.
Les données d'entraînement et les vérifications de conformité pour NGWAF sont collectées et effectuées sur la base de cette exigence.
Qui a besoin de manuel quand on peut passer au NEURONAL
Au lieu d'ensembles de règles traditionnels qui nécessitent que les analystes identifient et ajoutent manuellement des règles au fil du temps, NGWAF exploite des pipelines d'apprentissage automatique de bout en bout pour le mécanisme de détection, réduisant considérablement la complexité de la gestion des règles WAF, en particulier pour la détection de charges utiles complexes.
Pour ce faire, nous devions d'abord créer un modèle de base et une architecture que les utilisateurs peuvent utiliser comme point de départ, avant de pouvoir utiliser ultérieurement les données collectées à partir de leurs propres applications pour un réentraînement et un réglage fin :
L'architecture générale du modèle de base est un simple RNN avec un module LSTM bidirectionnel comme ci-dessous :
Image tirée de Tensorflow (lien)