清源(CleanSource) SCA的 SBOM 可以帮助用户更好地遵守标准,与客户建立信任,并提升软件供应链安全。
提升软件供应链的透明度是解决开源代码安全与合规问题的未来方向, SBOM 是其中最关键之处。无论开发团队规模大小与否,确保应用程序安全的一个必要步骤是评估用于创建应用程序的开源组件的供应链是否安全。通过建立一个完整而准确的软件物料清单(SBOM),组织可以更好的理解与开源组件相关的安全风险和许可证合规信息,更好地避免和应对安全漏洞和许可证条款违约。
清源(CleanSource) SCA通过生成的完整、准确和可追溯的 SBOM,不但可以帮助企业降低安全风险和法律合规风险,还可以提高软件供应链的效率并提供可追溯性。
在美国商务部和国家电信和信息管理局(NTIA)发布关于 SBOM 中最基础元素的指导意见中规定了7个 SBOM 必备的数据字段:提供者名称、组件名称、组件版本、其他唯一标识符、依赖关系、SBOM 数据创建人和时间戳。
清源(CleanSource) SCA 可以在输出的 SBOM 中为用户提供这些信息和其他指导意见中建议的补充信息,来增强软件供应链的透明度。
常见的 SBOM 标准有 SPDX 和 CycloneDX , 清源(CleanSource) SCA可以通过标准的 SPDX 或 CycloneDX 格式进行输出。这些标准化的 SBOM 格式提供了符合 NIST 标准的必要信息。
通过标准化的格式输出,清源(CleanSource) SCA生成的 SBOM 为客户提供了一个简单且完善的解决方案。正如美国第14028号行政命令中所规定的,提高软件供应链透明度步骤之一是要求供应商向其产品的购买者提供标准的、机器可读格式的 SBOM 。虽然该行政命令目前暂时只适用于美国联邦政府采购和管理的软件,但我们完全有理由相信它将成为整个软件开发行业的一个广泛适用的标准。
1、用清源CleanSource SCA创建 SBOM
当用户使用清源(CleanSource) SCA扫描一个项目或应用程序时,扫描的详细信息会呈现在“成分管理”中的仪表板上,显示所有识别到的文件、组件、依赖、告警、漏洞、许可证等信息。 SBOM 是一个软件的成分列表,清源(CleanSource) SCA的仪表板可以以最为直观的方式生成这种列表。
用户只需导航到“报表”标签,选择“创建报告”的选项,并选择所需的格式(SPDX/CycloneDX)。在几秒钟内,项目的 SBOM 就被创建并可以下载。
下面的截图显示了我们是如何轻松地为一个被扫描应用程序创建 SBOM。
组件仪表板是我们用来展示的应用程序,demoProject。我们可以看到清源(CleanSource) SCA识别出了哪些开源组件,它们是如何被引入到应用程序中的,以及与它们相关联的漏洞信息和许可证信息。
在账户中所有生成的报告或 SBOM 都会被保存在“报告管理”标签中。这会简化组织跟踪这些 SBOM 随时间变化的情况。
无论是 SPDX 还是 CycloneDX 格式,生成的 SBOM 将是一个 JSON 文件。这会有助于它保持标准化和机器的可读性。我们可以使用 JSON 阅读器来打开。下面是我们在 Visual Studio 中打开生成的 SBOM 的视图。在这个片段中,你可以清晰地看到有安全风险的组件,以及其他信息,例如相关的许可证。
2、What's Next?
项目的 SBOM 已经被创建,那么我们下一步应该做什么?
我们可以通过2021年发生的 Log4j 事件回答这个问题,如果回溯到2021年 Log4j 0-day漏洞首次被披露的时候,我们可以通过清源(CleanSource) SCA生成的 SBOM 来发现所有使用 Log4j 组件的项目,从而可以在第一时间精准定位有漏洞的项目并根据修复建议快速进行修复。
在选择 SBOM 生成工具和组建软件供应链风险管理策略时,需要考虑的关键因素之一是如何使用 SBOM 提升风险管理的效能。 SBOM 本身是获得可见性和减少风险的关键点,但它们并不能告诉你项目中有哪些风险。真正连接 SBOM 和相关风险之间的唯一方法是使用软件成分分析 (SCA ) 解决方案。
清源(CleanSource) SCA不仅可以识别应用程序中的组件并输出完整且准确的 SBOM ,而且还可以就安全和许可证风险和冲突提供建议,以及针对安全漏洞提供修复建议。