De 2019 a 2022, o aumento médio anual de ataques à cadeia de fornecimento de software ultrapassou os 700%, uma tendência crescente cujo impacto económico deverá ultrapassar os 80 mil milhões de dólares em 2026. Reconhecendo a gravidade deste problema, o Agência de Segurança Nacional (NSA) e Agência de Segurança Cibernética e de Infraestruturas (CISA) liberado diretrizes cruciais assegurar CI/CD ambientes, abordando a crescente ameaça dos chamados atores cibernéticos maliciosos (MCAs) que exploram vulnerabilidades.
Estas diretrizes concentram-se especificamente na prevenção da exposição de segredos dentro CI/CD pipelines e oferecer insights específicos.
Quais são os mais críticos CI/CD ameaças à segurança?
Conforme as diretrizes da NSA afirmam, garantir uma CI/CD ambiente requer reconhecimento e defesa contra vários tipos de ameaças à segurança que podem impactar CI/CD operações. Aqui estão alguns riscos comuns encontrados em CI/CD pipelines, junto com o Top 10 OWASP CI/CD Riscos de segurança:
- Mecanismos de controle de fluxo insuficientes:Este risco refere-se à falta de controles adequados para gerenciar o fluxo de dados e tarefas no CI/CD pipeline. Sem esses controles, alterações não autorizadas poderiam ser introduzidas no pipeline, levando a possíveis vulnerabilidades de segurança.
- Gerenciamento inadequado de identidade e acesso:Este risco envolve não gerir adequadamente quem tem acesso ao CI/CD pipeline e o que eles podem fazer. Sem o gerenciamento adequado de identidade e acesso, indivíduos não autorizados poderiam obter acesso ao pipeline e introduzir alterações maliciosas.
- Abuso da Cadeia de Dependência: esse risco refere-se à possibilidade de invasores explorarem vulnerabilidades nas dependências usadas pelo seu software. Se essas dependências não forem gerenciadas e protegidas adequadamente, elas poderão fornecer um caminho para ataques.
- Envenenado Pipeline Execução:Este risco envolve invasores potencialmente introduzindo código malicioso no CI/CD pipeline. Isto pode levar à execução de código malicioso no ambiente de produção.
- PBAC insuficiente (Pipeline-Controles de acesso baseados): Este risco refere-se à falta de controles de acesso adequados com base no pipeline. Sem esses controles, indivíduos não autorizados poderiam acessar partes sensíveis do pipeline.
- Higiene de credenciais insuficiente:Este risco envolve não gerenciar e proteger adequadamente as credenciais usadas no CI/CD pipeline. Se essas credenciais forem comprometidas, isso poderá fornecer a um invasor acesso ao pipeline.
- Configuração de sistema insegura: Este risco refere-se a potenciais vulnerabilidades de segurança devido a
sistemas configurados incorretamente no CI/CD pipeline. Os invasores podem explorar essas vulnerabilidades. - Uso desgovernado de serviços de terceiros: esse risco envolve o uso de serviços de terceiros sem supervisão e controle adequados. Estes serviços podem introduzir vulnerabilidades de segurança se forem geridos e protegidos de forma inadequada.
- Validação inadequada de integridade de artefato:Este risco refere-se à falta de validação adequada dos artefatos produzidos pelo CI/CD pipeline. Sem a validação adequada, artefatos maliciosos ou comprometidos poderão ser introduzidos no ambiente de produção.
- Registro e visibilidade insuficientes: Este risco envolve registro e visibilidade insuficientes do
atividades no CI/CD pipeline. Pode ser difícil detectar e responder a incidentes de segurança sem registro e visibilidade adequados
Piores cenários de ameaças e como remediá-los
Os invasores adquirem uma credencial de desenvolvedor para acessar um repositório Git:
- Minimize o uso de credenciais de longo prazo.
- Use regras de duas pessoas (2PR) para todas as atualizações de código.
- Proteja contas de usuário e implemente políticas de privilégio mínimo.
- Implementar segmentação de rede e filtragem de tráfego
- SSCS ferramentas como Xygeni automaticamente detectar configurações incorretas nessas áreas e impor a aplicação de políticas corporativas seguras.
Comprometimento da cadeia de suprimentos de uma biblioteca de aplicativos, ferramenta ou imagem de contêiner em um CI/CD pipeline:
- Restrinja bibliotecas e ferramentas não confiáveis e analise commitferramentas usadas.
- Implementar ferramentas e auditoria de EDR.
- Guarda CI/CD ferramentas, software e sistemas operacionais atualizados.
- Xygeni plataforma automaticamente atualiza seus recursos de digitalização em cada digitalização para detectar os componentes maliciosos mais recentes que podem afetar o lançamento do seu software.
Compromisso de um CI/CD ambiente que modifica configurações ou injeta dependências maliciosas:
- Análise commitcódigo ted e integrar varredura de segurança em CI/CD.
- Executar SBOM e SCA & implementar ferramentas EDR.
- Adicionar assinaturas a CI/CD config e verifique-o.
- Xygeni capacidades em analisando o conjunto completo de ativos envolvidos no desenvolvimento de software, construção e entrega permitir a detecção de qualquer ameaça durante o CI/CD processar e gerar o SBOM como evidência para sua auditoria e clientes.
A imagem a seguir mostra diferentes vetores de ataque usando o exemplo de um CI/CD pipeline. Esses vetores de ataque são muito semelhantes aos usados em outros CI/CD ataques.

