2023年11底,美国ODN、NSA CCC、CISA、CSCC等多个政府机构部门联合发布了《保障软件供应链安全:SBOM推荐实践指南》,该文件对SBOM的最佳实践和原则提供了非常具有建议性的指导意见。报告内容较多,为辅助大家提升对SBOM的重视,并理解与应用SBOM,本文将提炼出报告中的部分重要观点,让大家更直观学习国外对于SBOM的应用与研究成果。(文末附原报告下载链接。)
一、 SBOM的价值
1、 高质量的SBOM,可助力企业提升软件供应链安全的可控性
SBOM提高了软件内部组成成分信息与安全态势的可见性。软件内部成分信息的高可见性,对于软件供应链风险管理和整体企业风险管理至关重要。供应商提供给软件需方的SBOM 信息,为需方的风险管理提供了决策依据,同时也不会影响软件供应商的敏感知识产权利益。
如果供应商无法提供其软件的SBOM信息,那么需方应该对供应商提供的软件产品安全性保持怀疑,谨慎考虑与该供应商的合作。当前未暴露出安全问题的软件产品并不代表着永远安全,因此需方在采购时,让供应商进行全方面安全检测,以及提供SBOM信息,对其自身软件产品进行安全合规性声明及保证,才能更好地提升软件供应链安全的可控性。
2、 将SBOM数据转化为“安全情报”,可助企业更高效应对软件供应链风险
SBOM数据与其他软件数据进行关联,在安全问题来临时,可快速还原软件内部的层级与依赖关系,圈定漏洞影响范围,帮助企业快速定位问题,采取措施来降低风险。
同时,通过SBOM还可以降低合规层面的风险——例如:从SBOM中获得的许可信息可以帮助企业确认,在使用开源和第三方许可软件时是否遵守许可要求。
SBOM数据还可为企业提供软件组件最新状态的洞察,以降低因为引用的第三方组件长期未更新,带来的供应链安全风险。
二、 如何更好地使用SBOM?
1、 将SBOM作为数据集使用
软件的SBOM仅作为单独的文件格式存在,有点暴殄天物。企业可集成所有软件SBOM 数据,建立SBOM数据管理平台,集中数据管理与数据应用。
同时,只关注SBOM本身是不足够的。想要高效提升软件供应链安全管理能力,仍需将SBOM数据与其他风险信息相关联,允许其他安全管理工具产生的数据,与SBOM管理平台数据产生链接,通过数据汇总、分析、提取并应用到各种管理系统或流程中——包括但不限于采购分析、资产管理、漏洞管理、总体供应链风险管理和合规管理等管理系统。
SBOM数据导入资产管理库、工具或系统,并且通过SCA工具验证并处理完毕以后,SBOM内容可以为企业内多个部门带来有效信息和价值:
● 配置管理数据库(CMDB)
● 软件资产管理 (SAM) 系统
● 安全运营中心 (SOC)
● 采购工作流程
● 软件供应链风险评估和管理功能
2、 实现SBOM自动化处理、分析
当软件数量达到上百数千个的时候,企业想要了解整体的软件安全风险暴露情况,需要手动对SBOM文件进行检查。这显然不现实,因此,倘若通过一个界面,便可快速从成千上万个软件的SBOM中,定位到引用了目标组件的软件,企业的软件供应链风险管理能力将得到显著提升。当然,想要实现以上需求,还需要供应商提供标准化数据格式的SBOM,同时软件需方能拥有自动解析、转换SBOM的工具。
三、 如何验收供应商提供的SBOM?
SBOM的验收主要是针对SBOM完整性以及真实性开展的,在这一环节中比较推荐的做法是生成哈希值的方式来进行。同时为了确保SBOM的完整有效和真实,推荐使用SCA(软件成分分析)工具来对SBOM的内容进行验证以确保该SBOM真实有效。
不仅如此,好的SCA工具还可以将SBOM内容和VEX联系起来,以方便企业做漏洞管理,以及可以了解软件内的依赖关系结构等等,在通过SCA工具对SBOM内容有了全面的了解,并确认无误后,便可以纳入到企业的SBOM使用流程中。
网安云基于开源网安成熟的SCA(软件成分分析)技术能力,深度研发具备全面性、标准化、“互操作性”,且高自动化高可视化的SBOM管理工具——软件物料清单管理平台。
01 全面性SBOM梳理
本平台除了对软件版本、类型、名称、供应商等基本信息进行管理之外,增加对软件内部成分信息(包括但不限于:内部引用组件、许可的版本、来源、调用位置、依赖关系、层次关系等)的梳理与可视化展示。大大降低软件资产的“模糊性”,帮助企业快速摸清家底。
02 安全风险快速溯源
开源网安SBOM管理平台,运用强大的数据分析与图标可视化能力,还原软件内部成分信息之间层次、依赖关系,以及软件基本信息与安全信息之间的关联关系,绘制可视化关系图表。协助客户进行安全风险传导路径分析,快速溯源,圈定影响范围。
03 软件资产动态化管控
实现数据实时采集与分析,秒级的延时粒度,帮助企业及时获取最新的软件安全态势信息,根据内外部安全环境的变化快速调整安全策略,提高安全风险应急能力。
04 软件物料清单标准化
平台严格遵循软件包数据交换(SPDX)标准、OWASP CycloneDX和软件组件验证(SCVS)标准等三大类国际认可的软件物料清单标准,通过“识别组件-获取数据-构造SBOM”三大步骤,输出标准化的SBOM文件,确保文件格式有效、属性合规。