Reduzindo os riscos da cadeia de suprimentos de software com SBOMs

Se há algo que aprendemos com alguns dos principais ataques à cadeia de fornecimento de software dos últimos anos, como o SolarWinds e Log4Shell ataque, é que esse tipo de ataque pode ser bastante devastador. Mas no mundo digital interligado de hoje, torna-se cada vez mais difícil para as empresas evitá-los.

Ninguém está imune a ataques à cadeia de fornecimento de software. O que torna isso ainda pior é que a violação de uma única empresa irá potencialmente expor milhares de empresas em sua cadeia de fornecimento de software a ataques. A implicação disto é que não é suficiente salvaguardar os seus próprios sistemas internos; uma das maneiras pelas quais sua organização pode reduzir proativamente os riscos da cadeia de suprimentos e mitigar ataques é adotar um conceito conhecido como Lista de Materiais de Software (SBOM).

Provavelmente, sua organização depende de vários sistemas externos para executar vários aspectos de suas operações diárias. No entanto, você provavelmente não terá visibilidade dos riscos que esses sistemas externos representam, a menos que o fornecedor os divulgue. O SBOM atua como uma lista abrangente de ingredientes que fornece insights sobre o que constitui os componentes de software que você usa. Este documento tornou-se um componente chave para gerenciar riscos de ataque à cadeia de suprimentos.

Qual é a função do SBOM na gestão de riscos da cadeia de suprimentos?

Para compreender totalmente o potencial e reduzir os riscos do software de terceiros que você utiliza, você precisa conhecer sua composição. A Lista de Materiais de Software (SBOM) oferece total transparência, proporcionando assim melhor controle sobre a segurança de seus sistemas internos.

Uma lista de materiais de software é uma lista de componentes, serviços e dependências de terceiros em um software ou aplicativo. O conceito de BOM não é novo, mas só recentemente encontrou aplicação no mundo do software. A raiz deste conceito pode ser atribuída à indústria de manufatura, onde os fabricantes normalmente usam peças de diferentes fornecedores para construir um produto. Para acompanhar o histórico do produto e facilitar manutenções futuras, é produzida uma Lista de Materiais que detalha todos os componentes e a origem de cada um.

Imagem da lista de ingredientes

Os SBOMs se popularizaram mais recentemente após o ataque Solarwinds de 2020, que afetou muitas agências governamentais dos EUA. Em resposta a isso, O presidente Biden emitiu uma ordem executiva que obrigou as agências federais a solicitar SBOM dos desenvolvedores de software e dos fornecedores com os quais fazem parceria. Embora não impeça um ataque à cadeia de suprimentos, um SBOM preciso revelará todas as dependências de um produto de software. Isto torna-o numa valiosa ferramenta de cibersegurança que garante a transparência e expõe vulnerabilidades na cadeia de abastecimento, permitindo assim a redução dos riscos da cadeia de abastecimento.

Por que o SBOM é fundamental para desenvolvedores que dependem de código-fonte aberto

A reutilização de código de terceiros ou de código-fonte aberto é parte integrante do processo moderno de desenvolvimento de software. Embora os desenvolvedores ainda precisem escrever seu próprio código, eles integram rotineiramente componentes de código aberto de terceiros em seu software. Fazer isso tornou-se absolutamente necessário para manter os projetos avançando em ritmo acelerado.

No passado, a única razão pela qual as organizações e desenvolvedores que usam software de código aberto queriam saber sobre seus componentes era para evitar problemas de licenciamento. Muitos softwares de código aberto incluíam componentes com uso e distribuição restritos, e qualquer pessoa que quisesse fazer uso deles precisava estar ciente dessas limitações. Agora, porém, os desenvolvedores estão começando a reconhecer que o risco de usar software de código aberto vai além do licenciamento; também poderia levantar preocupações de segurança. Uma lista de materiais é essencial para a compreensão dos requisitos de licenciamento e segurança do software de código aberto.

