Segurança da cadeia de abastecimento de software

Google Cloud oferece um conjunto abrangente e modular de capacidades e ferramentas em todos os produtos que as suas equipas de programadores, DevOps e segurança podem usar para melhorar o comportamento de segurança da sua cadeia de abastecimento de software. Google Cloud

Cadeias de abastecimento de software

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

  • O código que cria, as respetivas dependências e o software interno e externo que usa para desenvolver, criar, embalar, instalar e executar o seu software.
  • Processos e políticas para acesso, testes, revisão, monitorização e feedback, comunicação e aprovação do sistema.
  • Sistemas nos quais confia para desenvolver, criar, armazenar e executar o seu software e as respetivas dependências.

Dada a ampla abrangência e complexidade das cadeias de fornecimento de software, existem inúmeras formas de introduzir alterações não autorizadas no software que fornece aos seus utilizadores. Estes vetores de ataque abrangem o ciclo de vida do software. Embora alguns ataques sejam direcionados, como o ataque ao sistema de compilação da SolarWinds, outras ameaças são indiretas ou entram na cadeia de fornecimento através de fragilidades no processo ou negligência.

Por exemplo, uma avaliação da vulnerabilidade do Apache Log4j em dezembro de 2021 pela equipa do Google Open Source Insights revelou que existiam mais de 17 000 pacotes afetados no Maven Central. A maioria destes pacotes não dependia diretamente do pacote log4j-core vulnerável, mas tinha dependências que exigiam o pacote.

As práticas e os processos de desenvolvimento também afetam as cadeias de abastecimento de software. As lacunas nos processos, como a falta de revisão de código ou de critérios de segurança para a implementação na produção, podem permitir que código incorreto entre involuntariamente na cadeia de abastecimento. Da mesma forma, a falta de gestão de dependências aumenta o risco de vulnerabilidades de origem externa ou pacotes de software que usa para desenvolvimento, compilações ou implementação.

Proteja as cadeias de abastecimento de software no Google Cloud

OGoogle Cloud oferece:

  • Produtos e funcionalidades que incorporam práticas recomendadas de segurança para desenvolvimento, criação, testes, implementação e aplicação de políticas.
  • Painéis de controlo na Google Cloud consola que fornecem informações de segurança sobre a origem, as compilações, os artefactos, as implementações e os tempos de execução. Estas informações incluem vulnerabilidades em artefactos de compilação, proveniência de compilação e listas de dependências da lista de materiais de software (SBOM).
  • Informações que identificam o nível de maturidade da segurança da sua cadeia de abastecimento de software através da estrutura de níveis da cadeia de abastecimento para artefactos de software (SLSA).

O diagrama seguinte mostra os Google Cloud serviços que funcionam em conjunto para proteger a cadeia de abastecimento de software. Pode integrar alguns ou todos estes componentes na sua cadeia de abastecimento de software para melhorar a sua postura de segurança.

Google Cloud componentes da cadeia de abastecimento de software

Proteja o ambiente de programação

As estações de trabalho na nuvem oferecem ambientes de programação totalmente geridos no Google Cloud. Os administradores de TI e segurança podem aprovisionar, dimensionar, gerir e proteger os respetivos ambientes de desenvolvimento. Os programadores podem aceder a ambientes de desenvolvimento com configurações consistentes e ferramentas personalizáveis.

As Cloud Workstations deslocam a segurança para a esquerda, melhorando a postura de segurança dos seus ambientes de desenvolvimento de aplicações. As funcionalidades de segurança incluem VPC Service Controls, entrada ou saída privadas, atualização forçada de imagens e políticas de acesso de gestão de identidade e de acesso. As Cloud Workstations oferecem capacidades de prevenção contra a perda de dados adicionais quando combinadas com o Chrome Enterprise Premium.

Proteja a cadeia de abastecimento de software

Proteger o abastecimento de software, criar artefactos e dependências de aplicações, é um passo crítico para melhorar a segurança da cadeia de abastecimento de software. A utilização generalizada de software de código aberto torna este problema particularmente desafiador.

  • O Assured Open Source Software oferece pacotes de código aberto que a Google validou e testou. Estes pacotes são criados com pipelines seguros da Google e são regularmente analisados, e testados quanto a vulnerabilidades.

  • O Artifact Registry é um gestor de pacotes universal para todos os seus artefactos de compilação e dependências. Ao centralizar todos os seus artefactos e dependências, tem mais visibilidade e controlo sobre o código na sua cadeia de fornecimento de software.

    • Os repositórios remotos armazenam artefactos de origens externas predefinidas, como o Docker Hub, o Maven Central, o Python Package Index (PyPI), o Debian ou o CentOS, bem como origens definidas pelo utilizador para formatos suportados. O armazenamento em cache de artefactos em repositórios remotos reduz o tempo de transferência, melhora a disponibilidade de pacotes e inclui a análise de vulnerabilidades se a análise estiver ativada.
    • Os repositórios virtuais consolidam repositórios do mesmo formato atrás de um único ponto final e permitem-lhe controlar a ordem de pesquisa nos repositórios a montante. Pode dar prioridade aos seus pacotes privados, o que reduz o risco de ataques de confusão de dependências
    • Também pode proteger artefactos configurando funcionalidades de segurança, como controlo de acesso, perímetros de serviço do VPC Service Controls, políticas organizacionais e outras funcionalidades de segurança. Para ver detalhes, consulte a documentação do Artifact Registry.
  • A Artifact Analysis deteta proativamente vulnerabilidades para artefactos no Artifact Registry.

