Usar a assinatura de código para controle e proteção adicionados com o Controle de Aplicativos para Empresas

Observação

Alguns recursos do Controle de Aplicativos para Empresas estão disponíveis apenas em versões específicas do Windows. Saiba mais sobre a disponibilidade de recursos do Controle de Aplicativos.

O que é assinatura de código e por que ela é importante?

A assinatura de código fornece alguns benefícios importantes para recursos de segurança de aplicativos, como o Controle de Aplicativos para Empresas. Primeiro, ele permite que o sistema verifique criptograficamente se um arquivo não foi adulterado desde que foi assinado e antes que qualquer código tenha permissão para ser executado. Em segundo lugar, ele associa o arquivo a uma identidade real, como uma empresa ou um desenvolvedor individual. Essa identidade pode facilitar suas decisões de confiança de política e permite consequências reais quando a assinatura de código é abusada ou usada de forma maliciosa. Embora o Windows não exija que os desenvolvedores de software assinem digitalmente seu código, a maioria dos principais fornecedores independentes de software (ISV) usa a assinatura de código para grande parte do código. E os metadados que um desenvolvedor inclui no cabeçalho de recursos de um arquivo (. RSRC), como OriginalFileName ou ProductName, podem ser combinados com o certificado de assinatura do arquivo para limitar o escopo das decisões de confiança. Por exemplo, em vez de permitir tudo assinado pela Microsoft, você pode optar por permitir apenas arquivos assinados pela Microsoft, onde ProductName é "Microsoft Teams". Em seguida, use outras regras para autorizar quaisquer outros arquivos que precisem ser executados.

Sempre que possível, você deve exigir que todos os binários e scripts de aplicativos sejam assinados por código como parte dos critérios de aceitação do aplicativo. E você deve garantir que os desenvolvedores internos de aplicativos de LOB (linha de negócios) tenham acesso aos certificados de assinatura de código controlados por sua organização.

Assinatura de catálogo

Binários e scripts de aplicativo normalmente são assinados por inserção ou por catálogo. As assinaturas incorporadas tornam-se parte do próprio arquivo e são levadas com o arquivo para onde quer que ele seja copiado ou movido. As assinaturas de catálogo, por outro lado, são separadas dos arquivos individuais. Em vez disso, é criado um "arquivo de catálogo" separado que contém valores de hash para um ou mais arquivos a serem assinados. Esse arquivo de catálogo é assinado digitalmente e aplicado a qualquer computador em que você deseja que a assinatura exista. Qualquer arquivo cujo valor de hash esteja incluído no catálogo assinado herda a assinatura do arquivo de catálogo. Um arquivo pode ter várias assinaturas, incluindo uma combinação de assinaturas incorporadas e de catálogo.

Você pode usar arquivos de catálogo para adicionar facilmente uma assinatura a um aplicativo existente sem precisar acessar os arquivos de origem originais e sem qualquer reempacotamento caro. Você pode até usar arquivos de catálogo para adicionar sua própria assinatura a um aplicativo ISV quando não quiser confiar em tudo o que o ISV assina diretamente. Em seguida, basta implantar o catálogo assinado junto com o aplicativo em todos os pontos de extremidade gerenciados.

Observação

Como os catálogos identificam os arquivos que assinam por hash, qualquer alteração no arquivo pode invalidar sua assinatura. Você precisará implantar assinaturas de catálogo atualizadas sempre que o aplicativo for atualizado. Integrar a assinatura de código aos processos de desenvolvimento ou implantação de aplicativos geralmente é a melhor abordagem. Esteja ciente dos aplicativos com atualização automática, pois seus binários de aplicativos podem mudar sem seu conhecimento.

Para saber como criar e gerenciar arquivos de catálogo para aplicativos existentes, consulte Implantar arquivos de catálogo para dar suporte ao Controle de Aplicativos para Empresas.

Políticas de controle de aplicativos assinadas

Embora uma política de Controle de Aplicativos comece como um documento XML, ela é convertida em um arquivo codificado em binário antes da implantação. Essa versão binária da política pode ser assinada como qualquer outro binário de aplicativo, oferecendo muitos dos mesmos benefícios descritos acima para o código assinado. Além disso, as políticas assinadas são tratadas especialmente pelo controle de aplicativos e ajudam a proteger contra violação ou remoção de uma política, mesmo por um usuário administrador.

Para obter mais informações sobre como usar políticas assinadas, confira Usar políticas assinadas para proteger o Controle de Aplicativos para Empresas contra adulterações

Obter certificados de assinatura de código para seu próprio uso

Algumas maneiras de obter certificados de assinatura de código para seu próprio uso incluem: