La Guerra Cibernetica: Stuxnet, il caso più famoso

Il raid aereo statunitense all’aeroporto di Baghdad del 3 gennaio 2020, nel quale è stato ucciso il generale iraniano Qassem Soleimani, ha riportato ai massimi livelli la tensione tra Iran e USA. E si è subito pensato alle possibili ritorsioni iraniane, in particolare a cyber attacchi da parte dell’IRAN verso gli Stati Uniti. Si è tornato a parlare di CYBERWARFARE: la Guerra Cibernetica.

La vendetta da parte di Teheran per l’assassinio dell’uomo considerato come il secondo leader più potente del Paese, potrebbe avvenire – ancora una volta – attraverso il cyberspazio. Nei complicati rapporti tra Iran e USA, Teheran ha ormai una lunga storia di cyber attacchi compiuti contro obiettivi americani.

Ricordiamo solo i più famosi (e quelli noti, perché nella cyberwarfare è sempre molto difficile l’attribuzione della fonte dell’attacco):

2011: gli hacker iraniani hanno lanciato una serie di attacchi DDoS (distribuite  denial of service) che hanno danneggiato JP Morgan, Bank of America e Capital One, con centinaia di migliaia di clienti impossibilitati ad accedere ai loro conti per ore. Gli attacchi hanno colpito anche la Borsa di New York e il Nasdaq.

2013: sempre gli hacker iraniani hanno preso da remoto il controllo della rete di comando e controllo di una diga appena fuori New York. L’accesso avrebbe permesso agli hacker di rilasciare a distanza l’acqua dalla diga, ma fortunatamente il cancello della chiusa era stato scollegato manualmente per la manutenzione. 

2014: sembra ci fossero gli iraniani dietro a un attacco a uno dei casinò di Sheldon Adelson a Las Vegas. Il proprietario del casinò era un miliardario conservatore, tra i maggiori sostenitori della campagna elettorale del presidente Trump.

2018: gli hacker iraniani sono stati accusati di aver paralizzato la città di Atlanta con il ransomware SamSam. Si stima che l’attacco sia costato al comune di Atlanta circa 17 milioni di dollari per rimettere in piedi i servizi informatici della città.

A fine 2018 sono stati attaccati i server di Saipem in Medio Oriente. Sembra che sia stata utilizzata una nuova variante del malware Shamoon e – anche per questo – si sospetta che dietro questo attacco ci sia il gruppo hacker iraniano denominato APT 33 (conosciuto  anche come Refined Kitten, Holmium, o Elfin), specializzato in attacchi agli impianti petroliferi, soprattutto quelli di USA, Arabia Saudita, Emirati Arabi Uniti e Qatar. 

Ma il primo a subire un’incursione informatica fu proprio l’Iran, esattamente dieci anni fa, con il cyberattacco più clamoroso che colpì l’impianto di arricchimento dell’uranio di Natanz. E dal quell’incidente è scaturita la determinazione dell’Iran di potenziare le sue capacità informatiche a scopo di difesa, ma anche di contrattacco.

La Guerra Cibernetica dunque è cominciata anni fa: il caso considerato da tutti il primo vero, grande attacco cibernetico della storia risale all’anno 2010 e porta il nome di Stuxnet, uno dei virus informatici più distruttivi mai realizzati.

STUXNET, la cyber-arma più micidiale 

Per capire l’importanza di Stuxnet, partiamo da quelli che sono stati i suoi effetti: nel gennaio 2010, nella centrale di Natanz in Iran, le centrifughe dedicate all’arricchimento impazzirono, andando fuori controllo: da 1.064 giri/minuto passarono ad una rotazione a 1.410 giri/minuto. 

A causa della segretezza che circondava il programma iraniano, non ci sono dati certi sulla portata dei danni. Ma fonti all’interno dell’Iran e altrove affermano che il programma di arricchimento dell’uranio ha subito un rallentamento importante. L’incidente dovrebbe aver messo fuori uso almeno 1.000 delle 5.000 centrifughe iraniane causando un ritardo di alcuni anni nel programma nucleare iraniano. Queste centrifughe trattavano l’esafluoruro di uranio in forma gassosa, separando l’Uranio235 (quello utilizzabile per costruire una bomba atomica) dall’isotopo U-238. Il processo di arricchimento dell’uranio ha lo scopo di aumentare la concentrazione di U-235: un basso arricchimento (20%) permette di utilizzare l’uranio come combustibile per reattori nucleari, mentre per poter realizzare una bomba atomica occorre arrivare ad una concentrazione di U-235 di circa il 90%.

