Evoluzione del Web Application Firewall: dai firewall alla protezione cloud con machine learning

Nel nostro precedente materiale sul tema del cloud abbiamo parlato, come proteggere le risorse IT nel cloud pubblico e perché i tradizionali antivirus non sono del tutto adatti a questi scopi. In questo post continueremo il tema della sicurezza nel cloud e parleremo dell'evoluzione del WAF e di cosa sia meglio scegliere: hardware, software o cloud. 

Evoluzione del Web Application Firewall: dai firewall alla protezione cloud con machine learning

Che cos'è il WAF

Oltre il 75% degli attacchi informatici è indirizzato alle vulnerabilità delle applicazioni web e dei siti: tali attacchi, di norma, sono invisibili per l'infrastruttura di sicurezza informatica e per i servizi di sicurezza informatica. Le vulnerabilità delle applicazioni web comportano, a loro volta, rischi di compromissione e frode per gli account e i dati personali degli utenti, come password e numeri di carte di credito. Inoltre, le vulnerabilità nel sito web rappresentano un punto di accesso per i criminali nella rete aziendale.

Il Web Application Firewall (WAF) è uno schermo protettivo che blocca gli attacchi alle applicazioni web: iniezioni SQL, cross site scripting, esecuzione remota di codice, attacchi di forza bruta e bypass dell'autenticazione. Include anche attacchi che sfruttano vulnerabilità zero-day. I firewall delle applicazioni forniscono protezione monitorando i contenuti delle pagine web, inclusi HTML, DHTML e CSS, e filtrando richieste potenzialmente dannose tramite HTTP/HTTPS.

Quali erano le prime soluzioni?

I primi tentativi di creare un Web Application Firewall risalgono ai primi anni '90. Si conoscono almeno tre ingegneri che hanno lavorato in questo campo. Il primo è il professor di informatica Gene Spafford dell'Università di Purdue. Ha descritto l'architettura di un firewall per applicazioni con proxy e nel 1991 ha pubblicato il suo lavoro nel libro «Sicurezza UNIX in pratica».

Il secondo e il terzo erano i professionisti della sicurezza informatica William Cheswick e Marcus Ranum dei Bell Labs. Hanno sviluppato uno dei primi prototipi di firewall per applicazioni. La sua diffusione è stata gestita dalla società DEC, che ha lanciato il prodotto sotto il nome SEAL (Secure External Access Link).

Ma SEAL non era una soluzione WAF completa. Rappresentava un firewall di rete classico con funzionalità estese — in grado di bloccare attacchi su FTP e RSH. Per questa ragione, la prima soluzione WAF è considerata oggi il prodotto della Perfecto Technologies (poi Sanctum). Nel 1999 ha ha presentato il sistema AppShield. All'epoca, Perfecto Technologies era impegnata nello sviluppo di soluzioni di sicurezza informatica per l'e-commerce, e il pubblico target del loro nuovo prodotto erano i negozi online. AppShield era in grado di analizzare le richieste HTTP e di bloccare attacchi sulla base di politiche di sicurezza informatica dinamiche.

Circa nello stesso periodo di AppShield (nel 2002) è apparso il primo WAF con codice sorgente aperto. Questo è diventato ModSecurity. È stato creato con l'obiettivo di promuovere le tecnologie WAF e viene ancora supportato dalla comunità IT (ecco il suo il repository su GitHub). ModSecurity blocca gli attacchi alle applicazioni basandosi su un set standard di espressioni regolari (signature) — strumenti per controllare le richieste secondo un modello — Set di Regole Core OWASP.

In definitiva, gli sviluppatori sono riusciti a raggiungere il loro obiettivo — sono cominciate a sorgere nuove soluzioni WAF sul mercato, incluse quelle basate su ModSecurity.

Tre generazioni — è già storia

Si tende a distinguere tre generazioni di sistemi WAF, evolutisi con lo sviluppo della tecnologia.

Prima generazione. Funziona con espressioni regolari (o grammatiche). È il caso di ModSecurity. Il fornitore del sistema studia i tipi di attacchi alle applicazioni e forma schemi che descrivono le richieste legittime e potenzialmente dannose. Il WAF confronta queste liste e decide cosa fare in una situazione specifica, — bloccare il traffico oppure no.

Un esempio di rilevamento basato su espressioni regolari è già stato menzionato nel progetto Set di Regole Core con codice sorgente aperto. Un altro esempio è Naxsi, che è anch'esso open source. I sistemi basati su espressioni regolari presentano una serie di svantaggi, in particolare, quando viene scoperta una nuova vulnerabilità, l'amministratore deve creare manualmente regole aggiuntive. Nel caso di un'infrastruttura IT di grandi dimensioni, il numero di regole può arrivare a diverse migliaia. Gestire un numero così elevato di espressioni regolari è piuttosto complicato, per non parlare del fatto che la loro verifica può ridurre le prestazioni della rete.

