O que é um SBOM?
A Administração Nacional de Telecomunicações e Informação (NTIA) recentemente solicitou um feedback abrangente para definir uma Lista de Materiais de Software (SBOM) mínima. Foi enquadrado com uma única e simples pergunta (“O que é um SBOM?”), e constituiu um passo incrivelmente importante para a segurança do software e um momento significativo para os padrões abertos.
Do SBOM FAQ DA NTIA “A Software Bill of Materials (SBOM) é uma lista completa e formalmente estruturada de componentes, bibliotecas e módulos que são necessários para construir (ou seja, compilar e vincular) um determinado software e as relações da cadeia de suprimentos entre eles. Esses componentes podem ser de código aberto ou proprietários, gratuitos ou pagos, e de acesso amplamente disponível ou restrito.” Os SBOMs que podem ser compartilhados sem atrito entre equipes e empresas são uma parte essencial do gerenciamento de software para indústrias críticas e infraestrutura digital nas próximas décadas.
A Norma Internacional ISO para conformidade com licenças de código aberto (ISO/IEC 5230:2020 – Tecnologia da informação — Especificação OpenChain) requer um processo para gerenciar uma lista de materiais para o software fornecido. Isso se alinha com as metas da NTIA para aumentar a transparência do software e ilustra como a indústria global está lidando com os desafios nesse espaço. Por exemplo, tornou-se uma prática recomendada incluir um SBOM para todos os componentes no software fornecido, em vez de isolar esses materiais em código aberto.
A comunidade de código aberto identificou a necessidade e começou a enfrentar o desafio da “lista de ingredientes” do SBOM há mais de uma década. O padrão da indústria de fato, e a abordagem mais amplamente utilizada atualmente, é chamado de Software Package Data Exchange (SPDX). Todos os elementos da definição mínima de SBOM proposta pela NTIA podem ser abordados pelo SPDX hoje, bem como casos de uso mais amplos.
O SPDX evoluiu organicamente na última década para se adequar ao setor de software, cobrindo questões como conformidade de licenças, segurança e muito mais. A comunidade é composta por centenas de pessoas de centenas de empresas, e o padrão em si é o SBOM mais robusto, maduro e adotado no mercado hoje.
A especificação SPDX completa é apenas uma parte da imagem. Componentes opcionais como o SPDX Lite, desenvolvido pela Pioneer, Sony, Hitachi, Renesas e Fujitsu, entre outros, fornecem um subconjunto SBOM focado para uso em fornecedores menores. A natureza da abordagem comunitária por trás do SPDX permite que os casos de uso práticos sejam abordados à medida que surgiram.
Em 2020, o SPDX foi submetido à ISO através do processo de transposição do PAS do Joint Technical Committee 1 (JTC1) em colaboração com a Joint Development Foundation. Encontra-se atualmente na fase de aprovação do processo de transposição e pode ser revisto no sítio Web da ISO como ISO/IEC PRF 5962.
A Linux Foundation preparou uma submissão para a NTIA destacando o conhecimento e a experiência adquirida com a implantação prática e o uso do SBOM nas comunidades SPDX e OpenChain. Isso inclui isolar a utilidade de ações específicas, como rastrear carimbos de data/hora e incluir licenças de dados em metadados. Com o apoio de muitas partes em todo o setor de tecnologia mundial, as especificações SPDX e OpenChain estão em constante evolução para apoiar todas as partes interessadas.
A equipe da Sony usa várias abordagens para gerenciar a conformidade e a governança de código aberto… Um exemplo é o uso de uma folha de modelo de gerenciamento OSS baseada no SPDX Lite, um subconjunto compacto do padrão SPDX. As equipes precisam ser capazes de revisar o tipo, a versão e os requisitos do software rapidamente, e usar um padrão claro é uma parte fundamental desse processo.
Hisashi Tamai, SVP, Sony Group Corporation, Representante do Comitê de Estratégia de Software
“A Intel tem sido um dos primeiros participantes no desenvolvimento da especificação SPDX e utiliza o SPDX, bem como outras abordagens, tanto interna quanto externamente para vários casos de uso de software de código aberto.”
Melissa Evers, Vice-Presidente – Arquitetura Intel, Gráficos, Software / Gerente Geral – Estratégia de Negócios de Software
A norma corporativa Scania 4589 (STD 4589) acaba de ser disponibilizada aos nossos fornecedores e define as expectativas que temos quando o Open Source faz parte de uma entrega à Scania. Então, o que é que pedimos em um relacionamento com nossos fornecedores quando se trata de Open Source?
1) Que os fornecedores estejam em conformidade com a ISO/IEC 5230:2020 (OpenChain). Se um fornecedor estiver em conformidade com esta especificação, sentimo-nos confiantes de que ele tem um programa de gerenciamento profissional para Open Source.
2) Se, no processo de desenvolvimento de uma solução para a Scania, um fornecedor fizer modificações nos componentes de código aberto, gostaríamos de ver essas modificações contribuídas para o projeto de código aberto.
3) Forneça uma lista de materiais no formato ISO / IEC DIS 5962 (SPDX), além do código-fonte onde há a obrigação de oferecer o código-fonte diretamente, para que não precisemos solicitá-lo.
Jonas Öberg, Diretor de Open Source – Scania (Grupo Volkswagen)
O formato SPDX facilita muito o compartilhamento de dados de componentes de software em toda a cadeia de suprimentos. A Wind River forneceu uma Lista de Materiais de Software (SBOM) para seus clientes usando o formato SPDX nos últimos oito anos. Muitas vezes, os clientes solicitarão dados de SBOM em um formato personalizado. A padronização no SPDX nos permitiu oferecer um SBOM de maior qualidade a um custo menor.
Mark Gisi, Diretor do Escritório do Programa de Código Aberto da Wind River e Presidente de Especificação OpenChain
A equipe do Pato Negro da Synopsys está envolvida com a SPDX desde a sua criação, e tive o prazer de coordenar as atividades da liderança do projeto por mais de uma década. Além disso, representantes de dezenas de empresas contribuíram para o importante trabalho de desenvolvimento de uma maneira padrão de descrever e comunicar o conteúdo de um pacote de software.
Phil Odence, Gerente Geral, Black Duck Audits, Synopsys
Com o crescente interesse nos tipos de risco da cadeia de suprimentos que uma Lista de Materiais de Software ajuda a abordar, a SPDX está ganhando atenção e urgência mais amplas. A FossID (agora parte da Snyk) tem usado o SPDX desde o início como parte da análise de componentes de software e para auditorias de licença de código aberto. A Snyk também está intensificando seu envolvimento, já contribuindo para os esforços para expandir os casos de uso do SPDX, criando ferramentas para testar o trabalho preliminar sobre perfis de vulnerabilidade no SPDX v3.0.
Gareth Rushgrove, vice-presidente de produtos, Snyk
Para mais informações sobre o OpenChain: https://www.openchainproject.org/
Para obter mais informações sobre o SPDX: https://spdx.dev/
Referências:
- https://www.ntia.gov/files/ntia/publications/frn-sbom-rfc-06022021.pdf
- https://www.ntia.doc.gov/files/ntia/publications/ntia_sbom_faq_-_april_15_draft.pdf
- Seção 3.1.1 “Lista de Materiais” em https://github.com/OpenChain-Project/Specification/raw/master/Official/en/2.1/openchainspec-2.1.pdf
- https://www.openchainproject.org/news/2020/02/24/openchain-spdx-lite-credit-where-credit-is-due