Usar a assinatura de código para controle e proteção adicionados com Windows Defender Controle de Aplicativo

Observação

Alguns recursos do Windows Defender Application Control só estão disponíveis em versões específicas do Windows. Para obter mais informações, consulte Windows Defender disponibilidade de recursos do Controle de Aplicativo.

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

A assinatura de código fornece alguns benefícios importantes para os recursos de segurança do aplicativo, como Windows Defender WDAC (Controle de Aplicativos). Primeiro, ele permite que o sistema verifique criptograficamente se um arquivo não foi adulterado desde que foi assinado e antes de qualquer código 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 maliciosamente. 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 de seu código. E metadados que um desenvolvedor inclui no cabeçalho de recurso de um arquivo (. O RSRC), como OriginalFileName ou ProductName, pode ser combinado 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 em que ProductName é "Microsoft Teams". Em seguida, use outras regras para autorizar outros arquivos que precisam ser executados.

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

Assinatura de catálogo

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

Você pode usar arquivos de catálogo para adicionar facilmente uma assinatura a um aplicativo existente sem precisar de acesso aos arquivos de origem originais e sem qualquer reembalagem cara. Você pode até mesmo 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, eles mesmos. 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 com seus processos de desenvolvimento de aplicativos ou implantação de aplicativos geralmente é a melhor abordagem. Esteja ciente dos aplicativos de auto-atualização, pois os binários de aplicativos deles podem mudar sem o seu conhecimento.

Para saber como criar e gerenciar arquivos de catálogo para aplicativos existentes, confira Implantar arquivos de catálogo para dar suporte a Windows Defender Controle de Aplicativos.

Políticas de WDAC assinadas

Enquanto uma política WDAC começa como um documento XML, ela é convertida em um arquivo codificado binário antes da implantação. Essa versão binária de sua política pode ser assinada por código como qualquer outro binário de aplicativo, oferecendo muitos dos mesmos benefícios descritos acima para código assinado. Além disso, as políticas assinadas são tratadas especialmente pelo WDAC e ajudam a proteger contra adulteraçã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, consulte Usar políticas assinadas para proteger Windows Defender Controle de Aplicativo contra adulteração

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: