"Secure Empty Trash" elimina in modo sicuro i file della versione nascosta per i documenti nel Cestino in OS X Lion?


12

La nuova funzionalità Versioni di Lion crea file nascosti che memorizzano le versioni precedenti del documento su cui stai lavorando nel caso in cui desideri ripristinare una versione precedente del documento. Se trascino un documento nel Cestino, quindi seleziono Cestino vuoto vuoto dal menu Finder, i file della versione nascosta vengono eliminati in modo sicuro insieme al documento?


e che dire delle copie nella nuova cache della macchina del tempo locale?
Thilo,

@thilo - probabilmente no - perché non chiederlo perché è la sua domanda?
bmike

Risposte:


8

La mia ipotesi è no, ma questa non è una risposta definitiva.

Ho creato un file .txt molto grande (~ 160 MB) e ho apportato modifiche al file in TextEdit. Come previsto, quel file e le sue versioni sono stati mostrati in /.DocumentRevisions-V100/PerUID. I file sembravano essere ~ 160 MB a ls, ma secondo du -hloro hanno usato 0B su disco. Il conteggio dei collegamenti reali per ciascun file era 1. Una cartella chiamata .cs(archiviazione di blocchi) sotto /.DocumentRevisions-V100era cresciuta di circa 110 MB.

Ogni volta che ho modificato il file, è successo quanto segue /.DocumentRevisions-V100:

  1. È stato creato un file di ~ 160 MB /.DocumentRevisions-V100/staging/. Il conteggio dei collegamenti reali per questo file è 1.
  2. Quel file sembrava spostarsi /.DocumentRevisions-V100/PerUID/<UID>/<#>/com.apple.documentVersions. Il conteggio degli hard link è rimasto 1.
  3. Quel file ~ 160 MB è diventato 0B e la dimensione è /.DocumentRevisions-V100/.cscresciuta di circa 2 MB.

Lo spazio libero sull'unità ( df) era coerente con quello che dumi ha detto. Lo spazio libero si ridurrebbe in modo significativo, per poi tornare a quasi quello che era prima di salvare una nuova versione.

Successivamente, ho provato a distruggere il file con Secure Empty Trash. OS X sembra utilizzare un programma chiamato Locumper eliminare in modo sicuro il file. Allegare fs_usagea Locummostra moltissime letture e scritture nel file .txt originale. Mentre Locumsta facendo le sue cose, /.DocumentRevisions-V100/PerUIDè ancora possibile accedere a tutte le versioni sottostanti con i dati intatti. Dopo aver Locumfinito di scrivere sui dati, scollega il file .txt originale e le versioni /.DocumentRevisions-V100/PerUIDscompaiono improvvisamente. Locumquindi passa a qualsiasi altra cosa nel Cestino, senza mai toccarlo /.DocumentRevisions-V100.

Qualunque cosa sia dentro /.DocumentRevisions-V100non viene cancellata in modo sicuro.

EDIT: dovrei aggiungere che qualunque cosa sia dentro /.DocumentRevisions-V100è in qualche modo offuscata o compressa (la cartella era solo ~ 120 MB). Non ho ancora letto le versioni o le sezioni del filesystem della recensione di Siracusa ... forse ci sono degli indizi.


7

Ho appena provato questo e sembra che i file più vecchi vengano effettivamente eliminati. Non importa se ho scelto Secure Empty Trash o semplicemente ho svuotato il cestino normalmente, sono stati anche eliminati.

Un po 'più di dettaglio:

Per verificarlo, ho abilitato l'utente root a consentirmi di scrutare /.DocumentRevisions-V100i file all'interno. L'esatta struttura di questa cartella e il suo contenuto sono meglio spiegati nella recensione Lion di John Siracusa (Internals, Revisioni del documento).

Ho creato un paio di file, quindi ho apportato alcune modifiche, salvando nuove versioni. La cartella che conteneva le revisioni si popolava di nuovi file mentre salvavo nuove versioni. All'interno di questa cartella di livello superiore, c'è una cartella chiamata PerUID, che contiene le sottocartelle per ciascun account utente. Ogni cartella dell'account utente contiene una serie di cartelle numerate, una cartella per ogni file che ha le revisioni salvate. Pertanto, le revisioni effettive vengono salvate come file di alcuni livelli in questa gerarchia, con nomi di file con hash. Svuotare il cestino (in entrambi i casi) eliminerebbe questi file, ma la struttura di cartelle precedente rimarrebbe al suo posto.

Prima dell'eliminazione: /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions questa cartella contiene ancora le versioni precedenti.

Dopo l'eliminazione: /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions questa cartella esiste ancora, ma è vuota.

Non ho ispezionato le altre cartelle all'interno /.DocumentRevisions-V100/, quindi non ho controllato i database in esse contenuti. Siracusa approfondisce i dettagli, ma sembra che contengano database per tenere traccia delle modifiche e mappare i file dell'utente alle revisioni salvate dal sistema. Sono abbastanza certo che nessun contenuto del documento sia salvato lì, anche se non sono sicuro dei nomi dei file, e se i nomi dei file sono presenti, se sono hash o meno.


2
Questo è un buon progresso, ma penso che dimostri solo che i file sono stati eliminati, non necessariamente eliminati in modo sicuro. Per dimostrare la cancellazione sicura, penso che dovresti fare riferimento alla documentazione per gli sviluppatori Apple o eseguire il software di recupero file e vedere cosa è recuperabile.
Phil M,

ah, scusa, ti ho frainteso. dovrebbe essere un esperimento abbastanza semplice per qualcuno per riprodurre ed eseguire un'app di recupero. non sono su ADC, quindi non sono molto utile lì.
Gauzy,

iostat e un mac altrimenti "fermo" dovrebbero rendere più semplice la visualizzazione della larghezza di banda di scrittura.
bmike
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.