Ricordiamo che Natanz è l’unico impianto iraniano per l’arricchimento dell’uranio. Nel 2015 fu firmato a a Vienna l’accordo “Joint Comprehensive Plan of Action” (JCPOA), che limitava il processo di arricchimento da parte dell’Iran. Oggi – a seguito della rottura unilaterale dell’accordo sul nucleare da parte di Trump nel 2018 – l’Iran ha ripreso l’arricchimento dell’uranio, quindi l’impianto di Natanz è tornato a lavorare a pieno regime.

Figura 1 - Foto aerea della centrale di Natanz (Iran)
Figura 1 – Foto aerea della centrale di Natanz (Iran)

Cosa era successo? E da dove veniva l’attacco?

Questo genere di attacchi informatici non viene mai dichiarato, né “firmato”, ma ormai sappiamo molto su quanto è accaduto.

Già dal 2006 il programma nucleare iraniano preoccupava Stati Uniti ed Israele.
Nel 2008, Israele avrebbe chiesto all’amministrazione americana (durante il secondo mandato della presidenza di George W. Bush) di predisporre bombe in grado di distruggere bunker sotterranei, come erano i siti di arricchimento dell’uranio in Iran.
Il presidente Bush respinse la richiesta di un bombardamento di tipo convenzionale, ma diede l’ordine segreto di pianificare un cyber attacco contro le centrali iraniane, per danneggiare il programma atomico iraniano senza scatenare una guerra convenzionale. Questa operazione, nome in codice Giochi Olimpici, fu poi portata a termine sotto il mandato del presidente Obama.

L’attacco venne affidato a esperti americani (National Security Agency, NSA), in collaborazione con tecnici informatici israeliani (la mitica Unit 8200 dell’Israel Defense Force – IDF). Fu creato un malware micidiale, denominato Stuxnet, che era in grado di agire sui PLC Siemens Simatic S7-300, adibiti al controllo delle centrifughe (utilizzate per produrre l’uranio arricchito). Le centrifughe nell’impianto di Natanz erano di tipo P-1, basate su vecchi progetti che il governo iraniano aveva acquistato dal Pakistan. Stuxnet agì nei primi mesi del 2010, nonostante la prima versione del software sembra essere datata – secondo Kaspersky – nel giugno 2009.

Secondo altri, il primo modello di Stuxnet era stato rilasciato addirittura nel 2007, ma non aveva raggiunto il suo scopo. Forse l’obiettivo di quella primissima versione era semplicemente quello di raccogliere informazioni. Infatti americani ed israeliani erano riusciti a conoscere il layout dell’impianto di Natanz, la disposizione delle centrifughe e la loro tipologia. Questo è stato possibile – prima di arrivare all’attacco finale del 2010 – anche grazie ad un complesso lavoro di intelligence che pare abbia coinvolto anche i servizi segreti olandesi della Joint Sigint Cyber Unit (JSCU), che erano riusciti ad infiltrare spie nella centrale e probabilmente anche quelli francesi. Forse è per tale motivo (la partecipazione di stati diversi) che l’operazione è stata chiamata “Olympic Games”. 

Ma questa iniziale fase di intelligence si dovette interrompere, perché gli iraniani erano diventati sospettosi e sarebbe stato troppo rischioso mantenere spie infiltrate a Natanz.

Quindi l’attacco si sarebbe dovuto realizzare con altri strumenti e – soprattutto – era diventato più complicato riuscire ad accedere alla centrale.

Come era entrato Stuxnet nella centrale di Natanz?

L’impianto di arricchimento dell’uranio di Natanz era sotterraneo e ben protetto, sarebbe stato probabilmente impossibile distruggerlo con un attacco militare convenzionale. Come ha scritto Raoul Chiesa: “Quanti soldati, missili e carri armati sarebbero stati necessari per ottenere lo stesso risultato?”

