Сохраняют ли функции версий и возобновления OS X Lion кэшированные данные для зашифрованных изображений .sparsebundle безопасным способом?

10

Я храню конфиденциальную информацию на своем ноутбуке в зашифрованных изображениях .sparsebundle, которые создаются с помощью таких приложений, как Disk Utility, Knox и Espionage. Вопрос в том, что если я обновлюсь до Lion, когда я работаю с файлом, расположенным на одном из этих подключенных образов дисков, и Lion сохраняет старые версии файла, хранятся ли эти старые версии в зашифрованном образе (как и должно быть) ) или где-то еще? Если версии хранятся где-то еще, зашифрованы они или нет?

Фил М
источник

Ответы:

10

Я провел некоторое тестирование и могу предложить (надеюсь) авторитетный ответ.

Краткий ответ: версии хранятся на том же диске (или образе диска), что и сам файл, поэтому версии не должны пропускать информацию за пределы вашего зашифрованного образа. Но может быть другая утечка, см. Ниже.

Длинный ответ: Версии создают невидимую папку в верхней части каждого тома с именем .DocumentRevisions-V100 с внутренней структурой, подобной этой:

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

Информацию об индексе sqlite и фоновом демоне, обеспечивающем доступ к нему, можно прочитать в превосходном обзоре Джона Сиракузы на ars technica .

Сами версии документов хранятся в подкаталогах либо в AllUID, либо в PerUID / youruserid. В соответствии с этим каждый версионный документ получает свой собственный подкаталог, который нумеруется начиная с 1. Под этим находится одна папка с именем «com.apple.documentVersions», и при этом каждая ревизия сохраняется как отдельный документ (если он не разбит на куски - - Я не экспериментировал с большими документами) с именем UUID и расширением типа. Например, если я (пользователь № 501) отредактирую документ rtf на своем загрузочном томе и сохраню несколько ревизий, они могут быть сохранены как:

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

Если я затем открою другой файл RTF и сохраню его версию, он может быть назван:

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

Если бы я сохранил его на своем образе SecretDocs (смонтированном с игнорированием владельца), версии будут сохранены как:

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

Кстати, права доступа к файлам версий, похоже, клонированы из исходных файлов. Разрешения на вложенные папки, как правило, позволяют только выполнять (т.е. вы не можете видеть имена файлов, но если вы знаете имя файла, вы можете получить к нему доступ). Например, PerUID / 501 установлен для разрешения выполнения только для пользователя 501, без доступа для кого-либо еще. Папка db-v1 разрешает только root-доступ. Без подробного расследования, это кажется довольно запертым.

Теперь об этой другой утечке, которой я угрожал вам: приложения Lion, как правило, сохраняют свое состояние при выходе, поэтому, если у вас открыт конфиденциальный документ, когда вы выходите, часть его информации (например, снимок экрана) может храниться в ~ / Библиотека / Состояние сохраненного приложения / someappid.savedState. Пока вы закрывались перед сохранением, я думаю, что вы здесь в безопасности.

Гордон Дэвиссон
источник
Что, если sparsebundle находится на внешнем диске (может быть HFS, FAT или NTFS) или на компьютере Snow Leopard в сети? Версии все еще хранятся на том же диске, что и основной файл?
Фил М,
Я хотел бы установить этот ответ как принятый ответ, но я не вижу кнопки, я не знаю почему.
Фил М
Существует ли утечка «Сохраненное состояние приложения» в Mountain Lion?
ором
@raxacoricofallapatorius: Я не полностью подтвердил это (формат информации в папке .savedState не очевиден), но я сильно подозреваю, что утечка все еще существует в 10.8.
Гордон Дэвиссон
2

Отличный вопрос от Фила М!

Данные, относящиеся к версиям Apple, иногда не ограничиваются /.DocumentRevisions-V100

Я буду держать это как можно более кратким. Ключевые понятия:

  • Прозрачный жизненный цикл приложения (TAL) - автоматическое сохранение, возобновление версий
  • поддержка файловых систем для постоянного хранения версий.

В некоторых обстоятельствах

… В 10.7 (сборка 11A511): используются подкаталоги ~/Libraryс доступом, не ограниченным пользователем root. ...

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

Кроме того, слегка адаптировано из https://discussions.apple.com/message/15741724#15741724


В моем последнем тесте с тем же сервером AFP версии для удаленного снимка экрана .png:

...

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

Локально могут быть некоторые связанные данные, /.DocumentRevisions-V100но в этом случае версии удаленного файла являются локальными и не ограничиваются пользователем root. См., Например, снимок экрана 001 по адресу http://www.wuala.com/grahamperrin/public/2011/07/25/e/?mode=gallery, демонстрирующий локальные версии удаленного файла, открытого после отключения от файлового сервера.


Вернемся к открытому вопросу здесь в Ask Different… зашифрованные изображения .sparsebundle, безопасность. Учти это:

зашифрованный образ диска с разреженными пакетами, MS-DOS