Le espressioni regolari hanno anche un livello piuttosto elevato di falsi positivi. Il famoso linguista Noam Chomsky ha proposto una classificazione delle grammatiche, suddividendole in quattro livelli di complessità condizionali. Secondo questa classificazione, le espressioni regolari possono descrivere solo le regole del firewall che non prevedono deviazioni dal modello. Ciò significa che i malintenzionati possono facilmente "ingannare" il WAF di prima generazione. Uno dei metodi per combattere questo è aggiungere simboli speciali nelle richieste alle applicazioni, che non influiscono sulla logica dei dati dannosi, ma violano la regola di firma.

Evoluzione del Web Application Firewall: dai firewall alla protezione cloud con machine learning

Seconda generazione. Per superare i problemi legati alle prestazioni e all'accuratezza del WAF, sono stati sviluppati firewall per applicazioni di seconda generazione. Questi hanno introdotto parser responsabili dell'individuazione di tipi di attacco specifici (su HTML, JS, ecc.). Questi parser lavorano con token speciali che descrivono le richieste (ad esempio, variabile, stringa, sconosciuto, numero). Le sequenze di token potenzialmente dannose vengono riportate in un elenco separato, che viene verificato regolarmente dal sistema WAF. Questo approccio è stato mostrato per la prima volta alla conferenza Black Hat 2012 attraverso la libreria C/C++ libinjection, che consente di rilevare le SQL injection.

Rispetto al WAF di prima generazione, i parser specializzati possono funzionare più velocemente. Tuttavia, non hanno risolto le difficoltà legate alla configurazione manuale del sistema con l'emergere di nuovi attacchi dannosi.

Evoluzione del Web Application Firewall: dai firewall alla protezione cloud con machine learning

Terza generazione. L'evoluzione nella logica di rilevamento della terza generazione si basa sull'applicazione di metodi di apprendimento automatico, che consentono di avvicinare al massimo la grammatica di rilevamento alla grammatica reale dei sistemi SQL/HTML/JS protetti. Questa logica di rilevamento è in grado di adattare la macchina di Turing per coprire le grammatiche ricorsivamente enumerabili. Infatti, in precedenza, il compito di creare una macchina di Turing adattabile era irrisolvibile, finché non sono stati pubblicati i primi studi sulle macchine di Turing neuronali.

L'apprendimento automatico offre un'opportunità unica per adattare qualsiasi grammatica per coprire qualsiasi tipo di attacco senza dover creare manualmente elenchi di firme, come era necessario per il rilevamento di prima generazione, e senza dover sviluppare nuovi tokenizzatori/parser per nuovi tipi di attacchi, come le iniezioni Memcached, Redis, Cassandra, SSRF, come richiesto dalla metodologia di seconda generazione.

Combinando tutte e tre le generazioni di logica di rilevamento, possiamo tracciare un nuovo diagramma, in cui la terza generazione di rilevamento è rappresentata con un contorno rosso (fig. 3). A questa generazione appartiene una delle soluzioni che implementiamo nel cloud insieme a "Onsec", sviluppatore della piattaforma di protezione adattiva per applicazioni web e API Valarm.

Ora la logica di rilevamento utilizza il feedback dall'applicazione per auto-regolarsi. Nell'ambito dell'apprendimento automatico, questo ciclo di feedback è chiamato "rinforzo". In genere ci sono uno o più tipi di tale rinforzo:

  • Analisi del comportamento della risposta dell'applicazione (passivo)
  • Scanner/fuzzer (attivo)
  • File di report/procedure-intercettatori/trappole (post factum)
  • Manuale (definito dal supervisore)

Di conseguenza, la logica di rilevamento di terza generazione affronta anche un problema cruciale di accuratezza. Ora è possibile non solo ridurre i falsi positivi e i falsi negativi, ma anche identificare risultati genuinamente negativi accettabili, come la rilevazione dell'uso di elementi di comando SQL nel pannello di controllo, il caricamento di modelli di pagina web, richieste AJAX relative a errori JavaScript e altri.

Evoluzione del Web Application Firewall: dai firewall alla protezione cloud con machine learning

Evoluzione del Web Application Firewall: dai firewall alla protezione cloud con machine learning

Evoluzione del Web Application Firewall: dai firewall alla protezione cloud con machine learning

Analizziamo ora le capacità tecnologiche delle varie opzioni di implementazione del WAF.

Hardware, software o cloud: cosa scegliere?

Una delle opzioni di implementazione dei firewall per applicazioni è una soluzione "hardware". Questi sistemi sono dispositivi di calcolo specializzati che l'azienda installa localmente nel proprio data center. Tuttavia, in questo caso, è necessario acquistare hardware proprio e pagare gli integratori per la sua configurazione e messa a punto (se l'azienda non ha un proprio dipartimento IT). Inoltre, qualsiasi attrezzatura diventa obsoleta e si deteriora, per cui i clienti devono destinare un budget per l'aggiornamento dell'hardware.

Un'altra opzione per il deployment del WAF è l'implementazione software. La soluzione viene installata come complemento per qualche software (ad esempio, ModSecurity si configura sopra Apache) e funziona sullo stesso server. In genere, queste soluzioni possono essere distribuite sia su server fisici che nel cloud. Il loro svantaggio è la limitata scalabilità e il supporto da parte del fornitore.