Para os desenvolvedores, uma lista de materiais de software oferece melhor visibilidade da base de código do software de código aberto que estão usando. Isso pode ajudar a economizar tempo e esforço em muitos casos. Por exemplo, se uma nova vulnerabilidade for descoberta. Sem uma lista de materiais, os desenvolvedores terão que revisar cada software para identificar a causa do problema. Para projetos complexos, esta é uma tarefa cansativa e demorada. Usando um SBOM, o software que contém a vulnerabilidade pode ser facilmente identificado e a correção do bug necessária será realizada imediatamente. Outras razões pelas quais SBOM é fundamental no desenvolvimento de software:

  • Reduza o inchaço do código -Para cada código-fonte aberto que você usa, provavelmente existem dezenas de alternativas ligeiramente diferentes que executam funções semelhantes. Com um SBOM, você pode reduzir redundâncias criando uma lista padrão de componentes para o seu sistema. Além disso, como cada componente usado terá seus próprios defeitos ou vulnerabilidades exclusivos, manter seu código simplificado apenas para o que é necessário pode facilitar o rastreamento e a correção de vulnerabilidades.

  • Cumprir as obrigações de licença—Mencionamos como o licenciamento é uma das principais motivações para tentar conhecer todos os componentes do seu software. Obter o SBOM garantirá que você cumpra todas as obrigações de licenciamento dos componentes que escolher usar.

  • Avaliar e corrigir proativamente os riscos—Identificar e remediar riscos recentemente identificados pode ser difícil e demorado. No entanto, com uma lista de componentes claramente delineada, você pode começar a procurar vulnerabilidades de forma proativa e corrigi-las. Isso reduz o tempo de identificação de problemas e torna o processo mais eficiente.

  • Isso torna os testes e as revisões de código mais fáceis -Antes de qualquer software ser lançado, ele deve ser exaustivamente testado e revisado. Este processo é mais fácil quando o desenvolvedor tem um entendimento claro de todos os componentes e subcomponentes desse software. O SBOM pode ajudar a reduzir drasticamente o tempo de revisão, permitindo que você coloque seu código em produção mais rapidamente do que faria sem o documento.

Usando o SBOM, você pode iniciar testes de segurança para detectar e evitar componentes prejudiciais nos estágios iniciais, enquanto seu código ainda está sendo escrito. O documento também fornece um contexto mais profundo para códigos de terceiros e seus componentes, reduzindo o trabalho e o tempo necessários para revisar e até mesmo fazer alterações na base de código.

  • Identificar software em fim de vida (EOL) —Este é um fenômeno bastante comum com software de código aberto. Às vezes, esses componentes chegam ao fim da vida útil porque o fornecedor, no topo da cadeia de abastecimento, não oferece mais suporte ao produto. Embora ainda funcione, softwares de código aberto não suportados são nós importantes por meio dos quais vulnerabilidades podem ser exploradas. O SBOM possibilita monitorar o software EOL e tomar medidas proativas para substituí-lo quando possível.

Casos de uso e benefícios do SBOM

Obter uma lista de materiais de software (SBOM) não é obrigatório para todos os softwares que você desenvolve. No entanto, prepará-lo está rapidamente se tornando uma prática recomendada que todo desenvolvedor de produto digital precisa considerar. A seguir estão alguns casos de uso do SBOM onde este documento seria muito valioso.

Casos de uso SBOM

Cumprindo os requisitos federais

Após os principais ataques à cadeia de fornecimento de software em 2020 e 2021, o presidente Biden emitiu um ordem executiva que descreve as principais recomendações para agências e fornecedores que fornecem soluções de software para o governo. Um dos requisitos incluídos na ordem executiva foi a proposta de inclusão de SBOMs para todos os softwares a serem utilizados pelo governo federal. Embora os SBOMs não sejam obrigatórios para todos, todas as organizações que fornecem software para o governo federal dos EUA precisariam fornecer SBOMs que detalhassem todos os componentes que usam e quaisquer alterações de versão que fizerem.

Reduzindo o risco para consumidores de software

Um SBOM produz visibilidade total dos componentes de terceiros de uma ferramenta de software. Rastrear todos os componentes e subcomponentes de um software é uma das maneiras pelas quais as organizações podem verificar os padrões de segurança e conformidade de qualquer solução de software que pretendem usar ou já usam.

