Os recursos Versões e Currículo do OS X Lion armazenam os dados em cache para imagens .sparsebundle criptografadas de maneira segura?

10

Eu armazeno informações confidenciais no meu laptop em imagens .sparsebundle criptografadas, criadas com aplicativos como o Disk Utility, Knox e Espionage. A questão é: se eu atualizar para o Lion, quando estiver trabalhando em um arquivo localizado em uma dessas imagens de disco montadas e o Lion estiver salvando versões mais antigas do arquivo, essas versões mais antigas serão armazenadas na imagem criptografada (como deveriam ser ) Ou em outro lugar? Se as versões estiverem armazenadas em outro lugar, elas serão criptografadas ou não?

Phil M
fonte

Respostas:

10

Fiz alguns testes e posso oferecer uma resposta (espero) autorizada.

Resposta curta: as versões são armazenadas no mesmo disco (ou imagem de disco) que o arquivo real, portanto, as versões não devem vazar informações para fora da sua imagem criptografada. Mas pode haver outro vazamento, veja abaixo.

Resposta longa: Versões cria uma pasta invisível na parte superior de cada volume, denominada ".DocumentRevisions-V100" com uma estrutura 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 obter informações sobre o índice sqlite e o daemon em segundo plano que medeia o acesso a ele, leia a excelente revisão de John Siracusa na ars technica .

