原文链接:https://arxiv.org/abs/2304.13261 《On the Way to SBOMs: Investigating Design Issues and Solutions in Practice》
以下论文总结由豆包生成。
《On the Way to SBOMs: Investigating Design Issues and Solutions in Practice》由 TINGTING BI 等学者撰写,围绕软件物料清单(SBOM)在实践中的设计问题和解决方案展开深入研究。通过分析 GitHub 上 510 个项目的 4,786 条相关讨论,明确 SBOM 生命周期阶段、常见问题及解决方案,为该领域的研究和实践提供重要参考。
- 研究背景
- 供应链安全挑战:现代软件供应链复杂,易受攻击,软件供应链攻击年均激增 742%(2019 - 2022),如 ChatGPT 因库漏洞停机。
- SBOM 的重要性:被视为增强软件供应链安全的关键措施,但在实际生产和使用方面缺乏实证研究,需建立最佳实践。
- 研究设计
- 目标与问题:旨在全面理解 SBOM,提出 3 个研究问题:SBOM 从生产到使用经历多少阶段;伴随 SBOM 的常见问题、特点及解决时长;开发者针对 SBOM 问题讨论的解决方案。
- 研究过程:分数据收集和分析两阶段。收集阶段,先基于标签筛选超 10 开发者、超 200 问题讨论的 GitHub 项目,再手动收集分析含 “SBOM” 关键词的问题讨论;分析阶段,采用定量和定性方法,对不同数据项运用描述统计和扎根理论进行分析。
- 研究结果
- SBOM 生命周期:分为规划(41.2%)、构建(31.1%)、交付(18.2%)、维护(9.5%)四个阶段,各阶段有不同活动和特点。规划阶段多讨论依赖关系、合规性等,多在小版本发布时进行;构建阶段涉及数据提取、生成与验证等,多在大版本发布时进行;交付阶段关注安全交付机制,多在小版本发布时讨论且多数未解决;维护阶段聚焦数据治理,多在大版本发布时讨论。
- SBOM 开发问题:分为内部质量问题(15.3%,如文档不完整等)、相关开发问题(可细分为透明度、依赖、非功能需求、许可证合规等问题)、工具问题(可细分为工具支持不足、自动生成、工具质量等问题)。各问题解决时间不同,自动生成问题耗时最长(398.3 天),多数问题平均约 25 天解决,但 65.3% 未解决。
- SBOM 开发解决方案:针对内部质量问题,有更新、应用替代源等策略;针对相关开发问题,针对不同子问题有相应解决策略;针对工具问题,提出手动流程、开发自定义工具等方案。
- 讨论
- 与开发活动关系:贯穿软件开发生命周期,需保持更新以确保软件安全稳定,对版本控制要求高。
- 与技术债务关系:部分问题难解决可能形成技术债务,需尽早识别避免。
- 与透明度、可追溯性等关系:有助于提高软件供应链透明度、可追溯性,提升非功能需求,辅助项目管理,成功实施需合适工具支持。
- 在 AI 系统应用:对 AI 系统安全至关重要,能提高其安全性、可靠性和可信度。
- 有效性威胁
- 外部有效性:研究基于 GitHub 项目,结果可能不适用于其他项目。
- 结构有效性:存在关键词搜索不全面和手动标注分析的威胁,通过试点搜索、制定标准等减轻。
- 可靠性:数据收集和分析过程存在威胁,通过明确流程、提供数据集等部分缓解。
- 结论与展望:本研究揭示 SBOM 实践情况,强调其重要性。未来研究可聚焦安全开发实践、工具开发、与其他工件和活动的关系以及透明度和文档化等方面。