Projeto do Google quer melhorar segurança da cadeia de suprimentos de software 

Circuito e Bloqueio
Sheila Zabeu -

Novembro 03, 2022

A segurança da cadeia de suprimentos de software tem assombrado o mundo nos últimos meses. Ataques desse gênero acontecem quando um agente mal-intencionado se infiltra na rede de um determinado fornecedor de software e compromete, por exemplo, soluções de aberto código ou mesmo ferramentas de atualização, que eventualmente podem ser usadas por grandes empresas com infraestruturas críticas. Quando esses usuários inadvertidamente instalam ou atualizam esses sistemas, acabam sendo vítimas e até propagadores da tal ameaça.

De acordo com os dados do 8º Relatório Anual do Estado da Cadeia de Suprimentos de Software da Sonatype, foi registrado um aumento médio de 700% nos ataques a repositórios de software de código aberto nos últimos três anos. Segundo a pesquisa, esses repositórios contribuem com componentes de software infectados por malware que são distribuídos e adotados por aplicações nas quais empresas e consumidores confiam.

“Quase todas as empresas modernas dependem de código aberto. Claramente, o uso de repositórios de código aberto como ponto de entrada para ciberataques não está mostrando sinais de desaceleração, o que torna a detecção precoce de vulnerabilidades conhecidas e desconhecidas mais importante do que nunca. Barrar componentes mal-intecionados é fundamental para prevenção de riscos e deve fazer parte de todas as conversas sobre a proteção de cadeias de suprimentos de software”, afirma Brian Fox, cofundador e diretor técnico da Sonatype.

Dentro desse contexto, o Google anunciou um novo projeto de código aberto de nome Graph for Understanding Artifact Composition ou GUAC. Ainda em estágios iniciais, o trabalho pretende ajudar a mudar a forma como o setor entende as cadeias de suprimentos de software, gerando metadados de construção, segurança e dependência dos vários tipos de software e democratizando a disponibilidade dessas informações, tornando-as acessíveis ampla e gratuitamente.

Segundo o Google, dados como os provenientes de soluções SBOM (Software Bills of Materials), de atestados assinados sobre como o software foi desenvolvido (SLSA, Google Cloud Build, por exemplo) e de bancos de dados de vulnerabilidades estão atualmente disponíveis e são úteis, mas são difíceis de combinar em uma visão abrangente.

Para abordar esse problema, o Google criou uma ferramenta gratuita para reunir diferentes fontes de metadados de segurança de software. A intenção é compor um banco de dados gráfico de alta fidelidade, normalizando identidades de organizações da área e mapeando relacionamentos entre elas. Ao consultar esse gráfico, pode-se gerar resultados organizacionais de alto nível para serem usados em auditorias, políticas, gestão de riscos e até como apoio para desenvolvedores.

Conceitualmente, a ferramenta GUAC ocupa a camada de “agregação e síntese” do modelo lógico de transparência da cadeia de suprimentos de software. As quatro principais funcionalidades da ferramenta GUAC são:

  • Coleta: O GUAC pode ser configurado para se conectar a várias fontes de metadados de segurança de software. Podem  ser fontes abertas e públicas, fontes primárias (por exemplo, repositórios internos) ou proprietárias de terceiros.

  • Ingestão: Dessas fontes, o GUAC importa dados sobre artefatos, projetos, recursos, vulnerabilidades, repositórios e até desenvolvedores.

  • Agrupamento: Depois de ingerir metadados brutos de diferentes fontes, o GUAC os coloca em um gráfico coerente, normalizando identificadores de entidade, percorrendo a árvore de dependências e definindo relacionamentos implícitos, por exemplo, entre projeto e desenvolvedor, entre vulnerabilidade e versão do software, ente artefato e repositório de origem e assim por diante.

  • Consulta: Nesse gráfico, pode-se consultar metadados associados a entidades. A consulta de um determinado artefato pode retornar seu SBOM, proveniência, cadeia de desenvolvimento, scorecard do projeto, vulnerabilidades e eventos recentes do ciclo de vida.

Em resumo, o GUAC vai agregar e sintetizar metadados de segurança de software em escala e torná-los relevantes e acessíveis. Com essas informações em mãos, será possível responder três categorias de perguntas comuns sobre segurança da cadeia de suprimentos de software:

  • Do ponto de vista da proatividade: Quais são os componentes críticos mais usados no ecossistema da cadeia de suprimentos de software? Onde estão os pontos fracos na postura geral de segurança? Como evitar comprometimentos da cadeia de suprimentos antes que ocorram? Em que ponto estão as dependências de risco?

  • Do ponto de vista operacional: Há evidências de que a aplicação a ser instalada atende à política da organização? Todos os arquivos binários em produção podem ser rastreados até um repositório gerenciado com segurança?

  • Do ponto de vista reativo: Quais partes do inventário da organização são afetadas por um determinada vulnerabilidade? No caso de um evento suspeito no ciclo de vida de projeto, onde se introduziram riscos na organização? No caso de um projeto de código aberto estar sendo preterido, como a organização é afetada?