banner

Blog

Jul 28, 2023

Bypassare Bitlocker con un analizzatore logico

L'ingegnere della sicurezza [Guillaume Quéré] trascorre la giornata testando i sistemi di penetrazione per il proprio datore di lavoro e ha sottolineato e sfruttato con successo una debolezza piuttosto evidente nel sistema di crittografia dell'intero volume BitLocker, che, come dice l'articolo collegato, consente semplicemente di annusare il traffico tra i sistemi chip TPM e CPU discreti tramite un bus SPI. Il modo in cui funziona Bitlocker consiste nell'utilizzare una chiave privata archiviata nel chip TPM per crittografare l'intera chiave del volume che a sua volta è stata utilizzata per crittografare i dati del volume. Tutto questo viene eseguito dai driver di dispositivo di basso livello nel kernel di Windows ed è trasparente per l'utente.

Lo scopo centrale di BitLocker era impedire l'accesso ai dati sul volume protetto in caso di furto o smarrimento del dispositivo fisico. Estrarre semplicemente l'unità e rilasciarla in un computer non protetto o in un altro adattatore non fornirebbe alcun dato senza la chiave archiviata dal TPM. Tuttavia, poiché la chiave deve passare come testo in chiaro dal TPM alla CPU durante la sequenza di avvio, [Guillaume] mostra che è abbastanza semplice, con strumenti a basso costo e software gratuito, individuare e annusare semplicemente questo TPM. -Transazione CPU, decodifica il flusso di dati e individua la chiave. Utilizzando poco più di un analizzatore logico economico collegato ad alcuni pin opportunamente grandi su un chip flash vicino (perché i pin SCK, MISO e MOSI sono condivisi con il TPM) il semplice TIS è stato decodificato abbastanza da bloccarsi sui byte del TPM telaio. Questo potrebbe quindi essere decodificato con un'app Web di decodifica del flusso TPM, per gentile concessione del gruppo della community del software TPM2. Il comando da cercare è TPM_CC.Unseal che è la richiesta dalla CPU al TPM di inviare la chiave che ci interessa. Dopodiché, basta catturare e decodificare il frame di risposta del TPM per rivelare immediatamente la merce.

Quello che farete dopo è una questione di comodità, ma la maggior parte dei responsabili della sicurezza e dell'analisi forense si troverebbero già bloccati su un file di immagine del disco di basso livello del volume di destinazione. Utilizzando il comando Linux xxd per trasformare la chiave di dump esadecimale da 32 byte in un file di chiave binaria, il modulo FUSE dislocker-fuse può creare un filesystem virtuale decrittografato dinamicamente che puoi semplicemente montare. Se lo si desidera, è possibile scrivere i dati del volume decrittografati su un nuovo disco, rilasciarli su una macchina e avviare il sistema operativo. Probabilmente non potresti accedere, ma come sottolinea [Guillaume], sovrascrivendo l'app per i tasti permanenti (sethc.exe) con cmd.exe, puoi accedere a un prompt dei comandi semplicemente premendo il tasto Maiusc cinque volte. Bei tempi!

Se hai effettivamente bisogno del supporto TPM per un sistema più vecchio, per poter installare Windows 11 (se proprio necessario), puoi sempre crearne uno tuo. Inoltre, poiché l'interfaccia LPC è presente su molte schede madri, perché non sfruttarla e usarla per appendere un adattatore bus ISA per collegare quella vecchia scheda Soundblaster classica che non potresti sopportare di buttare via?

CONDIVIDERE