Alla scoperta dei punti deboli delle macchine a controllo numerico
L'Industria 4.0 ha dato vita a fabbriche intelligenti che hanno notevolmente migliorato i processi di produzione, ma ha anche aperto le porte a criminali informatici che cercano di abusare di apparecchiature industriali collegate in rete, come le macchine a controllo numerico. La nostra ricerca ha analizzato le minacce informatiche alle macchine CNC e proposto contromisure per mitigare i rischi associati. Tutta la ricerca è stata resa pubblica sia in formato video che come paper di ricerca, e verrà presentata il 7 di Dicembre a Black Hat Europe.
La quarta rivoluzione industriale, più comunemente nota come Industria 4.0, ha cambiato il modo di operare delle fabbriche, dove l'adozione di tecnologie relativamente nuove, tra cui i macchinari industriali come le macchine a controllo numerico computerizzato (CNC), consente alle aziende di ottimizzare molti aspetti della produzione. Queste macchine consentono di realizzare movimenti complessi su più assi, gestendo utensili complessi e parametri di lavorazione strettamente controllati per garantire l'efficienza migliore nel processo produttivo. La produzione viene governata dal controllo numerico tramite linee di codice - del tutto simile a codice informatico - facilmente editabile per consentire geometrie con tolleranze stringenti.
Nell'ambito dell'Industria 4.0, diversi sistemi di produzione, come appunto le macchine CNC, sono ora dotate di funzioni che consentono l'integrazione di rete e la connettività intelligente, con conseguente riduzione dei tempi di inattività e tempi di consegna più rapidi per i produttori. Ma l'innovazione ha un doppio senso: man mano che diventano la norma, le fabbriche connesse diventano inavvertitamente bersagli appetibili per i cyber-criminali che cercano di sabotare le operazioni, rubare dati preziosi o spiare gli ambienti di produzione intelligenti. È quindi fondamentale che i produttori siano consapevoli dei pericoli che potrebbero derivare dall'interconnessione dei macchinari industriali.
Nella nostra ricerca, condotta in collaborazione con R.F. Celada SpA, abbiamo condotto una serie di attacchi a controllori numerici utilizzati sia su simulatori che macchine reali. I test sono stati eseguiti sui controllori forniti da quattro importanti produttori, che abbiamo selezionato per la loro diffusione a livello mondiale, la loro esperienza, o per aver introdotto tecnologie ampiamente utilizzate nell'industria manifatturiera.
L'Industrial Control Systems Cyber Emergency Response Team (ICS-CERT) della Cybersecurity and Infrastructure Security Agency (CISA) ci ha fornito un'assistenza preziosa nell’interagire con questi produttori nella cosiddetta fase di “responsible disclosure”. A seguito delle nostre comunicazioni, tutti i produttori hanno preso provvedimenti per offrire ai loro utenti finali soluzioni più sicure, migliorando la loro documentazione, la comunicazione con i rispettivi produttori di macchine, correggendo le vulnerabilità e aggiungendo ulteriori funzioni di sicurezza. A seguito della nostra ricerca, l'ICS-CERT ha pubblicato avvisi di sicurezza relativi alle vulnerabilità trovate sui controllori di Haas e Heidenhain.
In questo articolo, presentiamo alcuni degli attacchi che abbiamo prima ipotizzato e poi condotto su macchine reali. La Tabella 1 mostra un riassunto delle nostre scoperte.
Attack class | Attack | Haas | Okuma | Heidenhain | Fanuc | Total |
Compromise | Remote code execution | √ | √ | √ | 3 | |
Damage | Disabling feed hold | √ | 1 | |||
Disabling single step | √ | √ | 2 | |||
Increasing the tool life | √ | √ | √ | 3 | ||
Increasing the tool load | √ | √ | √ | 3 | ||
Changing the tool geometry | √ | √ | √ | √ | 4 | |
Denial of service | Decreasing the tool life | √ | √ | √ | 3 | |
Decreasing the tool load | √ | √ | √ | 3 | ||
Changing the tool geometry | √ | √ | √ | √ | 4 | |
DoS via parametric program | √ | √ | √ | √ | 4 | |
Triggering custom alarms | √ | √ | 2 | |||
Ransomware | √ (network share) | √ (network share or THINC API) | √ (network share) | 3 | ||
Hijacking | Changing the tool geometry | √ | √ | √ | √ | 4 |
Hijacking a parametric program | √ | √ | √ | √ | 4 | |
Program rewrite | √ | √ | √ | 3 | ||
Data theft | Theft of production information | √ | √ | √ | √ | 4 |
Theft of program code | √ (MTConnect or THINC API) | √ (DNC) | √ (FOCAS) | 3 | ||
Theft via screenshots | √ | 1 | ||||
Total | 15 | 14 | 15 | 10 |
Attacchi che possono causare danni
Gli utensili utilizzati dalle macchine a controllo numerico vengono gestiti, durante la lavorazione, in base alla loro geometria, quale la lunghezza e il raggio del tagliente; questo per assicurarsi che siano adatti a produrre un pezzo specifico. Queste misure vengono effettuate da operatori umani o automaticamente durante la fase di messa a punto della macchina. Tuttavia, la manomissione di queste misure da parte di cybercriminali è un modo per causare danni alla macchina stessa, alle sue parti, o al pezzo su cui sta lavorando.
Abbiamo scoperto che tutti e quattro i controllori CNC che abbiamo incluso nella nostra ricerca sono suscettibili a questo tipo di attacco. Abbiamo creato un utensile in plastica per dimostrare come l'utensile di una macchina potesse schiantarsi contro il pezzo grezzo su cui sta lavorando a causa di una compensazione negativa, ovvero impostando il valore di usura dell’utensile a -10 mm (Figura 1). Considerando variazioni minime dei parametri utensile, si potrebbero introdurre micro-difetti all'interno della geometria realizzata dalla macchina utensile; contrariamente, variazioni importanti - nell'ordine di centimetri - potrebbero portare la macchina a schiantarsi con il pezzo in lavorazione piuttosto che con i sistemi di fissaggio predisposti nell'area di lavorazione.
Attacchi Denial-of-ServicIn questa sezione discutiamo i cosiddetti attacchi di Denial-of-Service (DoS). Attacchi, mirati a fermare un processo produttivo o ridurne l'efficienza. Questa tipologia di attacchi, sono spesso alla base dei cosiddetti ransomware, ovvero occasioni per un criminale informatico per richiedere un riscatto a fronte di un attacco riuscito.
Tra le classi di attacchi delineate nella nostra ricerca, la categoria dei denial-of-service (DoS) presenta il maggior numero di potenziali attacchi, tra cui:
Attivazione di falsi allarmiI falsi allarmi sono un modo in cui i malintenzionati potrebbero interrompere il processo di produzione. Le macchine CNC sono dotate di allarmi integrati che segnalano condizioni difettose nell'hardware, ma supportano anche i così detti allarmi software, cioè delle applicazioni in esecuzione. Quando questi allarmi vengono attivati, la macchina CNC smette di funzionare e necessita dell'intervento di un operatore per continuare. Un aggressore che si sia infiltrato in una fabbrica connessa potrebbe attivare remotamente questi allarmi legati al software, interrompendo bruscamente la produzione. I controllori CNC di due produttori coinvolti in questa ricerca sono vulnerabili a questo attacco.
Modifica della geometria dell'utensileLa geometria utensile cambia dinamicamente per via del consumo dell’utensile; il suo tagliente, ad esempio, si consuma a causa dell'uso continuo. Una macchina CNC utilizza il parametro "usura" per compensare tali cambiamenti nel tempo e riposizionare l'utensile in modo da mantenere la qualità dei pezzi in produzione. I malintenzionati potrebbero sferrare diversi tipi di attacchi, compresi i DoS, semplicemente alterando la geometria di un utensile. Ad esempio, un malintenzionato potrebbe configurare il parametro di usura di una fresatrice verticale in modo che sia superiore alla lunghezza dell'utensile stesso, il che indicherebbe alla fresa di operare a mezz'aria, senza poter toccare il pezzo. I nostri test hanno rivelato che tutti i controllori testati sono vulnerabili a questo tipo di attacco. In un altro attacco, un attaccante potrebbe rallentare la produzione andando a cambiare il valore di carico massimo supportato da un utensile.
RansomwareNemmeno le macchine CNC sono immuni da attacchi ransomware. I malintenzionati potrebbero bloccare una macchina o criptarne i file di progetto, bloccando di fatto la produzione finché il produttore non soddisfa le loro richieste. Gli aggressori potrebbero effettuare un attacco ransomware utilizzando una condivisione di rete non autenticata per accedere ai file di una macchina CNC, abusando di un'applicazione dannosa per effettuare chiamate al sistema operativo o inserendo uno script in una macchina per bloccarne lo schermo (Figura 2). I nostri risultati hanno mostrato che le macchine di tre dei quattro produttori testati sono a rischio di attacchi ransomware.
Hijacking
Gli aggressori che cercano di controllare il processo di produzione possono farlo modificando le funzionalità del controllore. Esistono diversi modi in cui i malintenzionati possono effettuare gli attacchi di hijacking, come ad esempio:
Modifica della geometria dell'utensile
In questo tipo di attacco, un cybercriminale con un'ampia conoscenza del processo di produzione potrebbe modificare remotamente la geometria utensile, così da introdurre micro difetti nei pezzi prodotti. Nell'ambito di uno scenario di attacco, abbiamo sviluppato un programma che istruisce una macchina CNC a incidere tracce profonde 5,05 mm in un pezzo di metallo grezzo e siamo stati in grado di condurre attacchi che hanno modificato i parametri di usura dell’utensile in modo che lo stesso programma realizzasse incisioni profonde solo 4,80 mm (Figura 3). In questo caso, la variazione era facilmente rilevabile, ma difetti di questo tipo potrebbero essere anche estremamente contenuti, sfuggendo ai più diffusi controlli qualità, causando un costoso ritiro del prodotto o un colpo alla reputazione di un'azienda manifatturiera. Abbiamo scoperto che tutti e quattro i produttori che abbiamo testato sono a rischio di questo tipo di attacco.
Hijacking dei programmi parametrici
Un altro modo in cui un malintenzionato potrebbe introdurre difetti nei pezzi è cambiando la logica di un programma parametrico in esecuzione sulla macchina. Per farlo, un aggressore altererebbe il valore delle variabili del programma in modo da indurre la macchina a produrre pezzi non conformi alle specifiche.
Abbiamo simulato un attacco di questo tipo e siamo stati in grado di modificare un programma per far sì che un utensile praticasse 2 fori (Figura 4), istruendolo invece a praticare 25 fori (Figura 5). Tutti i controllori testati si sono rivelati vulnerabili a questo tipo di attacco.
Furto di dati
Le macchine a controllo numerico contengono una miriade di dati e informazioni di produzione che possono essere appetibili a cyber-criminali. Alcuni di questi attacchi consistono in:
Furto di codice di programma
I programmi utilizzati per muovere le macchine CNC sono tra le proprietà intellettuali più sensibili di un utilizzatore, in quanto contengono i dettagli su come realizzare un pezzo specifico. Nella nostra ricerca, abbiamo mostrato che un aggressore potrebbe accedere da remoto, e in vari modi, al programma in esecuzione sul controllore. Inoltre, essendo questi programmi sviluppati in un linguaggio di programmazione non compilato (chiamato codice G), questi programmi sono facili da decodificare. In uno dei nostri esperimenti, abbiamo scoperto che un'interfaccia MTConnect esposta, utilizzata per monitorare le macchine CNC, può essere sfruttata dagli aggressori per rubare il codice sorgente del programma eseguito (Figura 6). I controllori di tre dei quattro produttori testati sono vulnerabili a questo attacco.
Furto di informazioni sulla produzione
I controlli CNC contengono informazioni preziose che aiutano i produttori a ridurre i costi e a monitorare a distanza i processi di produzione. Tra queste, i programmi di lavoro, gli utensili e i parametri di produzione utilizzati nella produzione di un pezzo specifico. Un aggressore, ad esempio, potrebbe estrarre tutti questi dati da un controllore CNC utilizzando chiamate dedicate che non richiedono autenticazione o controlli di accesso alle risorse (Figura 7). Siamo stati in grado di condurre questo tipo di attacco su tutti i controllori testati.
Difesa delle macchine CNC contro le minacce informatiche
Le aziende manifatturiere possono ottenere un vantaggio competitivo sfruttando le tecnologie emergenti nell'ambito della loro trasformazione digitale. Ma così facendo, potrebbero anche ampliare la loro superficie di attacco, offrendo ai criminali informatici maggiori opportunità di colpire. Per contrastare le minacce derivanti dalla digitalizzazione delle linee di produzione, queste aziende possono ricorrere a best practice come le seguenti per i loro controllori CNC:
- Installazione di sistemi di prevenzione e rilevamento delle intrusioni industriali (IPS/IDS), che possono aiutare i produttori a rilevare attività dannose nelle loro reti monitorando il traffico OT in tempo reale;
- Segmentazione delle reti, che può limitare le origini di accesso ai soli utenti che ne hanno bisogno, come gli utenti finali e gli operatori delle macchine CNC. Le tecnologie di sicurezza standard, come le reti locali virtuali (VLAN) e i firewall, contribuiscono a ridurre l'esposizione dei servizi di rete delle macchine CNC agli accessi non autorizzati;
- Mantenere il software delle macchine CNC aggiornato con le ultime patch, andando a limitare l’esposizione di potenziali note vulnerabilità;
- Configurare correttamente le macchine secondo le linee guida e i consigli del produttore, come ad esempio le raccomandazioni relative all'abilitazione della crittografia e dell'autenticazione di rete, ove applicabile.
Tutte la ricerca è stata resa pubblica sia in formato video che come paper di ricerca, e verrà presentata il 7 di Dicembre a Black Hat Europe.