Speichern die Versionen und Fortsetzungsfunktionen von OS X Lion die zwischengespeicherten Daten für verschlüsselte .sparsebundle-Bilder auf sichere Weise?

10

Ich speichere vertrauliche Informationen auf meinem Laptop in verschlüsselten .sparsebundle-Bildern, die mit Apps wie Disk Utility, Knox und Espionage erstellt wurden. Die Frage ist, ob bei einem Upgrade auf Lion, wenn ich an einer Datei arbeite, die sich in einem dieser bereitgestellten Datenträgerabbilder befindet, und Lion ältere Versionen der Datei speichert, diese älteren Versionen im verschlüsselten Abbild gespeichert werden (wie sie sein sollten) ) Oder irgendwo anders? Wenn die Versionen an einem anderen Ort gespeichert sind, sind sie verschlüsselt oder nicht?

Phil M
quelle

Antworten:

10

Ich habe einige Tests durchgeführt und kann eine (hoffentlich) maßgebliche Antwort geben.

Kurze Antwort: Die Versionen werden auf derselben Festplatte (oder demselben Festplatten-Image) wie die eigentliche Datei gespeichert, sodass bei Versionen keine Informationen außerhalb Ihres verschlüsselten Images verloren gehen sollten. Aber es könnte ein weiteres Leck geben, siehe unten.

Lange Antwort: Versions erstellt einen unsichtbaren Ordner mit dem Namen ".DocumentRevisions-V100" am Anfang jedes Volumes mit einer internen Struktur wie der folgenden:

.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            (???)

Informationen zum SQLite-Index und zum Hintergrund-Daemon, der den Zugriff darauf ermöglicht, finden Sie in John Siracusas ausgezeichneter Rezension auf der ars technica .