Os consumidores que usam software sem uma lista de materiais provavelmente estão cientes de que existem componentes de código aberto no código que recebem de um fornecedor. No entanto, como estes ingredientes não são conhecidos, os consumidores podem não estar cientes de potenciais códigos maliciosos, componentes não suportados e outras vulnerabilidades no software. 

Resposta rápida a situações de crise

Usar um SBOM oferece visibilidade da base de código do software. Em última análise, isto torna mais fácil para os desenvolvedores responderem às crises, caso elas ocorram. Por exemplo, sem um SBOM, uma equipe de engenharia de software que tenta lidar com uma nova vulnerabilidade terá que revisar manualmente cada software usado para determinar o problema. No entanto, se uma lista de materiais estiver disponível, será mais fácil identificar o software que pode conter a vulnerabilidade e realizar as correções necessárias em um tempo muito curto. Isto ajuda a poupar tempo na resolução de crises e minimiza os danos que poderiam ter acontecido.

Problemas de assimetria de informação

Uma lupa sobre o código

Atualmente existe um problema de assimetria de informação no mercado de software. Ao manter em segredo todas as informações sobre a segurança de seus aplicativos, os fornecedores ou produtores de software não são responsabilizados pela qualidade de seus softwares. O SBOM disponibiliza informações sobre a segurança de um produto para clientes de software. Isto obriga os produtores a cumprir os melhores padrões de segurança no desenvolvimento de software.

Apoio a fusões e aquisições

A Lista de Materiais de Software é um dos documentos que podem ser necessários para a aquisição de uma empresa. Partes do processo de aquisição de um negócio envolvem a devida diligência para avaliar os riscos potenciais da compra. Os SBOMs fornecem insights profundos sobre a estrutura de segurança administrada pela empresa e o risco potencial da aquisição.

Benefícios dos SBOMs

Uma das práticas de segurança mais importantes da organização moderna é o acesso aos riscos da cadeia de fornecimento de software. Isto envolve saber se a pilha de software de uma organização inclui componentes de terceiros que possam constituir um risco na cadeia de abastecimento. Essas vulnerabilidades de software são frequentemente encontradas em componentes que dependem de outros aplicativos de software. É por isso que a Lista de Materiais de Software é um componente importante de uma estrutura de segurança de produto. Abaixo estão alguns dos mais importantes benefícios do SBOM.

  • Lide com vulnerabilidades de forma proativa-O benefício final de um SBOM é examinar a estrutura de segurança do software que uma organização usa, identificar vulnerabilidades e encontrar maneiras de eliminá-las de forma proativa. Isso ajuda as organizações a reduzir os riscos da cadeia de suprimentos.
  • Melhorar o processo de gerenciamento de crises de segurança—A criação de um SBOM não remove vulnerabilidades do sistema nem evita totalmente ataques à cadeia de suprimentos de software. No entanto, reduz os riscos da cadeia de abastecimento e pode melhorar o processo de gestão de crises quando estas ocorrem. Ter uma lista de todas as dependências que podem servir como ponto potencial de vulnerabilidade em um aplicativo de software simplifica o processo de gerenciamento de riscos.
  • Reduzir custos-Uma das consequências de lidar com os riscos de segurança através do aproveitamento dos SBOMs é que isso reduz os custos a longo prazo. O processo de análise manual do código para localizar vulnerabilidades pode ser bastante caro. A lista de materiais de software fornece visibilidade às bibliotecas subjacentes ao software. Isso ajuda a economizar tempo e reduzir o custo da avaliação de segurança.

Conclusão

Em todas as organizações de software que levam a sério a sua reputação, criar um SBOM abrangente que seja continuamente atualizado com dados é uma das principais formas de prevenir os impactos de um ataque à cadeia de fornecimento de software. Como o uso de software de terceiros é praticamente inevitável na construção de produtos de software, ter uma lista abrangente de ingredientes de todos os componentes que você usa tornará significativamente mais fácil restringir os problemas e resolvê-los de maneira mais eficaz. Também facilita o cumprimento de questões de licenciamento de software e até, em alguns casos, de regulamentações governamentais.