Il virus contro l’atomica iraniana

La storia di Stuxnet, il virus informatico creato per sabotare gli stabilimenti nucleari in Iran

di Emanuele Menietti – @emenietti

Sergey Ulasen è il responsabile della sezione “Anti-Virus Kernel” di VirusBlokAda, una piccola società informatica della Bielorussia specializzata in sicurezza informatica. Lo scorso 17 giugno Ulasen era al lavoro nel suo ufficio di Minsk quando ricevette una strana email da un cliente in Iran: il suo computer continuava a riavviarsi e non c’era verso di fermarlo. L’esperto di sicurezza si mise al lavoro e insieme a un collega identificò un virus informatico, ancora sconosciuto, che aveva infettato la copia di Windows del cliente iraniano. La storia la racconta Michael Joseph Gross in un lungo articolo su Vanity Fair dove si ipotizza che il virus fosse alla base di un atto di guerra vero e proprio, seppur virtuale, contro il programma nucleare di Teheran.

Il virus impostore
Il virus sfruttava una falla “zero day”, come dicono gli esperti di informatica: una vulnerabilità del sistema operativo di Microsoft non ancora nota. La scoperta di un simile malfunzionamento, che mette potenzialmente in pericolo la sicurezza di milioni di computer, viene affrontata con grande attenzione dalle società che producono antivirus e dalla stessa Microsoft, che cerca sempre di correre ai ripari il più rapidamente possibile.

Il virus scoperto da Ulasen era particolare, perché utilizzava un modo per propagarsi prima sconosciuto. Metti una penna USB contenente il virus in un portatile e il virus si intrufola clandestinamente, caricando due file: un rootkit dropper (che consente al virus di fare ciò che vuole sul computer, come spiega un hacker: «”Root” significa che tu sei Dio») e un sistema per diffondere del codice malevolo così criptato da essere, per Ulasen, indecifrabile.

Ben congegnato, il virus era riuscito a nascondersi nel computer del cliente di Ulasen usando una firma digitale affidabile e diventando così difficilmente rintracciabile. Semplificando: ogni programma utilizza una firma digitale, un segno di riconoscimento, per provare la propria affidabilità al sistema operativo. A volte chi programma i virus usa firme fasulle per trarre in inganno i sistemi di sicurezza, ma per la prima volta un programma malevolo usava una firma digitale autentica ottenuta in qualche modo da Realtek, una delle più grandi società produttrici di componenti per computer.

Non avendo idea dello scopo del virus, il 5 luglio Ulasen inviò la segnalazione a un amico in Germania, che gli diede poi una mano a preparare un breve resoconto da inviare al Microsoft Security Response Center. Il giorno seguente la società confermò di aver ricevuto la segnalazione e di essere al lavoro per risolvere il problema, così il 12 luglio Ulasen decise di condividere la propria scoperta su un forum di esperti di sicurezza informatica. In un paio di giorni, un informatico tedesco riuscì a scoprire che l’obiettivo finale del virus erano i controllori logici programmabili (PLC), i computer utilizzati nell’industria per gestire i processi negli impianti industriali, sia di produzione che di controllo.

Il 15 luglio Microsoft pubblicò una prima serie di soluzioni per risolvere il problema su Windows e rendere inoffensiva l’azione del virus. Al momento della pubblicazione della soluzione, il virus aveva però già infettato almeno 15mila computer, con picchi notevoli in Asia, specialmente in India e Indonesia, e con volumi anomali soprattutto in Iran. Il programma malevolo venne battezzato per praticità “Stuxnet”, l’anagramma di alcune lettere contenute nel suo codice.

Il problema non era, però, del tutto risolto. Il giorno prima che Microsoft rilasciasse i propri consigli, gli autori del virus cambiarono la firma digitale di Realtek, ormai scoperta, con un nuovo certificato sempre autentico di un’altra società. Questo diede al sistema una settimana in più per diffondersi, prima che la nuova firma rubata venisse identificata e ritirata dalla circolazione. I programmatori del virus questa volta non reagirono, evitando di aggiornare per una terza volta il loro programma malevolo, cosa che consentì a Microsoft e alle altre società che si occupano di sicurezza informatica di arginare la diffusione del virus.

Arriva Kaspersky
Microsoft era arrivata a risolvere il problema anche grazie alla collaborazione di Kaspersky Lab, una società russa specializzata nella produzione di antivirus fondata da Eugene Kaspersky nel 1997. Nato nel 1965 a Novorossijsk, il principale porto russo sul Mar Nero, Kaspersky si è laureato in Crittografia, Telecomunicazioni e Scienze Informatiche a Mosca, in un istituto sostenuto dal ministero della Difesa e dal KGB nel 1987. È appassionato di automobili, guida una Ferrari e sponsorizza un team di Formula 1, ed è un fan dell’attore Jackie Chan, tanto da averlo scelto come testimonial della propria società.