La terza opzione è la configurazione del WAF dal cloud. Queste soluzioni sono fornite dai provider cloud come servizio in abbonamento. Le aziende non devono acquistare e configurare hardware specializzato, questi compiti ricadono sul fornitore del servizio. Un aspetto importante è che un moderno WAF cloud non implica la migrazione delle risorse sulla piattaforma del fornitore. Il sito può essere distribuito ovunque, anche on-premise.

Perché sempre più spesso si guarda all'opzione del WAF cloud, lo spiegheremo di seguito.

Cosa può fare un WAF nel cloud

Dal punto di vista delle capacità tecniche:

  • Il provider è responsabile degli aggiornamenti. Il WAF è fornito in abbonamento, quindi il fornitore del servizio si occupa della tempestività degli aggiornamenti e delle licenze. Gli aggiornamenti riguardano sia il software che l'hardware. Il fornitore aggiorna il parco server e se ne occupa della manutenzione. Si occupa anche del bilanciamento del carico e del disaster recovery. Se si verifica un guasto del server WAF, il traffico viene immediatamente reindirizzato a un'altra macchina. Una distribuzione razionale del traffico consente di evitare situazioni in cui il firewall entra in modalità fail open - non riesce a gestire il carico e smette di filtrare le richieste.
  • Patch virtuale. I patch virtuali limitano l'accesso alle parti compromesse dell'applicazione fino a quando lo sviluppatore non risolve la vulnerabilità. Di conseguenza, il cliente del fornitore di servizi cloud può attendere con tranquillità che il fornitore del software pubblichi le «patch» ufficiali. Effettuare questa operazione nel minor tempo possibile è una priorità per il fornitore di software. Ad esempio, nella piattaforma «Valarm», un modulo software dedicato si occupa del patching virtuale. L'amministratore può aggiungere espressioni regolari personalizzate per bloccare le richieste malevole. Il sistema consente di contrassegnare alcune richieste con il flag «Dati riservati». In tal caso, i loro parametri vengono mascherati e non vengono mai trasmessi al di fuori della zona di lavoro del firewall.
  • Scanner di perimetro e vulnerabilità integrato. Questo consente di definire autonomamente i confini di rete dell'infrastruttura IT, utilizzando i dati delle richieste DNS e del protocollo WHOIS. Successivamente, il WAF analizza automaticamente i servizi e le applicazioni attive all'interno del perimetro (esegue la scansione delle porte). Il firewall è in grado di rilevare tutti i tipi comuni di vulnerabilità — SQLi, XSS, XXE, ecc. — e identificare errori nella configurazione del software, come accessi non autorizzati a repository Git e BitBucket e richieste anonime a Elasticsearch, Redis, MongoDB.
  • Gli attacchi vengono monitorati dalle risorse cloud. In genere, i fornitori di cloud dispongono di grandi quantità di potenza di calcolo. Ciò consente di analizzare le minacce con alta precisione e velocità. Nel cloud viene distribuito un cluster di nodi filtranti attraverso i quali passa tutto il traffico. Questi nodi bloccano gli attacchi alle applicazioni web e inviano statistiche al Centro analisi. Esso utilizza algoritmi di machine learning per aggiornare le regole di blocco per tutte le applicazioni protette. L'implementazione di tale schema è mostrata in fig. 4. Queste regole di sicurezza adattate minimizzano il numero di falsi positivi del firewall.

Evoluzione del Web Application Firewall: dai firewall alla protezione cloud con machine learning

Ora parliamo un po' delle caratteristiche dei WAF cloud dal punto di vista degli aspetti organizzativi e gestionali:

  • Transizione a OpEx. Nel caso dei WAF cloud, il costo di implementazione sarà pari a zero, poiché tutto l'hardware e le licenze sono già stati pagati dal fornitore e il pagamento del servizio avviene tramite abbonamento.
  • Diversi piani tariffari. L'utente del servizio cloud può attivare o disattivare rapidamente opzioni aggiuntive. La gestione delle funzionalità avviene da un'unica dashboard, che è anche protetta. L'accesso avviene tramite HTTPS, e c'è un meccanismo di autenticazione a due fattori basato sul protocollo TOTP (Time-based One-Time Password Algorithm).
  • Connessione tramite DNS. È possibile modificare autonomamente il DNS e configurare la rete. Per affrontare queste attività non è necessario formare e assumere specialisti separati. Di solito, il supporto tecnico del fornitore può aiutare con la configurazione.

Le tecnologie WAF sono evolute da semplici firewall con regole empiriche a sistemi di protezione complessi con algoritmi di apprendimento automatico. Oggi i firewall delle applicazioni dispongono di un ampio spezzetto di funzionalità, molte delle quali erano difficili da realizzare negli anni '90. In gran parte, la nuova funzionalità è diventata possibile grazie alle tecnologie cloud. Le soluzioni WAF e i loro componenti continuano a evolversi, proprio come altri ambiti della sicurezza informatica.

Il testo è stato preparato da Aleksandr Karpuzikov, Product Development Manager di un fornitore cloud di servizi di sicurezza informatica #CloudMTS.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster