IoT: Sicurezza per l’industria

Introduzione

In un precedente articolo abbiamo affrontato in generale le principali problematiche di sicurezza che riguardano le soluzioni IoT, in questo articolo prenderemo in considerazione gli eventuali problemi e le linee guida da adottare in un settore specifico: l’industria 4.0 e l’industria IoT.

La diffusione di dispositivi IoT, che inizialmente riguardava principalmente l’ambito consumer, ha iniziato ad aumentare anche in ambito industriale. Con l’utilizzo di dispositivi elettronici a basso costo per connettività e la sempre migliore offerta di banda per lo scambio dati, l’industria dei sistemi di automazione e controllo industriale ha colto l’opportunità di evolversi attraverso queste tecnologie.

Insieme alle opportunità, però, si palesa anche un aumento delle minacce alla sicurezza: gli ambienti industriali devono essere preparati all’aumento di attacchi informatici, per prevenire danni alle apparecchiature, ritardi dovuti a tempi di inattività e problemi di sicurezza.

Ambiente industriale ed attacchi

In ambito industriale possono essere presenti diverse tipologie di hardware e software, oltre alle politiche relative al processo produttivo. Si definisce IACS (Industrial Automation and Control System) l’insieme di queste parti:

  • Componenti: dispositivi harware, software, dispositivi di rete, host server, PLC ecc..
  • Sistema di controllo: hardware e software relativi al controllo dei componenti, es. DCS (Distributed Control Systems), SIS (Safety Instrumental System), SCADA (Supervisory Control And Data Acquisition )
  • Automazione: Implementazione specifica per azienda del sistema di controllo
  • Sicurezza del sistema

Le soluzioni IoT consumer o in ambito IT si differenziano da quelle in ambito IACS. La sicurezza in IACS deve tenere in considerazione anche aspetti legati alla salute e alla sicurezza del personale, sicurezza dell’ambiente produttivo e integrità del processo produttivo.

Di seguito alcuni esempi di attacchi effettuati a sistemi IACS:

  • Nel 2010 venne scoperto un attacco informatico tramite un virus denominato Stuxnet ad una centrale nucleare Iraniana. Lo scopo dell’attacco era disabilitare le centrifughe della centrale, impedendo la rilevazione dei malfunzionamenti e della presenza del virus stesso. Stuxnet colpiva i PLC (Programmable Logic Controller), componenti hardware programmabili via software fondamentali per l’automazione degli impianti della centrale, in particolare quelli adibiti al controllo delle centrifughe (utilizzate per separare materiali nucleari come l’uranio arricchito). In seguito all’infezione del virus nella centrale il programma si è diffuso al di fuori dallo stabilimento, tramite un PC portatile infetto, sfuttando i sistemi dotati di software SCADA (Supervisory Control And Data Acquisition) utilizzato per la gestione di sistemi di supervisione e controllo senza dover scrive codice di programmazione.
  • Nel 2015 un gruppo di hacker è stato in grado di compromettere con successo i sistemi informatici di tre società di distribuzione di energia in Ucraina e di interrompere temporaneamente la fornitura di elettricità ai consumatori. È considerato il primo attacco informatico di successo noto su una rete elettrica. L’attacco riuscì a compromettere la rete aziendale con una mail contente un malware che successivamente si diffuse nei sistemi SCADA che disabilitarono i componenti collegati. In coordinazione venne avviato anche un attacco DDoS al sistema di call-center per negare ai consumatori informazioni aggiornate sul blackout.

Lo standard di sicurezza (IEC 62443)

Per ridurre al minimo la “superfice” di attacco delle industrie 4.0 e IoT, la IEC (International Electrotechnical Commission) ha sviluppato uno standard sulla sicurezza industriale: IEC 62443. Questo standard include una serie di documenti che forniscono una collezione completa di raccomandazioni per la difesa delle reti industriali contro le minacce, organizzati nelle seguenti quattro categorie: Generale, Politiche e procedure, Sistema e Componenti.

I documenti generali forniscono una panoramica del processo di sicurezza industriale e introducono concetti essenziali.

I documenti su Politiche e procedure evidenziano l’importanza delle politiche di formazione del personale, poichè anche la migliore sicurezza è inutile se le persone non sono formate e impegnate a sostenerle.

I documenti di sistema forniscono indicazioni essenziali sulla progettazione e l’implementazione di sistemi sicuri.

I documenti dei componenti descrivono i requisiti che devono essere soddisfatti per i componenti industriali protetti.

Struttura dei documenti dello standard IEC-62443

Lo standard internazionale IEC copre tutte le fasi del ciclo di vita previsto dagli IACS, partendo dalla fase di analisi e indagine delle vulnerabilità, fino al mantenimento nel tempo delle prestazioni di sicurezza contro le minacce.

Linee guida generali

Controllo degli accessi

Gli accessi al sistema devono sottostare al principio del privilegio minimo, secondo cui ogni parte attiva del sistema (umana e non) deve fruire dei privilegi di accesso strettamente necessari all’espletamento delle sole funzioni previste dal proprio ruolo.

Da questo consegue uno schema di controllo accessi granulare, a differenza, per esempio, di molti vecchi sistemi, che prevedono il solo accesso come amministratore. È necessario inoltre attribuire, a seconda dei compiti specifici, comandi per ruolo/utente in combinazione con l’identificazione e l’autenticazione dell’utente (nel caso più banale, userid/password) per consentire l’accesso a sistemi e garantire che ogni utente possa eseguire solo i comandi a lui assegnati.

