Anatomia di Stuxnet

Per chi non conosca la storia di Stuxnet, per quel che sappiamo, la prima vera arma fatta interamente di software, ne abbiamo parlato qui. Ora questo breve video ne riassume le caratteristiche.

An infographic dissecting the nature and ramifications of Stuxnet, the first weapon made entirely out of code. This was produced for Australian TV program HungryBeast on Australia’s ABC1.

https://youtu.be/qeEY7-Q0ViI

https://youtu.be/iKUuuvo_cSQ

Stuxnet

PLCLa storia di Stuxnet è da raccontare.

In breve, Stuxnet è un virus. Ma non è uno dei soliti, fabbricato da un lamer qualsiasi o da uno spammer professionale. E non è nemmeno una proof-of-concept, un virus creato per dimostrare che esiste una vulnerabilità e può essere sfruttata.

Stuxnet è stato rilevato già in Gennaio, ma solo nel Luglio di quest’anno si sono notate alcune sue caratteristiche non comuni e all’analisi di Symantec, è apparso subito come un prodotto un po’ particolare. Infatti, questo virus infetta i sistemi windoze, ma non è interessato a un sistema qualsiasi. Lui cerca i sistemi di controllo industriale, genericamente noti come SCADA Systems.

Però questo tipo di sistemi, di solito, non risiede su macchine collegate ad internet o, se lo sono, si collegano solo a indirizzi ben precisi, spesso via VPN (reti private criptate e altamente sicure). Non si legge la mail e non si surfa tranquillamente su un computer che controlla, per es., una centrale elettrica. Non ci si infilano nemmeno USB key perché queste macchine sono costruite ad hoc con varie schede di I/O e non hanno le interfacce dei computer normali, ma solo quelle collegate ai sensori e agli attuatori di controllo. Spesso non hanno nemmeno tastiera e monitor (vedi immagine in alto a destra). Quindi, come può un virus installarsi in uno di questi computer?

Il fatto è che questi sistemi, chiamati Programmable Logic Controller (PLC), sono, in realtà, dei micro-computer in cui si deve caricare il programma che controllerà l’automazione di un processo industriale e questo programma viene creato tramite un sistema di sviluppo che gira su un computer windoze. Quello che succede è che un programmatore prepara, su un emulatore windoze, il codice destinato ad essere caricato nel PLC.

A questo punto è chiaro che, anche se il PLC non è collegato ad internet, un modo per infettarlo esiste. Consiste nel raggiungere il computer che ospita il sistema di sviluppo che serve a creare il software destinato al PLC e infettare proprio questo software. In tal modo, quando il programma sarà caricato nel PLC, anche il virus verrà caricato con lui.

Stuxnet cerca questo tipo di macchine, ma non tutte: se la prende soltanto con una specifica configurazione di software presente nei sistemi di controllo realizzati dalla Siemens. Per infettare le proprie vittime, usa un metodo d’infezione nuovo e originale che non richiede l’interazione dell’utente: basta che venga visualizzata la sua icona su un sistema Windows non aggiornato. Sfrutta ben quattro vulnerabilità prima sconosciute. Inoltre, è capace di rendersi invisibile a windoze e di iniettarsi nei software creati per i PLC e rendersi invisibile anche in questi ultimi. Infine, contiene ben 70 blocchi cifrati che rimpiazzano alcune funzioni fondamentali di questi sistemi. Per impedire che venga scoperto, i suoi autori hanno rubato le firme digitali segrete di due fabbricanti di chip taiwanesi per usarle in Stuxnet e farlo sembrare software certificato.

Si tratta di uno spiegamento di forze pazzesco per un virus, anche per uno non banale. Quattro vulnerabilità prima sconosciute, blocchi di codice cifrato, sostituzione di funzioni fondamentali, firme digitali rubate indicano il possesso di conoscenze che vanno al di là di quelle di cui dispone un singolo hacker o cracker e fanno sospettare anche che le aziende produttrici di questi PLC abbiano fornito più di una informazione. Allora chi ha fatto uno sforzo di questo genere e perché?

Il grafico in questa pagina di Symantec mostra che la distribuzione delle infezioni si concentra nell’Iran: quasi il 60% delle macchine colpite è in questo paese. Liam O’Murchu, della Symantec, ha detto alla BBC che

