Cyber Security: differenze tra Firewall e Web Application Firewall

(di Igino Corona)
08/09/21

Districarsi fra i prodotti per la sicurezza informatica, confrontarli per poi sceglierli non è affatto facile, nemmeno per gli esperti. Occorre considerare una moltitudine di fattori diversi relativi alle minacce informatiche e contestualizzarli nell’ambito dello specifico modello di business aziendale, per dare priorità alle azioni di mitigazione a più alto valore aggiunto.

Chiunque offra dei servizi web, e parliamo praticamente di qualsiasi organizzazione offra servizi online, si sarà posto almeno una volta la domanda: Come proteggerli?

I firewall, in particolare i cosiddetti di “ultima generazione” - next generation firewalls, hanno la capacità di ispezionare il traffico e di filtrarlo dal livello di astrazione più basso (fisico) fino a quello più elevato (applicazione) della pila ISO/OSI1. Tuttavia, quando si tratta di applicazioni web (i programmi/software alla base di tutti i servizi online), essi hanno funzionalità alquanto limitate. Ad esempio, potrebbero non essere in grado di fungere da “terminatore di sessione”, ovvero poter ispezionare il traffico HTTPS, decifrandolo temporaneamente, per poi cifrarlo nuovamente verso la macchina in cui viene effettivamente eseguita l’applicazione web. Oppure potrebbero non gestire correttamente particolari protocolli di cifratura (es. il più recente TLSv.32), protocolli HTTP (es. la versione 2), o l’analisi dei campi delle richieste/risposte HTTP e del corpo di tali richieste/risposte. In questi casi, l’analisi del traffico web diventa molto limitata, se non impossibile.

Detto in parole semplici, i (next-generation) firewall non “capiscono” fino in fondo le informazioni scambiate dalle applicazioni web e dunque non possono proteggerle in maniera adeguata da attacchi, specie quelli “one-shot” che prevedono anche una sola richiesta malevola, e per cui il filtraggio a più basso livello (ad esempio basato sull’indirizzo IP sorgente) non è sufficiente.

Per questo sono necessari i Web Application firewall (WAF), che forniscono funzionalità il più possibile completa di comprensione/gestione del traffico HTTP(S), supportando i più recenti protocolli e contenuti informativi associabili a questo livello.

Problema risolto? Purtroppo no.

Comprendere realmente il funzionamento e gli input/output ammessi e o legittimi di una applicazione web è tutt’altro che banale, perfino per gli sviluppatori, che sempre più spesso conoscono solo di alcune parti del sistema. Potremmo dire che i WAF arrivano dove possono, attraverso l’utilizzo tipico di firme (definizioni) note di attacchi (input illeciti tipici) come quelle fornite gratuitamente da OWASP3 per il più popolare WAF open-source, Modsecurity4.

Ma il diavolo si nasconde nei dettagli. Tali firme sono necessariamente “generiche” e richiedono come minimo uno sforzo importante di “personalizzazione” in fase di produzione. Inoltre possono proteggere solo contro alcune istanze di attacchi noti (sulla cui base appunto tali firme sono state prodotte), mentre le applicazioni web sono programmi ad-hoc, ognuna diversa a modo suo, ed ognuna con la sua base di utenti che si comporta in un certo modo.

In sostanza, serve un sistema capace di analizzare gli eventi ad un livello di astrazione molto maggiore di quello offerto da firme predefinite, un livello nel quale le prerogative delle applicazioni monitorate risultino evidenti e si possano dunque rilevare deviazioni pericolose per il business sottostante per bloccarle prima che sia troppo tardi.