Forma speciale del file system per impedire il recupero dopo la cancellazione sicura dei dati

7

Sto cercando un file system con correzioni ragionevoli degli errori, ma robusto contro il forensic dopo la cancellazione.

Diciamo, contenitore crittografato tramite loop montato come ext4 - file system journal. Questa è una buona prestazione e sicura in molti modi.

Pulire in questo scenario è un distruggere almeno l'inizio di crypto-container (journal di ext4). È veloce. Il recupero richiede molto potere: chiave + password + prefisso del cripto-contenitore distrutto.

Esiste un file system speciale con crittografia e funzionalità di cancellazione grandi. "Grande", I, significa veloce e irrecuperabile.

es. il diario all'inizio del file system non contiene un indirizzo di file, ma una chiave - mappa di blocchi posizionata casualmente nell'area di memoria. Distruggere questa chiave significa distruggere una sequenza di interi file system. Il file in tale file system giace in una sequenza di memoria non frammentata. Più tutto il file system crittografato.

Wipe richiede di riscrivere solo il journal (mappa) del file system.

Pronuncia, riscrivi la mappa e la chiave 30 tentativi, e nessuna NSA, nessuna NASA, nessun CIA può ripristinare il file system cancellato.

    
posta trankvilezator 20.09.2013 - 17:16
fonte

4 risposte

13

