Metodo per la rimozione sicura di file da un'unità a stato solido

6

Ho pensato a un metodo per cancellare in modo sicuro singoli file su un'unità a stato solido. Questo metodo funziona solo se l'unità è crittografata e funzionerà anche se qualcuno incrina la chiave di crittografia per l'unità. Ci sono fondamentalmente due passaggi:

  1. Elimina il file nel modo normale.
  2. Modifica la chiave di crittografia e copia nuovamente l'unità.

In questo modo, anche se la chiave corrente è compromessa, ad es. tramite un attacco di avvio a freddo, l'utente malintenzionato non sarà in grado di ottenere i file che hai eliminato utilizzando questo metodo. Naturalmente, poiché è necessario ricodificare l'intera unità, che richiede molto tempo, questo metodo non è utile per i file che verranno crittografati e decrittografati frequentemente. Ma se vuoi avere un ulteriore livello di sicurezza intorno a un set di file a cui accedi ogni volta solo una volta, questo metodo potrebbe essere un'opzione valida.

Quindi cosa ne pensi? È un buon metodo? O ci sono metodi migliori per la rimozione sicura di file singoli per le unità a stato solido?

    
posta Zen Hacker 11.01.2016 - 16:43
fonte

1 risposta

2

Non è necessariamente un'idea sicura. Le unità a stato solido dispongono di uno spazio denominato overprovisioning, che è una piccola quantità di spazio accessibile solo al firmware del disco rigido (FTL o Flash Translation Layer) e viene utilizzato per il livellamento dell'usura. Ciò significa che, anche quando il tuo disco rigido mostra il 100% di utilizzo, c'è ancora un importo che non è utilizzato. I settori specifici inutilizzati sono scelti a caso dalla FTL. Sfortunatamente, ciò significa anche che la tua chiave principale, memorizzata nell'intestazione di crittografia (ad esempio l'intestazione LUKS o TrueCrypt), non può essere cancellata, anche dopo aver crittografato nuovamente l'intera unità. Di conseguenza, dovresti pulire l'unità più e più volte, e anche allora, la possibilità che un dato settore venga cancellato non è garantita, è solo una probabilità crescente.

Le unità a stato solido sono famose per nascondere il controllo dal sistema operativo. Potresti essere in grado di ottenere un nuovo SSD canale aperto, che è un tipo di SSD senza FTL (o con uno estremamente limitato) che rimanda al kernel le cose come il livellamento dell'usura. Potresti essere in grado di dire all'SSD di cancellare tutti i settori, e in realtà obbedirà.

Molti SSD moderni supportano SED, che è la crittografia hardware utilizzata allo scopo di essere in grado di cancellare rapidamente l'unità. Quando si emette il comando ATA Security Erase, invece di pulire lentamente l'intera unità, queste unità SED cancellano semplicemente la chiave di crittografia (che viene archiviata in un'area speciale dell'unità non soggetta al livellamento dell'usura), visualizzando tutti i dati sull'unità inutili). Ovviamente la chiave non fornisce dati a sicurezza di riposo, in quanto viene utilizzata solo per cancellare i dati più rapidamente di quanto avrebbe potuto altrimenti. È possibile utilizzare lo strumento hdparm per verificare se il proprio SSD supporta SED. Esegui "hdparm -I / dev / sdX | grep" min per "", dove X è l'etichetta dell'SSD. Se il numero di minuti è molto piccolo per entrambe le opzioni visualizzate (in genere 2, credo), l'unità supporta SED.

Se l'unità non supporta SED e non si dispone di un'unità disco rigido su cui è possibile memorizzare una chiave che è possibile cancellare direttamente quando si desidera eliminare l'unità SSD, è possibile provare a implementare una sorta di SED dell'uomo in un modo hacker con NVRAM. Sulla maggior parte delle schede madri, la RAM CMOS (chiamata anche NVRAM) è una piccola quantità di memoria non volatile, o talvolta EEPROM, che contiene informazioni di configurazione del BIOS. Può essere esportato in / dev / nvram quando viene caricato il modulo nvram. Di solito ha una dimensione di 144 byte (se è esattamente quella dimensione, significa che è NVRAM, se è più grande significa che probabilmente è EEPROM), ma la maggior parte è inutilizzata. Se è possibile identificare le parti non utilizzate, il che è possibile con alcuni strumenti o comprendendo il formato, è possibile scrivere direttamente su / dev / nvram. Poiché quest'area è alimentata a batteria dalla batteria CMOS (quella piccola batteria a bottone sulla scheda madre che alimenta anche l'RTC), continua a riavviarsi. Ma poiché non è flash, può essere cancellato istantaneamente e in modo sicuro. È possibile memorizzare facilmente una chiave a 128 o 256 bit, che potrebbe essere aggiunta alla propria chiave di crittografia per crittografare la partizione SSD principale. Se hai mai bisogno di cancellarlo completamente, puoi semplicemente cancellare la chiave in / dev / nvram, e renderebbe i dati sull'SSD inaccessibili.

La morale della storia è: FTL è una cagna. Non fidarti degli SSD, ti nascondono cose.

    
risposta data 05.04.2016 - 02:56
fonte

Leggi altre domande sui tag