Cosa hanno in comune l’intelligence di un paese, i cyber criminali e le organizzazioni pubbliche e private? Le vulnerabilità di sicurezza. Chi attacca le infrastrutture e i dispositivi digitali, così come chi è chiamato a proteggerle deve fare i conti prima o poi con le vulnerabilità di sicurezza. Sono queste, nel bene e nel male, che consentono di realizzare la maggior parte degli attacchi Cyber, rendendo poco efficaci le misure di protezione e consentendo di controllare virtualmente qualsiasi dispositivo connesso ad una rete: smartphone, PC, TV e ogni altro elemento IoT che sia (inclusi elettrodomestici e mezzi di trasporto connessi…). Questa volta non si tratta di statistiche o previsioni, ma di fatti; le recenti rivelazioni di WikiLeaks, attraverso il progetto “Vault 7”, hanno confermato all’umanità intera che oggi il modo più facile per intercettare, spiare, sottrarre informazioni e documenti o addirittura sabotare veicoli ed infrastrutture è attraverso attacchi informatici.
Definita da qualcuno “la più grande divulgazione di informazioni segrete sul modus operandi di un’agenzia di intelligence”, analizzando i dossier diffusi da WikiLeaks, fa un certo effetto vedere che interi gruppi di super hacker della CIA sono costantemente impegnati a realizzare malware, backdoor ed altre diavolerie per entrare nella vita delle persone e delle organizzazioni. Si sarebbe portati a pensare che la CIA, in quanto tale, abbia accordi e canali privilegiati con i principali produttori al mondo, come Apple e Google. Chissà in qualche caso sarà anche così, ma analizzando con attenzione i file di WikiLeaks appare evidente che anche la CIA è costretta ad operare come qualsiasi altro “sporco” cyber criminale al mondo. Ovvero attraverso una ricerca continua, maniacale ed estenuante di nuove vulnerabilità, i così detti zero-day, che consentono di violare sistemi e soprattutto meccanismi di protezione. Si scopre così che sistemi di istant messaging come whatsapp o messenger vengono intercettati violando gli smartphone con appositi malware, che consentono di controllare qualsiasi funzione del dispositivo, intercettando i messaggi prima che questi siano effettivamente cifrati dalle applicazioni in questione.
Ma torniamo al punto principale. La vulnerabilità di sicurezza, ovvero quella caratteristica intrinseca di qualsiasi software e dispositivo, che rende tali sistemi non esenti da errori e difetti vari. Anche in questo caso non è una questione di se esiste la vulnerabilità, ma di quando sarà effettivamente scoperta e poi utilizzata da qualche soggetto, che sia un componente dell’intelligence, un governo estero oppure un “semplice” cyber-criminale.
Così chi deve proteggersi o almeno contrastare tali attacchi deve operare grossomodo come colui che attacca, ovvero cercando di individuare e risolvere la vulnerabilità prima che questa venga di fatto utilizzata dagli avversari.
Per le aziende e le amministrazioni pubbliche, impegnate ogni giorno a far funzionare sistemi ed infrastrutture ICT è un impegno enorme, spesso difficilmente sostenibile. Questo spiega perché occorrono mesi per aggiornare i sistemi ICT, attraverso quelle famigerate “patch” che risolvono una o più vulnerabilità di sicurezza note. Figuriamoci dover impiegare tempo e risorse per scoprire quelle non note…
Per migliorare la difesa, così come accade per altri ambiti di sicurezza, è necessario pertanto agire su due livelli differenti:
- Quello strategico, dove l’industria, principalmente fatta di produttori e gestori di tecnologia e soluzioni, coopera in maniera fattiva con le istituzioni ed i singoli soggetti da proteggere, per ridurre il tempo necessario ad individuare una nuova vulnerabilità, mettendo a disposizione gli strumenti per risolverle. Ciò comporta un preciso impegno nel diffondere, non appena scoperta, qualsiasi vulnerabilità, riducendo di fatto i cosìddetti “zero-day”. Memorabile in questo senso l’executive order fatto dall’allora Presidente Obama, in cui obbligava l’industria privata a diffondere immediatamente le vulnerabilità… Ovviamente questo non piacque molto all’intelligence, ma sicuramente ha migliorato quantomeno la sensibilità dei produttori sul tema. Si potrebbe fare di più imponendo, a livello istituzionale, l’adozione di determinati standard di sicurezza, quali ad esempio i Common criteria, che includono specifici controlli di security assurance. Questi sono spesso richiesti per sistemi classificati, ma andrebbero a mio parere estesi a molte altre tipologie di apparati e sistemi ICT, magari creando anche nuovi standard e processi ad-hoc. Altro punto fondamentale sarebbe quello di favorire, mediante un information sharing strutturato, la diffusione sistematica e strutturata delle informazioni sulle vulnerabilità, tra produttori, industria e soprattutto singole organizzazioni, anche mediante la creazione di nuove forme di PPP (Public-Private Partnership). In questo senso anche i CERT pubblici e privati hanno un ruolo fondamentale e dovrebbero essere i primi ad investire e promuovere iniziative in questa direzione.
- Quello tattico, invece, ricade sulle singole organizzazioni che hanno la necessità e non l’opzione di proteggersi. Questo significa prima di tutto allocare budget e risorse sufficienti, ma soprattutto comprendere che la vulnerabilità del singolo, in un ecosistema complesso, come quello del cyber space, può compromettere la sicurezza dell’intero sistema.
In questo senso, anche le PMI, magari con l’adozione dei recenti controlli essenziali di Cybersecurity promossi dall’Università La Sapienza, hanno un ruolo fondamentale nella protezione nazionale, soprattutto in qualità di fornitori di grandi aziende ed Enti pubblici. Coloro, invece, che hanno migliaia di dispositivi ed utenti da proteggere e magari sono anche infrastrutture critiche, quali banche, produttori e fornitori di energia, società di telecomunicazioni, trasporti, ospedali, ecc. che hanno sicuramente un profilo di rischio più elevato, dovrebbero pertanto adottare misure speciali ed appropriate. Tra queste sicuramente:
- Prevenire il più possibile le vulnerabilità, inglobando requisiti e funzionalità di sicurezza fin dalla progettazione dei dispositivi e delle applicazioni (c.d. security by design);
- Verificare periodicamente l’esistenza delle vulnerabilità, che sono sfuggite in termini di prevenzione, sottoponendo le infrastrutture ed il codice sorgente dei software sviluppati internamente o mediante l’utilizzo di consulenti esterni, a test specifici di sicurezza (c.d. code review, penetration test applicativi, ecc.)
- Informarsi, ricercare e studiare quotidianamente ciò che è vulnerabile ed in che modo, mediante una connessione permanente con i principali CERT nazionali e del proprio settore, nonché con i produttori e l’industria privata, in modo da ridurre il più possibile l’effetto zero-day…
Gestire tempestivamente gli aggiornamenti di sicurezza o, laddove non possibile, adottare controlli e misure compensative, al fine di ridurre la probabilità che una specifica vulnerabilità venga sfruttata. In questo senso ha un ruolo fondamentale l’individuazione delle tecniche di attacco, costruite attorno ad una specifica vulnerabilità; per la serie: se non riesco a risolverla, almeno cerco di individuare chi tenta di sfruttarla, impedendone l’effettivo utilizzo. Ciò significa investire anche in sistemi di detection e nella così detta “active defense”, ovvero sistemi che non solo aiutano ad individuare la compromissione in corso, ma possono agire automaticamente per bloccarne o limitarne gli effetti. In un modo ideale ciò significa sviluppare, per ogni vulnerabilità nota o presunta, un “pattern” in grado di individuare il comportamento associato alla vulnerabilità ed attuare qualsiasi meccanismo che possa contenerne gli effetti