Inoltre, gli iraniani non erano così sprovveduti da mettere in rete le loro segretissime centrali (che infatti erano disconnesse dal web) e quindi gli attaccanti hanno dovuto necessariamente accedere alla rete locale per far entrare il malware a Natanz. Ormai sembra assodato che l’inizio del contagio da parte di Stuxnet sia probabilmente avvenuto dall’interno della centrale stessa tramite una chiavetta USB infetta.

Ancora oggi le chiavette USB sono un metodo relativamente facile e poco sospettabile per iniettare codice malevolo. La maggior parte delle persone, infatti, le inserisce nel computer senza preoccuparsi troppo di eventuali virus che queste possono contenere. Questo è proprio una delle cose che spiego nei miei corsi sulla Cybersecurity: fare attenzione alle chiavette USB di provenienza non sicura!

É noto come l’infezione di Stuxnet sia partita da cinque fornitori iraniani, di cui uno produceva componenti facenti parte delle centrali e che il malware aveva messo nel mirino. Queste aziende erano ignare di essere state attaccate e, una volta infettate, è stata solo una questione di tempo prima che la centrale di Natanz venisse colpita. Attraverso una chiavetta USB inserita su vari computer all’interno di Natanz,  l’infezione si è propagata dai computer Windows al software industriale Step7 (realizzato dalla Siemens) che controllava i PLC della centrale e ne ha modificato il codice. Vedremo in seguito che tutto questo è stato possibile grazie allo sfruttamento (“exploitation”) di una serie di vulnerabilità zero-day da parte di Stuxnet.

Gli analisti che hanno esaminato Stuxnet (in particolare Symantec e Kaspersky Lab), analizzando migliaia di file ritengono di aver individuato le cinque aziende iraniane che sono state infettate da Stuxnet – in momenti successivi a partire dal giugno 2009 – e che poi lo hanno veicolato all’interno di Natanz. Questi sono i nomi:

  • Foolad Technic Engineering Co (FIECO), azienda iraniana produttrice di sistemi automatizzati per l’industria pesante;
  • Behpajooh Co. Elec & Comp. Engineering”, che si occupa di automazione industriale;
  • Mabarakeh Steel Company (Msc), azienda metallurgica iraniana;
  • Neda Industrial Group, che era già nella blacklist del Ministero della Giustizia statunitense;
  • Control- Gostar Jahed Company, con sede in Iran.

L’attacco portato da Stuxnet danneggiava i rotori delle centrifughe attraverso due diverse routine. La prima consisteva nell’accelerare drasticamente, ma brevemente, le centrifughe al di sopra della loro velocità massima di sicurezza (da 1.064 Hz a 1.410 Hz), mandandole in risonanza, per poi rallentarle brevemente al di sotto della loro velocità minima di sicurezza. Il malware avrebbe poi aspettato giorni o settimane prima di ripetere il ciclo, per ridurre le possibilità di essere rilevato. La seconda routine, più complessa, prevedeva la sovra-pressurizzazione delle centrifughe per aumentare lo stress del rotore nel tempo. Questo ha danneggiato i convertitori di frequenza, i cuscinetti ed ha fatto surriscaldare le centrifughe.

Mentre succedeva tutto questo, gli ingegneri nucleari iraniani si chiedevano cosa non andasse, dato che i sistemi di controllo della centrale non segnalavano alcun malfunzionamento!

In pratica Stuxnet non era stato progettato per distruggere le centrifughe, ma soprattutto per renderle inefficaci. Cambiando bruscamente le velocità di rotazione, le attrezzature si usuravano molto più rapidamente e dovevano essere sostituite o riparate. Le variazioni di velocità influivano anche sulla qualità dell’uranio trattato nelle centrifughe,  rendendo inefficace il processo di arricchimento.

Si stima che questo sia andato avanti per più di un anno, mandando completamente nel caos il programma iraniano. Complessivamente delle 9.000 centrifughe di cui l’Iran era dotato, si ritiene che solo 3.700 fossero rimaste in funzione dopo questi cyber-attacchi.

Figura 2 – Il presidente iraniano Mahmud Ahmadinejad osserva le centrifughe all’interno della centrale di arricchimento dell’uranio di Natanz