Oltre al caso semplice della password, l’accesso può essere protetto mediante token fisici, certificati crittografici, biometria, anche in combinazione tra di loro e con una durata temporale finita. Inoltre, ogni dispositivo deve essere predisposto per l’integrazione in un sistema di gestione delle identità di stabilimento.

Integrità del sistema

I comandi che circolano nelle reti industriali possono essere critici, quindi i vari componenti devono prevedere un sistema di verifica dell’integrità degli stessi, per prevenire modifiche non autorizzate. Per fare ciò è possibile utilizzare le seguenti politiche di controllo:

  • Controlli preventivi dell’apparato come test locali e remotizzati
  • Validazione dei comandi con sistemi crittografici di firma o anche di cifratura integrale del messaggio complessivo.
  • Sistema di validazione degli input.
  • Sistema di validazione delle sessioni di comunicazione. Per evitare che un attaccante malevolo si inserisca in una sessione corretta e possa inviare comandi non autorizzati
  • Sistema automatico di segnalazione di non conformità di un comando
  • Gestione degli errori, che però non deve poter fornire informazioni ad eventuali attaccanti (linee guida OWASP).

Integrità del software e dei dati

I dispositivi presenti nel sistema devono poter essere aggiornabili in modo sicuro, per esempio con protezione degli update mediante certificati crittografici. Anche l’accesso fisico ai dispositivi dovrebbe essere tracciato nel sistema di gestione centrale, in modo da verificare quale utente ha fatto una determinata operazione. I dispositivi e i software utilizzati devono essere verificati utilizzando meccanismi di avvio sicuri, ovvero usando un hardware Root of Trust (HWRoT).

Infine, l’implementazione di meccanismi di backup sicuri è un’altra componente fondamentale per mantenere l’integrità del sistema e garantirne un eventuale recupero in caso di problemi.

Segmentazione in zone

Le componenti dell’intero sistema devono essere implementate in modo che possano operare in un ambiente segmentato.

Un tipico schema di segmentazione prevede zone specifiche da cui i flussi di dati non possano fuoruscire in maniera non protetta, attraverso l’utilizzo dei tradizionali sistemi di protezione perimetrale (firewall) ed eventuali VPN per connessioni remote.

Una zona è quindi un raggruppamento logico di componenti hardware o software che condivide lo stesso livello di sicurezza. Le zone sono collegate tra loro attraverso dei “condotti”, ovvero dei canali di comunicazione.

Le zone devono tenere separate le componenti business e le componenti di sicurezza del sistema, tenere separati i dispositivi che si collegano al sistema in maniera temporanea e quelli wireless dai dispositivi fissi. I punti di collegamento delle zone (condotti) dovrebbero implementare dei meccanismi di sicurezza aggiuntivi, per esempio utilizzando un firewall.

Esempio di partizione in zone collegate da condotti

Oltre alla separazione in zone è importante anche definire i livelli di sicurezza che si vogliono implementare per ognuna di esse. In fase di valutazione dei rischi per la sicurezza dovrà essere deciso il livello di sicurezza di zone e condotti. Questi livelli saranno assegnati in base alle potenziali conseguenze qualora un obiettivo di attacco fosse raggiunto all’interno di quella zona. All’aumentare del livello di sicurezza, l’integrità della sicurezza (vale a dire, la difficoltà di compromettere le contromisure che possono prevenire o mitigare le conseguenze) deve aumentare. È possibile considerarlo “concettualmente” come uno sforzo per raggiungere un ordine di grandezza maggiore d’integrità per ogni cambiamento di livello di sicurezza. Concettualmente, poiché, per il momento, non è stato ancora creato un meccanismo di quantificazione per il livello di sicurezza. I livelli di sicurezza sono i seguenti:

Schema dei livelli di sicurezza

Reazione tempestiva

Una buona capacità di risposta agli attacchi è fondamentale per evitare danni al sistema o al processo produttivo.

I sistemi devono rilevare autonomamente eventuali tentativi di manomissione in un tempo ragionevole e segnalarli, rimanendo attivi anche in caso di un attacco di tipo DdoS (Distributed Denial Of Service). Nel caso peggiore devono saper gestire la transizione ad uno stato di protezione in modo automatico.

Conclusioni

Vista la maggiore criticità dei sistemi industriali rispetto alle soluzioni consumer, lo standard IEC 62443 fornisce linee guida più stringenti.

Sebbene questo standard abbia molti vantaggi, l’implementazione comporta anche alcune sfide: lo standard completo è molto complesso, i documenti sono numerosi ed è necessario molto tempo per l’implementazione. Vanno tenuti in considerazione anche i costi per l’implementazione delle specifiche, che saranno chiaramente superiori. Detto questo, però, risulta evidente che il beneficio in termini di sicurezza ha un ruolo fondamentale nella scelta. Gli esempi di alcuni attacchi subiti da sistemi IACS ci dimostrano come non si possa mettere in secondo piano la sicurezza di sistemi industriali, soprattutto se si occupano di settori critici.

Link utili

https://www.researchgate.net/figure/Zone-model-of-Industrial-Control-Systems-source-ISA-IEC-62443_fig2_318456823

https://www.isa.org/training-and-certifications/isa-certification/isa99iec-62443/isaa-iec-62443-cybersecurity-certificate-programs-frequently-asked-questions/

https://www.iec.ch/