10 votos

¿Las funciones Versiones y Reanudar de OS X Lion almacenan los datos en caché de las imágenes .sparsebundle cifradas de forma segura?

Almaceno información sensible en mi portátil en imágenes .sparsebundle encriptadas que se hacen con aplicaciones como Disk Utility, Knox y Espionage. La pregunta es, si actualizo a Lion, cuando estoy trabajando en un archivo ubicado en una de estas imágenes de disco montadas y Lion está guardando versiones anteriores del archivo, ¿estas versiones anteriores se almacenan dentro de la imagen cifrada (como debería ser) o en otro lugar? Si las versiones se guardan en otro lugar, ¿están encriptadas o no?

10voto

Nate Puntos 220

He hecho algunas pruebas y puedo ofrecer una respuesta (espero) autorizada.

Respuesta corta: las versiones se almacenan en el mismo disco (o imagen de disco) que el archivo real, por lo que las versiones no deberían filtrar información fuera de tu imagen cifrada. Pero podría haber otra fuga, ver más abajo.

Respuesta larga: Versiones 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 Excelente crítica de John Siracusa en ars technica .

Las versiones de los documentos se almacenan en subdirectorios en AllUIDs o PerUID/youruserid. Bajo eso, cada documento versionado tiene su propio subdirectorio, numerado empezando por el 1. Bajo eso hay una sola carpeta llamada "com.apple.documentVersions", y bajo eso, cada revisión se almacena como un documento separado (a menos que esté dividido en trozos -- no he experimentado con documentos grandes) nombrado con un UUID y una extensión de tipo. Por ejemplo, si yo (usuario #501) edito un documento rtf en mi volumen de arranque y guardo varias revisiones, éstas podrían ser almacenadas 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 abriera otro archivo rtf y guardara 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 SecretDocs (montada con propiedad ignorada), las versiones se guardarían como:

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

Por cierto, los permisos de los archivos de la versión parecen estar clonados de los archivos originales. Los permisos en las carpetas adjuntas tienden a permitir sólo la ejecución (es decir, no puedes ver los nombres de los archivos, pero si sabes el nombre del archivo puedes acceder a él). Por ejemplo, PerUID/501 está configurado para permitir la ejecución sólo para el usuario 501, sin acceso para nadie más. La carpeta db-v1 sólo permite el acceso al usuario Root. Sin investigar en detalle, parece estar bastante bloqueado.

Ahora, sobre la otra filtración con la que te amenacé: Las aplicaciones de Lion tienden a guardar su estado cuando sales, así que si tienes un documento confidencial abierto cuando sales, parte de su información (como creo que una captura de pantalla) puede quedar almacenada en ~/Library/Saved Application State/someappid.savedState. Siempre que cierres antes de guardar I piense en estás a salvo aquí.

2voto

Tim Puntos 11

Una excelente pregunta de Phil M.

Los datos relacionados con las versiones de Apple a veces no se limitan a /.DocumentRevisions-V100

Seré lo más breve posible. Conceptos clave:

  • Ciclo de vida transparente de la aplicación (TAL): guardado automático, reanudación de versiones
  • soporte de sistemas de archivos para el almacenamiento permanente de versiones.

En algunas circunstancias,

En 10.7 (Build 11A511): los subdirectorios de ~/Library se utilizan, con acceso no limitado al usuario Root.

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

También, 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:

A nivel local puede haber algunos datos relacionados en /.DocumentRevisions-V100 pero en este caso, las versiones del archivo remoto son locales, y no se limitan al usuario Root. Véase, por ejemplo, la captura de pantalla 001 en http://www.wuala.com/grahamperrin/public/2011/07/25/e/?mode=gallery demostrando las versiones locales del archivo remoto, abiertas después de desconectarse del servidor de archivos.


Volviendo a la pregunta inicial aquí en Ask Different imágenes .sparsebundle encriptadas, seguridad. Considere esto:

encrypted sparse bundle disk image, MS-DOS

En el contexto de una imagen de disco de paquete disperso cifrado, es más probable que los usuarios utilicen JHFS+ (que admite el almacenamiento de versiones permanentes) que MS-DOS (que no lo admite)

Sin embargo: alguien debería comprobar si las versiones no cifradas permanecen en el directorio personal del usuario -que puede estar sin cifrar- después de desmontar un volumen como ese.

Personalmente, encuentro fseventer más útil en situaciones de prueba como ésta. ES UNA CUESTIÓN DE GUSTOS.

Separación

Algunas de estas respuestas pueden plantear cuestiones que no son específicas de la encriptación, ni de las imágenes de disco de paquetes dispersos, ni 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 animar a cada pregunta que se pregunte por separado.

1voto

Graphain Puntos 143

He comprobado Documentación de Apple para desarrolladores sobre la función de versiones y parece indicar que las versiones anteriores de un documento se almacenan 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 "Dentro de Mac OS X 10.7 Lion: Guardado automático, versiones de archivos y Time Machine" que dice:

A diferencia de Time Machine, Versiones anexa todas las instantáneas de cambios dentro del archivo del documento local, evitando un lío en el sistema de archivos y la necesidad de acceder a las copias de seguridad de una Time Capsule u otro disco externo sólo para volver a las versiones anteriores creadas en las últimas horas.

Todavía no he encontrado ninguna descripción más detallada de cómo funciona la función Versiones.

0voto

Chris Puntos 1

Gordon, esta es una buena noticia para todos, así como para los desarrolladores de software para Knox y Espionaje (yo uso ambas aplicaciones).

Sin embargo, hay un escenario al que los usuarios deben prestar atención. Si estás accediendo a un archivo dentro de una imagen de disco encriptada montada en una unidad externa, los archivos de la versión probablemente existirán en la unidad de sistema del usuario de forma no encriptada. Una solución para esto sería copiar el .sparsebundle a la unidad del sistema antes de montarlo.

Otro escenario es si el .sparsebundle está en otro Mac con Snow Leopard en la misma red y la imagen se comparte en la red, permitiendo el montaje en un Mac con Lion navegando hasta él a través del Finder. (Yo hago esto a veces.) Esto definitivamente resultaría en que cualquier archivo de la versión se pondría en el disco del Sistema del usuario en forma no encriptada. Una solución para esto sería utilizar la pantalla compartida para controlar el Mac con Snow Leopard, y luego montar y trabajar en la imagen en ese Mac.

La conclusión es que en Lion, la gente tiene que entender más y tener más cuidado que nunca al utilizar imágenes de disco encriptadas 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.

EDIT: La respuesta de Graham parece apoyar la mayoría de mis suposiciones.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X