Estranho erro temporário "Acesso negado" ao acessar arquivos criptografados

4

Após uma reinicialização do sistema (Win7 x64), um aplicativo relatou que não pôde acessar um arquivo em um diretório criptografado com EFS.

  • O acesso por meio de programas deu "Acesso negado".
  • As permissões eram normais e boas.
  • O problema afetou mais dois arquivos selecionados aleatoriamente.
  • Não houve alterações ou problemas relevantes em muito tempo.

Então, essa pergunta foi exibida e, de fato, o arquivo foi criptografado para um certificado diferente, de acordo com a impressão digital do certificado mostrada na caixa de diálogo que aparece quando você clica em "Detalhes" na caixa de diálogo "Atributos avançados".

Mas aqui está a coisa estranha:

  • Abrir a caixa de diálogo "Atributos avançados" (na caixa de diálogo de propriedades do arquivo) levou ~ 10 segundos e 100% de CPU , sempre e somente para esse arquivo.
    Os rastreamentos de pilha obtidos via ProcessHacker estavam cheios de "efscore.dll", "bcrypt.dll", "crypt32.dll" e outros.
  • certmgr.msc mostrou um novo certificado EFS que eu mesmo não criei . Era válido há 3 dias e sua impressão digital foi a que eu vi no arquivo que não consegui acessar.
  • O assistente de exportação permitido para exportar esse novo certificado EFS, mas forneceu uma mensagem de erro a meio caminho ( "Chave inválida para uso no estado especificado". ) e o arquivo criado não t na verdade contém o certificado selecionado, mas um diferente.
  • Em uma cópia clonada do sistema, depois de um tempo, o arquivo estava acessível novamente e seu conteúdo estava intacto! Eu inspecionei a impressão digital do certificado associado a ela, e desta vez foi a impressão digital do meu certificado usual, e não mais do que o certificado recém-criado.

Então, isso me faz pensar sobre a confiabilidade do EFS.

  1. Por que um novo certificado foi criado silenciosamente e aparentemente usado para a criptografia de alguns arquivos?
  2. Por que o certificado associado ao arquivo parece mudar?
por Norman 04.09.2015 / 02:38

1 resposta

2

Depois de mais análises, cheguei à seguinte conclusão:

O SSD que contém o sistema operacional está falhando, causando corrupção silenciosa e arbitrária de dados por pelo menos alguns dias.
Os efeitos observáveis foram - nesta ordem - diminuição do desempenho do disco, talvez pequenos erros de software inespecíficos, corrupção da chave privada de um certificado EFS, falhas do Explorer, BSOD.

Esta é minha reconstrução de eventos:
Aprox. 10 a 14 dias antes do incidente, o Windows, por algum motivo, criou um novo certificado EFS, cuja chave privada foi corrompida e, portanto, inacessível logo depois. Todos os arquivos que são agora undecryptable provavelmente foram reescritos depois que a chave privada foi perdida. O comportamento errático do Windows provavelmente foi causado pelo SSD que estava morrendo, às vezes devolvendo dados corretos, às vezes não.

Além disso, aprendi que o Windows pode, sem nenhum erro, decodificar arquivos criptografados para o lixo. Portanto, ser capaz de descriptografar arquivos não prova sua integridade. (Ou seja, o SSD pode ter fornecido dados corrompidos para o Windows, mas o Windows não detectou isso ao descriptografar os arquivos.)

    
por 07.09.2015 / 14:45