
Prima iterazione di Feedback WAF basato su ML
NGWAF è creato da @yupengfei, @zhangbosen, @matthewng e @elizabethlim.
Un ringraziamento speciale a @ruinahkoh per i suoi contributi nelle fasi iniziali di NGWAF.
NGWAF è un proof of concept sperimentale e non è pronto per l'uso in produzione nella sua forma attuale.
Indice
I Componenti | Gli ingranaggi di NGWAF
Il Cervello: WAF basato su Machine Learning
Lo Specchio: Ambiente di Quarantena Interattivo Scalabile
La Libreria: Sequenza di Riaddestramento per Rinforzare il Cervello
Con la crescita esplosiva delle applicazioni web dai primi anni 2000, gli attacchi basati sul web sono diventati progressivamente più diffusi. Una soluzione comune è il Web Application Firewall (WAF). Tuttavia, modificare le regole degli attuali WAF per migliorare i meccanismi di rilevamento può essere complesso e difficile. NGWAF mira a superare questi inconvenienti con una nuova architettura basata su machine learning e su un sistema di quarantena che reindirizza a honeypot.
Ispirato da reali punti critici emersi dalla gestione dei WAF, NGWAF intende semplificare e reimmaginare le operazioni WAF attraverso i seguenti processi:
| Punto critico | Funzionalità di NGWAF |
|---|---|
| La manutenzione dei meccanismi di rilevamento e delle regole può essere complessa | Sfruttare il machine learning per automatizzare il processo di creazione e aggiornamento dei meccanismi di rilevamento |
| Il blocco immediato del traffico malintenzionato riduce le opportunità di apprendere dal comportamento degli attaccanti per futuri miglioramenti del WAF | Eliminazione delle minacce tramite quarantena con reindirizzamento, invece del tradizionale drop e blocco del traffico malevolo |
Per rendere la distribuzione semplice e portabile, abbiamo containerizzato i diversi componenti dell'architettura usando docker e li abbiamo configurati in un file docker-compose. Ciò consente di eseguirlo su un'installazione fresca in modo rapido e semplice, poiché le dipendenze sono gestite automaticamente da docker. La distribuzione può essere estesa per essere distribuita in un cluster kubernetes locale o su cloud, rendendola scalabile poiché gli utenti possono aumentare il numero di nodi/pod per gestire grandi volumi di traffico.
La distribuzione è stata testata su macOS (Docker desktop) e linux (ubuntu).
NGWAF funziona immediatamente con tre componenti chiave, questi componenti come menzionato sopra sono tutti containerizzati e sono scalabili in base all'uso desiderato. La risorsa protetta può essere personalizzata apportando una modifica alla distribuzione all'interno della configurazione.
Architettura di alto livello di NGWAF con i flussi di traffico attesi da diverse parti
NGWAF è stato progettato tenendo presenti i seguenti vantaggi chiave per l'utente:
NGWAF sostituisce i set di regole tradizionali con modelli di deep learning per ridurre la complessità della gestione e dell'aggiornamento delle regole. Invece di modificare manualmente le regole, il machine learning di NGWAF automatizza il processo di apprendimento dei pattern dai dati malevoli. I dati raccolti dall'ambiente di quarantena vengono automaticamente puliti e raggruppati, permettendo di essere riaddestrati nel nostro modello di rilevamento, se desiderato.
NGWAF adotta una nuova architettura composta da un ambiente interattivo e di quarantena costruito per isolare potenziali attaccanti ostili. A differenza dei WAF convenzionali che bloccano al rilevamento, NGWAF devia gli attaccanti verso sistemi emulati, intrappolandoli per attenuare l'impatto delle loro azioni malevole. L'ambiente funge anche da sinkhole per raccogliere i metodi di attacco correnti, consentendo l'osservazione e la raccolta di dati malevoli. Questi dati possono essere utilizzati per migliorare ulteriormente la capacità di rilevamento di NGWAF.
NGWAF in azione: al rilevamento di una SQL injection, NGWAF reindirizza all'ambiente di quarantena, invece di droppare o bloccare il tentativo.
Il principio guida alla base della creazione di NGWAF è proteggersi dai rischi evidenziati nel documento di sensibilizzazione standard dell'Open Web Application Security Project - The OWASP Top 10 2021.
I dati di addestramento e i controlli di conformità per NGWAF sono raccolti e condotti in base a questo requisito.
Chi ha bisogno di manuale quando possiamo andare NEURALE
Invece dei set di regole tradizionali che richiedono agli analisti di identificare e aggiungere manualmente le regole col passare del tempo, NGWAF sfrutta pipeline end-to-end di machine learning per il meccanismo di rilevamento, riducendo notevolmente la complessità nella gestione delle regole WAF, specialmente per il rilevamento di payload complessi.
Per fare ciò, abbiamo prima bisogno di creare un modello base e un'architettura che gli utenti possano utilizzare come punto di partenza, prima di utilizzare in seguito i dati raccolti dalle proprie applicazioni per riaddestrare e affinare:
L'architettura generale del modello base è una semplice RNN con un modulo LSTM bidirezionale come mostrato di seguito:
Immagine presa da Tensorflow (link)
Utilizzando questa architettura RNN, siamo riusciti a ottenere miglioramenti delle prestazioni rispetto a modelli più semplici: