Segurança da cadeia de suprimentos de software

Google Cloud oferece um conjunto abrangente e modular de recursos e ferramentas em todos os produtos do Google Cloud que seus desenvolvedores, equipes de DevOps e segurança podem usar para melhorar a postura de segurança da sua cadeia de suprimentos de software.

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 software, tanto dentro quanto fora da organização. Ela inclui:

  • O código que você cria, as dependências dele e o software interno e externo que você usa para desenvolver, criar, empacotar, instalar e executar seu software.
  • Processos e políticas para acesso, teste, revisão, monitoramento e feedback, comunicação e aprovação do sistema.
  • Sistemas em que você confia para desenvolver, criar, armazenar e executar seu software e as dependências dele.

Devido ao amplo alcance e à complexidade das cadeias de suprimentos de software, há várias maneiras de introduzir mudanças não autorizadas no software que você entrega aos usuários. Esses vetores de ataque abrangem o ciclo de vida do software. Embora alguns ataques sejam direcionados, como o ataque ao sistema de build da SolarWinds, outras ameaças são indiretas ou entram na cadeia de suprimentos por falhas no processo ou negligência.

Por exemplo, uma avaliação da vulnerabilidade do Apache Log4j em dezembro de 2021 pela equipe do Google Open Source Insights descobriu que havia mais de 17.000 pacotes afetados no Maven Central. A maioria desses 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 suprimentos de software. Falhas no processo, como falta de revisão de código ou critérios de segurança para implantação em produção, podem permitir que um código ruim entre na cadeia de suprimentos sem intenção. Da mesma forma, a falta de gerenciamento de dependências aumenta o risco de vulnerabilidades de fontes externas ou pacotes de software usados para desenvolvimento, builds ou implantação.

Proteja as cadeias de suprimentos de software no Google Cloud

OGoogle Cloud oferece:

  • Produtos e recursos que incorporam práticas recomendadas de segurança para desenvolvimento, criação, teste, implantação e aplicação de políticas.
  • Painéis no console do Google Cloud que fornecem informações de segurança sobre origem, builds, artefatos, implantações e tempos de execução. Essas informações incluem vulnerabilidades em artefatos de build, procedência de build 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 cadeia de suprimentos de software usando o framework de Níveis da cadeia de suprimentos para artefatos de software (SLSA).

O diagrama a seguir mostra os serviços Google Cloud que trabalham juntos para proteger a cadeia de suprimentos de software. É possível integrar alguns ou todos esses componentes à sua cadeia de suprimentos de software para melhorar sua postura de segurança.

Google Cloud componentes da cadeia de suprimentos de software

Proteger o ambiente de desenvolvimento

O Cloud Workstations oferece ambientes de desenvolvimento totalmente gerenciados no Google Cloud. Os administradores de TI e segurança podem provisionar, escalonar, gerenciar e proteger os ambientes de desenvolvimento. Os desenvolvedores podem acessar ambientes de desenvolvimento com configurações consistentes e ferramentas personalizáveis.

O Cloud Workstations aumenta a segurança ao melhorar a postura de segurança dos seus ambientes de desenvolvimento de aplicativos. Os recursos de segurança incluem VPC Service Controls, entrada ou saída particulares, atualização forçada de imagens e políticas de acesso do Identity and Access Management. O Cloud Workstations oferece outros recursos de prevenção contra perda de dados quando combinado com o Chrome Enterprise Premium.

Proteja o fornecimento de software

Proteger o fornecimento de software (criar artefatos e dependências de aplicativos) é uma etapa essencial para melhorar a segurança da cadeia de suprimentos de software. O uso generalizado de software de código aberto torna esse problema particularmente difícil.

  • O Assured Open Source Software oferece pacotes de código aberto verificados e testados pelo Google. Esses pacotes são criados usando os pipelines seguros do Google e são verificados, analisados e testados regularmente para encontrar vulnerabilidades.

  • O Artifact Registry é um gerenciador de pacotes universal para todos os artefatos e dependências de build. Ao centralizar todos os seus artefatos e dependências, você tem mais visibilidade e controle sobre o código na cadeia de suprimentos de software.

    • Os repositórios remotos armazenam artefatos de fontes externas predefinidas, como Docker Hub, Maven Central, o índice de pacotes do Python (PyPI), Debian ou CentOS, além de fontes definidas pelo usuário para formatos compatíveis. O armazenamento em cache de artefatos em repositórios remotos reduz o tempo de download, melhora a disponibilidade de pacotes e inclui a verificação de vulnerabilidades, se ela estiver ativada.
    • Os repositórios virtuais consolidam repositórios do mesmo formato em um único endpoint e permitem controlar a ordem de pesquisa em repositórios upstream. É possível priorizar seus pacotes particulares, o que reduz o risco de ataques de confusão de dependências.
    • Também é possível proteger artefatos configurando recursos de segurança, como controle de acesso, perímetros de serviço do VPC Service Controls, políticas organizacionais e outros recursos de segurança. Para mais detalhes, consulte a documentação do Artifact Registry.
  • A Análise de artefatos detecta proativamente vulnerabilidades em artefatos no Artifact Registry.

Proteger o pipeline de CI/CD

Usuários maliciosos podem atacar as cadeias de suprimentos de software comprometendo os pipelines de CI/CD. Os seguintes produtos ajudam a proteger seu pipeline de CI/CD:

  • O Cloud Build executa seus builds na infraestrutura do Google Cloud. Os recursos de segurança incluem permissões granulares do IAM, VPC Service Controls e ambientes de build isolados e efêmeros. Os recursos específicos para segurança da cadeia de suprimentos de software incluem:

    • Suporte para builds SLSA de nível 3 para imagens de contêiner.
    • Capacidade de gerar procedência de build autenticada e não falsificável para aplicativos conteinerizados.
    • Insights de segurança para aplicativos criados. Incluindo:

      • O nível de build do SLSA, que identifica o nível de maturidade do processo de build de software de acordo com a especificação do SLSA.
      • Vulnerabilidades em artefatos de build.
      • A procedência do build, que é uma coleção de metadados verificáveis sobre um build. Ele inclui detalhes como os resumos das imagens criadas, os locais da origem de entrada, o conjunto de ferramentas, as etapas e a duração do build.

    Para instruções sobre como conferir insights de segurança para aplicativos criados, consulte Criar um aplicativo e conferir insights de segurança.

  • O Cloud Deploy automatiza a entrega de seus aplicativos para uma série de ambientes de destino em uma sequência definida. Ele oferece suporte à entrega contínua diretamente para o Google Kubernetes Engine, o GKE Enterprise e o Cloud Run, com aprovações e rollbacks com um clique, segurança e auditoria corporativa, além de métricas de entrega integradas. Além disso, ela mostra insights de segurança para aplicativos implantados.

Proteger aplicativos em produção

O Google Kubernetes Engine (GKE) e o Cloud Run ajudam a proteger a postura de segurança dos seus ambientes de execução. Ambos vêm com recursos de segurança para proteger seus aplicativos no ambiente de execução.

  • O GKE pode avaliar sua postura de segurança de contêineres e fornecer orientação ativa sobre configurações de cluster, configuração de carga de trabalho e vulnerabilidades. O GKE inclui um painel de postura de segurança que fornece recomendações opinativas e acionáveis para melhorar sua postura de segurança. Para instruções sobre como visualizar insights de segurança no painel de postura de segurança do GKE, consulte Implantar no GKE e visualizar insights de segurança.

  • O Cloud Run inclui um painel de segurança que mostra insights sobre a segurança da cadeia de suprimentos de software, como informações de conformidade do nível de build da SLSA, procedência do build e vulnerabilidades encontradas em serviços em execução. Para instruções sobre como ver insights de segurança no painel de insights de segurança do Cloud Run, consulte Implantar no Cloud Run e ver insights de segurança.

Criar uma cadeia de confiança por meio de políticas

A autorização binária ajuda a estabelecer, manter e verificar uma cadeia de confiança ao longo da cadeia de suprimentos de software coletando atestados, que são documentos digitais que certificam imagens.

Um atestado significa que a imagem associada foi criada ao executar um processo específico. Com base nesses atestados coletados, a Autorização binária ajuda a definir, verificar e aplicar políticas baseadas em confiança. Ela garante que a imagem seja implantada apenas quando os atestados atendem à política da organização. É possível configurar a autorização binária para notificar você se encontrar violações de política.

Por exemplo, os atestados podem indicar que uma imagem é:

É possível usar a autorização binária com o GKE e o Cloud Run.

Preços

Cada serviço do Google Cloud tem um preço diferente. Para mais detalhes, consulte a documentação de preços dos serviços em que você tem interesse.

A seguir