Nel maggio 2012, Kaspersky Lab, nel corso di un’indagine richiesta dall’International Telecommunication Union (ITU), scoprì uno dei malware più complessi mai analizzati fino ad allora: Flame (noto anche come Flamer o sKyWIper, il nome dato dai ricercatori del laboratorio ungherese CrySyS). Non era un semplice trojan o uno spyware commerciale, ma una piattaforma di spionaggio così sofisticata da far pensare a un progetto con risorse statali, legata in modo indiretto a quella di Stuxnet.
⚡ In Sintesi: Cos’è Flame
- Natura: malware modulare di spionaggio, attivo almeno dal 2010.
- Dimensioni: circa 20 MB di moduli, molto più grande della maggior parte dei malware (Stuxnet era di circa mezzo megabyte).
- Area colpita: principalmente Medio Oriente, con la maggior parte delle infezioni in Iran. Tra i Paesi coinvolti anche Israele, Territori palestinesi, Sudan, Siria, Libano, Arabia Saudita ed Egitto.
- Funzioni chiave: registrazione audio ambientale, screenshot, cattura dei tasti premuti, raccolta di dati dai dispositivi Bluetooth e analisi del traffico di rete.
- Attribuzione: nessun governo l’ha rivendicato ufficialmente.
1. La Scoperta (2012)
L’ITU, agenzia delle Nazioni Unite per le telecomunicazioni, aveva chiesto a Kaspersky di indagare su Wiper, un malware che cancellava dati da computer in Iran, in particolare nel settore petrolifero. Durante questa ricerca i ricercatori si imbatterono in Flame, un software di tutt’altro genere: non distruggeva dati, ma li rubava in silenzio. Kaspersky ne annunciò la scoperta il 28 maggio 2012.
Dall’analisi emerse che Flame operava indisturbato almeno dal 2010, senza essere rilevato dai principali antivirus. Kaspersky datò la piattaforma su cui si basa a non oltre l’estate del 2008. Per Kaspersky, la quantità di infezioni accertate era di circa 1.000 macchine, ma le stime parlavano di probabili migliaia di vittime nel mondo, tra cui privati, organizzazioni legate a Stati e istituti di istruzione.
2. Architettura Tecnica: perché era così grande?
Mentre la maggior parte dei malware punta alla leggerezza per passare inosservata, Flame stupì gli analisti per le sue dimensioni: circa 20 megabyte di codice suddiviso in decine di moduli specializzati.
- Struttura modulare: Flame poteva caricare solo i moduli necessari all’obiettivo. Esistevano moduli per il Bluetooth, per gli screenshot, per la registrazione del traffico di rete e per la propagazione tramite chiavette USB.
- Linguaggio di scripting LUA: nel codice i ricercatori trovarono un interprete per il linguaggio LUA, che permetteva di eseguire compiti specifici senza modificare l’eseguibile principale.
- Database SQLite locale: le informazioni sottratte venivano memorizzate in database SQLite sul computer infetto, in attesa di essere inviate ai server di comando e controllo (C2).
3. Le Funzionalità di Spionaggio
Le capacità di Flame erano molto superiori a quelle degli strumenti di spionaggio noti all’epoca:
- Ascolto ambientale: poteva attivare il microfono del computer per registrare le conversazioni nelle vicinanze e inviarle agli attaccanti.
- Keylogging e screenshot: registrava i tasti premuti e catturava lo schermo, anche in risposta a eventi specifici, ad esempio quando l’utente usava applicazioni di messaggistica.
- Bluetooth: un modulo scansionava i dispositivi Bluetooth vicini, raccogliendo informazioni sui telefoni e sugli altri apparecchi presenti.
- Propagazione in rete: oltre alle chiavette USB, Flame usò un metodo notevole: i suoi operatori falsificarono un certificato digitale che sembrava firmato da Microsoft, sfruttando una debolezza crittografica. Con quel certificato una macchina infetta poteva spacciarsi per un server di Windows Update e installare Flame sugli altri computer della stessa rete. Microsoft revocò i certificati coinvolti poco dopo la scoperta.
4. Il legame con Stuxnet: parenti, ma non la stessa piattaforma
Dopo la scoperta, Kaspersky e altri laboratori confrontarono Flame con Stuxnet e Duqu. Inizialmente i tre sembravano molto diversi: Stuxnet e Duqu usavano la piattaforma chiamata Tilded, mentre Flame si basava su un’architettura completamente differente.
Poi, nel giugno 2012, Kaspersky scoprì che una versione di Stuxnet del 2009, la prima conosciuta, conteneva un modulo (il cosiddetto Resource 207) costruito a partire dalla piattaforma di Flame. Era la prova che gli sviluppatori dei due progetti avevano collaborato almeno in quell’occasione. Quel modulo fu poi rimosso dalle versioni successive di Stuxnet, e da allora le due piattaforme evolsero in modo indipendente, secondo Kaspersky ad opera di due gruppi distinti.
In sintesi: Stuxnet era il “martello”, pensato per sabotare fisicamente le centrifughe nucleari iraniane, mentre Flame era lo strumento di ricognizione e spionaggio. Erano progetti collegati, ma non costruiti sulla stessa base.
5. Come finì: il comando di autodistruzione
Dopo che la scoperta di Flame fu resa pubblica, i suoi operatori reagirono rapidamente. Symantec osservò che alcuni server di comando e controllo inviarono ai computer infetti un comando per rimuovere ogni traccia del malware (suicide command), basato su un file chiamato browse23.ocx. Secondo Symantec il comando era stato preparato il 9 maggio e fu distribuito il 3 giugno 2012.
Flame aveva comunque già un modulo di autoeliminazione integrato, chiamato SUICIDE. Dopo l’operazione, gli autori cercarono anche di far sembrare i nuovi campioni più vecchi modificando le date dei file (timestomping), per rendere più difficile la ricostruzione di cosa fosse successo.
Conclusione
Flame rimane uno degli esempi più completi di malware di spionaggio dell’epoca. Ha dimostrato che una campagna di cyber-spionaggio poteva restare nascosta per anni, combinando moduli intercambiabili, tecniche di propagazione avanzate e un’infrastruttura di server distribuita nel mondo.
Impatto ed Eredità
La scoperta di Flame fu un punto di svolta per l’industria della sicurezza informatica: mostrò che esistevano malware progettati come vere piattaforme software, sviluppate nel tempo da team con molte risorse.
Alcune delle sue caratteristiche sono considerate oggi tipiche delle minacce persistenti avanzate (APT):
- Modularità: funzioni caricabili su richiesta, in base all’obiettivo. Kaspersky identificò poi anche miniFlame, un modulo derivato dalla stessa piattaforma.
- Linguaggi di scripting integrati: l’uso di LUA permetteva di aggiornare il comportamento del malware senza ridistribuirlo.
- Abuso della fiducia nell’infrastruttura di aggiornamento: il caso del falso certificato Microsoft mostrò quanto sia pericoloso che un attaccante riesca a impersonare un servizio considerato fidato.
- Persistenza e discrezione: Flame restò attivo per anni senza essere individuato.
📅 Timeline: la storia di Flame
2008 — Secondo Kaspersky, la piattaforma di Flame esiste già, con una struttura modulare.
2009 — Una versione iniziale di Stuxnet include un modulo basato sulla piattaforma di Flame (Resource 207).
2010 — Flame è attivo; è la data più antica per cui è accertata l’operatività.
28 maggio 2012 — Kaspersky annuncia la scoperta di Flame, emersa durante l’indagine richiesta dall’ITU.
3-8 giugno 2012 — Alcuni server di comando e controllo inviano il comando di autodistruzione; Symantec lo rende noto l’8 giugno.
11 giugno 2012 — Kaspersky rivela il legame tra Flame e la prima versione di Stuxnet.
Luglio 2012 — Vengono individuati altri programmi basati sulla piattaforma Flame, tra cui miniFlame.
📚 Fonti e approfondimenti
Articolo a cura della Redazione di rfnode.net