Utilizar a assinatura de código para controlo e proteção adicionais com o Controlo de Aplicações para Empresas
Observação
Algumas capacidades do Controlo de Aplicações para Empresas só estão disponíveis em versões específicas do Windows. Saiba mais sobre a disponibilidade das funcionalidades do Controlo de Aplicações.
O que é a assinatura de código e por que motivo é importante?
A assinatura de código proporciona algumas vantagens importantes para as funcionalidades de segurança de aplicações, como o Controlo de Aplicações para Empresas. Em primeiro lugar, permite que o sistema verifique criptograficamente se um ficheiro não foi adulterado desde que foi assinado e antes de qualquer código ser autorizado a ser executado. Em segundo lugar, associa o ficheiro a uma identidade do mundo real, como uma empresa ou um programador individual. Esta identidade pode facilitar as decisões de confiança da sua política e permite consequências reais quando a assinatura de código é abusada ou utilizada maliciosamente. Embora o Windows não exija que os programadores de software assinem digitalmente o seu código, a maioria dos principais fornecedores independentes de software (ISV) utilizam a assinatura de código para grande parte do seu código. E metadados que um programador inclui no cabeçalho de recurso de um ficheiro (. O RSRC, como OriginalFileName ou ProductName, pode ser combinado com o certificado de assinatura do ficheiro para limitar o âmbito das decisões de confiança. Por exemplo, em vez de permitir tudo o que foi assinado pela Microsoft, pode optar por permitir apenas ficheiros assinados pela Microsoft em que ProductName é "Microsoft Teams". Em seguida, utilize outras regras para autorizar quaisquer outros ficheiros que precisem de ser executados.
Sempre que possível, deve exigir que todos os binários e scripts da aplicação sejam assinados como parte dos critérios de aceitação da aplicação. Além disso, deve garantir que os programadores internos da aplicação de linha de negócio (LOB) têm acesso a certificados de assinatura de código controlados pela sua organização.
Assinatura de catálogo
Normalmente, os binários e os scripts de aplicações são assinados por incorporação ou assinados pelo catálogo. As assinaturas incorporadas tornam-se parte do próprio ficheiro e são transportadas com o ficheiro onde quer que seja copiado ou movido. As assinaturas de catálogo, por outro lado, são desanexadas dos ficheiros individuais. Em vez disso, é criado um "ficheiro de catálogo" separado que contém valores hash para que um ou mais ficheiros sejam assinados. Em seguida, este ficheiro de catálogo é assinado digitalmente e aplicado a qualquer computador onde pretenda que a assinatura exista. Qualquer ficheiro cujo valor hash esteja incluído no catálogo assinado herda a assinatura do ficheiro de catálogo. Um ficheiro pode ter múltiplas assinaturas, incluindo uma combinação de assinaturas incorporadas e de catálogo.
Pode utilizar ficheiros de catálogo para adicionar facilmente uma assinatura a uma aplicação existente sem precisar de acesso aos ficheiros de origem originais e sem qualquer reembalagem dispendiosa. Pode até utilizar ficheiros de catálogo para adicionar a sua própria assinatura a uma aplicação ISV quando não quiser confiar em tudo o que o ISV assina diretamente. Em seguida, basta implementar o catálogo assinado juntamente com a aplicação em todos os pontos finais geridos.
Observação
Uma vez que os catálogos identificam os ficheiros que assinam por hash, qualquer alteração ao ficheiro pode invalidar a respetiva assinatura. Terá de implementar assinaturas de catálogo atualizadas sempre que a aplicação for atualizada. Integrar a assinatura de código com os processos de desenvolvimento de aplicações ou implementação de aplicações é geralmente a melhor abordagem. Tenha em atenção as aplicações de atualização automática, uma vez que os binários da aplicação podem mudar sem o seu conhecimento.
Para saber como criar e gerir ficheiros de catálogo para aplicações existentes, veja Implementar ficheiros de catálogo para suportar o Controlo de Aplicações para Empresas.
Políticas de Controlo de Aplicações Assinadas
Enquanto uma política de Controlo de Aplicações começa como um documento XML, é convertida num ficheiro codificado em binários antes da implementação. Esta versão binária da sua política pode ser assinada como qualquer outro binário da aplicação, 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 Controlo de Aplicações e ajudam a proteger contra adulteração ou remoção de uma política, mesmo por um utilizador administrador.
Para obter mais informações sobre como utilizar políticas assinadas, veja Utilizar políticas assinadas para proteger o Controlo de Aplicações para Empresas contra adulteração
Obter certificados de assinatura de código para utilização própria
Algumas formas de obter certificados de assinatura de código para utilização própria incluem:
- Utilize o serviço Assinatura Confiável da Microsoft.
- Compre um certificado de assinatura de código de um dos participantes do Programa de Raiz Fidedigna da Microsoft.
- Para utilizar o seu próprio certificado digital ou a infraestrutura de chaves públicas (PKI) para emitir certificados de assinatura de código, veja Opcional: Criar um certificado de assinatura de código para o Controlo de Aplicações para Empresas.