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.
- Em um ambiente confiável: crie um certificado com uma chave RSA de 2048 bits e exporte o certificado público
- Em hosts de destino: importar o certificado público para o repositório de certificados local
- 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.