В контексте зашифрованного образа диска разреженного комплекта пользователи могут с большей вероятностью использовать JHFS + (с поддержкой постоянного хранения версий), чем MS-DOS (без поддержки).

Тем не менее: кто-то должен проверить, остаются ли незашифрованные версии в домашнем каталоге пользователя - который может быть незашифрованным - после того, как такой том отключен.

Лично я нахожу fseventer наиболее полезным в тестовых ситуациях, таких как эта. YMMV.

разделение

Некоторые из этого ответа могут вызвать вопросы, которые не относятся только к шифрованию, не относятся к редким образам дисков в комплекте, не относятся к безопасности. Это потенциально сложные темы, поэтому, пожалуйста, вместо того, чтобы задавать вопросы в комментариях под этим ответом, я, вероятно, должен поощрять каждый вопрос задавать отдельно.

Грэм Перрин
источник
Если вам интересно , почему «... в версии удаленного файла локальны ...», см AFP, версии Apple , и безопасность / конфиденциальность под apple.stackexchange.com/questions/19299/...
Graham Перрин
1

Я проверил документацию Apple для разработчиков по функции версий, и кажется, что она указывает, что предыдущие версии документа хранятся в том же «месте» (имеется в виду тот же файл или та же папка), что и текущая версия документа; но документация скудна на деталях.

Есть также статья от AppleInsider под названием «Внутри Mac OS X 10.7 Lion: автосохранение, версии файлов и Time Machine» , в которой говорится:

В отличие от Time Machine, Versions добавляет все снимки изменений в локальный файл документа, избегая путаницы в файловой системе и необходимости доступа к резервным копиям из Time Capsule или другого внешнего диска, чтобы просто вернуться к предыдущим версиям, созданным за последние несколько часов.

Я еще не нашел более подробного описания того, как работает функция Версии.

Rinzwind
источник
У меня сложилось впечатление, что они хранятся в .DocumentRevisions-V100(а не в том же файле, что и документ)
Тило
1
@Thilo: да, ты прав. Я был введен в заблуждение тем, как документация разработчика связывает функцию версий с функцией «автоматического сохранения на месте». Как указано в более подробных ответах, данных другими, более старые версии документа не хранятся в том же файле или папке, что и текущая версия. Статья AppleInsider неверна в этом отношении.
Rinzwind
0

Гордон, это хорошая новость для всех, а также для разработчиков программного обеспечения для Knox и Espionage (я использую оба этих приложения).

Вот сценарий, который пользователи должны остерегаться, хотя. Если вы обращаетесь к файлу в подключенном зашифрованном образе диска на внешнем диске, файлы версии, вероятно, будут находиться на системном диске пользователя в незашифрованном виде. Одним из способов решения этой проблемы является копирование .sparsebundle на системный диск перед его монтированием.

Другой сценарий - это, если .sparsebundle находится на другом компьютере Snow Leopard Mac в той же сети, и изображение используется в сети, что позволяет монтировать его на Lion Mac, просматривая его через Finder. (Я делаю это иногда.) Это определенно приведет к тому, что любые файлы версий будут помещены на системный диск пользователя в незашифрованном виде. Одним из способов решения этой проблемы было бы использование общего экрана для управления Snow Leopard Mac, а затем монтирование и работа с образом на этом Mac.

Суть в том, что в Lion люди должны понимать больше и быть осторожнее, чем когда-либо, используя зашифрованные образы дисков, если образы не находятся на системном диске. Я надеюсь, что разработчики Knox и Espionage предупредят своих клиентов об этих проблемах.

РЕДАКТИРОВАТЬ: Грэм ответ, кажется, поддерживает большинство моих предположений.

Фил М
источник
«Если вы обращаетесь к файлу в подключенном зашифрованном образе диска на внешнем диске, файлы версии, вероятно, будут находиться на системном диске пользователя в незашифрованном виде». Откуда вы получаете эту информацию? Я предположил бы, что это будет помещено в .DocumentRevisions зашифрованный том . Ответ @ Гордона также, кажется, подтверждает это.
Тило
@ Gordon I DK, где я понял, что если файл не находится на системном диске, файлы версий сохраняются на системном диске (внешние диски могут иметь другую файловую систему, не знаю, имеет ли это значение). Я думал, что где-то читал это, хотя больше не могу найти источник. Я предположил, что Гордон имел в виду только мой конкретный случай. Гордон, можете ли вы подтвердить, что версии хранятся на том же диске, что и сам файл, независимо от форматирования и т. Д. Диска? Я знаю, что Гордон говорит «диск (или образ диска)», но он не упомянул этот вид тестирования.
Фил М,
@Gordon Может быть, 2 указанных сценария (USB-диск и сетевая связь на SL Mac) можно было бы проверить, я ЛЮБЛЮ, чтобы оказаться неверным, я действительно хочу, чтобы это работало.
Фил М,
Хороший вопрос о внешних дисках в формате, отличном от Mac. Может быть, они вообще не получают версий? OTOH, то, как это «взломано» поверх обычной файловой системы, может означать, что она также работает, скажем, на FAT32.
Тило