Gli attacchi cold boot rappresentano una minaccia crescente nel panorama della sicurezza informatica, poiché sfruttano la volatile memorizzazione dei dati nella RAM anche dopo lo spegnimento del computer. Un ricercatore ha sviluppato un software open source, Memory-Dump-UEFI, capace di estrarre informazioni critiche dalla memoria temporanea di un dispositivo, consentendo di eludere la protezione offerte da BitLocker, anche nei moderni sistemi Windows 11. Scopriamo in dettaglio il funzionamento di questa vulnerabilità e come viene attuata.
Indice dei contenuti
La dinamica degli attacchi cold boot
Sebbene la memoria RAM di un computer sia progettata per perdere i dati una volta spento, esistono situazioni in cui le informazioni rimangono temporaneamente accessibili. Questo è il principio alla base degli attacchi cold boot, dove l'aggressore sfrutta l'accesso fisico al dispositivo per riavviarlo brutalmente, permettendo di effettuare un dump della memoria. Una volta che il computer viene riavviato, il contenuto della RAM precedente alla chiusura può essere analizzato, rivelando informazioni sensibili, come la chiave FVEK utilizzata da BitLocker per criptare i dati. Sebbene questa tecnica non garantisca una riuscita certa, poiché la RAM tende a degradarsi rapidamente senza alimentazione, il suo utilizzo rimane una delle strategie preferite dagli hacker.
Un aspetto interessante del software Memory-Dump-UEFI è la sua capacità di recuperare la chiave FVEK durante la fase di avvio di Windows, un momento cruciale per chi cerca di bypassare la sicurezza del sistema. La chiave FVEK è fondamentale per accedere ai dati crittografati, rendendo quest'attacco particolarmente pericoloso per gli utenti che utilizzano Windows senza misure di sicurezza aggiuntive.
Procedure per bypassare BitLocker
Per eseguire un attacco cold boot mirato a eludere BitLocker, è necessaria una chiavetta USB o un altro dispositivo di memorizzazione con capacità sufficiente per contenere il dump della RAM. Il software Memory-Dump-UEFI include uno script denominato flashimage.sh, che assiste nella creazione del supporto di avvio. È fondamentale che il riavvio del sistema avvenga rapidamente, per minimizzare il tempo durante il quale il computer rimane spento. I risultati migliori si ottengono riavviando il dispositivo nel momento in cui Windows sta effettuando il caricamento, prima della visualizzazione della schermata di login.
Quando il sistema raggiunge la shell UEFI, è necessario localizzare e avviare il file app.efi, che inizia automaticamente il processo di dump della RAM. Questo procedimento genera tipicamente diversi file, laghi da 4 GB ciascuno. Questo accade perché il file system FAT32, utilizzato per il supporto di avvio, non consente la creazione di file superiori a tale dimensione. Per unire i frammenti di memoria in un singolo file, si fa uso dello script concatDumps.py, che ricompone i dati in ordine.
Analisi dei dump della RAM
L’analisi del contenuto della RAM è il passaggio successivo e cruciale per il successo dell’attacco. Per esaminare i file generati dal dump, il ricercatore suggerisce l'utilizzo di strumenti come xxd. Il software rivela come Microsoft abbia contrassegnato alcuni spazi di memoria contenenti le chiavi crittografiche, utilizzando prefissi esadecimali per indicare il tipo di cifratura in uso. Attraverso lo script searchMem.py, è possibile identificare dettagli specifici e aree di interesse nel dump, fornendo un accesso diretto alla chiave di cifratura FVEK.
Una volta localizzata la chiave, è necessario aggiungere il prefisso corretto all’algoritmo di cifratura utilizzato, permettendo di generare un file output.fvek. Questo file conterrà la chiave di decodifica di BitLocker in formato binario, pronto per essere utilizzato nei passaggi successivi.
Decodificare la partizione protetta da BitLocker
Dopo aver ottenuto la chiave FVEK, il passo finale è decifrare la partizione protetta da BitLocker. Per questa operazione si utilizza nuovamente l'utilità Linux dislocker, un tool specifico che permette l'accesso ai dati criptati. L’operazione si effettua eseguendo un comando tramite il terminale, specificando il percorso corretto dell'unità protetta. Una volta montata, i file dell’unità crittografata diventano accessibili.
È da evidenziare che la sicurezza dei sistemi BitLocker può essere significativamente aumentata implementando la richiesta di un PIN all’avvio. Questa misura di sicurezza rende il bypass di BitLocker tramite attacchi cold boot estremamente complesso e meno efficace.
Il ricercatore consiglia di utilizzare una unità NVMe esterna, collegata via USB, per le operazioni di dump, poiché offre prestazioni migliorate. Utilizzando quello che propone Memory-Dump-UEFI, i professionisti della sicurezza possono valutare e migliorare le loro difese contro questo e altri tipi di attacchi.