Insieme ai propri colleghi, Kaspersky rimase sorpreso dalle informazioni fornite da Microsoft su Stuxnet. Il virus non era come tutti gli altri e apriva un nuovo capitolo nella lotta contro i programmi malevoli, un capitolo molto redditizio per le società che come quella di Kaspersky lavorano per contrastare i virus, all’occorrenza in modo strumentale per lucrare sulle preoccupazioni di chi usa i computer e teme di perdere dati e informazioni preziosi.

Aiutati anche da Symantec, la più grande società di sicurezza informatica del mondo (quella degli antivirus Norton) gli esperti di Kaspersky e di Microsoft scoprirono che per poter funzionare Stuxnet non sfruttava una sola falla “zero day”, ma addirittura quattro. Una cosa senza precedenti, tale da rendere Stuxnet un virus unico nel suo genere.

Quando hanno iniziato ad accumularsi le “zero day”, racconta Kaspersky, è nato il sospetto che dietro Stuxnet ci potesse essere il lavoro di un governo, perché trovare tutte queste falle senza avere accesso al codice sorgente di Windows sarebbe stato così difficile e impegnativo in termini di tempo per una singola persona. Poi Kaspersky abbassa la voce, sorride e dice: «Stiamo arrivando a un punto seriamente pericoloso. Il prossimo passo, se ne parliamo in questi termini, se ne stiamo discutendo in questo modo, il passo successivo sarebbe pensare che ci sia stata una chiamata da Washington a Seattle [dove ci sono gli uffici di Microsoft, ndr] per avere una mano a trafficare con il codice sorgente».

La storia di Stuxnet era molto interessante, ma la mancanza del chiaro obiettivo di questo virus nato apparentemente per sabotare alcune macchine industriali rendeva la vicenda giornalisticamente poco spendibile. A metà luglio uno degli esperti di Kaspersky provò a convincere un giornalista del New York Times a scriverne, ma senza successo, nonostante le insistenze e la segnalazione che un simile virus avesse richiesto almeno sei mesi di lavoro per essere messo a punto e che si era diffuso in tre diverse ondate a partire dai primi mesi del 2010.

A cosa mirava Stuxnet
A metà settembre, quando il problema di Stuxnet sembrava essere superato, la segnalazione di un impresario di Amburgo riportò l’attenzione degli esperti sul virus. Ralph Langner, il proprietario di una società che produce sistemi di sicurezza per i PLC che usano i programmi della Siemens, aveva studiato per settimane il virus arrivando a una conclusione: era stato programmato per sabotare il programma nucleare iraniano.

Da tempo le autorità iraniane vengono accusate di essere al lavoro per costruire armi nucleari e nel 2003 l’Iran non ha fornito informazioni precise all’Agenzia Internazionale per l’Energia Atomica, l’organizzazione dell’ONU che promuove l’utilizzo pacifico delle tecnologie legate al nucleare. Le scarse informazioni sugli effettivi programmi iraniani inquietano buona parte dell’Occidente, soprattutto Israele, spesso oggetto di minacce da parte del governo di Teheran. Secondo Langner e altri esperti di informatica, Stuxnet mirava a sabotare i piani dell’Iran.

Quando Stuxnet infetta un computer, prova a moltiplicarsi su tutti i dispositivi collegati alla rete di quello stesso computer cercando di scoprire se qualcuno di questi stia usando del software Siemens. Se la risposta è no, Stuxnet diventa una funzione inutile e del tutto inerte nella rete. Se la risposta è sì, il virus cerca di capire se il dato dispositivo sia o meno collegato a un PLC oppure aspetta che lo diventi. Poi analizza il PLC e i macchinari cui è collegato alla ricerca di un particolare macchinario. Se lo trova, verifica che stia lavorando sotto determinate condizioni. E se così è, Stuxnet introduce nuove porzioni di codice per modificare il modo in cui funziona il macchinario.

Simili sistemi per sabotare il funzionamento dei dispositivi industriali erano già stati utilizzati in passato, ma mai in remoto come nel caso di Stuxnet, spiega Langner, che verso la fine di settembre dello scorso anno ottenne un po’ di visibilità quando la sua scoperta venne segnalata da Gadgetwise, uno dei blog di tecnologia più seguiti del New York Times. Secondo Langner, il virus era stato diffuso per colpire l’impianto iraniano di Bushehr, che in effetti era rimasto fermo per quasi un mese in seguito ad alcuni problemi tecnici nel corso dell’estate.