Sempre nel 2010, versioni successive del virus Stuxnet colpirono altre cinque organizzazioni iraniane, con l’obiettivo di controllare e danneggiare la produzione iraniana di uranio arricchito. Nell’impianto di Bushehr (la centrale iraniana equipaggiata con reattori nucleari ad acqua pressurizzata progettati e costruiti dalla Russia) fu danneggiata la turbina a vapore della centrale elettrica.

Oltre il 60 per cento dei computer infettati da Stuxnet nel 2010 erano in Iran (vedasi figura 4).

In seguito all’infezione del virus nella centrale di Natanz, Stuxnet si è diffuso al di fuori dallo stabilimento. Sembra che sia stato Israele a voler potenziare il virus per renderlo più aggressivo e capace di propagarsi più facilmente. La versione finale, quella del 2010 era la 1.1.
Probabilmente fu reso fin troppo aggressivo: al punto che un computer portatile contagiato nella centrale di Natanz, avrebbe poi portato il malware fuori dai sistemi interessati, provocando danni importanti su altre reti, che non dovevano essere assolutamente tra gli obbiettivi. In guerra si definiscono “effetti collaterali”. Ed il presidente Obama si sentì dire: “Abbiamo perso il controllo del virus”

Stuxnet, avendo colpito le cinque aziende iraniane, è stato in grado di propagarsi a livello globale: nell’estate del 2010 ha raggiunto anche aziende in Russia e Bielorussia. E qui è stato scoperto e reso pubblico: a giugno 2010 una società bielorussa che aveva lavorato nella centrale iraniana di Bushehr (un’altro impianto nucleare iraniano, colpito in misura minore da Stuxnet) rilevò in un computer portatile (che era stato in Iran) la presenza di un malware sconosciuto. Dopo le prime analisi, si scoprì che il virus aveva una firma certificata che gli consentiva di superare i controlli del sistema operativo senza troppi problemi, fatto che catturò l’attenzione degli analisti. Quel malware era proprio Stuxnet.

Cosa sappiamo di Stuxnet

Ormai scoperto, rilevato e analizzato dalle maggiori società di cybersecurity (Kaspersky, Symantec, F-Secure ed altre), Stuxnet è stato immediatamente considerato come un virus “anomalo” e troppo sofisticato per essere stato creato da normali pirati informatici. É stato classificato come “W32.Stuxnet“.

Molto interessante – in particolare – il dettagliato rapporto “W32.Stuxnet Dossier Version 1.4 (February 2011)”, realizzato da Symantec, che a settembre 2010 presentò su Virus Bulletin un’analisi completa di Stuxnet con la prima versione del dossier (Version 1.0, September 30, 2010).

Al 29 settembre 2010, i dati hanno mostrato che c’erano già circa 100.000 hosts  infettati. Il grafico seguente mostra il numero di hosts infetti per Paese:

Figura 3 – (fonte Symantec)

Quando gli informatici hanno “sezionato” il codice di Stuxnet, hanno scoperto il suo complesso meccanismo di puntamento che mirava agli hosts che avevano installato il software Siemens Step 7 (i cui file avevano l’estensione .s7p). Quindi, nonostante abbia infettato più di 100.000 computer, Stuxnet ha fatto danni solo in determinati  impianti.  Il grafico seguente mostra la percentuale di hosts infetti per paese con il software Siemens installato:

Figura 4 – (fonte Symantec)

L’analisi ha anche evidenziato l’enorme quantità di lavoro che deve essere costata la sua creazione. Microsoft ha stimato che siano serviti 10.000 giorni di lavoro. Tutti questi  indizi hanno ridotto il numero di quelli che potevano avere le capacità per crearlo. Stuxnet è un progetto troppo grande da produrre per chiunque non sia uno Stato-nazione. 

“Questo è ciò che gli Stati nazionali costruiscono, se la loro unica altra opzione fosse quella di andare in guerra”, ha scritto Joseph Wouk, un esperto di sicurezza israeliano.

