Quando una vulnerabilità informatica non è pubblicamente nota, viene chiamata zero-day: in pratica significa che non c’è ancora nessuna patch (correzione) da applicare al software che possa mettere in sicurezza il sistema. Scoprire una vulnerabilità di questo tipo non è semplice: sono richieste competenze informatiche e di programmazione avanzate e – spesso – anche una dose di fortuna.
I browser e le applicazioni web sono i software più soggetti a queste falle, anche per via della loro diffusione: questo è uno dei motivi per cui siamo abituati a continui aggiornamenti.
Indice degli argomenti
Cos’è un attacco (o exploit) zero day
I software “malevoli” (exploit) che, sfruttando una vulnerabilità zero-day, attaccano il sistema target, sono una delle nuove minacce che devono essere affrontate dai sistemi di difesa informatica. Esiste infatti una cosiddetta “finestra di vulnerabilità” che rappresenta il tempo che intercorre dalla scoperta della falla fino alla sua risoluzione grazie ad una patch. Ovviamente, se non viene installato l’aggiornamento che contiene la risoluzione del problema, la vulnerabilità rimane e la finestra si amplia.
I virus zero-day sono appunto quei malware che sfruttano questa tipologia specifica di attacco: basti pensare che nel 2018 sono state ben 16.555 le vulnerabilità pubblicate dal CVE (Common Vulnerabilities Exposures). Questo numero pone l’attenzione sull’importanza di avere sia un sistema di analisi delle vulnerabilità che in via continuativa verifichi lo stato della rete aziendale, sia un efficace antivirus che possa riconoscere, intercettare e bloccare i malware di questo tipo.
Considerato quindi l’impatto (devastante) che può avere un exploit zero-day, è facile intuire perché nel Dark Web si possono trovare organizzazioni criminali che pagano a peso d’oro questo tipo di informazioni. Dall’altra parte della medaglia troviamo invece aziende che organizzano “challenge”, reclutando i migliori hacker, per mettere alla prova i propri sistemi.
Windows: scoperte 3 vulnerabilità zero-day in 3 mesi
A titolo di esempio, vediamo cosa è successo negli ultimi mesi del 2018: sono state trovate ben 3 vulnerabilità zero-day nel sistema operativo di Microsoft. A dicembre, in particolare, era possibile effettuare un attacco informatico verso un sistema Windows tramite un exploit che riusciva ad ottenere il controllo della macchina da remoto, grazie all’acquisizione di privilegi di sistema.
La risposta di Microsoft non è stata immediata: tutt’ora, chi non ha aggiornato i sistemi con la patch resa disponibile, è ancora esposto ad un attacco di questo tipo.
Come funziona un attacco zero-day, come difendersi e prevenirlo
Sul fronte della scurezza informatica, quindi, stanno nascendo nuovi sistemi di difesa, nuovi antivirus oppure add-on per quelli già in uso, che hanno l’obiettivo di riuscire a bloccare anche le minacce sconosciute, comprese le zero-day.
È noto, infatti, che gli antivirus agiscono cercando all’interno dei file sospetti una porzione di codice nota: questa viene confrontata con un database sempre aggiornato che raccoglie le “firme” dei virus conosciuti. In caso di “positività”, scatta l’allarme.
Ma come riuscire in questo difficile compito se non si conoscono le caratteristiche e soprattutto la “firma” del nuovo malware?
Per risolvere questo problema stanno arrivando sul mercato software antivirus che utilizzano nuovi sistemi, basati principalmente sull’analisi del comportamento nel tempo degli endpoint: grazie ad algoritmi di intelligenza artificiale (AI), è possibile capire se una macchina è stata infettata da qualche elemento esterno, analizzandone appunto il modo di operare.
Cosa significa in pratica? I malware, dopo aver attaccato il loro obiettivo, avviano delle attività in background, senza che l’utente che sta utilizzando il PC se ne accorga: scaricano altro software (i così detti payload), analizzano la rete, acquisiscono privilegi all’interno della macchina, copiano tabelle, database e via dicendo. Non è detto che la prima azione sia quella di criptare e bloccare tutto, anzi: spesso rimangono settimane nascosti all’interno della rete aziendale, svolgendo le attività di cui sopra, al fine di raccogliere il maggior numero di informazioni.
I nuovi antivirus cercano quindi di capire, dal comportamento della macchina attaccata, se c’è qualcosa di “strano”, ovvero se il PC sta svolgendo delle operazioni insolite: questo fa scattare un primo allarme al quale poi seguono una serie di operazioni, variabili da antivirus ad antivirus.
È cambiato, quindi, il paradigma: anche i software di difesa hanno trovato una nuova modalità operativa volta ad affrontare minacce nuove e quindi sconosciute.
Exploit zero-day: lo stato dell’arte delle contromisure
Siamo solo all’inizio: al momento non sono molte le piattaforme antivirus che hanno adottato sistemi di intelligenza artificiale, anche perché c’è un altro aspetto importante da tenere in considerazione.
Tutte le macchine (PC, server, tablet ecc., in termine tecnico gli endpoint) che devono essere protette in azienda, dovranno in qualche modo aver installato anche il cosiddetto “agent”, ovvero il software antivirus che svolge le attività di protezione e comunica costantemente con il centro di controllo: è fondamentale, però, che questo agent non sia troppo “pesante” ovvero non abbia bisogno di troppe risorse della macchina che lo ospita.
Inoltre, anche il centro di controllo dove risiede “l’intelligenza” dell’antivirus deve essere veloce e reattivo, perché altrimenti il rischio è di installare all’interno dell’azienda una protezione antivirus ma di avere contestualmente un calo generale delle performance: anche questo punto è diventato un parametro di valutazione molto importante da parte dei clienti. Più è “leggero” e veloce l’agent, meno l’utilizzatore ne sentirà la “presenza”.
Ed è proprio qui che le differenti tecnologie di intelligenza artificiale utilizzate entrano in gioco: ogni produttore cerca di sviluppare la migliore e la più veloce, così da fornire al cliente finale un prodotto concorrenziale ad alte prestazioni.
In particolare, gli algoritmi di intelligenza artificiale sono utilizzati per realizzare quello che viene chiamato deep learning, ovvero l’apprendimento basato sul comportamento della macchina: l’antivirus, in pratica, dopo essere stato installato inizia ad “imparare” come viene utilizzato il PC (o, in alternativa, riceve le istruzioni dagli amministratori).
Ogni comportamento rilevato che viene ritenuto “sospetto” perché non abituale, oppure appartenente ad una determinata black list, viene analizzato in maniera più approfondita.
Stanno in sostanza nascendo nuovi prodotti antivirus che sono una via di mezzo (o una fusione) di quelli che oggi vengono chiamati EPP (Endpoint Protection Platform, ovvero l’antivirus tradizionale) ed EDR (Endpoint Detection & Response, i sistemi di analisi in tempo reale e recupero dopo l’incidente informatico).
È la nuova frontiera delle difese informatiche: riuscire a prevenire ed intercettare minacce sconosciute.