Nei mesi seguenti alla pubblicazione della notizia sul sito del New York Times, un analista di Symantec continuò a lavorare su Stuxnet per capire quale fosse l’obiettivo del virus. Grazie all’aiuto di un esperto olandese, saltò fuori che il virus era stato creato per sabotare un particolare tipo di macchinario: le centrifughe utilizzate negli impianti nucleari per arricchire l’uranio. Stuxnet era stato programmato per identificare un particolare tipo di centrifuga creato da una società iraniana in collaborazione con una azienda finlandese, misurarne alcuni parametri e modificarne la velocità, danneggiando così irreparabilmente i macchinari.

Gli americani e il Mossad
Altre verifiche condotte dall’espero di informatica tedesco Frank Rieger portarono, però, a ipotizzare che l’obiettivo del virus non fosse l’impianto di Bushehr, ma quello di Natanz. Rieger arrivò a questa conclusione dopo essersi consultato con gli analisti di sei diversi paesi europei che si erano occupati di Stuxnet. Grazie alle proprie conoscenze in tre di questi paesi, riuscì a parlare anche con alcuni membri dell’intelligence convinti che l’operazione di sabotaggio fosse stata organizzata dagli Stati Uniti in collaborazione con Israele.

Secondo Rieger, il virus sarebbe stato sviluppato dall’intelligence statunitense e sarebbe stato poi diffuso dal Mossad, i servizi segreti israeliani. Casi di sabotaggio di questo tipo sono esistiti anche in passato da parte dei servizi segreti, ma se davvero Stuxnet rientrasse nella categoria ci ritroveremmo davanti a uno scenario molto diverso, dove un programma inviato in remoto può causare danni e rendere praticamente impossibile l’identificazione degli autori del virus. Un indizio che sembra indicare la presenza di un sistema molto raffinato, creato dai servizi, è dato anche dalla “scadenza” di Stuxnet. Il virus dovrebbe automaticamente disattivarsi e scomparire il 24 giugno del 2012, ma molti informatici sono scettici sull’effettiva capacità del programma malevolo di eliminarsi automaticamente.

Quella di un coinvolgimento dei servizi degli Stati Uniti e di Israele è un’ipotesi molto dibattuta da mesi, ma non sono naturalmente mai arrivate conferme da parte delle organizzazioni che potrebbero essere coinvolte. A gennaio, il capo uscente del Mossad, Meir Dagan, ha ammesso che alcune “misure adottate contro” i piani nucleari dell’Iran hanno causato un rallentamento di anni nello sviluppo delle tecnologie necessarie per costruire armi atomiche. Il responsabile dei servizi non ha però fatto riferimento a Stuxnet, ma secondo il New York Times gli israeliani avrebbero sperimentato il virus in uno dei loro impianti con alcune simulazioni prima di diffonderlo e colpire gli impianti nucleari iraniani.

I tempi dell’evoluzione di Stuxnet sembrano confermare i sospetti sulla mossa per sabotare il nucleare iraniano. Nel gennaio del 2010, l’Iran rifiutò la proposta dell’AIEA di arricchire il proprio uranio all’estero, sotto controllo, e poche settimane dopo iniziarono a circolare le prime versioni del virus. Nel mese di febbraio, l’AIEA confermò che le autorità iraniane stavano lavorando per produrre armi nucleari e, di nuovo, poche settimane dopo Stuxnet divenne ancora più evoluto e in grado di propagarsi sulle penne USB all’insaputa degli utenti. Ad aprile l’Iran confermò di essere al lavoro per la costruzione di un nuovo impianto per l’arricchimento dell’uranio e nello stesso mese comparve la terza evoluzione di Stuxnet. Poi arrivarono le sanzioni dell’ONU, dell’Unione Europea e degli Stati Uniti.

Il virus sarebbe quindi stato realizzato per rallentare i piani dell’Iran, una soluzione da usare contestualmente alle sanzioni decise dalla comunità internazionale. Non è chiaro se Stuxnet abbia effettivamente sortito l’effetto desiderato, ma ha invece consentito ad Ahmadinejad di fare propaganda, dichiarando di aver subito un attacco informatico contro gli impianti nucleari del suo paese.

A prescindere da come abbia funzionato, non c’è dubbio che Stuxnet sia qualcosa di nuovo sotto al sole. Nel peggiore dei casi, si tratta di un progetto per un nuovo modo di attaccare i sistemi di controllo della produzione industriale. Del resto, la cosa più importante ora nota pubblicamente su Stuxnet è che Stuxnet è ora noto pubblicamente. […] Stuxnet è l’Hiroshima della guerra informatica. Questo è il suo vero significato, e tutte le speculazioni sui suoi obiettivi e la sua origine non dovrebbero distoglierci dalla verità più grande. Abbiamo passato un confine e non si torna più indietro.