Dalle analisi fatte – con  tecniche di reverse engineering – si capì che Stuxnet era una perfetta e sofisticata “macchina da guerra (cibernetica)”, con caratteristiche uniche e mai viste prima:

  • sfruttava non uno, ma ben quattro exploit cosiddetti “zero-day”, cioè vulnerabilità non ancora note alle società di sicurezza. Gli exploit Zero-day sono molto difficili da trovare. All’epoca non si era mai sentito parlare di più di un exploit zero-day in un unico malware. Stuxnet ne utilizza addirittura quattro! Tra le vulnerabilità Stuxnet ha sfruttato la zero-day denominata “Windows Win32k.sys Local Privilege Escalation” (MS10-073), che è stata “patchata” il 12 ottobre 2010. Ha sfruttato anche la MS10-061 “Print Spooler zero-day vulnerability”: questa vulnerabilità permetteva di scrivere un file nella cartella %System% delle macchine vulnerabili. Inoltre, Stuxnet utilizzava anche MS08-067, che è la stessa vulnerabilità utilizzata da W32.Downadup. MS08-067 può essere sfruttata collegandosi su SMB (Server Message Block è un protocollo, usato soprattutto dai sistemi Microsoft Windows, principalmente per condividere file, stampanti, porte seriali, ecc.) e inviando una stringa di percorso malformata che permette l’esecuzione arbitraria. Stuxnet usa questa vulnerabilità per copiare se stesso su computer remoti non patchati. Infine ha utilizzato la “Microsoft Windows Shortcut ‘LNK/PIF’ Files Automatic File Execution Vulnerability” (CVE-2010-2568): questa vulnerabilità può consentire l’esecuzione automatica di un file perché il software non riesce a gestire correttamente i file ‘LNK’ o ‘PIF’; questo permette ad un aggressore di sfruttarla per eseguire codice arbitrario (cosa che Stuxnet ha fatto). L’exploit LNK non era presente nelle versioni precedenti di Stuxnet, che si diffondevano tramite un file autorun.inf. Stuxnet usava i comandi di autorun per specificare il file da eseguire come file autorun.inf. Usando questo trucco, il file autorun.inf viene trattato prima come un file autorun.inf legittimo e poi come un file eseguibile legittimo.
  • conteneva certificati di sicurezza validi, rubati a società di software legittime (sembra utilizzasse un falso certificato Microsoft ed anche uno di Realtek Semiconductor) per sembrare autentico e non destare sospetti;
  • Stuxnet utilizzava anche funzioni rootkit (Windows Rootkit Functionality) che rendevano difficile scoprirlo e rimuoverlo: aveva cioè la capacità di nascondere le copie dei suoi file che erano stati copiati su unità rimovibili. Questo ha impedito agli utenti di accorgersi che le loro unità rimovibili erano infette e non permetteva a questi utenti di rendersi conto che la fonte dell’infezione era stata causata proprio  dall’inserimento dell’unità rimovibile. 
  • non entrava in azione se non aveva individuato l’obbiettivo per il quale era stato realizzato, cioè i PLC Siemens che controllavano le centrifughe iraniane;
  • restituiva un falso feedback di controllo, senza segnalare allarmi, per far credere ai controllori della centrale che tutto stava procedendo senza problemi (mentre le centrifughe “impazzivano”). Questo ha reso ancora più difficile per gli iraniani comprendere i motivi degli “strani guasti” alle centrifughe.

Si capì anche che il malware era stato progettato per colpire gli impianti di arricchimento dell’uranio in Iran, quindi i sospetti si concentrarono sui servizi di intelligence americani e israeliani, gli unici in grado di realizzare un software con caratteristiche simili. A fine 2010 Stuxnet, o una sua variante, era venduto al mercato nero (nel Darkweb).

“The NSA and Israel wrote Stuxnet together”: nel luglio 2013 Edward Snowden ha confermato che Stuxnet è stato progettato dalla NSA con la collaborazione dell’intelligence israeliana, tramite un corpo speciale noto come Foreign Affairs Directorate (FAD).

Figura 5 – Il documentario “Zero Days” realizzato dal regista Gibney

Questa vicenda, pur se ormai analizzata in ogni dettaglio, ha ancora aspetti poco noti che la fanno assomigliare ad un inquietante film di guerra o di spionaggio. Ed in effetti il film esiste veramente: l’attacco Stuxnet è stato raccontato nel documentario “Zero Days” (2016) del regista premio Oscar Alex Gibney.