As próprias versões do documento são armazenadas em subdiretórios em AllUIDs ou PerUID / youruserid. De acordo com isso, cada documento com versão obtém seu próprio subdiretório, numerado a partir de 1. Sob essa pasta, chamada "com.apple.documentVersions", e sob essa, cada revisão é armazenada como um documento separado (a menos que seja dividida em partes - - Não experimentei documentos grandes) nomeados com uma extensão UUID e tipo. Por exemplo, se eu (usuário # 501) editar um documento rtf no meu volume de inicialização e salvar várias revisões, elas poderão ser armazenadas 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

Se eu abrir outro arquivo rtf e salvar uma versão dele, ele poderá ter o nome:

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

Se eu o salvasse na minha imagem SecretDocs (montada com propriedade ignorada), as versões seriam armazenadas como:

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

BTW, permissões nos arquivos de versão parecem ser clonadas dos arquivos originais. As permissões nas pastas anexas tendem a permitir apenas a execução (ou seja, você não pode ver os nomes dos arquivos, mas se souber o nome do arquivo, poderá acessá-lo). Por exemplo, o PerUID / 501 está definido para permitir a execução apenas para o usuário 501, sem acesso para mais ninguém. A pasta db-v1 permite apenas o acesso root. Sem investigar em detalhes, parece ser bastante confinado.

Agora, sobre esse outro vazamento que eu o ameacei: os aplicativos Lion tendem a salvar seu estado quando você sai, portanto, se você tiver um documento confidencial aberto ao sair, algumas informações (como eu acho que uma captura de tela) podem ser armazenadas em ~ / Library / Estado do aplicativo salvo / someappid.savedState. Desde que você feche antes de salvar, acho que você está seguro aqui.

Gordon Davisson
fonte
E se o pacote esparso estiver localizado em um disco externo (poderia ser HFS, FAT ou NTFS) ou em uma máquina Snow Leopard na rede? As versões ainda estão armazenadas no mesmo disco que o arquivo principal?
Phil M
Gostaria de definir esta resposta como a resposta aceita, mas não vejo o botão, não sei por quê.
Phil M
O vazamento "Saved Application State" existe no Mountain Lion?
orome 22/02
@raxacoricofallapatorius: ainda não o confirmei totalmente (o formato das informações na pasta .savedState não é óbvio), mas suspeito fortemente que o vazamento ainda esteja presente na versão 10.8.
Gordon Davisson 28/02
2

Uma excelente pergunta de Phil M!

Os dados relacionados às versões da Apple às vezes não se limitam a /.DocumentRevisions-V100

Vou manter isso o mais breve possível. Conceitos chave:

  • Ciclo de vida do aplicativo transparente (TAL) - salvamento automático, versões resumidas
  • sistemas de arquivos suportam armazenamento permanente de versão.

Em algumas circunstâncias,

… No 10.7 (Build 11A511): ~/Librarysão utilizados subdiretórios de , com acesso não limitado ao usuário root. ...

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

Além disso, ligeiramente adaptado de https://discussions.apple.com/message/15741724#15741724


No meu teste mais recente com o mesmo servidor AFP, as versões para uma captura de tela .png remota:

...

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

Localmente, pode haver alguns dados relacionados, /.DocumentRevisions-V100mas nesse caso, as versões do arquivo remoto são locais e não se limitam ao usuário raiz. Veja, por exemplo, a captura de tela 001 em http://www.wuala.com/grahamperrin/public/2011/07/25/e/?mode=gallery demonstrando as versões locais do arquivo remoto, abertas após a desconexão do servidor de arquivos.


De volta à pergunta inicial aqui em Ask Different ... imagens criptografadas .sparsebundle, segurança. Considere isto:

imagem de disco de pacote esparso criptografado, MS-DOS

No contexto de uma imagem de disco de pacote configurável esparsa criptografada, é mais provável que os usuários usem JHFS + (suportando armazenamento de versão permanente) do que o MS-DOS (sem suporte)

No entanto: alguém deve testar se as versões não criptografadas permanecem no diretório inicial do usuário - que pode não ser criptografado - após um volume como esse ser desmontado.

Pessoalmente, acho o fseventer mais útil em situações de teste como essa. YMMV.

Separação

Algumas dessas respostas podem levantar questões que não são específicas para criptografia, não são específicas para imagens de disco de pacote esparsas, não são específicas para segurança. Esses são assuntos potencialmente complexos, então, por favor: em vez de fazer perguntas nos comentários abaixo desta resposta, provavelmente encorajo cada pergunta a ser feita separadamente.

Graham Perrin
fonte
Se você se perguntar por que "... as versões do arquivo remoto são locais ...", consulte AFP, versões da Apple e segurança / privacidade em apple.stackexchange.com/questions/19299/…
Graham Perrin
1

Eu verifiquei a documentação do desenvolvedor da Apple sobre o recurso de versões e parece indicar que as versões anteriores de um documento estão armazenadas no mesmo "local" (ou seja, o mesmo arquivo ou a mesma pasta) da versão atual do documento; mas a documentação é escassa em detalhes.

Há também o artigo do AppleInsider intitulado "Por dentro do Mac OS X 10.7 Lion: salvamento automático, versões de arquivos e Time Machine" , que diz:

Diferentemente do Time Machine, o Versions anexa todos os snapshots alterados no arquivo de documento local, evitando uma bagunça no sistema de arquivos e a necessidade de acessar backups de um Time Capsule ou outro disco externo apenas para voltar às Versões anteriores criadas nas últimas horas.

Ainda não encontrei descrições mais detalhadas de como o recurso Versões funciona.

Rinzwind
fonte
Fiquei com a impressão de que eles são armazenados em .DocumentRevisions-V100(e não no mesmo arquivo como o documento)
Thilo
1
@ Thilo: sim, você está certo. Fiquei enganado com a forma como a documentação do desenvolvedor vincula o recurso de versões ao recurso "salvamento automático no local". Conforme indicado nas respostas mais detalhadas fornecidas por outras pessoas, as versões mais antigas de um documento não são armazenadas no mesmo arquivo ou pasta que a versão atual. O artigo AppleInsider está errado a esse respeito.
Rinzwind 26/07
0

Gordon, esta é uma boa notícia para todos, assim como para os desenvolvedores de software para Knox e Espionage (eu uso os dois aplicativos).

Aqui está um cenário que os usuários devem observar. Se você estiver acessando um arquivo em uma imagem de disco criptografada montada em uma unidade externa, os arquivos de versão provavelmente existirão na unidade do sistema do usuário em um formato não criptografado. Uma solução alternativa para isso seria copiar o .sparsebundle na unidade do sistema antes de montá-lo.

Outro cenário é se o .sparsebundle estiver em outro Snow Leopard Mac na mesma rede e a imagem for compartilhada na rede, permitindo a montagem em um Lion Mac, navegando até ele através do Finder. (Eu faço isso algumas vezes.) Isso definitivamente resultaria em qualquer arquivo de versão sendo colocado no disco do sistema do usuário em forma não criptografada. Uma solução alternativa para isso seria usar o compartilhamento de tela para controlar o Snow Leopard Mac, montar e trabalhar na imagem nesse Mac.

A conclusão é que, no Lion, as pessoas precisam entender mais e ter mais cuidado do que nunca ao usar imagens de disco criptografadas se as imagens não estiverem localizadas na unidade do sistema. Espero que os desenvolvedores de Knox e Espionage avisem seus clientes sobre esses problemas.

Edição: A resposta de Graham parece apoiar a maioria das minhas suposições.

Phil M
fonte
"Se você estiver acessando um arquivo dentro de uma imagem de disco criptografada montada em uma unidade externa, os arquivos de versão provavelmente existirão na unidade do sistema do usuário em um formato não criptografado". De onde você tira essas informações? Eu diria que seria colocado no .DocumentRevisions volume criptografado . A resposta de @ Gordon também parece confirmar isso.
Thilo
@ Gordon I DK, onde tive a ideia de que, se o arquivo não residir no disco do sistema, os arquivos da versão serão armazenados no disco do sistema (discos externos podem ter um sistema de arquivos diferente, não sei se isso importa). Pensei ter lido isso em algum lugar, embora não consiga mais encontrar a fonte. Presumi que Gordon estivesse apenas se referindo ao meu caso específico. Gordon, você pode confirmar que as versões estão armazenadas no mesmo disco que o arquivo real, independentemente da formatação etc. do disco? Eu sei que Gordon diz: "disco (ou imagem de disco)", mas ele não mencionou esse tipo de teste.
Phil M
@Gordon Talvez os 2 cenários específicos mencionados (disco USB e através da rede no SL Mac) possam ser testados, gostaria de provar que estou incorreto, quero que realmente funcione.
Phil M
Bom argumento sobre discos externos em um formato de arquivo não Mac. Talvez eles não tenham versões? OTOH, a maneira como isso é "hackeado" no sistema de arquivos comum pode significar que ele também funciona, digamos, no FAT32.
Thilo