Proteja a pipeline de CI/CD

Os intervenientes prejudiciais podem atacar as cadeias de abastecimento de software comprometendo os pipelines de CI/CD. Os seguintes produtos ajudam a proteger a sua pipeline de CI/CD:

  • O Cloud Build executa as suas compilações na infraestrutura da Google Cloud Platform. Google CloudAs funcionalidades de segurança incluem autorizações de IAM detalhadas, VPC Service Controls e ambientes de compilação isolados e efémeros. As funcionalidades específicas da segurança da cadeia de abastecimento de software incluem:

    • Suporte para compilações SLSA de nível 3 para imagens de contentores.
    • Capacidade de gerar proveniência da compilação autenticada e não falsificável para aplicações contentorizadas.
    • Estatísticas de segurança para aplicações criadas. Isto inclui:

      • O nível de compilação da SLSA, que identifica o nível de maturidade do seu processo de compilação de software de acordo com a especificação da SLSA.
      • Vulnerabilidades nos artefactos de compilação.
      • Crie a proveniência, que é uma coleção de metadados validáveis sobre uma compilação. Inclui detalhes como os resumos das imagens criadas, as localizações das fontes de entrada, a cadeia de ferramentas de compilação, os passos de compilação e a duração da compilação.

    Para ver instruções sobre como ver estatísticas de segurança para aplicações criadas, consulte o artigo Crie uma aplicação e veja estatísticas de segurança.

  • O Cloud Deploy automatiza o fornecimento das suas aplicações a uma série de ambientes de destino numa sequência definida. Suporta a entrega contínua diretamente no Google Kubernetes Engine, no GKE Enterprise e no Cloud Run, com aprovações e reversões com um clique, segurança e auditoria empresariais, bem como métricas de entrega incorporadas. Além disso, apresenta informações de segurança para aplicações implementadas.

Proteja as aplicações em produção

O Google Kubernetes Engine (GKE) e o Cloud Run ajudam a proteger a postura de segurança dos seus ambientes de tempo de execução. Ambos incluem funcionalidades de segurança para proteger as suas aplicações em tempo de execução.

  • O GKE pode avaliar a sua postura de segurança de contentores e dar orientações ativas sobre as definições do cluster, a configuração da carga de trabalho e as vulnerabilidades. O GKE inclui um painel de controlo da postura de segurança que fornece recomendações práticas e fundamentadas para melhorar a sua postura de segurança. Para ver instruções sobre como ver estatísticas de segurança no painel de controlo de segurança do GKE, consulte o artigo Implemente no GKE e veja estatísticas de segurança.

  • O Cloud Run inclui um painel de segurança que apresenta estatísticas de segurança da cadeia de fornecimento de software, como informações de conformidade do nível de compilação da SLSA, proveniência da compilação e vulnerabilidades encontradas nos serviços em execução. Para ver instruções sobre como ver informações de segurança no painel de informações de segurança do Cloud Run, consulte o artigo Implemente no Cloud Run e veja informações de segurança.

Crie uma cadeia de confiança através de políticas

A autorização binária ajuda a estabelecer, manter e validar uma cadeia de confiança ao longo da sua cadeia de abastecimento de software através da recolha de atestações, que são documentos digitais que certificam imagens.

Uma atestação significa que a imagem associada foi criada através da execução com êxito de um processo específico obrigatório. Com base nestas atestações recolhidas, a autorização binária ajuda a definir, validar e aplicar políticas baseadas na confiança. Garante que a imagem só é implementada quando as atestações cumprem a política da sua organização. Pode configurar a autorização binária para receber uma notificação se encontrar violações de políticas.

Por exemplo, as atestações podem indicar que uma imagem:

Pode usar a autorização binária com o GKE e o Cloud Run.

Preços

Cada Google Cloud serviço tem o seu próprio preço. Para ver detalhes, consulte a documentação de preços dos serviços nos quais tem interesse.

O que se segue?