Il modo giusto per "cancellare" i dati è usare encryption : non lasciare mai i dati non crittografati a colpire il disco. Se lo fai, distruggere la chiave di decrittografia è sufficiente per distruggere i dati. La chiave di decrittografia è piccola e in molti casi è possibile tenerla solo nella RAM (ad esempio la si digita all'avvio, come "password", che in realtà significa "una chiave che un essere umano ricorda"); se la chiave è in RAM e rimane solo nella RAM, distruggerla è semplice come spegnere la potenza (nota, però, che il contenuto della RAM potrebbe resistere alla perdita di energia per un pochi secondi o minuti ).

Pulizia dei file è ciò che fai quando non hai fatto le cose nel modo giusto. hai hai scritto informazioni sensibili su un supporto fisico, senza alcuna crittografia. E ti piacerebbe "aggiustarlo". Ci sono tre problemi principali con questo:

  • L'eliminazione dei file non sovrascrive i dati sul supporto fisico; lo contrassegna come riutilizzabile per altri file.
  • A volte, persino la scrittura dei dati potrebbe non distruggerla. È qui che intervengono i cosiddetti "file shredders", sovrascrivendo i dati più volte con schemi speciali che dovrebbero distruggere tutte le tracce dei dati passati. Tuttavia, tali distruggidocumenti sono abbastanza specifici per l'effettiva tecnologia del disco e, in pratica, abbastanza specifici per la tecnologia utilizzata dai dischi 12 anni fa; sui dischi moderni, i trituratori sono è probabile che sia inutile e non necessario. Al contrario, con SSD, molti dati possono rimanere fuori dalla portata dei trituratori più completi. Quindi i file trituratori sono o totali o insufficienti, senza via di mezzo.
  • Le copie di parti dei dati del file possono essere archiviate in altre aree. Ciò può accadere con memoria virtuale perché i dati del file, prima di essere nei file, erano nella RAM. Questo può accadere anche con journaling filesystem (a seconda dell'implementazione e della configurazione del filesystem).

Quindi qualsiasi soluzione basata sul file "wiping" rischia di essere inefficiente e incompleta. Ad ogni modo, nonostante questa incompletezza, alcune persone hanno provato a fare una sorta di triturazione automatica. Questo può essere fatto a vari livelli; questo lo fa rattoppando la libreria unlink() C chiamata di funzione (tramite un trucco LD_PRELOAD). Tuttavia, il processo collegato staticamente lo eviterebbe (ma ci sono pochissime applicazioni collegate staticamente in una tipica installazione Linux). Non lo consiglierei (e l'autore stesso ne è diffidente); in particolare, la distruzione di file su un SSD non è solo inefficace (vedi sopra), ma riduce anche notevolmente la durata del suddetto SSD.

    
risposta data 20.09.2013 - 18:04
fonte
1

Non è disponibile un file system [linea principale] che esegua il modo in cui descrivi / desideri, principalmente perché non è molto efficiente come file system. Ciò non significa che sia impossibile, ma che non sia spesso fatto e non abbia raggiunto uno scenario di uso comune. In realtà, ciò che descrivi è più simile a un file system crittografato che a uno cancellato rapidamente; più su questo in un secondo.

Anche se non è così "veloce" come penso tu stia descrivendo, il software DBaN (Darik's Boot and Nuke, dban.org) fornisce una cancellazione dei dati estremamente efficace da supporti magnetici fisici. Lo so per esperienza nell'eseguire recuperi di dati, compresi gli scanner magnetici di basso livello. Una volta che una quantità sufficiente di dati casuali ha sovrascritto i dati di destinazione, il supporto magnetico fisico è inutile ai fini del recupero.

Per i metodi "veloci" devi utilizzare la crittografia completa del disco (si pensi TrueCrypt o Microsoft's BitLocker ) o distruzione del disco fisico. La crittografia "mescola" i dati in modo che sia inutilizzabile senza la chiave privata. La distruzione elimina i supporti fisici quindi non ci sono dati recuperabili (normalmente attraverso la smagnetizzazione delle superfici magnetiche e quindi alterandoli fisicamente in modo da renderli permanentemente inutilizzabili) Garner crea dei buoni cacciatorpedinieri che prima saranno smagnetizzati prima di perforare i piatti. Dopo questo, nessuno scaricherà i dati da un disco.

    
risposta data 20.09.2013 - 20:32
fonte
0

Con un sistema come rubberhose sarebbe estremamente facile distruggere un file systrm. Basta eliminare la chiave master per una partizione rubberhose e non può più essere decodificata o persino rilevata.

    
risposta data 17.09.2015 - 19:54
fonte
0

Stai cercando un modo per cancellare un intero file system o singoli file? Cancellare un intero filesystem in modo sicuro è facile. Usa qualcosa come LUKS, che usa "strisce anti-legali", una tecnica per estendere la tua password a circa 256 KiB, rendendo più probabile il tentativo di distruggere la chiave. Bastano pochi byte per essere distrutti perché sia impossibile recuperarli, e nessuno dei settori riallocati potrebbe causare la perdita di parti della chiave. Distruggere l'intero filesystem diventa semplice come eseguire cryptsetup erase /dev/mapper/sda_crypt , per distruggere istantaneamente e in modo sicuro tutto su quel volume.

Se stai cercando la possibilità di farlo su una base per file in modo che la cancellazione causi una distruzione immediata e sicura di file e metadati, non penso che avrai molta fortuna. Non conosco alcun filesystem che sia in grado di farlo. I file system che supportano la crittografia possono essere completamente cancellati, ma i singoli file sono ancora crittografati con la loro chiave master. Alcuni filesystem, tuttavia, supportano l'attributo "s" del file (impostato da chattr), che indica al driver del filesystem di sovrascrivere tutti i blocchi di quel file con zeri quando è scollegato. I popolari filesystem ext4 e btrfs, tuttavia, non lo supportano. Inoltre, non elimina i metadati, quindi alcune informazioni possono ancora essere presenti nella forma del nome del file, della dimensione, del numero di inode e di altri attributi dei metadati.

Un file system ideale memorizzerebbe una chiave di crittografia casuale in ogni file inode e crittografa ogni blocco con quella chiave. Dopo la cancellazione, l'inode potrebbe essere cancellato in modo sicuro, insieme alla chiave, rendendo inutilizzabili tutti i blocchi. Ciò fornirebbe un modo semplice per i filesystem come ext4 di supportare l'attributo 's', per lo meno.

    
risposta data 24.12.2016 - 11:15
fonte

Leggi altre domande sui tag