Le funzionalità Versioni e Riprendi di OS X Lion memorizzano i dati memorizzati nella cache per immagini .sparsebundle crittografate in modo sicuro?


10

Conservo le informazioni sensibili sul mio laptop in immagini .sparsebundle crittografate realizzate con app come Utility Disco, Knox ed Espionage. La domanda è, se aggiorno a Lion, quando sto lavorando su un file che si trova in una di queste immagini disco montate e Lion sta salvando versioni precedenti del file, queste versioni precedenti sono memorizzate all'interno dell'immagine crittografata (come dovrebbero essere ) o altrove? Se le versioni sono archiviate altrove, sono crittografate o no?

Risposte:


10

Ho fatto alcuni test e posso offrire una risposta (si spera) autorevole.

Risposta breve: le versioni sono memorizzate sullo stesso disco (o immagine del disco) del file effettivo, quindi le versioni non devono perdere informazioni al di fuori dell'immagine crittografata. Ma potrebbe esserci un'altra perdita, vedi sotto.

Risposta lunga: le versioni creano una cartella invisibile nella parte superiore di ciascun volume, denominata ".DocumentRevisions-V100" con una struttura interna come questa:

.DocumentRevisions-V100
    .cs
        ChunkStorage    (this is presumably used to store chunks of large files that didn't entirely change between versions)
    AllUIDs             (this is only created on disks that have permissions ignored)
    ChunkTemp
    db-v1
        db.sqlite      (this is the primary index of document IDs, etc)
    PerUID             (this is only created on disks that have ownership respected)
        501            (documents created/owned by user #501)
        502            (etc...)
    staging            (???)

Per informazioni sull'indice sqlite e sul demone di sfondo che media l'accesso ad esso, leggi l'eccellente recensione di John Siracusa su ars technica .

Le stesse versioni del documento sono archiviate in sottodirectory in AllUID o PerUID / youruserid. In base a ciò, ogni documento con versione ottiene la propria sottodirectory, numerata a partire da 1. Sotto quella c'è una singola cartella denominata "com.apple.documentVersions", e sotto quella, ogni revisione è memorizzata come documento separato (a meno che non sia suddivisa in blocchi - - Non ho sperimentato documenti di grandi dimensioni) chiamato con un UUID e un'estensione di tipo. Ad esempio, se io (utente # 501) modifico un documento RTF sul mio volume di avvio e salvo diverse revisioni, potrebbero essere memorizzati come:

/.DocumentRevisions-V100/PerUID/501/1/com.apple.documentVersions/0787B7C3-DE11-4065-9FD9-61870212011D.rtf
/.DocumentRevisions-V100/PerUID/501/1/com.apple.documentVersions/D533CF36-0D49-4910-B0EB-C92395C05726.rtf

Se poi aprissi un altro file RTF e ne salvassi una versione, potrebbe essere chiamato:

/.DocumentRevisions-V100/PerUID/501/2/com.apple.documentVersions/74A6EF6E-A22A-4196-B560-40ABDBF46DF4.rtf

Se lo salvassi sull'immagine SecretDocs (montata con proprietà ignorata), le versioni verrebbero archiviate come:

/Volumes/SecretDocs/.DocumentRevisions-V100/AllUIDs/1/com.apple.documentVersions/2ED4DAFD-9BCF-4158-BFDB-F9EEC631E44A.rtf

A proposito, le autorizzazioni sui file di versione sembrano essere clonate dai file originali. Le autorizzazioni per le cartelle allegate tendono a consentire solo l'esecuzione (ovvero non è possibile visualizzare i nomi dei file, ma se si conosce il nome del file è possibile accedervi). Ad esempio, PerUID / 501 è impostato per consentire l'esecuzione solo per l'utente 501, nessun accesso per nessun altro. La cartella db-v1 consente solo l'accesso come root. Senza indagare in dettaglio, sembra essere piuttosto bloccato.

Ora, riguardo all'altra perdita che ti ho minacciato: le app Lion tendono a salvare il loro stato quando esci, quindi se hai un documento riservato aperto quando esci, alcune delle sue informazioni (come penso che uno screenshot) potrebbero essere archiviate in ~ / Libreria / Stato applicazione salvata / someappid.savedState. Finché chiudi prima di salvare penso che tu sia al sicuro qui.


Cosa succede se lo sparsebundle si trova su un disco esterno (potrebbe essere HFS, FAT o NTFS) o su una macchina Snow Leopard sulla rete? Le versioni sono ancora memorizzate sullo stesso disco del file principale?
Phil M,

Vorrei impostare questa risposta come risposta accettata ma non vedo il pulsante, non so perché.
Phil M

Esiste la perdita "Stato applicazione salvata" in Mountain Lion?
orome,

@raxacoricofallapatorius: non l'ho ancora confermato (il formato delle informazioni nella cartella .savedState non è ovvio), ma sospetto fortemente che la perdita sia ancora lì in 10.8.
Gordon Davisson,

2

Un'ottima domanda di Phil M!

I dati relativi alle versioni di Apple a volte non si limitano a /.DocumentRevisions-V100

Lo terrò il più breve possibile. Concetti chiave:

  • Ciclo di vita delle app trasparente (TAL): salvataggio automatico, ripristino delle versioni
  • supporto dei file system per l'archiviazione permanente della versione.

In alcune circostanze,

... In 10.7 (Build 11A511): ~/Libraryvengono utilizzate le sottodirectory di , con accesso non limitato all'utente root. ...

https://discussions.apple.com/message/15739595#15739595 (25/07/2011)

Inoltre, leggermente adattato da https://discussions.apple.com/message/15741724#15741724


Nel mio test più recente con lo stesso server AFP, le versioni per uno screenshot .png remoto:

...

reunion:~ centrimadmin$ ls -ld  /.DocumentRevisions-V100
ls: /.DocumentRevisions-V100: No such file or directory

A livello locale potrebbero essere presenti alcuni dati correlati, /.DocumentRevisions-V100ma in questo caso le versioni del file remoto sono locali e non si limitano all'utente root. Vedi ad esempio lo screenshot 001 su http://www.wuala.com/grahamperrin/public/2011/07/25/e/?mode=gallery che mostra le versioni locali del file remoto, aperto dopo la disconnessione dal file server.


Torna alla domanda iniziale qui in Chiedi diverse immagini .sparsebundle crittografate, sicurezza. Considera questo:

immagine disco bundle sparsa crittografata, MS-DOS

Nel contesto di un'immagine del disco bundle sparsa crittografata, gli utenti potrebbero avere maggiori probabilità di utilizzare JHFS + (supporto dell'archiviazione permanente della versione) rispetto a MS-DOS (privo di supporto)

Tuttavia: qualcuno dovrebbe testare per vedere se le versioni non crittografate rimangono nella home directory dell'utente - che può essere non crittografata - dopo che un volume come quello è stato smontato.

Personalmente, trovo fseventer più utile in situazioni di test come questa. YMMV.

Separazione

Alcune di queste risposte possono sollevare domande che non sono specifiche della crittografia, non specifiche per le immagini del disco raggruppate sparse, non specifiche per la sicurezza. Si tratta di argomenti potenzialmente complessi, quindi per favore: piuttosto che porre domande nei commenti sotto questa risposta, dovrei probabilmente incoraggiare ogni domanda a essere posta separatamente.


Se ti chiedi perché "... le versioni del file remoto sono locali ...", vedi AFP, versioni Apple e sicurezza / privacy sotto apple.stackexchange.com/questions/19299/…
Graham Perrin,

1

Ho controllato la documentazione per gli sviluppatori di Apple sulla funzionalità delle versioni e sembra indicare che le versioni precedenti di un documento siano memorizzate nello stesso "luogo" (ovvero lo stesso file o la stessa cartella) della versione corrente del documento; ma la documentazione è scarsa nei dettagli.

C'è anche l'articolo di AppleInsider intitolato "Inside Mac OS X 10.7 Lion: salvataggio automatico, versioni dei file e Time Machine" , che dice:

A differenza di Time Machine, Versions aggiunge tutte le istantanee delle modifiche all'interno del file di documento locale, evitando un disordine del file system e la necessità di accedere ai backup da una Time Capsule o da un altro disco esterno solo per tornare alle versioni precedenti create nelle ultime ore.

Non ho ancora trovato descrizioni più dettagliate su come funziona la funzione Versioni.


Ho avuto l'impressione che siano archiviati .DocumentRevisions-V100(e non nello stesso file del documento)
Thilo,

1
@Thilo: sì, hai ragione. Sono stato ingannato dal modo in cui la documentazione dello sviluppatore collega la funzionalità delle versioni alla funzione di "salvataggio automatico sul posto". Come sottolineato nelle risposte più dettagliate fornite da altri, le versioni precedenti di un documento non sono memorizzate nello stesso file o cartella della versione corrente. L'articolo di AppleInsider è sbagliato al riguardo.
Rinzwind,

0

Gordon, questa è una buona notizia per tutti, così come per gli sviluppatori di software per Knox ed Espionage (io uso entrambe queste app).

Ecco uno scenario a cui gli utenti dovrebbero fare attenzione. Se si accede a un file all'interno di un'immagine disco crittografata montata su un'unità esterna, i file della versione probabilmente saranno presenti sull'unità di sistema dell'utente in una forma non crittografata. Una soluzione alternativa per questo sarebbe copiare il .sparsebundle sull'unità di sistema prima di montarlo.

Un altro scenario è se .sparsebundle si trova su un altro Mac Snow Leopard sulla stessa rete e l'immagine è condivisa sulla rete, consentendo il montaggio su un Mac Lion sfogliandolo attraverso il Finder. (Lo faccio a volte.) Ciò comporterebbe sicuramente che qualsiasi file di versione venga inserito sul disco di sistema dell'utente in forma non crittografata. Una soluzione a ciò sarebbe usare la condivisione dello schermo per controllare Snow Leopard Mac, quindi montare e lavorare nell'immagine su quel Mac.

La linea di fondo è che in Lion, le persone devono capire di più ed essere più attenti che mai quando si utilizzano immagini disco crittografate se le immagini non si trovano sull'unità di sistema. Spero che gli sviluppatori di Knox ed Espionage avvertano i loro clienti di questi problemi.

EDIT: la risposta di Graham sembra supportare la maggior parte delle mie ipotesi.


"Se si accede a un file all'interno di un'immagine disco crittografata montata su un'unità esterna, i file della versione probabilmente saranno presenti sull'unità di sistema dell'utente in una forma non crittografata". Da dove prendi queste informazioni? Suppongo che sarebbe inserito nel .DocumentRevisions volume crittografato . Anche la risposta di Gordon sembra confermarlo.
Thilo,

@Gordon I DK, dove ho avuto l'idea che se il file non risiede sul disco di sistema, i file della versione vengono memorizzati sul disco di sistema (i dischi esterni potrebbero avere un file system diverso, non so se questo è importante). Pensavo di averlo letto da qualche parte, anche se non riesco più a trovare la fonte. Supponevo che Gordon si riferisse solo al mio caso specifico. Gordon, puoi confermare che le versioni sono memorizzate sullo stesso disco del file reale, indipendentemente dalla formattazione ecc. Del disco? So che Gordon dice "disco (o immagine disco)", ma non ha menzionato questo tipo di test.
Phil M,

@Gordon Forse i 2 scenari specifici citati (disco USB e rete su SL Mac) potrebbero essere testati, mi piacerebbe che si dimostrasse errato, voglio davvero che funzioni.
Phil M,

Un buon punto sui dischi esterni in un formato di file non Mac. Forse non ottengono affatto versioni? OTOH, il modo in cui questo viene "hackerato" sul normale file system potrebbe significare che funziona anche su, diciamo, FAT32.
Thilo,
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.