Compartilhar via


Sobre a criptografia de despejo

A criptografia de despejo pode ser usada para criptografar despejos de memória e despejos dinâmicos gerados para um sistema. Os despejos são criptografados usando uma chave de criptografia simétrica que é gerada para cada despejo. Essa chave em si é criptografada usando a chave pública especificada pelo administrador confiável do host (protetor de chave de criptografia de despejo de memória). Isso garante que apenas alguém com a chave privada correspondente possa descriptografar e, portanto, acessar o conteúdo do despejo. Essa funcionalidade é aproveitada em uma malha protegida. Observação: se configurar a criptografia de despejo, também desabilite Relatório de Erros do Windows. O WER não pode ler despejos de memória criptografados.

Configurar a criptografia de despejo

Configuração manual

Para ativar a criptografia de despejo usando o Registro, configure os seguintes valores de registro em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Nome do valor Digite Valor
DumpEncryptionEnabled DWORD 1 para habilitar a criptografia de despejo, 0 para desabilitar a criptografia de despejo
EncryptionCertificates\Certificate.1::PublicKey Binário Chave pública (RSA, 2048 Bits) que deve ser usada para criptografar despejos. Isso deve ser formatado como BCRYPT_RSAKEY_BLOB.
EncryptionCertificates\Certificate.1::Thumbprint String Impressão digital do certificado para permitir a pesquisa automática de chave privada no repositório de certificados local ao descriptografar um despejo de memória.

Configuração usando script

Para simplificar a configuração, um script de exemplo está disponível para habilitar a criptografia de despejo com base em uma chave pública de um certificado.

  1. Em um ambiente confiável: crie um certificado com uma chave RSA de 2048 bits e exporte o certificado público
  2. Em hosts de destino: importar o certificado público para o repositório de certificados local
  3. Executar o script de configuração de exemplo
    .\Set-DumpEncryptionConfiguration.ps1 -Certificate (Cert:\CurrentUser\My\093568AB328DF385544FAFD57EE53D73EFAAF519) -Force
    

Descriptografar despejos criptografados

Para descriptografar um arquivo de despejo criptografado existente, baixe e instale as Ferramentas de Depuração para Windows. Esse conjunto de ferramentas contém KernelDumpDecrypt.exe que podem ser usados para descriptografar um arquivo de despejo criptografado. Se o certificado que inclui a chave privada estiver presente no repositório de certificados do usuário atual, o arquivo de despejo poderá ser descriptografado ao chamar

    KernelDumpDecrypt.exe memory.dmp memory_decr.dmp

Após a descriptografia, ferramentas como WinDbg podem abrir o arquivo de despejo descriptografado.

Solução de problemas de criptografia de despejo

Se a criptografia de despejo estiver habilitada em um sistema, mas nenhum despejo estiver sendo gerado, verifique o log de eventos do sistema System para Kernel-IO o evento 1207. Quando a criptografia de despejo não pode ser inicializada, esse evento é criado e os despejos são desabilitados.

Mensagem de erro detalhada Etapas para atenuar
Chave pública ou registro de impressão digital ausente Verifique se ambos os valores do Registro existem no local esperado
Chave Pública Inválida Verifique se a chave pública armazenada no valor do Registro PublicKey está armazenada como BCRYPT_RSAKEY_BLOB.
Tamanho da chave pública sem suporte Atualmente, há suporte apenas para chaves RSA de 2048 Bits. Configurar uma chave que corresponda a esse requisito

Verifique também se o valor GuardedHost em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\ForceDumpsDisabled está definido como um valor diferente de 0. Isso desabilita completamente os despejos de memória. Se esse for o caso, defina-o como 0.