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

Plataforma

Clientes – Windows 7
Servidores – Windows Server 2008 R2

Impacto do recurso

Severidade - Médio
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 quebrar uns aos outros 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 fazer downgrade de runtimes 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 esperamos 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 do aplicativo do sistema resolve automaticamente problemas de instalação sempre informando ao aplicativo que ele conseguiu alterar uma configuração, mesmo que tenha falhado devido a ele ser um recurso protegido. Isso impede que as configurações do aplicativo sejam interruptivas, mas pode 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. Após a instalação no Windows 7, os aplicativos podem encontrar determinados recursos que 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 estar usando 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 aplicativo pode não reconhecer uma configuração específica e, portanto, a camada de mitigação de compatibilidade do aplicativo pode não ser aplicada

Atenuação

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

Essa camada resolve o problema interceptando operações do Registro. No caso em que o aplicativo estava tentando modificar uma configuração de WRP (somente leitura), a camada sempre retorna êxito, mesmo que a configuração não tenha sido realmente alterada. Para a maioria dos aplicativos, isso não causará problemas. No entanto, há a possibilidade de o aplicativo precisar que essa configuração seja alterada para funcionar corretamente, 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á 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, nesse caso, a camada de mitigação sempre é aplicada.

Testes de compatibilidade

Como detectar se um aplicativo tinha mitigação 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 tiver sido instalado com o Windows Installer e o registro em log estiver habilitado, um aviso será registrado para cada operação de gravação de chave do Registro que foi ignorada devido a ser um recurso protegido por WRP.
  • A API WRP incorpora SfCIsKeyProtected, que pode consultar se uma chave do Registro é protegida por WRP no sistema atual. Consulte a entrada WRP no MSDN nos links abaixo para obter informações adicionais sobre como usar essa API.

Proteção de Recursos do Windows