Habilitando uma abordagem genuína de confiança zero:
Estratégias de endurecimento ativo da NSA
Esta diretriz lista diversas estratégias que poderiam ser usadas para melhorar a proteção da Cadeia de Fornecimento de Software. Aqui você encontra um resumo dos mais importantes:
Adote a criptografia recomendada pela NSA
O uso de algoritmos criptográficos desatualizados e fracos representa riscos significativos para CI/CD pipelineS. Isso pode levar à exposição de dados confidenciais, vazamento de dados, autenticação comprometida e sessões inseguras.
Explorando essas vulnerabilidades, os agentes mal-intencionados podem ignorar CI/CD pipeline e comprometer a cadeia de fornecimento de software. Para mitigar esses riscos, a NSA e CISRecomenda-se implementar e configurar algoritmos criptográficos robustos, como os especificados pelo Instituto Nacional de Standards e Tecnologia (NIST), ao configurar aplicativos e serviços em nuvem.
Minimize o uso de credenciais a longo prazo
Quando se trata de autenticação humana, sempre priorize a federação de identidade e os tokens de segurança que sejam resistentes a ataques de phishing. Estas medidas devem ser empregadas para obter SSH temporário e outras chaves.
Da mesma forma, para autenticação de software para software, é aconselhável minimizar o uso de credenciais de longo prazo baseadas em software sempre que possível.
Detectores de ferramentas como o Xygeni suportam a detecção de qualquer tipo de credencial e segredos em dezenas de formatos ao longo de toda a cadeia de fornecimento de software: código, pipelines, IaC configurações, etc.
Adicionar assinaturas a CI/CD configuração e sempre verifique-os
Durante todo o CI/CD processo, independentemente do estágio de desenvolvimento, é crucial garantir que o código seja assinado de forma consistente e correta, com a assinatura sendo verificada.
Se a assinatura não for validada, investigue minuciosamente a causa do problema de validação.
Mitigar riscos de senha por meio da autenticação multifator (MFA)
Também poderia ser complementado com controle de acesso baseado em funções (RBAC). Hoje em dia, o MFA é comumente usado em todos os tipos de serviços. Ajuda a reforçar a segurança, ao mesmo tempo que é aplicado a usuários internos e externos.
Seguindo o princípio do menor privilégio, o RBAC garante que os usuários recebam apenas as permissões necessárias para realizar suas tarefas específicas.
As políticas corporativas devem considerar essas configurações obrigatórias de hoje. Capacidades automatizadas de conformidade e auditoria de SSCS as ferramentas aplicam todas elas em toda a infraestrutura DevOps.
Implementar políticas de privilégios mínimos para CI/CD Acesso a
É crucial dar acesso aos desenvolvedores apenas aos pipelinese componentes que são diretamente relevantes para as tarefas atribuídas.
A implementação da separação de tarefas é crucial, onde os desenvolvedores responsáveis pelo check-in do código-fonte não exigem privilégio para atualizar o ambiente de construção. Da mesma forma, os engenheiros que supervisionam as compilações não precisam de acesso de leitura e gravação ao código-fonte. Para obter um guia mais detalhado sobre a implementação de controles de segurança, consulte NISTSP 800-53.
Use a regra de duas pessoas (2PR) para atualizações de código
Aderir à prática de regras de duas pessoas não apenas promove a qualidade do código, mas também reduz a probabilidade de introdução bem-sucedida de código malicioso se as credenciais de um desenvolvedor forem comprometidas.
SSCS ferramentas como o Xygeni, geralmente incluem uma verificação específica que determina se o projeto requer revisão de código antes pull requests (solicitações de mesclagem) são mescladas.
Esta verificação segue a segurança atual do Open SSF standard.
Proteja contas e segredos de usuários
Auditar contas de usuários e configurar controles de acesso com base nos princípios de privilégio mínimo e separação de funções é fundamental.
Além disso, o manuseio seguro de segredos, tokens e credenciais dentro do CI/CD pipeline é primordial.
Nunca transmita segredos em texto simples em qualquer lugar do pipeline, garantindo que eles nunca sejam incorporados em software que possa sofrer engenharia reversa.
Manter um registro abrangente de todos os componentes de terceiros e de código aberto na base de código implementando uma lista de materiais de software (SBOM):
O processo de SBOM auxilia as organizações a entender potenciais vulnerabilidades de código e a evitar o uso de componentes desatualizados e não autorizados. A conformidade com regulamentações, como os requisitos da FDA para dispositivos médicos, pode exigir o uso SBOMs.
Outras medidas essenciais durante o processo de desenvolvimento
Para identificar vulnerabilidades, é crucial integrar a varredura de segurança no CI/CD pipeline facilmente. A integração deve ser considerada fácil em qualquer etapa: na estação de trabalho (antes do upload), em um commit, ou na construção noturna usando guarda-corpos.
Manter software, sistemas operacionais e CI/CD Ferramentas: Atualizar regularmente CI/CD ferramentas, pois podem conter bugs e vulnerabilidades. Utilize sistemas centralizados de gerenciamento de patches, incluindo processos de integridade e validação de software para sistemas operacionais e atualizações de software.
Restringir bibliotecas não confiáveis e remover recursos temporários: Use apenas software, ferramentas, bibliotecas e artefatos de fontes confiáveis e seguras para minimizar ameaças à CI/CD pipeline. Certifique-se sempre de que sua configuração seja apropriada para evitar possível execução de código ou introdução de backdoors. Também é importante rremova aplicativos desnecessários e proteja endpoints.
Saiba mais sobre a Plataforma Xygeni, baixe o datasheet da plataforma Xygeni





