Analizzando non solo i dati trattati dal CERT-RO durante questi ultimi anni, per quanto riguarda i diversi tipi di malware, ma anche le informazioni pubblicate da differenti organizzazioni attive nel campo della sicurezza informatica, si nota una tendenza evidente di diversificazione, di specializzazione e di crescita della complessità delle applicazioni malevole – che si tratti di APT (Advanced Persistent Threats), di botnets, di malware destinati al settore finanziario (banking botnets) o di ransomware.
Fra le minacce informatiche, i malware sono uno dei tipi più frequenti e pericolosi, a causa, in primo luogo, dell’impatto negativo che possono avere su un sistema informatico una volta infettato.
Oggi, esiste una vasta gamma di nuove tecniche e di tecnologie per combattere questo tipo di minaccia, come gli antivirus, gli IDS, gli IPS, ecc. Queste risultano essere abbastanza efficaci, ma, secondo la nostra opinione, il concetto integrato di Application Whitelisting può avere un impatto rilevante nella lotta contro i malware.
L’applicazione Whitelisting implica la messa in campo di un meccanismo che garantisca, nel quadro di un sistema informatizzato, la funzionalità dei soli software autorizzati dal gestore del sistema. A prima vista, potrebbe sembrare un obiettivo idealista e forse per queste ragioni tale meccanismo non è ancora abbastanza diffuso, in particolare presso piccole organizzazioni e utenti individuali.
Il concetto stesso non è in sé innovativo, ma rappresenta praticamente un’estensione a livello TCP/IP di un’applicazione con un approccio di tipo ”default deny” (interdizione in modo implicito), utilizzato da lungo tempo dalle tecnologie firewall.
La messa in opera corretta dell’applicazione Whitelisting implica: strumenti destinati a facilitare l’identificazione degli eseguibili e delle software library (come DLL in Windows) e che permettono di bloccare il loro funzionamento; metodi di identificazione degli eseguibili e delle software library che non siano basati su regole deboli, come il nome del file o la sua posizione nel repository. Il metodo più efficace consiste nell’identificare l’utilizzazione di tutti i programmi sulla base dei certificati digitali con i quali sono contrassegnati o, nel caso in cui non siano contrassegnati, sulla base delle impronte digitali di tipo ”hash”; meccanismi di tipo ACL (Access Control List) che prevengono le modifiche da parte degli utenti dalla lista dei software consentiti. Ad oggi, si considera l’applicazione Whitelisting come una delle strategie più importanti per combattere le minacce di tipo malware. Sono già disponibili una varietà di soluzioni tecniche grazie alle quali implementarla, ivi compreso da utenti individuali, ad esempio nel quadro del sistema di configurazione di Windows, dove la messa in opera di questa applicazione può essere realizzata utilizzando mezzi che sono già contenuti nei sistemi nativi di gestione dei programmi, come ad esempio:
– SRP (Software Restriction Policies) – nella dotazione Group Policy presente in tutte le generazioni successive a Windows XP.
– AppLocker – funzionalità raccomandata a partire dal sistema Windows 7, con la stessa finalità e dotata delle stesse facilità del SRP dell Group Policy.
Se si usa un sistema operativo Linux/Unix, l’implementazione dell’applicazione Whitelisting è un po’ difficile, perchè non è supportata in modo nativo da Kernel e non esiste ancora, nella gamma dei prodotti dei più importanti distributori di Linux, uno strumento consacrato a questo lavoro.
Tuttavia, esistono soluzioni commerciali facili da installare a seconda della versione di Kernel utilizzata, tenendo in mente che potrebbero sorgere problemi durante gli aggiornamenti del sistema.
Altre varianti possibili sono ad esempio l’utilizzazione dei mezzi SELINUX o AppArmor, anche se essi non sono stati concepiti a questo fine, e implicano quindi l’uso di risorse importanti seguite da test.
In alcuni casi, la messa in opera dell’applicazione Whitelisting può rivelarsi ingombrante e richiedere molte risorse, ma i vantaggi, dal punto di vista della prevenzione di infezioni da malware sono considerevoli.
Per di più, si ottiene un alto livello di visibilità per quanto riguarda i file eseguibili e le software library presenti in un sistema informatico, un aspetto estremamente utile nel procedimento di investigazione di incidenti della sicurezza informatica.
In conclusione, mi permetterei di affermare che, benché non si possa considerare alcuna soluzione di sicurezza come una panacea, è probabile che l’applicazione Whitelisting sia il metodo più efficace per ridurre l’impatto generato da malware nell’ambito dei sistemi informatici utilizzati oggi.