Conteúdo
A Fundação OWASP, em colaboração com a Agência de Segurança Cibernética de Singapura (CSA), emitiu um aviso focado no uso da Lista de Materiais de Software (SBOM) para melhorar a gestão de vulnerabilidades em dependências de software de código aberto e de terceiros. Este aviso enfatiza a adoção do OWASP CycloneDX, um formato padronizado de SBOM ratificado pela Ecma International como ECMA-424, e destaca os esforços conjuntos entre OWASP, Ecma International e CSA para promover esta abordagem. O aviso também apresenta o OWASP Dependency-Track como a principal plataforma para consumir e analisar SBOMs, fornecendo aos desenvolvedores ferramentas práticas e exemplos para integrar este processo nos seus fluxos de trabalho.\n\nA integração de software de código aberto (OSS) em projetos de desenvolvimento traz desafios significativos de cibersegurança, particularmente devido a vulnerabilidades em dependências de terceiros. Incidentes de segurança de grande repercussão, como Log4j e Heartbleed, ilustram os riscos: muitas organizações enfrentaram sistemas comprometidos durante o incidente Log4j devido à visibilidade insuficiente dos componentes de software, enquanto Heartbleed levou ao roubo de milhões de registos médicos explorando vulnerabilidades na biblioteca OpenSSL. Estudos mostram que um projeto de software médio contém aproximadamente 69 dependências e mais de cinco vulnerabilidades críticas, aumentando o risco de violações se os desenvolvedores não tiverem conhecimento completo dos componentes da aplicação.\n\nEste aviso destina-se a desenvolvedores de software que incorporam OSS e dependências de terceiros, reconhecendo que, embora muitos estejam cientes dos riscos de cibersegurança, frequentemente carecem de orientação ou recursos suficientes para aplicar práticas de segurança robustas durante a criação e implementação do software. Propõe uma abordagem sustentável e automatizada para a gestão de vulnerabilidades, utilizando SBOM combinado com monitorização em tempo real de vulnerabilidades, o que pode melhorar significativamente a eficiência e eficácia na gestão dos riscos de software.\n\nTradicionalmente, gerir dependências OSS manualmente é trabalhoso e propenso a erros. Os desenvolvedores precisam vasculhar bases de código complexas para identificar componentes vulneráveis, o que atrasa os esforços de remediação. O SBOM oferece um registo estruturado e formalizado dos componentes de software, concedendo visibilidade total do ambiente de software. Esta transparência permite aos desenvolvedores identificar e resolver vulnerabilidades rapidamente, reduzindo a dívida técnica e os encargos futuros de remediação. Ao integrar ferramentas SBOM em pipelines de integração contínua e entrega contínua (CI/CD), as organizações podem automatizar a criação, assinatura e alertas de SBOM, permitindo assim a monitorização em tempo real de vulnerabilidades emergentes.\n\nO SBOM também promove a colaboração entre equipas de desenvolvimento, operações de segurança e resposta a incidentes, reforçando a gestão holística de vulnerabilidades e acelerando os tempos de resposta. Esta abordagem colaborativa minimiza a complexidade operacional e apoia a mitigação proativa de riscos sem prejudicar a inovação. Integrar a geração de SBOM nos processos CI/CD assegura que a consciência das vulnerabilidades acompanha a evolução dos componentes de software, permitindo ação imediata sobre ameaças recém-descobertas.\n\nO aviso descreve uma abordagem em três etapas para a gestão de vulnerabilidades através de SBOMs. A primeira é a seleção da ferramenta: a ferramenta escolhida deve identificar com precisão todos os componentes e dependências de software, incluindo as indiretas, e integrar-se perfeitamente com pipelines CI/CD como GitHub Actions ou GitLab CI/CD. A segunda é gerar e assinar o SBOM em conformidade com padrões reconhecidos como CycloneDX ou SPDX, garantindo autenticidade e rastreabilidade através da assinatura criptográfica e publicação em registos de transparência. A terceira é a gestão proativa de vulnerabilidades: publicar o SBOM em repositórios seguros onde ferramentas como OWASP Dependency-Track possam ingerir automaticamente os dados para monitorização contínua e deteção precoce de vulnerabilidades.\n\nRecomenda-se aos desenvolvedores que considerem que a abrangência do SBOM depende dos ficheiros manifesto gerados, e que linguagens de programação obscuras podem reduzir a precisão da deteção. Para software SaaS e de código fechado, é crítico solicitar SBOMs aos fornecedores terceiros ou, alternativamente, utilizar ferramentas SBOM baseadas em runtime ou binários para capturar componentes carregados dinamicamente ou binários compilados. Após identificar vulnerabilidades, os desenvolvedores devem notificar os seus fornecedores terceiros para remediação. É também essencial verificar a explorabilidade das vulnerabilidades detetadas para evitar sobrecarregar as equipas com falsos positivos, assegurando esforços de remediação focados e eficazes.