Le meraviglie del whitelisting

Spesso si pensa che l’unica cosa che fa l’antivirus è bloccare gli oggetti pericolosi. In realtà si tratta di approvare ciò che è sicuro e ciò che è dannoso.

Come molti sanno, la protezione dai malware si basa sull’individuazione delle signature. Tuttavia, per un antivirus, individuare un software dannoso è solo una parte del suo lavoro. Infatti, c’è chi sostiene che l’individuazione dei malware basata sulle signature (essenzialmente una forma di Blacklisting) è l’aspetto meno importante. In opposizione al concetto di Blacklisting (negare l’accesso ad una lista nera di software dannosi), si trova il Whitelisting ovvero la approvazione previa di determinati software considerati innocui. Un buon antivirus contempla entrambi i processi come fossero due lati della stessa medaglia.

Che cos’è il Blacklisting?

Permettetemi di spiegarvelo attraverso una tecnologia Kaspersky Lab: Kaspersky Security Network (KSN). Quando gli utenti installano certi prodotti Kaspersky Lab, gli viene offerta l’opportunità di unirsi a KSN. Se aderiscono, entreranno a far parte di una rete dedicata alla condivisione di informazioni sulla cybersicurezza. Per esempio, se un utente indiano, che ha aderito a KSN, viene infettato da un nuovo tipo di malware, Kaspersky Lab crea una signature per individuare quel malware e la aggiunge al proprio database di modo che nessun altro utente Kaspersky verrà infettato da quel malware.

Questo è il modo in cui funziona il blacklisting. Facciamo un lista di cose che sono dannose e le manteniamo alla larga dal vostro computer. Il blacklisting funziona molto bene, è efficace al 99,9% – quando sono solo 10.000 le nuove famiglie malware che emergono ogni anno. Tuttavia non è altrettanto efficace quando la cifra diventa 10.000.000.

Cos’è il Whitelisting?

Userò nuovamente la tecnologia Kaspersky Lab come metafora per spiegarvi come funziona il whitelisting. Quando parliamo di whitelisting, ci riferiamo a un processo denominato in inglese con “Default Deny” (Nega). In base a questo parametro, un prodotto di sicurezza blocca di default tutte le applicazioni e i software a meno che l’utente non abbia espressamente concesso loro il permesso. In questo modo avrete una whitelist, ovvere una lista di applicazioni con approvazione previa.

Questa forma di whitelisting (“Default Deny” o Nega, in italiano) viene usata soprattutto in ambienti aziendali dove un’autorità centrale può esercitare o no un certo controllo in base all’utente. È relativamente facile affermare che certe applicazioni sono necessarie per lavorare e ignorare tutte le altre. In un contesto aziendale, inoltre, la lista delle applicazioni autorizzate è probabilmente statica, già decisa, e la stessa per molto tempo. Quando abbiamo a che fare con un dispositivo di un utente privato può essere difficile sapere con esattezza ciò di cui ha bisogno, che programmi può e deve usare.

Nega via Applicazioni Attendibili

I nostri amici e ricercatori di Kaspersky Lab hanno trovato il modo di applicare i principi di “Default Deny” (Nega) alle necessità degli utenti privati. Come? Con la tecnologia “Applicazioni Attedibili”. Fondamentalmente Applicazioni Attendibili rappresenta una whitelist aggiornata dinamicamente, basata su di una serie di criteri di fiducia comparati con i dati acquisiti attraverso KSN.

In altre parole, la nostra whitelist dinamica, pronta all’uso per il consumatore, non è altro un’ampio archivio, costantemente aggiornato di applicazioni esistenti. Il database contiene informazioni su circa un miliardo di file unici, riguardanti la maggioranza delle applicazioni popolari, come pacchetti office, browser, programmi per la visualizzazione di immagini e qualsiasi cosa voi od io possiamo immaginare.

Applicazioni Attendibili rappresenta una whitelist aggiornata dinamicamente, basata su di una serie di criteri di fiducia comparati con i dati acquisiti attraverso KSN.

Grazie alle informazioni che ci vengono fornite da circa 450 partner, di cui la maggioranza sono aziende che sviluppano software, il database riesce a minimizzare l’apparizione dei falsi-positivi dato che Kaspersky Lab conosce gli aggiornamenti implementati dai vendor prima che vengano lanciati.

Trust Chain

Che ne sarà invece delle app che non conosciamo? Certe app e processi generano nuove applicazioni ed è quasi impossibile per la nostra whitelist raccogliere informazioni su tutti questi programmi. Per esempio, per scaricare un aggiornamento su di un programma potrebbe essere necessario lanciare un modulo speciale che si colleghi al server del vendor del software e scarichi una nuova versione del programma. Inefetti, il modulo di aggiornamento è una nuova applicazione creata dal programma originale e potrebbero non esserci dati su di lui nel database whitelist. Comunque, dato che questa applicazione è stata creata e lanciata da un programma di fiducia, viene trattata come attendibile. Questo meccanismo si chiama “Trust Chain”, una sorta di “catena di fiducia”.

In un modo analogo, se si scarica automaticamente un nuovo aggiornamento ed è così diverso che la whitelist non lo riconosce, può essere approvato in altri modi, come verificare la sua signature digitale o certificato. Un terzo problema di sicurezza sorge quando un’app cambia inaspettatamente e non ha la firma. In questo caso, “Trust Chain” può eseguire il dominio del download e controllarlo in base a una lista di domini di fiducia che generalmente appartengono a software prodotti da vendor molto conosciuti. Se un dominio è affidabile, lo è anche la nuova app; se un dominio viene usato per distribuire malware, invece, viene rimosso da “Trust Chain”.

Ultimo ma per questo non meno importante

Come probabilmente saprete, gli hacker sono sempre informatissimi sui sistemi di protezione che potrebbero metterli fuori gioco. I criminali sono costantemente alla ricerca delle vulnerabilità presenti nei programmi più popolari per sfruttarli e poter così circumnavigare le misure protettive sopra descritte, realizzando attacchi attraverso programmi attendibili.

Per combattere queste minacce, i nostri ricercatori hanno sviluppato un sistema conosciuto come “Security Corridor”. Tale sistema da supporto alla nostra whitelist dinamica e si assicura che il software approvato e le applicazioni realizzino solo le azioni che in teoria dovrebbero realizzare.

“Per esempio, in teoria, il compito di un browser dovrebbe essere quello di mostrare pagine web e scaricare file” spiega Andrey Ladikov di Kaspersky Lab, esperto che lavora nel team di ricerca sul sistema di whitelisting e infrastruttura cloud. “Le azioni come quelle indirizzate a modificare file di sistema o certi settori dell’hard disk sono estranee al browser. Un programma come Word, per esempio, viene disegnato per aprire e salvare documenti di testo sull’hard disk, ma non per salvare nuove applicazioni sull’hard disk e poi avviarle”. In questo modo se la vostra applicazione preferita per disegnare inizia a usare il microfono, verrà contrassegnata come pericolosa.

Quali computer dispongono di questa tecnologia?

La dinamica tecnologia whitelisting non è presente di default su tutti i computer. Solo gli utenti di Kaspersky Internet Security, Kaspersky Internet Security Multi-Device e Kaspersky Pure possono godere di questo livello di protezione.

Letture aggiuntive

I nostri ricercatori hanno scritto non uno, non due, bensì tre articoli, un po’ più tecnici, sulla tecnologia whitelisting. Per maggiori informazioni, date uno sguardo a questi articoli (in inglese).

Consigli