Compartilhar via


Política de restrição de software

As configurações de diretiva de restrição de software (SRP) foram introduzidas com o lançamento do Windows XP para ajudar a proteger os sistemas contra código desconhecido e possivelmente perigoso. O SRP fornece um mecanismo em que apenas código confiável recebe acesso irrestrito aos privilégios de um usuário. O código desconhecido, que pode conter vírus ou código que entra em conflito com os programas atualmente instalados, tem permissão para ser executado somente em um ambiente restrito (geralmente chamado de área restrita) onde é proibido acessar quaisquer privilégios de usuário sensíveis à segurança. O uso adequado do SRP pode tornar sua empresa mais ágil, pois fornece uma estrutura proativa para prevenir problemas, em vez de uma estrutura reativa que depende da alternativa dispendiosa de restaurar um sistema após a ocorrência de um problema.

O SRP depende da atribuição de níveis de confiança ao código que pode ser executado em um sistema. Atualmente, existem dois níveis de confiança: Irrestrito e Não permitido. O código que tem um nível de confiança irrestrito recebe acesso irrestrito aos privilégios do usuário, portanto, esse nível de confiança deve ser aplicado apenas ao código totalmente confiável. O código com um nível de confiança Não permitido é proibido de acessar quaisquer privilégios de usuário sensíveis à segurança e pode ser executado somente em uma área restrita para que o código Irrestrito não possa carregar o código Não permitido em seu espaço de endereço.

A configuração SRP de aplicativos COM individuais é feita por meio do valor SRPTrustLevel na chave AppID do aplicativo no registro. Se o nível de confiança SRP não for especificado para um aplicativo COM, o valor padrão de Não permitido será usado. Um aplicativo COM que tem um nível de confiança irrestrito tem acesso irrestrito aos privilégios do usuário, mas pode carregar apenas componentes com um nível de confiança irrestrito, enquanto um aplicativo COM não permitido pode carregar componentes com qualquer nível de confiança, mas não pode acessar nenhum privilégio de usuário sensível à segurança.

Além dos níveis de confiança SRP de aplicativos COM individuais, duas outras propriedades SRP determinam como o SRP é usado para todos os aplicativos COM. Se SRPRunningObjectChecks estiver habilitado, as tentativas de conexão com objetos em execução serão verificadas quanto aos níveis de confiança SRP apropriados. O objeto em execução não pode ter um nível de confiança SRP menos rigoroso do que o objeto cliente. Por exemplo, o objeto em execução não pode ter um nível de confiança Não permitido se o objeto cliente tiver um nível de confiança irrestrito.

A segunda propriedade determina como o SRP manipula conexões activate-as-activator. Se SRPActivateAsActivatorChecks estiver habilitado, o nível de confiança SRP configurado para o objeto de servidor será comparado com o nível de confiança SRP do objeto cliente e o nível de confiança mais rigoroso será usado para executar o objeto de servidor. Se SRPActivateAsActivatorChecks não estiver habilitado, o objeto de servidor será executado com o nível de confiança SRP do objeto cliente, independentemente do nível de confiança SRP com o qual foi configurado. Por padrão, SRPRunningObjectChecks e SRPActivateAsActivatorChecks estão habilitados.