He realizado algunas pruebas y puedo ofrecer una respuesta autorizada (con suerte).
Respuesta corta: las versiones se almacenan en el mismo disco (o imagen de disco) que el archivo real, por lo que las versiones no deben filtrar información fuera de su imagen encriptada. Pero puede haber otra fuga, ver más abajo.
Respuesta larga: Versions crea una carpeta invisible en la parte superior de cada volumen, llamada ".DocumentRevisions-V100" con una estructura interna como esta:
.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 (???)
Para obtener información sobre el índice sqlite y el demonio de fondo que media el acceso a él, lea la excelente reseña de John Siracusa en ars technica .
Las versiones del documento se almacenan en subdirectorios en AllUID o PerUID / youruserid. Debajo de eso, cada documento versionado tiene su propio subdirectorio, numerado a partir de 1. Debajo de eso hay una sola carpeta llamada "com.apple.documentVersions", y debajo de eso, cada revisión se almacena como un documento separado (a menos que esté dividido en fragmentos: - No he experimentado con documentos grandes) nombrados con un UUID y extensión de tipo. Por ejemplo, si yo (usuario # 501) edito un documento rtf en mi volumen de arranque y guardo varias revisiones, podrían almacenarse como:
/.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
Si luego abrí otro archivo rtf y guardé una versión del mismo, podría llamarse:
/.DocumentRevisions-V100/PerUID/501/2/com.apple.documentVersions/74A6EF6E-A22A-4196-B560-40ABDBF46DF4.rtf
Si lo guardara en mi imagen de SecretDocs (montada con la propiedad ignorada), las versiones se almacenarían como:
/Volumes/SecretDocs/.DocumentRevisions-V100/AllUIDs/1/com.apple.documentVersions/2ED4DAFD-9BCF-4158-BFDB-F9EEC631E44A.rtf
Por cierto, los permisos en los archivos de versión parecen ser clonados de los archivos originales. Los permisos en las carpetas adjuntas tienden a permitir solo la ejecución (es decir, no puede ver los nombres de los archivos, pero si conoce el nombre del archivo, puede acceder a él). Por ejemplo, PerUID / 501 está configurado para permitir la ejecución solo para el usuario 501, sin acceso para nadie más. La carpeta db-v1 solo permite el acceso de root. Sin investigar en detalle, parece estar bastante bloqueado.
Ahora, sobre esa otra filtración con la que te amenacé: las aplicaciones de Lion tienden a guardar su estado cuando dejas de fumar, por lo que si tienes un documento confidencial abierto cuando dejas de fumar, parte de su información (como creo que una captura de pantalla) puede almacenarse en ~ / Library / Estado de la aplicación guardada / someappid.savedState. Mientras cierres antes de guardar, creo que estás a salvo aquí.
¡Una excelente pregunta de Phil M!
Los datos relacionados con las versiones de Apple a veces no se limitan a /.DocumentRevisions-V100
Lo mantendré lo más breve posible. Conceptos clave:
En algunas circunstancias,
- https://discussions.apple.com/message/15739595#15739595 (2011-07-25)
Además, ligeramente adaptado de https://discussions.apple.com/message/15741724#15741724
En mi prueba más reciente con el mismo servidor AFP, las versiones para una captura de pantalla remota .png:
son locales y están ocultos correctamente
~/Library
... consulte guardado automático, versiones, currículum vitae y el Ciclo de vida transparente de la aplicación (TAL): información técnica emergenteno están localmente en
/.DocumentRevisions-V100
no están remotamente en
/.DocumentRevisions-V100
...
Localmente puede haber algunos datos relacionados,
/.DocumentRevisions-V100
pero en este caso, las versiones del archivo remoto son locales y no se limitan al usuario raíz. Vea, por ejemplo, la captura de pantalla 001 en http://www.wuala.com/grahamperrin/public/2011/07/25/e/?mode=gallery que muestra las versiones locales del archivo remoto, que se abre después de desconectarse del servidor de archivos.De vuelta a la pregunta de apertura aquí en Ask Different ... imágenes cifradas .sparsebundle, seguridad. Considera esto:
En el contexto de una imagen de disco encriptada de paquete disperso, es más probable que los usuarios usen JHFS + (que admite el almacenamiento de versión permanente) que MS-DOS (que carece de soporte)
Sin embargo: alguien debería probar para ver si las versiones sin cifrar permanecen dentro del directorio de inicio del usuario, que puede estar sin cifrar, después de que un volumen como este no esté montado.
Personalmente, encuentro fseventer más útil en situaciones de prueba como esta. YMMV.
Separación
Parte de esta respuesta puede plantear preguntas que no son específicas del cifrado, no son específicas de las imágenes de disco de paquete disperso, no son específicas de la seguridad. Estos son temas potencialmente complejos, así que por favor: en lugar de hacer preguntas en los comentarios debajo de esta respuesta, probablemente debería alentar que cada pregunta se haga por separado.
fuente
Revisé la documentación del desarrollador de Apple sobre la función de versiones y parece indicar que las versiones anteriores de un documento están almacenadas en el mismo "lugar" (es decir, el mismo archivo o la misma carpeta) que la versión actual del documento; pero la documentación es escasa en detalles.
También está el artículo de AppleInsider titulado "Inside Mac OS X 10.7 Lion: Auto Save, File Versions and Time Machine" , que dice:
Todavía no he encontrado ninguna descripción más detallada de cómo funciona la función Versiones.
fuente
.DocumentRevisions-V100
(y no en el mismo archivo que el documento)Gordon, esta es una buena noticia para todos, así como para los desarrolladores de software para Knox y Espionage (uso ambas aplicaciones).
Sin embargo, aquí hay un escenario que los usuarios deben tener en cuenta. Si está accediendo a un archivo dentro de una imagen de disco cifrada montada en una unidad externa, los archivos de versión probablemente existirán en la unidad del sistema del usuario en una forma no cifrada. Una solución para esto sería copiar el .sparsebundle en la unidad del sistema antes de montarlo.
Otro escenario es si el .sparsebundle está en otro Snow Leopard Mac en la misma red y la imagen se comparte en la red, lo que permite el montaje en un Lion Mac navegando a través del Finder. (A veces hago esto). Esto definitivamente daría como resultado que cualquier archivo de versión se coloque en el disco del sistema del usuario en forma no cifrada. Una solución alternativa para esto sería usar el uso compartido de pantalla para controlar la Mac Snow Leopard, luego montar y trabajar en la imagen en esa Mac.
La conclusión es que en Lion, las personas necesitan entender más y tener más cuidado que nunca cuando usan imágenes de disco cifradas si las imágenes no se encuentran en la unidad del sistema. Espero que los desarrolladores de Knox y Espionage adviertan a sus clientes sobre estos problemas.
EDITAR: la respuesta de Graham parece apoyar la mayoría de mis suposiciones.
fuente
.DocumentRevisions
el volumen cifrado . La respuesta de @ Gordon también parece confirmar eso.