Red Hat e Google apresentaram o Sigstore, um serviço para verificação criptográfica de código

As empresas Red Hat e Google, em parceria com a Universidade de Purdue, fundaram o projeto Sigstore, que visa criar ferramentas e serviços para a verificação de software por meio de assinaturas digitais e a manutenção de um log público para a confirmação de autenticidade (transparency log). O projeto será desenvolvido sob a égide da organização sem fins lucrativos Linux Foundation.

O projeto proposto permitirá aumentar a segurança dos canais de distribuição de software e proteger contra ataques destinados à substituição de componentes e dependências de software (supply chain). Uma das principais questões de segurança em software livre é a dificuldade de verificar a fonte de aquisição do software e a verificação do processo de construção. Por exemplo, para verificar a integridade de uma versão, a maioria dos projetos utiliza hashes, mas frequentemente as informações necessárias para a verificação de autenticidade são armazenadas em sistemas não seguros e em repositórios de código compartilhados, cuja comprometimento pode permitir que atacantes substituam os arquivos necessários para verificação e, sem levantar suspeitas, implantem alterações maliciosas.

Apenas uma pequena parte dos projetos utiliza assinaturas digitais na distribuição de versões devido às dificuldades na gestão de chaves, distribuição de chaves públicas e revogação de chaves comprometidas. Para que a verificação faça sentido, também é necessário organizar um processo confiável e seguro para a distribuição de chaves públicas e somas de verificação. Mesmo na presença de uma assinatura digital, muitos usuários ignoram a verificação, pois é necessário investir tempo para entender o processo de verificação e determinar qual chave é confiável.

Sigstore é apresentado como uma alternativa ao Let’s Encrypt para código, fornecendo certificados para a garantia de código por meio de assinaturas digitais e ferramentas para automação da verificação. Com Sigstore, os desenvolvedores poderão criar assinaturas digitais para artefatos relacionados a aplicativos, como arquivos de versões, imagens de contêineres, manifestos e executáveis. Uma característica do Sigstore é que o material utilizado para a assinatura é refletido em um log público protegido contra alterações, que pode ser usado para verificação e auditoria.

Em vez de chaves permanentes, o Sigstore utiliza chaves efêmeras de curta duração, geradas com base em credenciais confirmadas por provedores OpenID Connect (no momento da geração das chaves para a assinatura digital, o desenvolvedor se identifica através do provedor OpenID vinculado ao e-mail). A autenticidade das chaves é verificada por um log público centralizado, que permite assegurar que o autor da assinatura é realmente quem afirma ser e que a assinatura foi criada pelo mesmo participante que foi responsável por versões anteriores.

O Sigstore oferece tanto um serviço pronto para uso quanto um conjunto de ferramentas que permitem implantar serviços semelhantes em seu próprio hardware. O serviço é gratuito para todos os desenvolvedores e fornecedores de software e está em uma plataforma neutra - a Linux Foundation. Todos os componentes do serviço são de código aberto, escritos na linguagem Go e distribuídos sob a licença Apache 2.0.

Entre os componentes em desenvolvimento, podemos destacar:

  • Rekor - uma implementação de log para armazenar metadados assinados digitalmente, refletindo informações sobre os projetos. Para garantir a integridade e proteger contra a manipulação de dados retrospectiva, é utilizada uma estrutura em árvore chamada 'Árvore de Merkle' (Merkle Tree), na qual cada ramo verifica todos os ramos e nós subjacentes por meio de hash compartilhado (em forma de árvore). Com um hash final, o usuário pode garantir a precisão de todo o histórico de operações, assim como a precisão dos estados anteriores do banco de dados (o hash de verificação raiz do novo estado da base é calculado considerando o estado anterior). Para verificação e adição de novas entradas, é fornecida uma API RESTful, além de uma interface de linha de comando.
  • Fulcio (SigStore WebPKI) - um sistema para a criação de autoridades certificadoras (Root-CA), que emitem certificados de curta duração com base no e-mail, autenticado através do OpenID Connect. O tempo de vida do certificado é de 20 minutos, durante os quais o desenvolvedor deve conseguir formar uma assinatura digital (se posteriormente o certificado cair nas mãos de um invasor, ele já estará expirado).
  • Cosign (Container Signing) - uma ferramenta para criar assinaturas de contêineres, verificar assinaturas e publicar contêineres assinados em repositórios compatíveis com OCI (Open Container Initiative).

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster