Ferramentas SBOM: principais recursos para gerar SBOMs

Cada vez mais empresas reconhecem a importância de um SBOM atualizado como parte de cada produto e novo lançamento. A NSA ainda publicou um artigo incentivando as empresas a adotar esta ferramenta para aumentar a consciência cibernética e proteger melhor as suas cadeias de fornecimento de software. Mesmo que você tenha concluído que gerar um SBOM é a coisa certa a fazer, você pode não ter certeza de como fazê-lo, quais ferramentas usar ou como implementá-las. Existem várias ferramentas de geração de SBOM no mercado, algumas são proprietárias, outras gratuitas e outras são ferramentas de código aberto. Neste artigo, abordaremos quais recursos principais sua ferramenta de geração de SBOM deve ter para torná-la a ferramenta certa para suas necessidades. 

Formatos SBOM

Existem dois grandes Formatos SBOM usados ​​no mercado hoje: SPDX e CycloneDX. 

Troca de dados de pacote de software (SPDX) é um projeto SBOM de código aberto e legível por máquina da fundação Linux. A versão mais recente do SPDX foi projetada de acordo com o padrão da NTIA para 'Elementos mínimos para uma lista de materiais de software.' Ele lista os componentes, direitos autorais, licenças e referências de segurança de um software.

CicloneDX (CDX) também é um formato SBOM de código aberto e legível por máquina desenvolvido pela comunidade Open Web Application Security Project (OWASP). Como formato BOM, o CycloneDX possui outras aplicações além da preparação de listas de materiais de software. Também pode ser usado para compilar componentes, vulnerabilidades e serviços de hardware e sistemas em nuvem.

Antes de começar a verificar as diversas ferramentas, considere qual formato atenderia melhor às suas necessidades. É melhor considerar não apenas o momento atual, mas também suas necessidades futuras, pois depois de se comprometer com um determinado formato, você provavelmente achará mais fácil mantê-lo. Considere os usos que seus SBOMs verão e as ferramentas que você usará para analisar os dados. Se você não tiver certeza de qual formato escolher, procure uma ferramenta que possa gerar os dois formatos.

Principais recursos das ferramentas SBOM

Aqui estão alguns recursos que você deve procurar em uma boa ferramenta de geração de SBOM: 

Coleta SBOM do SCM e do produto final – Obter cobertura completa do seu produto é fundamental para um bom SBOM. É sabido que no estágio de desenvolvimento nem sempre você puxa todas as dependências e as integra ao projeto – isso é algo que geralmente é feito apenas na compilação final no final do seu pipeline de CI/CD. Obter um SBOM do seu SCM e do seu produto final permite comparar os dois e também garantir que nenhuma alteração indesejada foi feita em nenhum arquivo ou pasta nos estágios intermediários. A comparação de arquivos e pastas entre SBOMs pode ser feita comparando os valores de hash calculados para cada um. Ter uma ferramenta que faça isso automaticamente economizaria muito tempo e preocupações.

 

Análise SBOM – O SBOM é um arquivo com muitos dados. É melhor ter um software desenvolvido para analisá-lo em busca dos insights que você deseja receber. É claro que construir você mesmo esse software é lento e demorado, por isso é muito melhor obter uma ferramenta que já inclua o software de análise para que você possa verificar os relatórios resultantes, em vez de tentar entender um arquivo SBOM de vários milhares de linhas. . Alguns relatórios que você pode querer considerar são relatórios de vulnerabilidade abrangentes para todas as dependências, um relatório sobre qualquer componente desatualizado usado em seu software, um relatório sobre todas as licenças de código aberto usadas e um relatório da saúde relativa do software aberto. componentes de origem usados. Esse último poderia utilizar elementos como o Pontuação do OpenSSF para dar uma pontuação imparcial a cada pacote utilizado.

Automação SBOM e armazenamento seguro – Parte dos princípios da estrutura de segurança SLSA é tornar cada recurso de segurança tão automático e tão difícil de manipular quanto possível. A ideia é que permitir que as pessoas manipulem os resultados dos recursos de segurança apenas deixaria uma abertura para o cancelamento ou manipulação desse recurso conforme a necessidade. Como parte desse conceito, você pode procurar uma ferramenta SBOM que possa ser totalmente automatizada para ser executada de forma independente em cada pipeline de CI/CD ou execução de compilação, sem a necessidade de qualquer intervenção de fator humano. Além disso, procure uma ferramenta SBOM que armazene as evidências em um local seguro para que apenas pessoal devidamente validado possa acessá-las. Isso garantiria que as evidências do SBOM não pudessem ser manipuladas ou excluídas, independentemente das circunstâncias.   

Análise contínua de SBOM – Outra vantagem potencial de ter seus SBOMs armazenados por terceiros é permitir que terceiros os verifiquem continuamente em busca de novas vulnerabilidades. Novas vulnerabilidades são constantemente descobertas e relatadas e mesmo um pacote que é conhecido por estar limpo hoje pode não permanecer assim amanhã. Ter um recurso SBOM que verifica continuamente todos os seus SBOMs e procura novas vulnerabilidades, notificando-o sobre quaisquer descobertas, garantiria que, mesmo que você não criasse um novo SBOM todos os dias, semanas ou meses, você ainda não seria pego de surpresa por uma nova vulnerabilidade em um pacote previamente limpo que você incluiu em seu produto.

Compartilhamento inteligente SBOM – Um dos principais motivos para ter um bom SBOM, além de ter uma fonte para verificar possíveis problemas na cadeia de fornecimento de software, é compartilhá-lo com outras pessoas. Você pode querer compartilhar as informações com outras equipes internas, com clientes, prestadores de serviços terceirizados ou auditores. Claro, você sempre pode enviar um arquivo SBOM por e-mail para uma parte interessada, mas considerando as atualizações frequentes de software e, portanto, novos SBOM frequentes, isso pode se tornar muito tedioso muito rapidamente. É muito melhor ter uma ferramenta que tenha um recurso de compartilhamento integrado para que você possa definir uma lista de assinantes e novos SBOMs com ou sem os relatórios que os acompanham seriam automaticamente compartilhados com base no projeto, seus assinantes, seu nível de interesse, etc. .   

Avisos SBOM – Como já mencionamos um SBOM pode incluir milhares de dependências. Esperar um atestado de saúde limpo – zero vulnerabilidades – não é realista. Você sempre terá vulnerabilidades. A grande questão é: essas vulnerabilidades podem ser exploradas na configuração exata do seu produto? Somente os desenvolvedores podem responder a essa pergunta, mas você deve certificar-se de que sua ferramenta SBOM tenha um recurso que permita compartilhar essas descobertas. Você não quer ter que responder à mesma pergunta sobre vulnerabilidade 1000 vezes. Ter a capacidade de adicionar avisos ao seu SBOM, observando o status exato de cada vulnerabilidade encontrada, permitiria que você mostrasse aos seus clientes e parceiros que você está atualizado e compartilharia os resultados assim que seus desenvolvedores verificassem que uma vulnerabilidade específica está presente. não explorável em seu produto.

Por onde começar com sua ferramenta de geração SBOM

Existem muitos outros recursos que você pode procurar e encontrar em uma ferramenta de geração de SBOM, mas acho que nossa lista de recursos deixa claro que uma boa ferramenta SBOM é mais do que um elemento solitário. É melhor encontrar um sistema completo que incorpore geração, análise (pontual e contínua) de SBOM, relatórios e compartilhamento. 

Considerando a crescente atenção dos elementos regulatórios nos EUA, parece que não demorará muito para que um SBOM acompanhante seja um padrão para cada nova versão de software. Quando isso acontecer você já quer ter a melhor ferramenta selecionada e incorporada ao seu SDLC. Gostaria também de salientar que um SBOM não pode infringir o seu IP – ele não “analisa” nenhum código e apenas verifica nomes de arquivos, versões e assim por diante. Isso significa que compartilhar SBOMs ou armazená-los em um local seguro por terceiros confiáveis ​​não coloca de forma alguma em risco sua segurança ou IP.

Serviços como a plataforma Scribe Security podem oferecer todos os recursos abordados neste artigo, com mais recursos adicionados o tempo todo. Sinta-se à vontade para conferir nossa plataforma e ver quais outros recursos nossa ferramenta de geração de SBOM inclui que podem beneficiar você e sua organização.