Nel corso del tempo tanti ricercatori hanno provato a superare la cifratura BitLocker usando svariati metodi. La metodologia appena presentata in questo video su YouTube, tuttavia, lascia davvero di stucco, almeno di primo acchito (faremo tutta una serie di precisazioni più avanti). Perché consente di sbloccare un sistema protetto con BitLocker in pochi secondi (43 secondi, per la precisione, nella demo condivisa pubblicamente), “armandosi” solamente di una scheda Raspberry Pi Pico da una manciata di euro.
BitLocker è una funzionalità crittografica che può agire anche a livello di intere unità di memorizzazione, come quella di sistema in cui è installato Windows. La sua principale finalità consiste nel proteggere i dati archiviati su dischi fissi e rimovibili attraverso la crittografia, ad esempio su Windows 10 e Windows 11.
Qualche nozione di carattere generale su BitLocker
Come sappiamo, la cifratura BitLocker si appoggia a un chip TPM (Trusted Platform Module) per memorizzare e gestire informazioni critiche. In particolare TPM permette di conservare i registri PCR (Platform Configuration Registers), contenenti informazioni sulla configurazione della piattaforma. Questi registri sono utilizzati per garantire che il sistema sia avviato in uno stato attendibile e coerente prima che le chiavi crittografiche siano rilasciate e il sistema operativo sia posto in esecuzione.
Il chip TPM è inoltre il luogo che accoglie la Volume Master Key (VMK), la chiave principale utilizzata da BitLocker per cifrare e decifrare l’intero volume di archiviazione. Ogni volume crittografato con BitLocker ha la sua VMK univoca. Senza la VMK non è possibile decifrare i dati e recuperarli.
Presentando in passato un’altra efficace modalità di bypass di BitLocker (in quel caso si ricorreva a un analizzatore logico), è emerso che in un certo istante la chiave VMK transita in chiaro sul bus tra chip TPM e CPU. In quel momento, quindi, può essere catturata e utilizzata per decodificare i dati.
Come leggere la chiave di cifratura BitLocker e accedere ai dati protetti
Il ricercatore noto su YouTube con il nickname di stacksmashing, ha effettuato un test su un portatile a marchio Lenovo, vecchio di 10 anni. Ha dapprima individuato un connettore non utilizzato sulla scheda madre, vicino a una delle porte M.2 del laptop, verificando come esso permettesse di accedere liberamente al flusso di dati sul bus LPC.
Il bus LPC (Low Pin Count) è un canale di comunicazione a basso numero di pin che collega vari componenti di un sistema informatico, tra cui la CPU e dispositivi come il chip TPM.
Mettendo semplicemente in contatto la scheda Raspberry Pi Pico con il connettore presente sulla motherboard del notebook, lo studioso ha potuto estrarre la chiave master (VMK) utilizzata da BitLocker a protezione dei dati conservati sulla macchina.
Il dispositivo Pi Pico era ovviamente programmato in maniera tale da leggere i dati provenienti dal chip TPM in formato binario per poi esporli in chiaro all’utente. Inoltre, il ricercatore ha adattato i pin sulla scheda in modo che aderissero perfettamente con il connettore disponibile sulla scheda madre.
Una volta raccolta la chiave VMK di BitLocker, è bastato rimuovere l’unità di memorizzazione (in questo caso un SSD M.2), collegarla a un altro sistema quindi servirsi del tool Dislocker, per accedere al contenuto dell’unità cifrata (previo inserimento della chiave master).
Come difendersi dagli attacchi a BitLocker
Abbiamo osservato anche in passato che gli attacchi a BitLocker, soprattutto sui sistemi più datati, sono certamente fattibili e tutt’altro che complessi. Il lavoro svolto dallo YouTuber ne rappresenta un’ulteriore conferma ma non altera, in maniera significativa, il quadro generale. Nel corso degli anni, Microsoft stessa ha dovuto più volte ammettere che l’elusione della protezione BitLocker è cosa possibile.
Come evidenziato in precedenza, comunque, nel video appena pubblicato in rete si nota la presenza di un connettore sulla scheda madre che fornisce un comodo accesso ai dati trattati sul bus LPC. La disponibilità di un connettore del genere era tutt’altro che infrequente sui sistemi hardware di alcuni anni fa ma oggigiorno è possibile beneficiare di linee di difesa più efficaci.
Il codice pubblicato da stacksmashing su GitHub, inoltre, si riferisce al caso specifico di alcune motherboard Lenovo, al momento supporta unicamente il bus LPC ma non, ad esempio, le comunicazioni su bus SPI, anch’esse comunque esaminabili con un analizzatore logico (come spiegato nell’articolo proposto in apertura). LPC è un’interfaccia a bus parallelo con un numero limitato di pin; mentre SPI è un’interfaccia a bus seriale più flessibile e ampiamente utilizzata in tempi più recenti.
Utilizzo di fTPM
Oggi, per difendersi dalle aggressioni a BitLocker e rendere le cose molto più complesse per gli attaccanti, ha senso orientarsi ad esempio sull’uso di fTPM anziché sul chip TPM esterno. fTPM, infatti, implementa le funzionalità di protezione nel firmware della scheda madre: non si verifica quindi quello scambio di dati tramite bus LPC che potrebbe essere intercettato e utilizzato per scopi malevoli.
Impostazione di un PIN all’avvio del sistema
Ancora più efficace, come abbiamo ricordato da diversi anni a questa parte, è l’attivazione di un PIN pre-boot. Già nel 2021 sottolineavamo che è possibile violare i sistemi protetti con BitLocker che non usano il PIN.
Non è possibile, ed è peraltro assolutamente sconsiderato, affidarsi a un modello di protezione che fa leva solamente sul chip TPM: in un altro nostro articolo trovate le istruzioni per proteggere i dati con BitLocker chiedendo un PIN all’avvio. La richiesta di un PIN pre-boot aggiunge infatti un ulteriore strato di sicurezza al processo di avvio e decodifica dei dati. Anche se un utente malintenzionato avesse accesso fisico al dispositivo, senza conoscere il PIN corretto non potrà avviare il sistema e accedere ai dati. Questa linea di difesa è particolarmente efficace anche in caso di rimozione dell’hard disk o dell’unità SSD con l’utilizzo su un altro sistema.
Le immagini pubblicate nell’articolo sono tratte dal video di stacksmashing. Credit immagine in apertura: iStock.com – Orhan Turan