Alcune caratteristiche - poco trattate nel mondo della cybersecurity - dei linguaggi di programmazione per robotica industriale possano portare a programmi di automazione vulnerabili e permettere a un “criminale” di creare nuove tipologie di malware persistente. Questi punti deboli possono consentire il controllo dei robot industriali e macchinari simili, al fine di danneggiare linee di produzione o impossessarsi di proprietà intellettuale. Questo emerge dalla ricerca Rogue Automation: Vulnerable and Malicious Code in Industrial Programming, che vede 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.

“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”, afferma Bill Malik, vice president of infrastructure strategies di Trend Micro. “Al giorno d’oggi, 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 ad esempio 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 si possono considerare “legacy”, in quanto cuore delle moderne catene di produzione - 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. Le vulnerabilità non sono l’unica preoccupazione nei programmi di automazione che utilizzano questi linguaggi: i ricercatori hanno dimostrato come una nuova tipologia di malware in grado di auto-propagarsi potrebbe essere creata utilizzando uno di questi come esempio.

Secondo la 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.

Trend Micro e Politecnico di Milano propongono una ckecklist per la scrittura di programmi di automazione industriale sicuri, che comincia con il trattare i macchinari industriali come se fossero computer e i task program come codice sorgente potenzialmente pericoloso, l’autenticare ogni comunicazione e l’implementare policy per il controllo degli accessi. Da non dimenticarsi l’implementazione di policy per il controllo degli accessi, di una gestione degli errori senza esporre i dettagli e di una configurazione appropriata e di procedure di deployment nonché l’esecuzione della validazione degli input e della sanificazione degli output.