È possibile recuperare il contenuto dei dischi crittografati basati su flash (SSD, cellulari, chiavette USB, ...) dopo la cancellazione / sostituzione della password?

6

Ho attraversato tali asserzioni alcune volte su questo sito:

One benefit of full-disk encryption is that it makes wiping the flash storage very fast.[...]

To wipe the entire drive, all you have to do is wipe the spot that stores the encryption of K (which is just one block). Once that block is gone, there is no way to decrypt the data on the drive (since K cannot be recovered), so the entire drive is as good as wiped.

Tuttavia, ho visto molto anche a causa del logoramento dell'usura, la sovrascrittura dei dati su dischi basati su flash non era affidabile: secondo la mia comprensione, se applico la procedura sopra il flash potrebbe semplicemente selezionare un'altra area e inserire i dati di sovrascrittura lì, lasciando il blocco chiave K ancora presente e leggibile nel chip (e Internet è pieno di vari metodi economici per accedere direttamente al contenuto del chip, ecco uno casuale che non ha nemmeno bisogno di dissaldarli).

Nel caso in cui fosse stata utilizzata una password povera per proteggere il contenuto del disco (legando insieme la password di sblocco che voleva essere veloce da digitare e quella di crittografia, Android sembra davvero cercare di far rispettare tale debolezza), questo non significherebbe che l'intero contenuto del disco può ancora essere recuperato anche quando questo blocco è stato "cancellato"?

Come bonus, se cambio una password debole in una strong, in teoria il blocco chiave sarà "sovrascritto" da un nuovo blocco in cui la chiave di crittografia dei dati sarà protetta dalla mia nuova password più strong.

Tuttavia, non c'è alcuna possibilità che il vecchio blocco con la stessa chiave di crittografia protetta dalla precedente password più debole sia ancora presente e leggibile per un tempo indeterminato nel contenuto del chip, consentendo a un utente malintenzionato di annullare completamente il i vantaggi della modifica della password?

    
posta WhiteWinterWolf 02.07.2016 - 13:24
fonte

3 risposte

1

Significa che quando si sovrascrivono o si cancellano i dati su un'unità flash, il microcontrollore in tale unità flash non elimina o sovrascrive immediatamente il blocco, ma li inserisce in una "lista di eliminazione in futuro" per migliorare le prestazioni. È vero, ma leggi anche: delete-in-future-list, che 'futuro' è quando il microcontrollore non ha altre azioni da fare. Non appena non ha nulla da fare, cancellerà completamente quella lista. Quindi lascia il tuo flash drive stick per un po 'dopo aver cancellato / sovrascritto.

Inoltre, la password non dice semplicemente "leggibile" in quel blocco. Dubito strongmente che sia stato salvato in testo normale.

In case a poor password was used to protect the disk content (like a 4 PIN code on cellphone for instance...), wouldn't this mean that the whole disk content can still be retrieved even when this block has been "wiped"?

Immagino tu voglia intendere che qualcuno potrebbe ancora applicare la password in bruteforce anche se il blocco contenente la password è stato cancellato? Immagino di no, perché è tipo IMHO come in un database. Un sito Web non può vedere se l'hash della password specificata corrisponde alla password hash nel database, se nel database non è presente una password con hash.

La bruteforcing consiste nell'indovinare la chiave corretta per abbinare l'hash, senza hash questo non è possibile.

However, isn't there any chance that the old block with the same encryption key protected by the previous weaker password will still be present and readable for an undetermined amount of time in the chip content, allowing an attacker to void completely the password change benefits?

Il vecchio blocco password è posizionato temporaneamente su un altro blocco. Ciò non significa che il software di crittografia utilizza quel blocco. Se non usa quel "nuovo" blocco da confrontare, la vecchia password non funzionerà più.

Tuttavia, menzioni che ci sono modi per decifrare la crittografia completa del disco, solo oggi è stato trovato un exploit Android che potrebbe farlo: Estrazione delle chiavi KeyMaster di Qualcomm - Rottura della crittografia completa del disco Android .

    
risposta data 02.07.2016 - 14:33
fonte
3

È infatti possibile che il blocco contenente la chiave non possa essere cancellato correttamente. Ecco perché LUKS utilizza AFsplit per memorizzare la chiave sul disco.

L'idea è essenzialmente quella di espandere una chiave che normalmente verrebbe memorizzata su un singolo blocco di disco, in un formato che ne richiede molti altri, assicurando che la perdita di uno solo di quei blocchi renda la chiave persa. Quindi quando cancelli la chiave, LUKS deve solo essere in grado di sovrascrivere uno di quei blocchi.

Il numero di blocchi è configurabile fino a quando è abbastanza grande, non essere in grado di cancellarli tutti è improbabile.

Puoi leggere ulteriori informazioni su AFsplit nel LUKS sulle specifiche del formato del disco e vedere un implementazione di esempio python (collegata da un crypte.stackexchange question ).

    
risposta data 02.07.2016 - 16:56
fonte
1

To wipe the entire drive, all you have to do is wipe the spot that stores the encryption of K

Questa affermazione è corretta sotto la sua forma teorica. Se puoi garantire che puoi cancellare la chiave e nessuno ha accesso mai a quel blocco, hai cancellato il disco.

Voglio dire che se hai accesso a basso livello al disco e hai copiato il blocco giusto da qualche parte, puoi prendere il tuo tempo per craccare la chiave, specialmente se la password è debole.

Recall

La moderna crittografia del disco funziona utilizzando una combinazione di una chiave, che è di lunghezza fissa, protetta da un segreto utente (ad esempio la password). Quindi la chiave è inutile senza la password e la password è inutile senza la chiave.

La risposta è

Per sicuro cancellare l'intera unità, devono essere soddisfatte due condizioni:

  • Il blocco contenente la chiave non deve mai essere letto da nessuna entità tranne l'hardware di crittografia (potrebbe essere valido per gli SSD che supportano l'hardware FDE)
  • Il blocco contenente la chiave deve essere fisicamente, e non logicamente , sovrascritto

La seconda condizione varia a seconda dell'implementazione del controller. La maggior parte degli SSD non è adatta per la memorizzazione di tali dati sensibili perché l'unità non garantisce transzionalmente la cancellazione di un settore quando si desidera sovrascriverlo.

Il primo è ancora più difficile da raggiungere, perché dimostra che l'unico FDE efficace è quello realizzato a livello hardware in cui la chiave non lascia mai il dispositivo. Con lascia includo la memoria RAM. Per esempio. BitLocker ha una vulnerabilità ampiamente nota per un hot reboot attack.

    
risposta data 07.07.2016 - 17:23
fonte

Leggi altre domande sui tag