La carenza di esperti con adeguate competenze di sicurezza informatica spiega il basso livello di cyber-security dei sistemi informatici italiani e quindi il facile successo dei cyber-attacchi. Ma non mancano solo competenze, spesso si riscontrano problemi legati a metodi e strategie. Infatti, servono strumenti automatici in grado di analizzare i vari moduli del sistema e le loro falle per individuare tutti i percorsi di attacco.
Cybersicurezza: la strategia Ue per una difesa comune, tra lacune normative e pochi fondi
Da un lato è vero che la carenza di competenze esiste, e andrebbe risolta con iniziative di istruzione e formazione adeguate a livello universitario e post-universitario, dall’altro lato, la questione merita una discussione più approfondita.
I due aspetti della sicurezza informatica
Per capire quali carenze vadano colmate, si sottolinea che la sicurezza informatica ha due aspetti: estensivo e intensivo.
L’aspetto estensivo
Con aspetto estensivo significa che per ogni sistema informatico devono esistere progettisti, gestori e amministratori con adeguate competenze di sicurezza. In altri termini, ogni sistema informativo deve essere adeguatamente presidiato in tutte le fasi della sua vita, dalla progettazione alla dismissione, incluse, da personale educato e formato alla sicurezza informatica. In questo contesto, è ovviamente fondamentale verificare che chi presidia il sistema possieda la formazione necessaria.
Le soluzioni improvvisate, in cui persone non formate (o con altre competenze) vengono promosse CISO, DPO e via dicendo, solo per mancanza di meglio o per avere un facile capro espiatorio, sono scorciatoie da evitare. Anzi, sarebbe bene introdurre norme legislative o perlomeno best practice che definiscano il profilo e le competenze necessarie per questi ruoli.
L’introduzione di vincoli sui profili e sui titoli implica l’adozione di vincoli corrispondenti per tutti quei percorsi formativi che rilasciano di titoli legati alla sicurezza informatica. Regole e vincoli simili già valgono per quanto riguarda la sicurezza nei luoghi di lavoro e, nell’industria 4.0, la cyber-security rappresenta la condizione necessaria per offrire vera sicurezza sul luogo del lavoro.
L’aspetto intensivo
Il secondo aspetto è quello intensivo ovvero quello della complessità dei problemi che chi presidia deve affrontare e degli strumenti di cui deve disporre per rispondere alle sfide della sicurezza informatica.
In questo contesto, si deve considerare che la complessità degli attuali sistemi informativi, anche quelli di piccole e medie imprese, è tale per cui i problemi di sicurezza che sorgono non possono essere risolti manualmente, per quanto si aumentino le persone che presidiano il sistema.
Utilizzare strumenti per l’automazione di analisi dei problemi e loro soluzione offre il beneficio non solo di garantire scelte basate su criteri oggettivi e ripetibili, ma anche quello di risolvere problemi troppo complessi per essere risolti manualmente da un’analista. Se il tempo per risolvere alcuni problemi supera una certa soglia, la soluzione prodotta è del tutto inutile.
Metodi e strategie per la sicurezza informatica in azienda
Facciamo un esempio: una rete informatica con un centinaio di PC, una decina di server e, in ambito industria 4.0, una decina di apparecchiature industriali connesse in rete mediante PLC o simili. L’azienda avrà anche un web server per clienti, fornitori eccetera. Lo schema di riferimento può essere quello di una rete segmentata in sotto-reti che si occupano, per esempio, di servizi web, amministrazione, progettazione e controllo degli impianti di automazione industriale.
Ognuno dei tanti moduli utilizzati da questo sistema può essere affetto da alcune vulnerabilità. Capire se e quali percorsi di attacco si aprano per queste falle è un problema estremamente complesso che non può essere risolto manualmente anche aumentando sensibilmente il personale a disposizione.
Metodi e strategie che siano basati esclusivamente su attività umane come un penetration test richiedono un tempo talmente grande per scoprire tutti i percorsi che i loro risultati sono quasi sempre inutili, perché, durante il tempo trascorso, nuove vulnerabilità sono state scoperte e nuovi percorsi si sono quindi aperti.
La necessità dell’automazione
In base alla mia esperienza come membro di gruppi di risk assessment e management di sistemi di controllo industriale, non è insolito trovare sistemi informatici come quello descritto in precedenza che, anche se di ridotte dimensioni, offrano alcune migliaia di percorsi di attacco.
Talvolta il numero di percorsi è cosi grande che ho proposto di usare il termine di honeypot involontario per quei sistemi il cui un attaccante può essere confuso dalla varietà di percorsi a sua disposizione.
Andrà delusa la speranza di alcune persone di scoprire manualmente tutti questi percorsi in un tempo utile per rimediare ed evitare attacchi, anche considerando la frequenza con cui vengono rese pubbliche le vulnerabilità. La soluzione del problema è possibile solo disponendo di strumenti automatici che analizzino i vari moduli del sistema e le loro vulnerabilità per scoprire tutti i percorsi di attacco. Per citare Ralph Langner, che ha scoperto e analizzato Stuxnet “If you are not automating you are doing security theater”.
Sicurezza informatica: cosa bisogna automatizzare
Per risolvere il problema dell’intensità dobbiamo ripercorrere quanto abbiamo già imparato nella soluzione del problema della complessità di programmazione in linguaggio macchina. La soluzione è stata quella di delegare l’ottimizzazione del codice a strumenti automatici mentre il programmatore descriveva il suo algoritmo ad alto livello .
Da sempre il vero ruolo degli informatici è non tanto risolvere lo specifico problema, ma sviluppare di strumenti per automatizzare la soluzione del problema. Un approccio simile deve essere utilizzato per la sicurezza informatica dotando chi presidia la sicurezza, come per esempio il CERT e il SOC, di opportuni strumenti che permettano non solo di difendere i sistemi, ma soprattutto di operare ad alto livello per individuare le varie criticità e valutare il loro impatto sulla sicurezza complessiva. Considerazioni simili valgono anche per le attività di informatica forense sui sistemi.
Le competenze necessarie
Questa visione ha implicazioni anche sulla formazione perché ci aiuta a capire che non sono tanto di interesse le competenze e conoscenze per l’esecuzione manuale degli attacchi, ma quelle sul processo complessivo di attacco e difesa che si vuole automatizzare e sulla scoperta di parametri e strategie che lo guidano per automatizzarle.
In questo caso, quindi la carenza da affrontare non è quella di chi presidia, ma di chi deve sviluppare gli strumenti che aiutano chi presidia. I temi da affrontare nella formazione di chi deve sviluppare sono molteplici, perché interessano strategie su come automatizzare non solo la scoperta delle vulnerabilità, ma anche di quali attacchi esse abilitano e come specifici attaccanti possono comporre questi attacchi per raggiungere i loro obiettivi e come minimizzare il lavoro per fermali.
Attaccanti diversi useranno strategie diverse e capire lo spazio di queste strategie e i parametri che le caratterizzano è un altro aspetto fondamentale sia per capire come un attaccante si muove sia come fermarlo.
Altri processi da automatizzare per valutare in dettaglio il rischio associato alle vulnerabilità sono lo sviluppo di exploit per sfruttare una vulnerabilità e la valutazione della probabilità di successo di strategie e meccanismi di attacchi alternativi. Su tutti questi temi la formazione è fondamentale e spazia su molti temi che stanno al cuore dell’informatica.
La cassetta degli attrezzi della sicurezza informatica
Lo sviluppo di strumenti automatici non parte da zero, per illustrare alcuni strumenti già esistenti e che possono supportare coloro che presidiano, un buon esempio è quello del fuzzing. Questa tecnica cerca generare input malevoli che provochino errori a tempo di esecuzione per carenze di controlli. Integrando strumenti di fuzzing con quelli di reverse enginering è possibile definire strategie di generazione intelligenti e automatizzare la scoperta di istruzioni errate e delle conseguenti vulnerabilità.
Un altro esempio di automazione è quello degli strumenti di breach and simulation che individuano vulnerabilità e ne valutano gli impatti attaccando il sistema target dell’analisi. Questi strumenti costituiscono un’evoluzione interessante di approcci più tradizionali ad attacco e difesa quali i penetration test rispetto ai quali sono più accurati la loro capacità di operare autonomamente e per tempi più lunghi.
Il punto debole nei sistemi di controllo industriale
Punto di debolezza non banale della versione attuale di breach and simulation è quello del rumore ovvero di come impedire che gli attacchi che questi strumenti eseguono danneggino il sistema che vogliono difendere. Questo problema è estremamente importante nei sistemi di controllo industriale che non tollerano malfunzionamenti generati da un attacco, anche se simulato. Non importa se chi mette fuori uso un impianto di controllo industriale è un attaccante, un attaccante etico o un red/blue team, l’importante è che ciò genera rischi intollerabili.
In questi ambiti, l’unica tecnologia che può essere usata per studiare meccanismi e strategie di attacco e difesa senza disturbare il sistema è quella del digital twin.
Digital twin
Il digital twin (gemello digitale) è una tecnologia già molto popolare per manutenzione predittiva e problemi di safety e può essere estesa per problemi di sicurezza informatica. L’uso di digital twin ha altri significative vantaggi: per esempio semplifica la produzione di cyber range per l’addestramento e la formazione.
Infine, soluzioni basate su digital twin hanno dimostrato la loro efficacia anche nell’automazione del monitoraggio del sistema, nella predizione degli attacchi e nella risposta agli attacchi in corso.
Threat intelligence
Altri punti di partenza interessanti sia per l’automatazione che per la formazione di chi deve automatizzare sono gli strumenti di threat intelligence integrati che descrivano comportamenti e strategie in modo formale.
Un importante esempio in questo campo è quello della Mitre ATT&CK matrix che permette una comunicazione non ambigua ed accurata dei possibili comportamenti degli attaccanti e che quindi semplifica l’automazione di un’analisi che permetta di emulare il comportamento degli attaccanti per valutare i loro impatti su un sistema informatico.
Conclusioni
Formare solo persone da utilizzare come hacker etici o nel CERT o nel SOC è una soluzione a bassissimo ritorno rispetto a quella di dotare i vari analisti di strumenti che permettono di automatizzare le loro attività.
Vista la disponibilità di molte delle tecnologie necessarie per l’automazione occorre cogliere l’opportunità di investire non solo in formazione delle persone che devono presidiare, ma anche nell’acquisizione e lo sviluppo di strumenti che supportino queste persone permettendo loro di operare al meglio.
Un’ulteriore conferma ci viene dall’ultimo Microsoft Digital Defence Report, che evidenzia come
l’automazione sia utilizzata già al meglio dagli attaccanti che la hanno usata per aumentare la loro efficienza.