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

9

Almaceno información confidencial en mi computadora portátil en imágenes .barsebundle cifradas que se realizan con aplicaciones como Disk Utility, Knox y Espionage. La pregunta es, si me 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, ¿están estas versiones más antiguas almacenadas dentro de la imagen cifrada? ) ¿o en otro lugar? Si las versiones se almacenan en otro lugar, ¿están encriptadas o no?

    
pregunta Phil M 25.07.2011 - 04:42

4 respuestas

10

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 podría haber otra fuga, ver más abajo.

Respuesta larga: las versiones crean 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 daemon de fondo que media el acceso a él, lea excelente revisión de John Siracusa en ars technica .

Las propias versiones del documento se almacenan en subdirectorios en AllUIDs o PerUID / youruserid. Debajo de eso, cada documento versionado tiene su propio subdirectorio, numerado comenzando en 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 se rompa en trozos - - No he experimentado con documentos grandes) nombrados 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, es posible que se almacenen 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, 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 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 clonarse a partir 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 archivo, 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 acceso root. Sin investigar en detalle, parece estar bastante bloqueado.

Ahora, sobre esa otra filtración con la que te he amenazado: las aplicaciones de Lion tienden a guardar su estado cuando dejas de fumar, por lo que si tienes un documento confidencial abierto cuando lo dejas, parte de su información (como una captura de pantalla) puede obtener almacenado en ~ / Biblioteca / Estado de aplicación guardado / someappid.savedState. Mientras cierres antes de guardar, creo estás a salvo aquí.

    
respondido por el Gordon Davisson 26.07.2011 - 08:49
2

¡Una excelente pregunta de Phil M!

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

Mantendré esto lo más breve posible. Conceptos clave:

  • Ciclo de vida de aplicaciones transparentes (TAL): guardar automáticamente, las versiones se reanudan
  • compatibilidad con sistemas de archivos para el almacenamiento de versiones permanentes.

En algunas circunstancias,

  

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

- enlace (2011-07-25)

También, ligeramente adaptado de enlace

En mi prueba más reciente con el mismo servidor AFP, las versiones para una captura de pantalla .png remota:

...

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

Localmente puede haber algunos datos relacionados en /.DocumentRevisions-V100 , pero en este caso, las versiones del archivo remoto son locales y no están limitadas al usuario root. Vea, por ejemplo, la captura de pantalla 001 en enlace que muestra las versiones locales de archivo remoto, abierto después de desconectarse del servidor de archivos.

Vuelva a la pregunta de apertura aquí en Pregunte diferente ... imágenes encriptadas .sparsebundle, seguridad. Considera esto:

Enelcontextodeunaimagendediscodepaquetedispersoencriptado,esmásprobablequelosusuariosutilicenJHFS+(soportedealmacenamientodeversiónpermanente)queMS-DOS(quecarezcadesoporte)

Sinembargo,alguiendeberealizarunapruebaparaversilasversionessincifrarpermaneceneneldirectoriodeiniciodelusuario,quepuedeestarsincifrar,despuésdeunvolumencomoelquenoestámontado.

Personalmente,encuentroa fseventer más útil en situaciones de prueba como esta. YMMV.

Separación

Parte de esta respuesta puede generar preguntas que no son específicas del cifrado, no son específicas para las imágenes de disco de paquetes dispersos, no son específicas para la seguridad. Estos son temas potencialmente complejos, así que por favor: en lugar de hacer preguntas en los comentarios que se encuentran debajo de esta respuesta, probablemente debería recomendar a cada pregunta que se formule por separado. .

    
respondido por el Graham Perrin 02.08.2011 - 20:14
1

Revisé La documentación del desarrollador de Apple sobre la función de las 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 el 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: Auto Save, File Versiones y Time Machine ", que dice:

  

A diferencia de Time Machine, Versions agrega todas las instantáneas de cambio dentro del archivo de documento local, evitando el desorden del sistema de archivos y la necesidad de acceder a las copias de seguridad desde una Time Capsule u otro disco externo solo 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 de Versiones.

    
respondido por el Rinzwind 25.07.2011 - 14:16
0

Gordon, estas son buenas noticias para todos, así como para los desarrolladores de software para Knox y Espionage (yo uso ambas aplicaciones).

Este es un escenario que los usuarios deberían tener en cuenta. Si está accediendo a un archivo dentro de una imagen de disco cifrada montada en una unidad externa, es probable que los archivos de la versión existan en la unidad del sistema del usuario en 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 otra Snow Leopard Mac en la misma red y la imagen se comparte en la red, lo que permite el montaje en una Lion Mac al buscarla en el Finder. (Hago esto a veces.) Esto daría lugar definitivamente a que cualquier archivo de versión se coloque en el disco del sistema del usuario en forma no cifrada. Una solución para esto sería utilizar la pantalla compartida para controlar la Snow Leopard Mac, 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 están ubicadas 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.

    
respondido por el Phil M 26.07.2011 - 21:48

Lea otras preguntas en las etiquetas