Segurança da cadeia de suprimentos de software

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Os frameworks e as abordagens modernas de desenvolvimento de software se concentram na velocidade e na confiabilidade da entrega de software, bem como na propriedade compartilhada entre as partes interessadas do software.

Além da prática de DevOps que envolve a mudança à esquerda em relação à segurança, muitas outras práticas de DevOps ajudam a fornecer um software mais seguro. Maior colaboração entre as partes interessadas, visibilidade do trabalho, versões reproduzíveis, testes automatizados, mudanças incrementais são práticas recomendadas para dar suporte à segurança de software. Na verdade, o Relatório Accelerate State of DevOps Report 2022 descobriu que culturas de maior confiança têm maior probabilidade de adotar práticas para fortalecer a cadeia de suprimentos de software, e o uso de CI/CD ajuda a implementar práticas de segurança.

No entanto, frameworks de desenvolvimento moderno não têm orientações que ajudem as organizações a entender ameaças ao software, avaliar a capacidade de detectar e responder a ameaças e implementar mitigações. Eles também costumam se concentrar especificamente no código e nos processos dentro de uma organização e ignoram fatores externos que podem afetar a integridade dos aplicativos. Por exemplo, um ataque que compromete um pacote de software de código aberto afeta qualquer código que dependa direta ou indiretamente desse pacote. Ataques à cadeia de suprimentos de software como esses aumentaram significativamente desde 2020.

Cadeias de suprimentos de software

Uma cadeia de suprimentos de software consiste em todo o código, pessoas, sistemas e processos que contribuem para o desenvolvimento e a entrega do seu software, dentro e fora da sua organização. Ele inclui:

  • O código criado, as dependências dele e os softwares internos e externos usados para desenvolver, criar, empacotar, instalar e executar o software.
  • Processos e políticas de acesso, teste, revisão, monitoramento e feedback, comunicação e aprovação do sistema.
  • Sistemas confiáveis para desenvolver, criar, armazenar e executar o software e as dependências dele.

Devido ao amplo alcance e à complexidade da cadeia de suprimentos de software, há várias maneiras de fazer mudanças não autorizadas no software que você oferece aos usuários. Esses vetores de ataque abrangem todo o ciclo de vida de software. Alguns ataques são direcionados, como o ataque no sistema de compilação SolarWinds (link em inglês), mas outras ameaças são indiretas ou entram na cadeia de suprimentos devido a fraquezas no processo ou negligência.

Por exemplo, em uma postagem do blog (em inglês) sobre a vulnerabilidade da execução remota no Apache log4j de dezembro de 2021, a equipe do Google Open Source Insights observou que houve mais de 17.000 pacotes afetados no Maven Central. A maioria dos pacotes afetados não dependia diretamente do vulnerável pacote log4j-core, mas tinha dependências que precisavam dele.

Lacunas de processo, como falta de revisão de código ou critérios de segurança para implantação na produção podem permitir que o código ruim entre acidentalmente na cadeia de suprimentos. Da mesma forma, um código ruim pode entrar no software se você criar com código-fonte fora do sistema de controle de versões confiável ou empacotar e implantar aplicativos de sistemas fora do sistema de compilação confiável e repositórios de artefatos.

De acordo com o estado da cadeia de suprimentos de software de 2021, o uso de software de código aberto e ataques às cadeias de suprimentos de software cresceram drasticamente entre 2020 e 2021:

  • Houve um aumento de 650% nos ataques da cadeia de suprimentos de software em 2021.
  • A disponibilidade e a demanda por pacotes de código aberto continuam a crescer, com um aumento de 73% nos downloads de componentes de código aberto em 2021.
  • As vulnerabilidades são mais comuns nos projetos de código aberto mais conhecidos.

Para proteger a integridade do software, é importante entender sua postura de segurança: o quão preparado sua organização está a detectar, responder e corrigir ameaças.

Requisitos de compliance e frameworks de avaliação

O aumento da segurança da cadeia de suprimentos levou à criação de novos regulamentos do governo específicos da segurança da cadeia de suprimentos, como:

Novos frameworks estão surgindo para ajudar as organizações a avaliar a postura de segurança e saber mais sobre mitigações de ameaças.

Esses frameworks usam práticas de segurança de software estabelecidas e as estruturam em um formato que ajuda a identificar ameaças de segurança que precisam ser resolvidas e quais ações precisam ser tomadas para reduzi-las.

Proteja sua cadeia de suprimentos de software no Google Cloud

O Software Delivery Shield (Escudo de entrega de software) oferece uma solução de segurança da cadeia de suprimentos de software totalmente gerenciada no Google Cloud. Ele incorpora as práticas recomendadas, incluindo práticas em frameworks como SLSA e SSD do NIST. Você deve adotar gradualmente os componentes da solução, com base nas suas prioridades e necessidades.

A seguir