Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Nome do pilar: proteger sistemas de engenharia
Nome do padrão: Confiança Zero para acesso ao código-fonte
A Microsoft adotou uma abordagem de Confiança Zero para proteger seu código-fonte, exigindo verificações verificadas por identidade para todas as alterações de código. As principais medidas incluem autenticação multifator para pull requests e proteções rigorosas para branches de produção, reduzindo o risco de fusões não autorizadas.
Contexto e problema
O código-fonte é um dos ativos mais valiosos em qualquer organização. Na Microsoft, dezenas de milhares de repositórios e milhões de linhas de código sustentam os serviços e produtos usados por bilhões em todo o mundo. Isso torna o código-fonte um destino de alto valor para os adversários, que podem explorar o acesso não autorizado para injetar alterações mal-intencionadas, roubar propriedade intelectual ou prejudicar a confiança do cliente.
Historicamente, proteções como permissões de repositório e políticas de branch forneceram uma linha de base de controle. No entanto, à medida que os invasores se torna mais sofisticados, aproveitando credenciais roubadas, automação e vetores da cadeia de suprimentos, os controles de acesso tradicionais não são mais suficientes. Incidentes em todo o setor mostram como uma única conta comprometida ou uma solicitação de pull não verificada pode ter um impacto em cadeia em milhões de usuários.
Para resolver isso, a Microsoft operacionalizou uma abordagem de Confiança Zero para o acesso ao código-fonte para ajudar a garantir que nenhum código chegue à produção sem verificações rigorosas, verificadas por identidade e auditáveis.
Solução
A abordagem da Microsoft aplica princípios de Confiança Zero diretamente aos sistemas de engenharia. Isso significa que o acesso ao código-fonte e a capacidade de mesclar alterações em branches de produção exigem verificação contínua, menor imposição de privilégios e forte prova de presença.
Os principais elementos incluem:
- Prova de Presença para Pull Requests (PoP PR): Introduzido em 2024 e implementado em 61.000 repositórios, o PoP PR garante que cada pull request para um branch protegido seja autenticado por um indivíduo real, por meio de verificação, usando autenticação multifatorial (MFA).
- Métodos de autenticação em camadas: Dependendo da confidencialidade do projeto, os engenheiros usam autenticadores de software (Windows Hello, Face ID), tokens de hardware (FIDO2 YubiKeys) ou identidades de produção vinculadas a SAWs (Estações de Trabalho de Acesso Seguro).
-
Classificação e aplicação de branches: Os branches de produção (
main,master,default) são automaticamente marcados e protegidos, garantindo a aplicação uniforme em toda a empresa. - Governança de exceção: Isenções limitadas, revisadas e auditáveis (por exemplo, para automação) são rastreadas em um sistema de gerenciamento de ativos de software com aprovação executiva.
Ao inserir verificações de Confiança Zero no ciclo de vida de desenvolvimento de software, a Microsoft impede mesclagens de código não autorizadas, reduz o risco de escalonamento de privilégios e fortalece a responsabilidade.
Orientação
As organizações podem adotar um padrão semelhante usando as seguintes práticas acionáveis:
| Caso de uso | Ação recomendada | Recurso |
|---|---|---|
| Acesso condicional | - Crie uma política de Acesso Condicional para exigir que os usuários que acessam o modelo de implantação clássico usem a MFA (autenticação multifator). | Exigir MFA para o gerenciamento do Azure com acesso condicional |
| Força de autenticação | - Use tokens de hardware FIDO2 ou identidades associadas à SAW (Estação de Trabalho de Acesso Seguro) para repositórios de alta confidencialidade. | Planejar uma implantação de autenticação sem senha resistente a phishing na ID do Microsoft Entra |
| Exceções de automação | - Limitar isenções a casos em que a revisão humana é inviável; acompanhe as aprovações em um sistema de governança. | Revisando o log de auditoria da sua organização – GitHub Docs |
| Rigor de revisão de código | – Requerer pelo menos dois revisores e garantir a aplicação de políticas de build com êxito antes de mesclar. | Políticas e configurações de branch do Git – Azure DevOps |
| Pipelines seguros por padrão | - Integre a Segurança Avançada do GitHub para verificação de segredo, gerenciamento de dependências e verificação de código. | Sobre a Segurança Avançada do GitHub |
Benefícios
- Resiliência mais forte da cadeia de suprimentos: Impede alterações não autorizadas ou automatizadas no código de produção.
- Responsabilidade aprimorada: Cada alteração é rastreável para um indivíduo verificado com logs auditáveis.
- Proteção escalonável: Integração a um conjunto padronizado e compartilhado de ferramentas e regras que fornecem proteções para mais de 100.000 engenheiros com interrupção mínima.
Compensações
- Atrito do desenvolvedor: Novo MFA pode acrescentar tempo e ocasionar uma percepção de inconveniente em pontos de mesclagem.
- Investimento em infraestrutura: Requer tokens de hardware, SAWs (Estações de Trabalho de Acesso Seguro) e integração com plataformas de engenharia.
- Gerenciamento de isenção: A governança para cenários automatizados exige supervisão contínua.
- Curva de adoção: As equipes devem ajustar os fluxos de trabalho para se alinharem com políticas de imposição e ramificação mais rigorosas.
Principais fatores de sucesso
Para acompanhar o sucesso, meça o seguinte:
- Percentual de repositórios de produção protegidos por políticas de PoP (Prova de Presença).
- Número diário de solicitações de pull autenticadas concluídas sem contornar a política.
- Redução em tentativas de mesclagem de código não autorizadas ou anômalas.
- Conformidade com os requisitos de auditoria interna para o gerenciamento de exceções.
- Métricas de satisfação e adoção dos engenheiros equilibradas com a implementação de segurança.
Resumo
A Confiança Zero para acesso ao código-fonte ajuda a garantir que a propriedade intelectual mais crítica da Microsoft, seu código-fonte, esteja melhor protegida contra ameaças internas, credenciais comprometidas e ataques automatizados. Ao exigir uma prova de presença, definir a classificação de ramificações e dimensionar proteções de Zero Trust, a Microsoft reforçou toda a sua cadeia de fornecimento de software.
Com as práticas corretas, as organizações podem aplicar a mesma abordagem: impor verificações de identidade fortes em cada mesclagem de código, adotar a MFA e a autenticação com suporte de hardware e manter a governança auditável. Essas medidas criam um sistema de engenharia resiliente que defende a produtividade e a segurança dos desenvolvedores.
Adote a Confiança Zero para acesso ao código-fonte hoje e proteja a integridade do ciclo de vida de desenvolvimento de software.