CyBrain ha collaborato con il gruppo di ricerca SPRITZ (Security & Privacy Research Group) dell'Università di Padova per un lavoro di ricerca sulla sicurezza di infrastrutture critiche SCADA. Lo studio è culminato nella presentazione di un paper al workshop FARES 2019 (Frontiers in Availability, Reliability and Security) alla University of Kent (Canterbury, UK). In questo articolo illustriamo il nostro lavoro.
Il settore delle infrastrutture critiche sta raccogliendo sempre di più le attenzioni del mondo Information Security negli ultimi anni.
In questo ambito ci troviamo di fronte a sistemi ad alti requisiti di manutenibilità, interoperabilità, funzionamento costante, robustezza di fronte ad errori e malfunzionamenti.
Questo tipo di impianti viene spesso gestito con sistemi di tipo SCADA (Supervisory Control And Data Acquisition).
Molte strutture SCADA sono nate in un periodo, precedente alla sempre più massiva interconnessione globale, in cui l'isolamento di una rete sembrava dare una certa garanzia di protezione da attacchi esterni. Per questo motivo alcuni protocolli di comunicazione utilizzati come standard di fatto (cfr. Modbus) mancano di un'ottica di sicurezza.
Esistono casi documentati in cui software malevoli sono riusciti ad infiltrare reti "isolate" tramite chiavette USB infette (parliamo ad esempio del worm Stuxnet, che nel 2010 è riuscito a penetrare e danneggiare sistemi SCADA utilizzati per il controllo di centrali nucelari), casi in cui, sfruttando la natura trusty della rete, gli attaccanti sono riusciti a interferire con il sistema lanciando semplicemente comandi tramite una backdoor (un altro esempio è Industroyer, che si ritiene abbia causato nel 2016 un blackout parziale sulla rete della città di Kiev).
La lista continua (cfr. anche il caso del worm Triton, scoperto nel 2017 ed indirizzato a impianti petrolchimici) ed evidenzia l'importanza, per i sistemi critici, di proteggersi da intrusioni il cui scopo non è solo lo spionaggio industriale ma anche il vero e proprio sabotaggio.
La ricerca a cui abbiamo preso parte è partita da uno studio del protocollo di comunicazione Modbus (che dal 1979 è diventato uno standard di fatto nei sistemi SCADA) e della vasta letteratura che ne evidenzia le problematicità in ambito di sicurezza.
Gli obiettivi erano molteplici:
- Studiare la possibilità di realizzare sistemi di rilevazione di intrusioni (IDS) per comunicazioni di tipo Modbus.
- Estendere i risultati ad altri protocolli (per questo abbiamo scelto il più recente CoAP).
- Modellare e simulare una rete SCADA ibrida Modbus/CoAP dove testare un prototipo di soluzione IDS.
Il lavoro ci ha portato a studiare approfonditamente gli aspetti di sicurezza delle comunicazioni Modbus e ad identificare alcuni possibili approcci di rilevazione di minacce potenziali.
Abbiamo verificato la presenza di vulnerabilità legate soprattutto alla mancanza di meccanismi di autenticazione e controlli di integrità dei messaggi scambiati.
A partire da queste possibili minacce e dallo stato dell'arte della letteratura abbiamo sviluppato un prototipo di sistema che estende alcune soluzioni di identificazione di anomalie nella comunicazione e le abbiamo poi combinate con meccanismi di controllo di integrità dei pacchetti.
Altro aspetto interessante della ricerca è stato l'utilizzo del software di simulazione di reti Mininet per costruire uno scenario di rete SCADA su cui testare le nostre idee. Il vantaggio di utilizzare un sistema di simulazione virtuale è legato alla velocità di implementazione e alla economicità (in quanto raramente è possibile effettuare test su vere e proprie reti SCADA industriali e i testbed per le stesse possono essere costosi).
Questo tipo di ambiente ci ha permesso di creare delle simulazioni di traffico per una piccola rete SCADA con utilizzo ibrido di protocolli Modbus e CoAP. Lo scenario è stato basato su un possibile caso d'uso reale: sensori di ultima generazione che vengono aggiunti ad una rete Modbus preesistente e comunicano con un centro di controllo tramite un gateway che funge da intermediario. Gli scambi di questo tipo di rete hanno una struttura periodica: il centro di controllo chiede regolarmente ai sensori lo stato dell'ambiente che monitorano, questo fa sì che la normale comunicazione di questo sistema si possa ridurre ad una serie di pattern regolari.
In una prima fase di training il nostro sistema ha analizzato il traffico, estraendo i pattern periodici di comunicazione in modo tale da avere un riferimento per individuare le anomalie di comunicazione.
In una seconda fase la simulazione ci ha permesso di provare sul campo il prototipo di sistema di sicurezza sottoponendolo a una serie di attacchi basati sulle vulnerabilità individuate durante lo studio. I risultati sono stati incorraggianti e sembrano legittimare l'idea che sia possibile realizzare soluzioni analoghe per casi d'uso reali.
Questo progetto e la relativa collaborazione con l'Università di Padova ci ha permesso quindi di approfondire un campo già importante per CyBrain e sicuramente protagonista nel futuro dell'information security, quello della sicurezza delle infrastrutture critiche. Su questo continueremo quindi la ricerca sia di nuove minacce sia di soluzioni adeguate.