Attacco Brute Force offline contro un PC Windows Bitlocker

11

Attualmente sto valutando la sicurezza di Bitlocker dal punto di vista di un attacco offline contro una password memorizzata (utilizzata per proteggere la chiave di crittografia completa del disco). La mia ipotesi è che la password usata per decodificare / determinare la chiave FDE debba essere memorizzata in qualche modo sul disco, altrimenti sarebbe impossibile determinare se la chiave FDE sia corretta o meno.

La mia domanda è, se, per esempio, un laptop è stato rubato e stava usando Bitlocker per proteggere la password utilizzata per sbloccare il volume del sistema operativo, quanto sarebbe resistente a un attacco offline allo scopo di recuperare la password ? Quali tecniche / algoritmi utilizza per proteggere da un attacco come questo?

Si noti che sono meno interessato al recupero dei dati sul disco o sulla chiave FDE. Sono molto interessato a questo in base alla resistenza della stessa password dell'utente a un attacco offline contro un abile malintenzionato in possesso di un laptop rubato.

    
posta MattCotterellNZ 05.10.2015 - 03:43
fonte

3 risposte

6

L'attacco che delinei è un problema fondamentale per tutti i tipi di crittografia: se si desidera utilizzare una password come (fonte) della chiave di crittografia, la password deve avere tanto entropia quanto la forza di crittografia desiderata, altrimenti si è vulnerabile alla forza bruta offline.

Quindi sì, se Bitlocker ha appena usato la password che hai inserito come (fonte della) chiave, sarebbe vulnerabile a questo attacco.

Bitlocker fornisce molteplici meccanismi di autenticazione, che affrontano questo problema in diversi modi.

  • Il meccanismo consigliato (AFAIK) è quello di utilizzare il Modulo di piattaforma affidabile (TPM) del computer. Con l'autenticazione TPM (chiamata Modalità operativa trasparente con Bitlocker), il chip TPM memorizza la chiave Bitlocker. Il TPM è progettato specificamente per rilasciare tale chiave solo se vengono fornite determinate password / PIN e per limitare il numero di tentativi di autenticazione. Pertanto una password / PIN relativamente debole è sufficiente, poiché la password non può essere attaccata offline, poiché è memorizzata nel TPM.
  • Un'altra soluzione è utilizzare Modalità chiave USB . In tale modalità, la chiave viene memorizzata su una chiave USB (opzionalmente protetta da una password) oppure viene utilizzato uno speciale dispositivo USB che esegue l'autenticazione protetta (simile a un chip TPM). Di nuovo, un attacco offline non è possibile, perché la chiave è memorizzata sul dispositivo USB. Tuttavia, se il dispositivo USB è solo un semplice dispositivo di archiviazione, un attacco off-line contro di esso è possibile (quindi deve essere memorizzato in modo molto sicuro).

La modalità chiave USB e il TPM possono essere combinati per una sicurezza ancora migliore.

Si noti che è possibile utilizzare Bitlocker senza un chip TPM (sebbene ciò non sia consigliato da Microsoft). Se lo fai, allora sei davvero vulnerabile agli attacchi bruteforcing delle password, quindi hai bisogno di una password con sufficiente entropia, vale a dire almeno 128 bit, meglio 168 bit.

Per una discussione approfondita sulle scelte di progettazione, i compromessi sulla sicurezza e la tecnologia di Bitlocker, vedi il documento AES-CBC + Elefante diffusore, Algoritmo di crittografia del disco per Windows Vista di Niels Ferguson, disponibile dal link .

    
risposta data 05.10.2015 - 08:58
fonte
5

BitLocker crittografa l'unità utilizzando una "chiave master del volume", che non viene mai inserita direttamente nella memoria permanente. Uno o più "keyprotector" sono presenti nei metadati del volume, ognuno dei quali fornisce un modo per ottenere il VMK. Per le protezioni basate su PIN / password, la password viene passata attraverso una funzione di derivazione molto lenta (qualcosa come bcrypt, ma non sono realmente sicuro di quale funzione o quali siano i parametri esatti). I parametri probabilmente variano in base all'hardware, ma impiegano più di mezzo secondo sul mio computer di lavoro.

Credo che questa chiave derivata venga quindi verificata rispetto a un hash memorizzato e, se corrisponde, utilizzata per decrittografare il VMK (ovvero, la protezione PIN / password contiene una versione del VMK, crittografata utilizzando la chiave che KDF sputa fuori, e un hash della chiave derivata, utilizzato per verificare la correttezza della chiave derivata).

Per tentare di forzare la password, dovrai calcolare l'algoritmo e i suoi parametri (sale, fattore di lavoro, ecc.). A meno che tu non abbia a disposizione risorse di calcolo serie, ci vorrà molto tempo prima che una ricerca di forza bruta trovi qualcosa a causa del KDF lento.

L'implementazione più pubblicamente utilizzabile dal codice di BL che conosco è dislocker git repo , dislocker essendo un'implementazione (parziale) open source di BitLocker (scritto come driver FUSE). Non sono a conoscenza di alcuno strumento per forzare le brute pronto per BitLocker, ma potresti probabilmente crearne uno in cima al codice di dislocker . Probabilmente ci vorrà un po 'per correre, però!

    
risposta data 05.10.2015 - 04:38
fonte
2

Gli strumenti di crittografia dell'intero disco si basano su AES che è ancora considerato sicuro oggi. Quindi la maggior parte degli attacchi si concentra sul sistema operativo stesso anziché sul meccanismo di crittografia utilizzato da tali strumenti.

Gli attacchi che potresti subire in caso di furto della tua macchina dipendono da diversi fattori. Prima di tutto, su come l'hai configurato. Le configurazioni che richiedono l'autenticazione prima dell'avvio del sistema operativo impediscono a un hacker di attaccare immediatamente il sistema operativo. Quindi, prima di tutto, imposta Bitlocker con l'opzione di autenticazione pre-avvio.

Prima di crittografare i dischi, assicurati che la tua macchina sia sicura della presenza di rootkit e bootkit che possono avere gli stessi privilegi del tuo sistema operativo e può anche compromettere la tua chiave di crittografia del volume completo poiché è crittografata dalla chiave master del volume e memorizzato nel volume crittografato. Si noti che UEFI è destinato a proteggere nuovamente il sistema dalla presenza di rootkit e bootkits, tuttavia non è infallibile.

Un'altra cosa da considerare sono gli attacchi di accesso di forza bruta che possono essere eseguiti anche contro l'autenticatore di preavvio che abbiamo menzionato sopra.

Anche un utente malintenzionato può utilizzare Thunderbolt per connettere un altro dispositivo al laptop. Poiché le porte DMA (accesso diretto alla memoria) non forniscono l'autenticazione o il controllo dell'accesso per proteggere il contenuto della memoria del computer a cui il dispositivo ha solo accesso in lettura, puoi immaginare un attacco basato su questi fatti (chiamato Attacchi DMA ). Nota che nel caso tu stia utilizzando Windows 8, potresti sapere che i dispositivi con certificazione InstantGo di Windows 8 non dispongono di porte DMA, eliminando il rischio di attacchi DMA

Quindi, in concomitanza con la configurazione dell'autenticazione pre-avvio, è possibile utilizzare anche un dispositivo USB (come un'unità flash) per memorizzare la chiave di avvio di BitLocker e utilizzarla per l'autenticazione insieme al PIN / password: questo è un altro livello di sicurezza in cui anche se il tuo PIN / password è forzato brutalmente, la chiave di avvio di Bitlocker è ancora sicura (supponiamo che il tuo laptop e dispositivo USB non possano essere rubati dallo stesso aggressore)

    
risposta data 05.10.2015 - 05:40
fonte

Leggi altre domande sui tag