Sigstore: Raízes de confiança para artefatos de software
LarLar > blog > Sigstore: Raízes de confiança para artefatos de software

Sigstore: Raízes de confiança para artefatos de software

Oct 12, 2023

Por Dan Lorenc, InfoWorld |

Tecnologia emergente dissecada por tecnólogos

Para os cerca de cinco mil milhões de pessoas que utilizam a Internet, apenas uma pequena fracção tem conhecimento de como funcionam o Transport Layer Security (TLS), os certificados digitais ou as chaves públicas. Diga o que quiser sobre os riscos de segurança que os usuários ainda enfrentam na Internet hoje, mas é bastante notável como esses protocolos básicos de confiança entre sites e visitantes do site lidaram bem com a enorme escala da Internet nos últimos 20 anos.

Por outro lado, o conceito de segurança da cadeia de fornecimento de software ainda é relativamente novo. As manchetes sobre SolarWinds e Log4j criaram alguma consciência básica sobre os backdoors criados quando os desenvolvedores usam artefatos de software de origem desconhecida. Mas como podemos pegar esses mesmos princípios básicos de como a confiança funciona na Internet e aplicá-los para estabelecer confiança entre artefatos de software e os milhões de desenvolvedores que os utilizam? A maioria dos desenvolvedores de software ainda está nas primeiras fases de tentativa de entender isso.

Recentemente, ouvi Vint Cerf discutir paralelos entre a infraestrutura de chave pública (PKI) da web e o ecossistema emergente de assinatura de artefatos e assinatura de código aberto. O que me impressionou é que, embora grande parte da confiança na Internet fosse impulsionada por grupos influentes como o Certification Authority Browser Forum, que galvanizou o uso desses protocolos incorporando-os em navegadores e sistemas operacionais. Com a segurança da cadeia de fornecimento de software, não há grupo equivalente que esteja conduzindo isso. Todos nós estamos fazendo com que isso funcione de uma forma comunitária aberta e com base em projetos de código aberto.

Se você deseja se orientar na evolução desse domínio de segurança emergente, não há projeto de código aberto com mais impulso ou coalescência do setor do que o Sigstore — o projeto de assinatura de artefatos canônicos da cadeia de fornecimento de software. Vamos dar uma olhada em alguns dos princípios e primitivos do Sigstore, para que você entenda o que está por trás do capô na próxima vez que vir que seu gerenciador de pacotes ou sistema de compilação está usando o selo de aprovação do Sigstore.

A infraestrutura PKI da web foi projetada de forma que qualquer autoridade de certificação (CA) da web seja confiável para emitir certificados para qualquer domínio na Internet. Policiar esses certificados contra abusos – digamos, uma CA que emite um certificado para um domínio que eles não controlam, como o site do seu banco – é algo chamado de estrutura de Transparência de Certificados. É uma estrutura de blockchain aberta que fornece um livro-razão público “somente anexado”.

Os logs de transparência são essenciais porque fornecem aos desenvolvedores e às equipes de segurança a capacidade de monitorar se todos os certificados emitidos para o nome de domínio de uma empresa foram emitidos corretamente. Isso ajuda a detectar se alguém está se passando por sua empresa e falsificando seu tráfego. O objetivo dos registros de transparência é registrar esses erros para que você possa encontrá-los mais tarde, recuperá-los e mitigar os problemas.

Sigstore é uma estrutura de código aberto que tomou a estrutura de Transparência de Certificados (bem como a popular estrutura TLS, Let's Encrypt) como inspiração para resolver com eficácia os desafios muito semelhantes que existem para a integridade de artefatos de software na segurança da cadeia de suprimentos. Quando baixamos um artefato de software, como sabemos por quem ele foi criado e se é o mesmo artefato (e não um impostor malicioso) que estamos baixando? A Sigstore resolve isso permitindo que os desenvolvedores assinem com segurança artefatos de software, como arquivos de lançamento, imagens de contêiner, binários, SBOMs (listas de materiais de software) e muito mais. Os materiais assinados são então armazenados em um registro de transparência pública inviolável.

Existem três primitivos principais que orientam o Sigstore. Você precisa dos três juntos para construir todo o quebra-cabeça da Sigstore, mas eles servem a propósitos diferentes e independentes: