La ricerca di Trend Micro e Politecnico di Milano rivela alcui difetti e vulnerabilità nella programmazione per la robotica industriale.
“Rogue Automation: Vulnerable and Malicious Code in Industrial Programming” ha come autore principale il ricercatore italiano Federico Maggi di Trend Micro Research ed è stata condotta in collaborazione con Marcello Pogliani del gruppo di sicurezza informatica del Politecnico di Milano.
Lo studio vulnerabilitàdescrive come alcune caratteristiche — poco discusse nel mondo della cybersecurity — dei linguaggi di programmazione per robotica industriale possano portare a programmi di automazione vulnerabili.
D’altra parte, possono permettere a un aggressore di creare nuove tipologie di malware persistente.
Questi punti deboli possono consentire agli attaccanti di prendere il controllo dei robot industriali e simili macchinari al fine di danneggiare linee di produzione o impossessarsi di proprietà intellettuale.
In base alla ricerca, il mondo dell’automazione potrebbe essere impreparato a rilevare e prevenire queste criticità, perché finora non sono mai state affrontate. Inoltre, è fondamentale che il settore inizi ad adottare e seguire le best practice, per mettere in sicurezza il codice, che sono state condivise con gli industry leader come risultato di questa ricerca.
Difetti e vulnerabilità della robotica
Bill Malik, vice president of infrastructure strategies for Trend Micro
Una volta che i sistemi OT sono collegati alla rete, applicare patch o aggiornamenti è quasi impossibile ed è per questo che una sicurezza a priori diventa un fattore critico”.
La spina dorsale dell’automazione industriale si basa su tecnologie legacy, che troppo spesso contengono vulnerabilità latenti come Urgent/11 e Ripple20, o varietà di difetti nell’architettura come Y2K.
Non vogliamo limitarci a sottolineare queste sfide, ma ancora una volta assumere la guida della security nell’Industry 4.0, offrendo una guida concreta per la progettazione, la scrittura del codice, la verifica e la manutenzione attraverso strumenti in grado di scansionare e bloccare codici maligni e vulnerabilità”
Linguaggi di programmazione che possiamo considerare “legacy”, come RAPID, KRL, AS, PDL2 e PacScript, sono stati progettati senza considerare un aggressore attivo.
Sviluppati decenni fa, sono ora diventati essenziali per le attività critiche di automazione nei settori automotive come nelle filiere alimentari e nell’industria farmaceutica, ma non possono essere messi al sicuro facilmente.
Trend Micro Research ha lavorato a stretto contatto con il Robotic Operating System (ROS) Industrial Consortium — un’autorità internazionale in campo di robotica industriale — per proporre delle raccomandazioni con l’obiettivo di ridurre l’impatto delle criticità identificate.
Difetti e vulnerabilità della robotica
Federico Maggi di Trend Micro Research
Lavorare con questi sistemi è un po’ come fare un tuffo nel passato.
Vulnerabilità adesso rare nei tradizionali sistemi IT (come le applicazioni web, ad esempio), si ripresentano attraverso questi linguaggi di programmazione, poco conosciuti ma estremamente critici.
Nei prossimi anni il mondo dell’automazione industriale dovrà affrontare le sfide delle vulnerabilità che il mondo IT ha gestito negli ultimi 20 anni.
Come dimostrano le linee guida, i programmi di automazione industriale, seppur basati su linguaggi “legacy”, possono essere scritti in diversi modi per ridurne i rischi.
La checklist essenziale di Trend Micro e del PoliMI:
- Trattare i macchinari industriali come se fossero computer e i task program come codice sorgente potenzialmente pericoloso
- Autenticare ogni comunicazione
- Implementare policy per il controllo degli accessi
- Eseguire sempre la validazione degli input
- Eseguire sempre la sanificazione degli output
- Implementare una gestione degli errori senza esporre i dettagli
- Implementare una configurazione appropriata e procedure di deployment
Trend Micro e il Politecnico hanno sviluppato uno strumento per rilevare codice maligno o vulnerabilità all’interno dei task program. Esso permette di prevenire eventuali danni al momento della loro esecuzione.
Sono state identificate feature critiche per la sicurezza nelle principali otto piattaforme di programmazione di robot industriali. Inoltre sono state evidenziate 40 istanze di vulnerabilità di codice open source.
Un vendor ha rimosso il proprio programma di automazione vulnerabile e altri due sono stati avvisati, dando il via a discussioni per migliorare i propri strumenti. I dettagli delle vulnerabilità sono stati condivisi anche dal ICS-CERT alla propria community, attraverso un alert.