Kaspersky scopre gravi falle di sicurezza nel framework Codesys usato per PLC e HMI

I ricercatori del Kaspersky ICS CERT hanno rivelato diverse vulnerabilità scoperte all’interno di Codesys Runtime, il framework Codesys utilizzato da diversi produttori per realizzare il software che fa funzionare oltre 350 dispositivi PLC ed HMI di diversi brand sul mercato.

Come funziona Codesys

I fornitori di PLC basati su Codesys adattano il framework al loro hardware e, se necessario, sviluppano moduli aggiuntivi utilizzando i servizi forniti da Codesys. Gli utilizzatori dei PLC utilizzano l’ambiente di sviluppo Codesys per sviluppare il codice dei programmi di automazione dei processi industriali. Il flusso di esecuzione dei moduli aggiuntivi sviluppati e il programma di automazione dei processi industriali sono controllati sui PLC dalle versioni di Codesys Runtime adattate a tali PLC.

Il fatto che il framework controlli il flusso di esecuzione del programma significa che l’utilizzo del framework impone restrizioni a livello di architettura – in fase di progettazione del prodotto. In altre parole, il framework è un meccanismo sofisticato che è già in atto, e il codice utente deve essere progettato per essere un ingranaggio in quel meccanismo.


I sistemi esposti al rischio

Le vulnerabilità avrebbero potuto consentire a potenziali attaccanti di realizzare cyberattacchi distruttivi e ben celati, da remoto o locali, nei confronti dell’organizzazione nella quale vengono utilizzati i PLC che impiegano il framework vulnerabile.

La notizia è l’ennesima conferma di quello che su queste pagine ripetiamo da tempo: i sistemi OT sono a rischio di attacco cyber anche più dei sistemi IT, in quanto il livello di maturità del codice utilizzato per far funzionare i vari sistemi di automazione industriale è decisamente più basso rispetto a quello delle più comuni basi di codice del segmento IT. Questo prima di tutto perché l’età mediamente giovane del software realizzato si traduce in minor numero di anni uomo impiegati nella revisione e debugging del codice, e poi perché chi produce software per il controllo industriale spesso tende a ignorare le esperienze fatte in passato da chi sviluppa per ambienti IT, con il risultato di ripetere errori anche metodologici con i quali l’industria IT si è già confrontata e per cui ha già trovato soluzioni. Per non parlare dell’enorme valore del danno che un attacco ai sistemi industriali potrebbe avere.


L’attività di analisi che ha portato i ricercatori di Kaspersky a individuare una dozzina di falle nella base di codice Codesys, quattro delle quali riconosciute come “particolarmente gravi”, è iniziata già svariati mesi fa (alcune criticità sono addirittura del 2018), ma i risultati sono stati comunicati solo oggi perché si è atteso che il produttore, informato dei problemi, eliminasse tutte le vulnerabilità rilevate e rendesse disponibili le relative patch per tutti gli utilizzatori del framework.

Le vulnerabilità e i rischi concreti

A seconda del tipo di vulnerabilità sfruttato, un aggressore avrebbe potuto intercettare e falsificare comandi di rete e dati telemetrici, rubare e riutilizzare le password e altre informazioni utili ai processi di autenticazione, iniettare codici dannosi nel runtime o aumentare i privilegi dell’attaccante all’interno del sistema, così come permettere altre azioni non autorizzate – il tutto nascondendo efficacemente la propria presenza all’interno della rete attaccata.

I cybercriminali avrebbero potuto compromettere la funzionalità dei PLC di una particolare struttura o ottenerne il pieno controllo, senza destare l’attenzione del personale addetto all’Operation Technology (OT) della struttura attaccata. Tra i principali pericoli, anche il blocco delle operazioni o il furto di dati sensibili, come la proprietà intellettuale e altre informazioni riservate (dalla capacità produttiva di una realtà industriale fino alla produzione di nuovi prodotti). Non solo: un attacco di questo genere avrebbe consentito anche di supervisionare le operazioni all’interno dell’impianto e di raccogliere ulteriori informazioni, che potrebbero rivelarsi sensibili per l’organizzazione attaccata.

Abbiamo parlato al passato perché le vulnerabilità sono state risolte dal produttore, ma è assolutamente indispensabile che gli utilizzatori aggiornino i software per risultare effettivamente protetti.

Un problema che poteva essere evitato

“Le vulnerabilità che abbiamo scoperto stavano fornendo agli attaccanti una superficie di attacco estremamente ampia, ideale per azioni potenzialmente dannose – ha dichiarato Alexander Nochvay, security researcher del Kaspersky ICS CERT – Sarebbe bello pensare che, grazie alla nostra ricerca, siamo stati in grado di rendere il lavoro degli attaccanti molto più difficile. Molte di queste vulnerabilità, in realtà, sarebbero state scoperte tempo prima, se la community della sicurezza informatica fosse stata coinvolta nello sviluppo del protocollo di comunicazione di rete fin dalle fasi iniziali. Riteniamo che la collaborazione con l’intero settore della cybersecurity dovrebbe diventare una “best practice” per gli sviluppatori di importanti componenti dedicati ai sistemi industriali, che si tratti di hardware o di software”.

“La sicurezza delle soluzioni è un tema di grande importanza per il Gruppo Codesysha detto Roland Wagner, Head of Product Marketing di Codesys Group – Abbiamo apprezzato molto i risultati completi della ricerca fornita da Kaspersky, ci hanno aiutato a rendere Codesys uno strumento ancora più sicuro. Da molti anni facciamo grandi sforzi dal punto di vista tecnico e amministrativo per migliorare costantemente le feature di sicurezza di Codesys. Tutte le vulnerabilità rilevate vengono subito analizzate, valutate, classificate in ordine di priorità e segnalate all’interno di un avviso di sicurezza. Le correzioni, sotto forma di aggiornamenti software, vengono prontamente sviluppate e messe a disposizione di tutti gli utilizzatori di Codesys all’interno dello Store”.

I consigli per chi è a rischio

Per affrontare al meglio i potenziali rischi correlati a uno sfruttamento di questo tipo di vulnerabilità, gli specialisti Kaspersky consigliano di adottare queste misure:

  • Gli sviluppatori che utilizzano il framework sono invitati a richiedere l’update e ad aggiornare il firmware per i dispositivi programmati con l’aiuto di questo framework.
  • Gli ingegneri industriali dovrebbero prestare sempre attenzione all’eventuale aggiornamento del firmware dei loro dispositivi, facendo attenzione alle procedure di gestione delle patch aziendali, nel caso in cui un dispositivo sia stato programmato con l’aiuto del framework o nel caso in cui lo sviluppatore abbia rilasciato aggiornamenti rilevanti per i suoi prodotti.
  • I dispositivi impiegati all’interno di ambienti di sviluppo e/o SCADA dovrebbero essere dotati di una soluzione di protezione adeguata.
  • I dispositivi utilizzati in ambienti industriali dovrebbero funzionare su una rete isolata e regolamentata.
  • Fino a quando i firmware non vengono patchati, i team che si occupano della cybersecurity dei network industriali dovrebbero prendere in considerazione l’implementazione di misure di sicurezza specifiche (come le soluzioni per rilevare eventuali attacchi mirati, per monitorare la rete industriale, per formare regolarmente il personale IT e OT sulla cybersecurity) e di altre misure necessarie per la protezione dal punto di vista informatico, anche in caso di minacce informatiche più sofisticate.

Informazioni più dettagliate sulla ricerca di Kaspersky ICS CERT relativa al framework Codesys si possono trovare in un documento di circa 80 pagine che potete leggere o scaricare in versione PDF da questa pagina.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Pin It on Pinterest