Uma lista de materiais de software (SBOM) é um documento que fornece um inventário detalhado dos componentes e dependências usados em um projeto de software. Ele também lista todas as bibliotecas, estruturas e suas respectivas versões que são utilizadas no software. Quando se trata de software de código aberto (OSS) , um SBOM pode desempenhar um papel crucial para garantir transparência, segurança e conformidade.
Usar um SBOM – especialmente em OSS – permite que uma organização ganhe visibilidade sobre componentes e dependências, melhore o gerenciamento de riscos e muito mais. Abaixo, descrevemos esses benefícios.
O OSS geralmente incorpora vários componentes e dependências de terceiros. Um SBOM permite que desenvolvedores e usuários tenham visibilidade clara de todos os componentes usados no software. Isso inclui bibliotecas e estruturas de código aberto, juntamente com suas versões específicas. Essa visibilidade auxilia na compreensão da composição do software, na identificação de vulnerabilidades potenciais e no rastreamento de quaisquer obrigações de licenciamento associadas aos componentes de código aberto.
Assim como qualquer outro software, o OSS pode ser suscetível a vulnerabilidades de segurança. Com um SBOM, as organizações podem rastrear as versões de componentes de código aberto e se manterem informadas sobre quaisquer vulnerabilidades conhecidas associadas a essas versões. Isso permite o gerenciamento proativo de vulnerabilidades por meio da aplicação imediata de patches ou atualizações para mitigar e relatar quaisquer problemas de segurança (consulte RFC8615 ). Ao ter um SBOM atualizado, as organizações podem avaliar o impacto das vulnerabilidades e tomar medidas apropriadas para proteger seu software.
Nos últimos anos, a segurança da cadeia de suprimentos de software se tornou uma preocupação significativa. Um SBOM contribui para aumentar a segurança da cadeia de suprimentos ao fornecer transparência sobre os componentes usados no software e suas origens. Ele também permite que as organizações avaliem a confiabilidade e a postura de segurança dos componentes dos quais dependem. Com um SBOM, as organizações podem identificar e mitigar riscos associados a componentes comprometidos ou maliciosos, reduzindo o potencial de ataques à cadeia de suprimentos de software.
O OSS incentiva a colaboração e o envolvimento da comunidade. Um SBOM facilita a colaboração eficaz ao fornecer um entendimento comum dos componentes do software entre diferentes colaboradores e partes interessadas. Ele auxilia na coordenação dos esforços de gerenciamento de patches, identificando claramente os componentes que exigem atualizações ou correções. A colaboração dentro da comunidade de código aberto se torna mais eficiente quando todos os participantes podem consultar um SBOM compartilhado para abordar vulnerabilidades de segurança e outros problemas.
Em alguns setores, as estruturas regulatórias exigem que as organizações demonstrem transparência e controle sobre os componentes de software usados em seus aplicativos ou sistemas. Um SBOM fornece a documentação necessária para satisfazer esses requisitos de conformidade. Ele permite que as organizações demonstrem a devida diligência, rastreabilidade e conformidade com regulamentações relevantes, especialmente quando se trata de aspectos de segurança e licenciamento de OSS.
O OSS normalmente é regido por licenças específicas que determinam como o software pode ser usado, modificado e distribuído. Um SBOM fornece uma visão geral abrangente de todos os componentes de código aberto e suas licenças correspondentes. Isso ajuda as organizações a garantir a conformidade com os termos de licenciamento do OSS que estão usando. Ao compreender as obrigações de licenciamento, as organizações podem tomar decisões informadas sobre a distribuição e o uso de seu software, evitando problemas legais ou de conformidade.
Vários governos e organizações em setores altamente regulamentados, como bancos e saúde, estão defendendo o uso de SBOMs ou considerando tornar o uso de um SBOM um requisito, seja internamente ou para seus fornecedores.
A construção de um SBOM exige colaboração e envolvimento de diversas partes interessadas em toda a cadeia de fornecimento de software. Ao envolver essas partes interessadas e promover a colaboração entre elas, as organizações podem criar um SBOM robusto e confiável que capture as informações necessárias sobre os componentes de software, melhore a segurança da cadeia de suprimentos e facilite os esforços de gerenciamento de riscos e conformidade.
Aqui estão alguns indivíduos ou funções importantes que devem estar envolvidos no processo:
As organizações devem aspirar a construir um SBOM que forneça uma visão abrangente dos componentes de software, suas origens, dependências e informações de segurança associadas. Isso permite um melhor gerenciamento dos riscos da cadeia de suprimentos de software e melhora a segurança geral do software.
Aqui estão as principais etapas ao criar um SBOM:
Há várias maneiras pelas quais um SBOM pode falhar ou não atingir seu propósito pretendido. Enfrentar esses desafios e garantir a precisão, integridade e atualidade do seu SBOM pode ajudar a mitigar o risco de falha.
Aqui estão algumas causas comuns de falhas que refletem as melhores práticas para criar um SBOM:
No geral, um SBOM é uma ferramenta valiosa para gerenciar as complexidades do OSS. Ele promove transparência, segurança, conformidade e colaboração dentro do ecossistema de código aberto. Ao fornecer um inventário detalhado de componentes de software, suas versões e informações de licenciamento associadas, um SBOM capacita as organizações a tomar decisões informadas, gerenciar riscos e garantir a integridade e a segurança de seus projetos de software.