il fatto che vediamo così tante infezioni in più in Iran che in qualunque altro paese del mondo ci fa pensare che questa minaccia informatica era mirata all’Iran e che c’era qualcosa in Iran che aveva un valore molto, molto alto per chiunque l’abbia scritta

Ma l’analisi di Symantec è andata avanti, scoprendo che, anche quando Stuxnet ha trovato una macchina che risponde alla caratteristiche richieste e la infetta, non entra in azione sempre, ma fa, prima, altri controlli. Cerca un sistema con una data configurazione e che sia collegato a dei convertitori di frequenza fabbricati da due sole aziende, una delle quali è finlandese, mentre l’altra ha sede a Tehran, Iran.

Non solo. Il virus controlla anche che i convertitori lavorino a frequenze elevate, comparse fra 807 e 1210 Hz. Gli impianti con componenti che richiedono tali frequenze non sono molti. Uno di questi è costituito dalle centrifughe utilizzate per l’arricchimento dell’uranio.

Un convertitore di frequenza è un dispositivo che può variare la propria frequenza di uscita, che controlla la velocità (il numero di giri) di un motore. Stuxnet può interferire con questo controllo e variare la velocità dei motori, sabotando, così, l’intero processo.

In conclusione, abbiamo un virus molto raffinato, che sfrutta conoscenze non facilmente ottenibili, usa modalità di infezione difficili da realizzare e prende di mira impianti con componenti comuni in Iran. Inoltre controlla che l’impianto in questione abbia caratteristiche tipiche degli impianti di arricchimento dell’uranio iraniani. Altre fonti nominano il reattore nucleare di Bushehr.

In effetti, la BBC ha scritto che secondo l’agenzia iraniana ufficiale IRNA, Stuxnet ha infettato i personal computer del personale presso la centrale nucleare di Bushehr, ma il sistema operativo della centrale non è stato danneggiato. Secondo Mahmoud Liay, responsabile del consiglio per l’informatica del ministero dell’industria iraniano, “è stata lanciata una guerra elettronica contro l’Iran” e gli indirizzi IP infetti in Iran sarebbero circa 30.000.

Da quanto possiamo vedere, stiamo probabilmente assistendo a uno dei primi casi noti pubblicamente di attacco informatico alle installazioni nucleari di un paese. Che cosa si sia voluto colpire non è chiarissimo, perché centrifughe a così alta velocità, in una centrale non dovrebbero essercene, ma in un impianto di arricchimento dell’uranio invece sì. È invece chiaro, dai numeri, che il virus era diretto principalmente all’Iran e ha potuto agire per circa un anno prima di essere analizzato a fondo.

Chi abbia messo in atto questo attacco, non è dato saperlo. Il codice del virus contiene un riferimento biblico che farebbe pensare a Israele. Si tratta della parola “Myrtus” che può essere letta come un’allusione al libro di Esther, nel Vecchio Testamento, dove si narra di come gli ebrei riescano a sventare un complotto persiano mirato a distruggerli.

Tuttavia, ci si chiede perché Israele avrebbe firmato un attacco di questo tipo e si può anche pensare che il suddetto riferimento sia stato piazzato a bella posta per depistare. D’altra parte, la megalomania dei soggetti che fanno lavori di questo tipo è nota e si traduce spesso nel lasciare un firma. Inoltre potrebbe trattarsi solo di una minaccia oppure una prova, per far sapere che si è in grado di farlo e quindi di fare anche di peggio…

Fonti: Symantec qui, qui e qui (rapporto completo in pdf); il Disinformatico, qui e qui.

Virus da tastiera

apple keyboardDopo una notizia interessante sul mondo Apple, ne arriva una un po’ inquietante, ma comunque divertente.

Le tastiere USB o Bluetooth di Apple sono infettabili da virus. Le tastiere, non il computer. Think different!

Il fatto è che le suddette tastiere contengono un firmware, cioè un piccolo software che risiede in una memoria flash di circa 8k (una memoria che non si cancella allo spegnimento, ma che può essere sovrascritta). Rimpiazzando questo software, si può alterare il comportamento della tastiera, permettendogli, per esempio, di registrare ciò che scrivete o anche di inviare autonomamente dei comandi alla macchina.

Il punto interessante è che la sostituzione del suddetto software può essere effettuata da remoto, come la stessa Apple fa. Quindi basta indurre l’utente a scaricare quello che lui crede essere un aggiornamento e il gioco è fatto.

Ovviamente, rispetto a tutti i virus che girano nel mondo windoze, si tratta di una banalità, ma ha almeno un aspetto inquietante: questo non è un virus normale. Potete anche rasare a zero l’hard disk, riformattare tutto e reinstallare il sistema da zero, ma lui resta sempre lì, perché vive nella tastiera, non nell’hard disk.

Dato che non ho un Mac, devo queste info al Disinformatico.

Sei un zombie?

Guardando l’ennesimo tentativo di attacco virale via mail (si spera fermato dall’antivirus) o diretto a una porta del computer (e bloccato dal firewall), oppure trovandosi con la macchina bloccata e impestata fino ai capelli, molti di voi si saranno chiesti “ma perché? chi ci guadagna in tutto questo giro di virus?”

Questa, fra l’altro, è una delle domande che mi sento rivolgere con maggiore frequenza quando parlo di sistemi operativi e sicurezza nelle aule di formazione. In effetti, mentre tutti (o quasi) capiscono chiaramente dove stia il lucro nel vendere i numeri del lotto, è difficile per l’utente medio avere la percezione dei vantaggi che derivano dallo spargimento di virus.
Il fatto è che i virus attuali non sono più distruttivi come quelli di un tempo. L’epoca delle ca…te goliardiche è passata e la nuova logica è quella del profitto e della produttività. Come nella biosfera, il virus che uccide l’ospite può anche provocare una pandemia, ma è un fallimento perché nel contempo si suicida. Quello che, invece, non provoca particolari problemi all’ospite o magari riesce anche a cambiarlo un po’ in modo da costruire un ecosistema più favorevole alla propria specie è un successo.
Ma allora, cosa fanno i virus attuali? Molto semplice: il principale fine di un virus ben fatto è quello di trasformare il vostro computer in un zombie.
Dicesi zombie una macchina che, all’insaputa del proprietario

  • esegue un compito ben determinato (per esempio, invia una mail di spam a tutti gli indirizzi della rubrica), ma, ancora meglio
  • quando l’utente è collegato a internet, invia il suo indirizzo ip a un determinato sito o mailbox e apre una backdoor (porta di servizio) consentendone il controllo da remoto.

Soprattutto questo secondo caso è premiante perché consente al produttore del virus di usare tranquillamente il vostro computer da chissà dove per piccole attività tali da non rallentarlo in modo sensibile e ovviamente da non bloccarlo, altrimenti, prima o poi, voi ve ne accorgete e magari anche senza sapere il perché dei rallentamenti, reinstallate windows.
Il problema è che queste attività possono essere piccole, ma generalmente sono illegali e nei log del destinatario della spam o del sistema a cui è diretto l’attacco resta il vostro numero di ip.
Il secondo punto è che lo scopo dell’untore è di controllare un gran numero di macchine per farle lavorare tutte insieme. Una tale concentrazione di zombie è detta ‘botnet’ (rete di robot) e può essere usata, per esempio

  • per diffondere lo stesso messaggio di pubblicità non richiesta a 10.000.000 di utenti nel giro di qualche minuto;
  • per scatenare un attacco DDoS (Distributed Denial of Services) mandando milioni di richieste di pagina per secondo a un certo server e intasarlo al punto da impedirgli di rispondere agli utenti legittimi;
  • per diffondere materiale illegale di vario tipo;
  • per decodificare un file di password (rubato a qualche sistema) mediante tentativi casuali: un solo computer impiegherebbe un anno, ma 100.000 computers possono farcela in meno di 10 minuti;
  • infine, per una attività non necessariamente legata al controllo di una botnet, ma remunerativa soprattutto quando riesce molte volte: salvare in un file tutto ciò che digitate sulla tastiera mentre siete collegati (comprese le password del vostro account bancario) e inviarlo a un certo indirizzo.

Ovviamente, tutto questo a pagamento. L’ultimo arrestato per aver organizzato una siffatta rete (il botmaster) gestiva più di 500.000 zombie sparsi per tutto il mondo, per cui almeno 100.000 erano accesi contemporaneamente e aveva guadagnato più di $100.000 in un anno di ‘noleggio’ della propria botnet. Magari li fatturava anche. Consulenza di marketing.
Il bello è che il sistema per difendersi è piuttosto semplice: installare un buon sistema antivirus + firewall (ce ne sono anche di gratuiti) e tenerlo aggiornato, oppure usare Linux.