Dicevamo che nessuno ha mai rivendicato l’attacco, né messo la propria firma su Stuxnet.

Ma in realtà, forse questa “firma” potrebbe esistere veramente. Quando gli analisti hanno sezionato il codice di Stuxnet hanno trovato diverse funzioni.

Tra queste c’è la funzione numero 16 (si ritiene che si tratti di un marcatore di infezione o di un marcatore “non infettare”) che contiene una variabile il cui valore è 19790509. Poiché a questa variabile, di puro controllo, poteva essere assegnato qualunque valore, perché proprio quel numero? Qualcuno ha scoperto che 19790509 corrisponde alla data 9 maggio 1979, che ha un significato molto preciso sia per l’Iran che per Israele: in quel giorno nella piazza di Teheran venne giustiziato Habib Elghanian, il capo della comunità ebraica iraniana. Fu una delle prime esecuzioni di ebrei da parte del nuovo regime khomeinista iraniano. Questo ha provocato l’esodo di massa della comunità ebraica iraniana, che un tempo contava circa 100.000 membri.

Può sembrare romanzesco, ma forse in quella variabile Israele ha voluto mettere la propria firma… Forse, perché la stessa Symantec (nel citato dossier) invita i lettori a non trarre conclusioni sulle attribuzioni. Gli aggressori avrebbero potuto cercare di coinvolgere un’altra parte, con un’azione di depistaggio, non rara nei cyberattacchi.

Non solo: in quel periodo, c’erano alcune centrifughe del tipo P-1 (come quelle di Natanz), installate, guarda caso, nella centrale israeliana di Dimona. Poche per scopi produttivi, ma sufficienti per fare dei test. E fornite ad Israele proprio dagli Stati Uniti (che le aveva recuperate dal programma nucleare libico).

“Tutto torna” direbbe qualcuno.

Ed infine, un ultimo dettaglio: nel codice sorgente c’è un altro riferimento al linguaggio informatico, ma questo è scritto in modo errato. Invece di “DEADFOOT” (un termine rubato ai piloti che significa un motore guasto), questo si legge “DEADF007“.

Sì, proprio 007, l’agente James Bond, ma questa volta in versione informatica… “Stuxnet. Agitato, non mescolato”.

Il caso Stuxnet è stata la dimostrazione di come con strumenti IT sia possibile portare a termini attacchi ICS (Industrial Control Systems, i sistemi di controllo industriale): è stata la prima vera arma cibernetica progettata per causare danni fisici attraverso sistemi informatici infettati.

Ed è stato – in qualche modo – anche un paradosso della storia: Stuxnet è stato realizzato  come arma contro la proliferazione nucleare, ma ha finito per aprire la porta a una proliferazione molto più difficile da controllare: la proliferazione della tecnologia delle armi informatiche. Da quel momento ogni stato (Iran compreso) si è sentito legittimato a compiere azioni di cyberwarfare. Il gioco era appena cominciato…

Stuxnet ha colpito con efficacia – ed in successione – ciascuno dei tre strati (layer) di un sistema informatico-fisico (cyber-physical system):

  1. Ha utilizzato il livello cibernetico per distribuire il malware e identificarne gli obiettivi.
  2. Ha utilizzato il livello del sistema di controllo (in questo caso i PLC) per prendere il controllo di processi fisici e riprogrammare i PLC.
  3. Infine, ha colpito il livello fisico, causando danni fisici. 

Gli attacchi ICS, che colpiscono le infrastrutture critiche di interi paesi e nazioni, saranno sempre di più una seria minaccia alla quale gli stati dovranno porre grande attenzione. In questo mio articolo racconto altri casi di famosi attacchi ICS, accaduti nel mondo a partire dagli anni 2000.

© Copyright 2020 Giorgio Sbaraglia
All rights reserved.

Quest’opera è distribuita con Licenza Creative Commons Attribuzione – Non commerciale – Non opere derivate 4.0 Internazionale.

2 risposte a “La Guerra Cibernetica: Stuxnet, il caso più famoso”

Lascia un commento