Skip to main content
QUICK REVIEW

[论文解读] Challenges of Producing Software Bill Of Materials for Java

Musard Balliu, Benoît Baudry|arXiv (Cornell University)|Mar 20, 2023
Manufacturing Process and Optimization参考文献 11被引用 5
一句话总结

本文评估了 Java 生态系统中的六种 SBOM 工具,揭示了各工具在依赖项检测方面存在显著不一致。研究识别出 SBOM 准确性方面存在关键挑战,包括不完整的传递依赖追踪、不一致的工具元数据以及有限的运行时强制执行机制,强调了制定标准化、可靠的 SBOM 生成流程以保障软件供应链安全的必要性。

ABSTRACT

Software bills of materials (SBOM) promise to become the backbone of software supply chain hardening. We deep-dive into 6 tools and the accuracy of the SBOMs they produce for complex open-source Java projects. Our novel insights reveal some hard challenges for the accurate production and usage of SBOMs.

研究动机与目标

  • 评估多种工具在 Java 生态系统中生成 SBOM 的准确性和一致性。
  • 识别捕获完整且精确的软件供应链组件(包括传递依赖项和构建工具)方面的系统性挑战。
  • 评估使用 SBOM 进行自动化威胁分析和运行时强制执行的可行性。
  • 检查关键 SBOM 属性(如校验和、外部引用和许可证元数据)的支持情况。
  • 为改进企业软件供应链中的 SBOM 标准和工具质量提供实证证据。

提出的方法

  • 在 26 个活跃的开源 Java 项目上评估了六种成熟且持续维护的 SBOM 生成工具。
  • 在相同项目集上运行每种工具,以在相同条件下比较 SBOM 输出。
  • 通过人工分析验证并交叉检查各工具之间的依赖项列表、校验和及元数据。
  • 采用 CycloneDX 格式作为 SBOM 表示和比较的通用标准。
  • 分析 SBOM 在捕获直接和传递依赖项、构建工具及外部引用方面的完整性。
  • 评估对安全关键属性(如哈希值、许可证和外部引用)的支持情况。

实验结果

研究问题

  • RQ1在相同 Java 项目中,不同 SBOM 生成工具在识别相同直接和传递依赖项集合方面的一致性如何?
  • RQ2SBOM 生成工具在捕获应用库之外的构建和工具依赖项(如 CI/CD 工具、测试框架)方面达到何种程度?
  • RQ3SBOM 生成工具在记录二进制依赖项的校验和与版本信息方面有多准确?
  • RQ4SBOM 在依赖项和工具的外部引用及来源元数据方面存在哪些缺口?
  • RQ5哪些挑战阻碍了 SBOM 在自动化威胁建模、漏洞检测和运行时访问控制中的应用?

主要发现

  • 不同 SBOM 生成工具为同一 Java 项目生成了显著不同的依赖项列表,表明当前工具链在一致性和可靠性方面存在不足。
  • 许多工具未能准确捕获传递依赖项,尤其是在依赖关系图深度嵌套的情况下。
  • 校验和生成不一致或缺失,损害了 SBOM 的完整性与可重现性。
  • 对构建和工具依赖项(如 CI/CD 工具、测试框架)的文档支持极为有限且不一致。
  • 对源代码仓库和许可证的外部引用经常不完整或缺失,降低了 SBOM 在审计和合规方面的实用性。
  • 研究发现,由于数据不完整且不准确,当前的 SBOM 尚不足以支持自动化威胁分析和运行时强制执行。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。