Die Dokumentversionen selbst werden entweder in AllUIDs oder in PerUID / youruserid in Unterverzeichnissen gespeichert. Darunter erhält jedes versionierte Dokument ein eigenes Unterverzeichnis, das mit 1 beginnt. Darunter befindet sich ein einzelner Ordner mit dem Namen "com.apple.documentVersions". Darunter wird jede Revision als separates Dokument gespeichert (es sei denn, sie ist in Abschnitte unterteilt - - Ich habe nicht mit großen Dokumenten experimentiert, die mit einer UUID und einer Typerweiterung benannt sind. Wenn ich beispielsweise (Benutzer # 501) ein RTF-Dokument auf meinem Startvolume bearbeite und mehrere Revisionen speichere, werden diese möglicherweise gespeichert als:

/.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

Wenn ich dann eine andere RTF-Datei öffnete und eine Version davon speicherte, könnte sie folgenden Namen haben:

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

Wenn ich es auf meinem SecretDocs-Image speichere (mit ignorierter Inhaberschaft gemountet), werden Versionen wie folgt gespeichert:

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

Übrigens scheinen Berechtigungen für die Versionsdateien aus den Originaldateien geklont worden zu sein. Berechtigungen für die umschließenden Ordner erlauben in der Regel nur die Ausführung (dh Sie können die Dateinamen nicht sehen, aber wenn Sie den Dateinamen kennen, können Sie darauf zugreifen). Beispielsweise ist PerUID / 501 so eingestellt, dass die Ausführung nur für Benutzer 501 und kein Zugriff für andere Benutzer zulässig ist. Der Ordner db-v1 ermöglicht nur den Root-Zugriff. Ohne genauer nachzuforschen, scheint es ziemlich verschlossen zu sein.

Nun zu diesem anderen Leck, mit dem ich Ihnen gedroht habe: Lion-Apps neigen dazu, ihren Status beim Beenden zu speichern. Wenn Sie also ein vertrauliches Dokument beim Beenden geöffnet haben, werden möglicherweise einige seiner Informationen (wie etwa ein Screenshot) in ~ gespeichert / Library / Saved Application State / someappid.savedState. Solange Sie schließen, bevor Sie speichern, denke ich, dass Sie hier sicher sind.

Gordon Davisson
quelle
Was passiert, wenn sich das Sparsebundle auf einer externen Festplatte (z. B. HFS, FAT oder NTFS) oder auf einem Snow Leopard-Computer im Netzwerk befindet? Sind die Versionen immer noch auf demselben Datenträger wie die Hauptdatei gespeichert?
Phil M
Ich möchte diese Antwort als akzeptierte Antwort festlegen, aber ich sehe die Schaltfläche nicht, ich weiß nicht warum.
Phil M
Existiert das Leck "Saved Application State" in Mountain Lion?
Orome
@raxacoricofallapatorius: Ich habe dies nicht vollständig bestätigt (das Format der Informationen im Ordner .savedState ist nicht offensichtlich), aber ich vermute stark, dass das Leck in 10.8 noch vorhanden ist.
Gordon Davisson
2

Eine ausgezeichnete Frage von Phil M!

Daten, die sich auf Apple-Versionen beziehen, sind manchmal nicht auf /.DocumentRevisions-V100 beschränkt

Ich werde das so kurz wie möglich halten. Schlüssel Konzepte:

  • Transparenter App-Lebenszyklus (TAL) - Automatisch speichern, Versionen werden fortgesetzt
  • Dateisystemunterstützung für dauerhafte Versionsspeicherung.

Unter bestimmten Umständen

… In 10.7 (Build 11A511): werden Unterverzeichnisse von ~/Libraryverwendet, wobei der Zugriff nicht auf den Root-Benutzer beschränkt ist. …

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

Auch leicht angepasst von https://discussions.apple.com/message/15741724#15741724


In meinem letzten Test mit demselben AFP-Server die Versionen für einen Remote-.png-Screenshot:

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

Lokal sind möglicherweise einige verwandte Daten vorhanden /.DocumentRevisions-V100, in diesem Fall handelt es sich jedoch um lokale Versionen der Remote-Datei, die nicht auf den Root-Benutzer beschränkt sind. In Screenshot 001 unter http://www.wuala.com/grahamperrin/public/2011/07/25/e/?mode=gallery sehen Sie beispielsweise die lokalen Versionen der Remote-Datei, die nach dem Trennen der Verbindung zum Dateiserver geöffnet wurden.


Zurück zur Eröffnungsfrage hier in Ask Different… verschlüsselte .sparsebundle-Bilder, Sicherheit. Bedenken Sie:

verschlüsseltes Sparse Bundle Disk Image, MS-DOS

Im Zusammenhang mit einem verschlüsselten Festplattenimage für Sparse-Bundles ist die Wahrscheinlichkeit, dass Benutzer JHFS + (Unterstützung für permanenten Versionsspeicher) verwenden, höher als bei MS-DOS (mangelnde Unterstützung).

Allerdings sollte jemand testen, ob unverschlüsselte Versionen im Home-Verzeichnis des Benutzers verbleiben - das möglicherweise unverschlüsselt ist -, nachdem ein solches Volume nicht gemountet wurde.

Persönlich finde ich fseventer in solchen Testsituationen am nützlichsten. YMMV.

Trennung

Einige dieser Antworten werfen möglicherweise Fragen auf, die sich nicht auf die Verschlüsselung, nicht auf Festplattenimages mit geringer Dichte und nicht auf die Sicherheit beziehen. Dies sind möglicherweise komplexe Themen, also bitte: Anstatt Fragen in Kommentaren unter dieser Antwort zu stellen, sollte ich wahrscheinlich dazu ermutigen, jede Frage einzeln zu stellen.

Graham Perrin
quelle
Wenn Sie sich fragen, warum "... die Versionen der Remote-Datei lokal sind ...", lesen Sie AFP, Apple-Versionen und Sicherheit / Datenschutz unter apple.stackexchange.com/questions/19299/…
Graham Perrin
1

Ich habe in der Entwicklerdokumentation von Apple das Versionsfeature überprüft und es scheint darauf hinzudeuten, dass die vorherigen Versionen eines Dokuments an demselben Speicherort (dh in derselben Datei oder in demselben Ordner) wie die aktuelle Version des Dokuments gespeichert sind. Die Dokumentation ist jedoch kaum detailliert.

Es gibt auch den Artikel von AppleInsider mit dem Titel "Inside Mac OS X 10.7 Lion: Automatisch speichern, Dateiversionen und Time Machine" , der besagt:

Im Gegensatz zu Time Machine werden bei Versions alle Änderungssnapshots in der lokalen Dokumentdatei angehängt, wodurch ein Dateisystemfehler vermieden wird und auf Sicherungen von einer Time Capsule oder einer anderen externen Festplatte zugegriffen werden muss, um auf frühere Versionen zurückzugreifen, die in den letzten Stunden erstellt wurden.

Ich habe noch keine detaillierteren Beschreibungen der Funktionsweise der Versions-Funktion gefunden.

Rinzwind
quelle
Ich hatte den Eindruck, dass sie in .DocumentRevisions-V100(und nicht in derselben Datei wie das Dokument) gespeichert sind
Thilo
1
@Thilo: Ja, du hast recht. Es hat mich in die Irre geführt, wie die Entwicklerdokumentation die Versionsfunktion mit der Funktion zum automatischen Speichern verknüpft. Wie in den ausführlicheren Antworten anderer angegeben, werden ältere Versionen eines Dokuments nicht in derselben Datei oder demselben Ordner wie die aktuelle Version gespeichert. Der AppleInsider-Artikel ist in dieser Hinsicht falsch.
Rinzwind
0

Gordon, das sind gute Neuigkeiten für alle, ebenso wie für die Softwareentwickler von Knox und Espionage (ich benutze beide Apps).

Hier ist ein Szenario, auf das Benutzer jedoch achten sollten. Wenn Sie auf eine Datei in einem eingebundenen verschlüsselten Image auf einem externen Laufwerk zugreifen, sind die Versionsdateien wahrscheinlich unverschlüsselt auf dem Systemlaufwerk des Benutzers vorhanden. Eine Problemumgehung besteht darin, das .sparsebundle vor dem Mounten auf das Systemlaufwerk zu kopieren.

Ein weiteres Szenario besteht darin, dass sich das .sparsebundle auf einem anderen Snow Leopard-Mac im selben Netzwerk befindet und das Image im Netzwerk freigegeben wird, sodass das Mounten auf einem Lion-Mac möglich ist, indem Sie im Finder darauf zugreifen. (Ich mache das manchmal.) Dies würde definitiv dazu führen, dass alle Versionsdateien unverschlüsselt auf der Systemfestplatte des Benutzers abgelegt werden. Eine Möglichkeit, dies zu umgehen, besteht darin, den Snow Leopard Mac mithilfe der Bildschirmfreigabe zu steuern und dann das Image auf diesem Mac bereitzustellen und zu bearbeiten.

Die Quintessenz ist, dass die Benutzer in Lion mehr verstehen und vorsichtiger als je zuvor sein müssen, wenn sie verschlüsselte Festplattenimages verwenden, wenn sich die Images nicht auf dem Systemlaufwerk befinden. Ich hoffe, die Entwickler von Knox und Espionage werden ihre Kunden vor diesen Problemen warnen.

EDIT: Grahams Antwort scheint die meisten meiner Annahmen zu stützen.

Phil M
quelle
Msgstr "Wenn Sie auf eine Datei in einem gemounteten verschlüsselten Disk - Image auf einem externen Laufwerk zugreifen, sind die Versionsdateien wahrscheinlich unverschlüsselt auf dem Systemlaufwerk des Benutzers vorhanden." Woher beziehen Sie diese Informationen? Ich würde annehmen, dass es .DocumentRevisions auf dem verschlüsselten Volume abgelegt wird . @ Gordons Antwort scheint das auch zu bestätigen.
Thilo
@ Gordon I DK, wo ich auf die Idee kam, dass, wenn sich die Datei nicht auf dem Systemdatenträger befindet, die Versionsdateien auf dem Systemdatenträger gespeichert werden (externe Datenträger könnten ein anderes Dateisystem haben, wissen nicht, ob dies von Bedeutung ist). Ich dachte, ich hätte das irgendwo gelesen, obwohl ich die Quelle nicht mehr finden kann. Ich nahm an, dass Gordon sich nur auf meinen speziellen Fall bezog. Gordon, können Sie bestätigen, dass die Versionen auf demselben Datenträger wie die eigentliche Datei gespeichert sind, unabhängig von der Formatierung usw. des Datenträgers? Ich weiß, dass Gordon "Disk (oder Disk-Image)" sagt, aber er erwähnte diese Art des Testens nicht.
Phil M
@Gordon Vielleicht könnten die 2 genannten Szenarien (USB-Stick & Netzwerk auf SL Mac) getestet werden. Ich würde es LIEBEN, wenn sie sich als falsch herausstellen, ich möchte wirklich, dass dies funktioniert.
Phil M
Guter Punkt zu externen Festplatten in einem Nicht-Mac-Dateiformat. Vielleicht bekommen sie überhaupt keine Versionen? OTOH, die Art und Weise, wie dies über das reguläre Dateisystem "gehackt" wird, könnte bedeuten, dass es beispielsweise auch auf FAT32 funktioniert.
Thilo