Em abril de 2023, DHS, CISA, DOE e CESER divulgaram um relatório intitulado 'Relatório de ciclo de vida de compartilhamento da lista de materiais de software (SBOM)'. O objetivo do relatório era examinar as formas atuais pelas quais as pessoas estão compartilhando SBOMs, bem como delinear, em termos gerais, como esse compartilhamento poderia ser feito melhor, com maior sofisticação, para permitir uma melhor transparência no software.
O relatório divide o ciclo de vida de compartilhamento do SBOM em 3 fases: descoberta, acesso e transporte. Discovery é como um usuário ou consumidor pode tomar conhecimento da existência de um novo SBOM de um autor ou fornecedor. Acesso a é como um usuário ou consumidor pode acessar este SBOM e todos os dados relevantes que o acompanham (enriquecimento do SBOM). Transporte é como um consumidor pode receber o SBOM. Em todos os casos, quanto mais automatizado for o processo, melhor será para todas as partes envolvidas.
Embora o relatório não mencione especificamente nenhuma ferramenta, ele inclui vários exemplos e listas de atributos que essas ferramentas desejadas incluiriam.
Ficamos emocionados ao descobrir aqui na Scribe que nossa plataforma, que permite o compartilhamento de SBOM informações como parte de seu uso principal, obtém notas muito altas quando comparadas com a lista de requisitos publicada.
Neste artigo, examinaremos as três partes do ciclo de vida de compartilhamento SBOM conforme especificado no relatório e examinaremos a solução mais sofisticada vista pela CISA. Concluiremos descrevendo como Plataforma do escriba responde a esses requisitos.
SBOM compartilhando sofisticação do ciclo de vida
Discovery é a fase inicial do ciclo de vida e envolve como um consumidor toma conhecimento da existência de um SBOM de um autor ou fornecedor. Isso pode ser tão simples quanto colocar um novo SBOM em um local padronizado no site de um fornecedor ou em um repositório de software. Deve ficar claro o suficiente para o consumidor como obter ou pelo menos solicitar acesso a esses dados SBOM para que possa acessá-los posteriormente e baixá-los para seu uso. Às vezes o consumidor precisará manter contato com o fornecedor e solicitar atualizações sobre seu SBOM. Alternativamente, atualizações contínuas automatizadas poderiam ser disponibilizadas.
Uma abordagem de alta sofisticação, como afirma o relatório, coloca mais responsabilidade da descoberta sobre o fornecedor, a fim de facilitar a vida do consumidor. Idealmente, pode haver um processo bem conhecido e bem documentado que seja ideal para automação e tenha pouco que precise ser feito manualmente. A título de ilustração, um fornecedor pode desenvolver um publicar/assinar serviço que atualizará automaticamente os usuários com informações sobre novos SBOMs, bem como versões atualizadas de SBOMs existentes e um mecanismo para localizá-los. Além disso, níveis mais sofisticados devem ser mais precisos no direcionamento dos clientes para as informações solicitadas, ao mesmo tempo que ocultam informações irrelevantes.
Acesso a é o próximo passo e detalha como obter acesso aos dados. A ênfase desta etapa está nas restrições de acesso impostas ao SBOM e em como o usuário obterá permissão para passar para a etapa de Transporte. A maneira mais fácil é tornar o SBOM totalmente acessível ao público e pode até não haver a necessidade de implementar controles de acesso. Mas, realisticamente, um fornecedor pode exigir que os SBOMs sejam mantidos num repositório onde o acesso aos mesmos precisa de ser aprovado manualmente ou definido por uma função antes de ser concedido a um destinatário específico. Além disso, os SBOMs podem precisar de granularidade específica de controle de acesso para garantir que os clientes possam visualizar apenas versões específicas do SBOM vinculadas a um produto ou acessar partes específicas dos dados.
Numa abordagem de alta sofisticação, um consumidor pode solicitar acesso para visualizar um SBOM e uma conta restrita pode ser criada automaticamente. Se um consumidor puder apresentar prova de que adquiriu um dispositivo ou software relevante para o SBOM em questão, como uma chave de software, o acesso aos SBOMs poderá ser concedido automaticamente. Com funções ou controles de acesso no nível da organização, há um alto nível de granularidade de permissão. Este recurso requer alto nível de sofisticação devido à necessidade de analisar e compreender as permissões de cada atividade desejada, bem como rastrear os dados necessários para validar automaticamente as compras dos clientes. Usando um sistema como a delegação de infraestrutura de chave pública usando assinatura de certificado, um provedor pode delegar solicitações de autenticação e controle de acesso a outra organização para obter um nível ainda mais alto de sofisticação.
Transporte é a etapa final e detalha o método pelo qual o consumidor recebe o SBOM. Os SBOMs podem ser transportados usando vários métodos de um local para outro ou de um local para vários locais. Este processo é facilitado de forma mais eficaz por alguns métodos do que por outros. Uma cópia armazenada em disco rígido e enviada do autor ao consumidor pode ser suficiente se o transporte do SBOM envolver apenas a movimentação de um único SBOM. Um método que permita aos clientes recuperar com segurança o SBOM deve ser disponibilizado caso uma grande base de consumidores precise dele. Esta etapa é necessária para que o consumidor utilize os dados. Tenha em mente que a maioria dos usos práticos do SBOM exige um formato legível por máquina, portanto o transporte precisa levar isso em consideração.
Utilizando protocolos estabelecidos, o processo da fase de Transporte deve ser minuciosamente documentado para permitir a maior automatização possível do transporte. Uma interface de programação de aplicativos (API) deve ser acessível, repetível e consistente. Seria suficiente classificar uma interface OpenAPI como de alta sofisticação se ela oferecesse documentação para uma transferência de estado representacional (REST) ou API RESTful. 13 Outros padrões de API, como Simple Object Access Protocol (SOAP) ou Graph Query Language (GraphQL), também podem ser considerados suficientes. REST é apenas um exemplo popular de interface padronizada. Na verdade, quaisquer interfaces que ofereçam um nível comparável de facilidade de integração são suficientes para serem categorizadas como de alta sofisticação.
Como a plataforma Scribe atende aos requisitos
A Scribe desenvolveu uma plataforma que permite uma publicar/assinar serviço. Um produtor de software pode vincular seus pipelines de CI à plataforma para que cada vez que execute uma construção, um SBOM correspondente seja criado. Esses SBOMs são então enriquecidos com informações adicionais e podem ser acessados com base no projeto específico, pipeline de construção, data e hora. O produtor pode adicionar assinantes a cada projeto para que assim que decidirem publicar uma nova versão de software. Todos os assinantes são notificados e têm imediatamente acesso total, não só ao novo SBOM, mas também a todas as demais informações de segurança que o acompanham. Os assinantes podem acessar os SBOMs aos quais têm acesso quando quiserem e podem baixá-los quando quiserem.
Depois que o link do pipeline de construção é concluído e um assinante aprova que está interessado nos dados, todo o fluxo de informações é automatizado e requer pouca ou nenhuma intervenção manual. Os dados de segurança são criptografados e protegidos pela Scribe e somente o produtor e assinantes aprovados têm acesso. A descoberta é automática, o acesso é determinado pelo produtor e o transporte fica ao critério do assinante.
O futuro do compartilhamento SBOM
Hoje em dia, é mais provável que o compartilhamento SBOM seja feito por e-mail do que por um sistema automatizado, mas essa abordagem não é escalonável. Para permitir um maior compartilhamento, mais ferramentas e plataformas como a do Scribe precisam estar disponíveis, fáceis de usar e acessíveis. Uma variedade de soluções de partilha concebidas para as necessidades das diversas partes interessadas seria vantajosa para o ecossistema de partilha SBOM. Estas condições existem porque um determinado fornecedor pode ser solicitado a utilizar vários métodos de transporte pelos seus clientes, e um cliente pode receber dados SBOM utilizando vários métodos pelos seus parceiros a montante. Precisamos de mais soluções que possam lidar com as situações especiais identificadas e, ao mesmo tempo, tentar, sempre que possível, eliminar processos manuais e evitar ações que prejudiquem a interoperabilidade. O objetivo da indústria deveria ser evitar o surgimento de numerosas soluções de partilha SBOM que sejam incompatíveis entre si numa cadeia de abastecimento mais vasta, uma vez que isso apenas agravaria os problemas existentes.
Uma vez que o A plataforma Scribe é gratuita para usar em até 100 compilações por mês, recomendo que você experimente e veja quantas de suas necessidades regulatórias e de segurança a plataforma atende. Ainda temos um longo caminho a percorrer para uma plataforma verdadeiramente universal que atenda à nossa visão, mas é um bom ponto de partida que estamos ansiosos para compartilhar com o mundo.
Este conteúdo é oferecido a você pela Scribe Security, um fornecedor líder de soluções de segurança de cadeia de suprimentos de software ponta a ponta – fornecendo segurança de última geração para artefatos de código e processos de desenvolvimento e entrega de código em todas as cadeias de suprimentos de software. Saiba mais.