Compartilhar via


Como: Fazer com que os Assemblies APTCA inacessíveis ao código parcialmente confiável

O AllowPartiallyTrustedCallersAttribute atributo (APTCA) permite que o código parcialmente confiável acessar código totalmente confiável em assemblies assinados. Quando o atributo APTCA é aplicado a um assembly, ele marca esse assembly como permitir que chamadores parcialmente confiáveis durante a vida útil do assembly. Isso pode apresentar uma vulnerabilidade de segurança se um assembly, depois que tiver sido instalado, expõe recursos protegidos para código parcialmente confiável. Para corrigir esse problema, você pode definir um valor de registro para indicar que o atributo APTCA assembly deve ser ignorado.

Observação importanteImportante

A capacidade de remover a confiança parcial de um assembly depende de uma chave de registro, conforme descrito no procedimento a seguir.Se um aplicativo está em execução em uma conta que não tem permissão de ACL (lista) de controle de acesso para acessar a chave do registro, a configuração é ineficaz e permitirá que os chamadores parcialmente confiáveis acessar o assembly.Isso faz com que a elevação de privilégio não intencional.Certifique-se de que os direitos ACL são configurados para essa chave para que ele possa ser lido para todos os assemblies.

Para remover a confiança parcial de um assembly

  1. Crie uma chave sob o HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\APTCA a chave no registro do sistema. Use um nome de chave que contém as informações de nome forte do assembly. Esse nome deve incluir o nome simples, o número de versão, a cultura (que pode ser neutra), o token de chave público e a versão do arquivo do assembly. Por exemplo, a seguir é uma chave válida: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\APTCA\Microsoft.Office.Interop.Visio, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, FileVersion=11.0.3216.0.

  2. Criar um DWORD valor com um nome de APTCA_FLAG e um valor de 1 para remover a visibilidade de confiança parcial do assembly.