Compartilhar via


Proteção adicional de recursos do Windows em chaves do Registro

Plataforma

Clientes - Windows 7
Servidores - Windows Server 2008 R2

Impacto do recurso

Gravidade - Média
Frequência - Baixa

Descrição

Recursos adicionais do sistema adicionaram configurações de WRP (Proteção de Recursos do Windows) no Windows 7, tornando-as configurações somente leitura. A grande maioria dos recursos que receberam proteção adicional são chaves de servidor COM do sistema, embora alguns recursos tenham adicionado proteção de recursos direcionada. A Microsoft alterou esses recursos para proteger o sistema e outros aplicativos de interferências mútuas e fornecer uma plataforma consistente e estável na qual os aplicativos podem ser executados de forma confiável. No passado, os aplicativos podiam fornecer arquivos personalizados e usar o registro COM desprotegido para alterar o sistema. No caso de aplicativos mais antigos, isso pode reduzir o tempo de execução do sistema ou alterar a interface na qual outros aplicativos precisavam funcionar corretamente. Na pior das hipóteses, essas instalações podem causar falha ou degradação do sistema ao longo do tempo. Para fornecer uma experiência melhor e uma plataforma de aplicativo mais estável, bloqueamos esses registros para que apenas as atualizações da Microsoft pudessem alterar os componentes do sistema.

Como a maioria dos recursos alterados são chaves COM usadas pelo sistema, essa alteração não afetará a maioria dos aplicativos. Embora esperemos que a maioria dos aplicativos tenha uma experiência melhor no Windows 7 como resultado dessas alterações, um pequeno subconjunto de aplicativos pode ser afetado negativamente. As camadas de compatibilidade de aplicativos do sistema resolverão automaticamente os problemas de instalação, sempre informando ao aplicativo que ele conseguiu alterar uma configuração, mesmo que tenha falhado por ser um recurso protegido. Isso evita que as configurações do aplicativo sejam interrompidas, mas poderá causar problemas se a configuração precisar ser alterada para que o aplicativo funcione corretamente.

Manifestação

Os aplicativos podem ter modificado essas configurações antes do Windows 7. Ao instalar no Windows 7, os aplicativos podem descobrir que determinados recursos não funcionam mais porque as configurações não refletem o que o aplicativo esperava.

Há dois cenários em que os aplicativos podem encontrar problemas relacionados a essa proteção adicional:

  • Aplicativos que podem ter usado as configurações agora protegidas como um armazenamento de dados ou como um ponto de extensibilidade raro ou não intencional
  • Em casos raros, o mecanismo de detecção usado para identificar configurações de aplicativos pode não reconhecer uma configuração específica e, portanto, a camada de mitigação de compatibilidade de aplicativos pode não ser aplicada

Mitigação

O principal meio de mitigação é a camada de compatibilidade de aplicativos do sistema, que é aplicada automaticamente às configurações de aplicativos quando detectada. Você também pode aplicá-la manualmente a qualquer aplicativo usando a guia de compatibilidade nas propriedades do aplicativo.

Essa camada resolve o problema interceptando as operações do Registro. No caso em que o aplicativo estava tentando modificar uma configuração somente leitura (WRP), a camada sempre retorna sucesso, mesmo que a configuração não tenha sido realmente alterada. Isso não causará problemas para a maioria dos aplicativos. No entanto, existe a possibilidade de que o aplicativo precise alterar essa configuração para funcionar corretamente, o que é o primeiro cenário descrito acima.

Solução

Para os dois cenários identificados acima:

  • Se o aplicativo exigir que a chave seja gravável para funcionar ou usar o armazenamento de dados, não haverá outra solução além de alterar o aplicativo para que ele não grave mais nesse local.
  • Se a camada de compatibilidade não tiver sido aplicada a uma instalação, a falha de instalação deverá ser detectada e oferecida para ser aplicada e executada novamente. Os aplicativos também podem ser executados no modo de compatibilidade, caso em que a camada de mitigação é sempre aplicada.

Testes de compatibilidade

Como detectar se um aplicativo tinha a mitigação de WRP aplicada a ele:

  • O Windows Installer está ciente do WRP. Ele ignora automaticamente e silenciosamente as tentativas de gravar ou modificar um recurso protegido. Se o aplicativo foi instalado com o Windows Installer e o log foi habilitado, um aviso será registrado para cada operação de gravação de chave de registro que foi ignorada por ser um recurso protegido por WRP.
  • A API de Proteção de Recursos do Windows incorpora o SfCIsKeyProtected, que pode consultar se uma chave de registro é protegida por WRP no sistema atual.