Articolo Pubblicazioni
Stuxnet (2010): il malware che colpisce gli impianti industriali e che cosa insegna alla sicurezza OT
di Vincenzo Calabrò · Pubblicato il 13 dicembre 2010
Abstract
A giugno 2010 un’azienda bielorussa di antivirus ha segnalato un malware che si diffondeva attraverso le chiavette USB sfruttando una vulnerabilità sconosciuta di Windows. Nei mesi successivi le analisi di Symantec, di Siemens e di altri ricercatori hanno mostrato che Stuxnet è progettato per riprogrammare specifici controllori industriali e nascondere le modifiche agli operatori. L’articolo ricostruisce quello che si sa a dicembre 2010, le tecniche usate e le lezioni per la sicurezza dei sistemi di controllo.
Una scoperta casuale
Nel giugno 2010 VirusBlokAda, una piccola azienda bielorussa di antivirus, ha segnalato un malware trovato sui computer di un cliente iraniano. Si diffondeva attraverso le chiavette USB sfruttando una vulnerabilità di Windows nella gestione dei collegamenti, i file LNK, che permetteva di eseguire codice semplicemente aprendo la cartella. I suoi driver erano firmati con certificati digitali sottratti a due produttori taiwanesi di componenti, Realtek e JMicron, e per questo venivano accettati dal sistema senza avvisi.
Nei mesi seguenti Symantec, Kaspersky, Siemens e diversi ricercatori indipendenti hanno smontato il codice. Ne è uscito il ritratto di un malware diverso da qualunque altro visto finora.
Come si diffonde
Stuxnet usa diversi metodi di propagazione, molti dei quali basati su vulnerabilità sconosciute al momento della scoperta:
- la vulnerabilità dei collegamenti LNK, per infettare i computer a cui viene collegata una chiavetta;
- una vulnerabilità del servizio di stampa di Windows e una già nota del servizio server, per diffondersi nella rete locale;
- due vulnerabilità per ottenere privilegi elevati sui sistemi già infettati;
- le cartelle condivise e i progetti del software di programmazione Siemens, per raggiungere i computer di ingegneria.
In totale le vulnerabilità zero-day sfruttate sono quattro, un numero mai visto in un singolo malware. La propagazione attraverso USB è pensata per raggiungere reti isolate da Internet, come quelle degli impianti, dove i file vengono portati a mano dai tecnici.
Che cosa fa agli impianti
La parte più sorprendente riguarda il bersaglio. Stuxnet cerca i computer con il software Siemens WinCC e STEP 7, usati per supervisionare e programmare i controllori logici programmabili. Quando li trova, controlla se il PLC collegato ha una configurazione molto specifica, con determinati moduli e convertitori di frequenza di due produttori, che regolano la velocità di motori elettrici. Solo in quel caso modifica il programma del controllore.
Le modifiche alterano periodicamente la frequenza dei motori, portandola a valori molto alti e molto bassi per brevi intervalli, con l’effetto di sollecitare meccanicamente le macchine. Nel frattempo Stuxnet intercetta le comunicazioni fra il software di programmazione e il PLC e mostra agli operatori i valori normali, nascondendo il codice inserito. È, di fatto, il primo rootkit per controllori industriali documentato.
Perché è così complesso
Le dimensioni e la qualità del codice colpiscono gli analisti. Stuxnet occupa circa mezzo megabyte, contiene componenti scritti con stili diversi, si aggiorna attraverso una rete peer-to-peer fra i computer infetti e comunica con due server di comando e controllo mascherati da siti sul calcio. Per scriverlo servivano competenze di sviluppo per Windows, conoscenza approfondita del software Siemens e dei PLC e informazioni dettagliate sull’impianto da colpire, probabilmente provate su un ambiente di test con gli stessi componenti. Symantec stima che il lavoro abbia impegnato un gruppo di persone per mesi.
Il malware ha anche limiti voluti. Si diffonde su un numero ridotto di computer per ogni chiavetta, contiene una data oltre la quale smette di propagarsi e attiva il carico solo sulla configurazione bersaglio. Sono scelte che suggeriscono l’intenzione di colpire un obiettivo preciso limitando i danni collaterali, anche se la diffusione ha poi superato di molto i confini dell’impianto.
Chi c’è dietro
Le infezioni si concentrano in Iran, che secondo Symantec ospita circa il sessanta per cento dei computer colpiti. La configurazione cercata da Stuxnet è compatibile con le cascate di centrifughe per l’arricchimento dell’uranio, e a novembre il presidente iraniano ha ammesso problemi tecnici ad alcune centrifughe causati da software. Non ci sono prove pubbliche su chi abbia sviluppato il malware. Le risorse necessarie, la conoscenza dell’impianto, i certificati rubati e le quattro vulnerabilità inedite fanno pensare a uno o più Stati.
Le lezioni per chi gestisce impianti
Al di là del bersaglio, Stuxnet cambia il modo di pensare la sicurezza dei sistemi di controllo:
- l’isolamento dalla rete da solo è insufficiente, perché chiavette, portatili dei fornitori e file di progetto attraversano i confini fisici;
- la firma digitale di un componente non ne garantisce la legittimità se i certificati del produttore vengono sottratti;
- il computer di ingegneria che programma i PLC è un asset critico quanto il controllore stesso;
- gli operatori possono vedere valori normali mentre l’impianto è manipolato, e servono controlli indipendenti sui parametri fisici;
- l’aggiornamento dei sistemi industriali richiede procedure dedicate, ma rimandarlo all’infinito lascia aperte vulnerabilità sfruttabili.
Che cosa fare subito
Le stesse tecniche possono essere riutilizzate. Ora che il codice è stato analizzato e descritto pubblicamente, altri gruppi potrebbero copiarne le idee contro impianti diversi, con obiettivi meno selettivi.
Siemens ha pubblicato uno strumento per rilevare e rimuovere Stuxnet e raccomanda di installare gli aggiornamenti di Microsoft. Le aziende con sistemi WinCC e STEP 7 dovrebbero verificare i propri computer, controllare l’integrità dei programmi caricati sui PLC confrontandoli con copie di riferimento e rivedere la gestione dei supporti rimovibili. Più in generale, il modello di zone e condotti proposto dalle norme ISA99 e IEC 62443, con controlli rigorosi sui passaggi fra le reti, diventa una necessità concreta per chiunque gestisca un impianto.
Per chi si occupa di analisi forense, infine, Stuxnet mostra quanto sia difficile indagare su un incidente industriale. Le tracce si trovano sui computer di ingegneria, nei progetti di automazione e nella memoria dei PLC, che pochi strumenti sanno leggere. Conservare copie di riferimento dei programmi e registrare le modifiche ai controllori diventa la condizione per capire, un giorno, se un impianto è stato manipolato.
Vedi anche: l’articolo del 2009 Da ISA-99 a IEC 62443: come nasce lo standard per la sicurezza dei sistemi industriali, l’articolo del 2026 L’attacco alla rete elettrica ucraina del 2015 e l’articolo del 2026 La sicurezza dei sistemi OT.
Vincenzo Calabrò | Ingegnere informatico specializzato in sicurezza informatica e investigazioni digitali. Funzionario informatico del Ministero dell'Interno; su incarico autorizzato si occupa di sicurezza informatica e di perizie informatiche forensi. Autore di articoli e saggi. Lecturer, Speaker, Trainer.Profili: Google Scholar · ORCID · ResearchGate · Academia.edu · CyberSecurity360 · AgendaDigitale · ICT Security Magazine · LinkedIn