1、软件物料清单实践指南2023.02中国信息通信研究院201.总体介绍1.1 诞生背景1.2 代表工作1.3 定义内涵02.价值与用例03.组成要素04.格式与工具05.生命周期06.常见问答07.知产与保密08.选择与决策09.行业实践10.发展趋势3诞生背景上世纪以来,物料清单在提高透明度中的作用愈发重要,已惠及汽车业、食品业、传统制造业等,形成的基本理论和原则于2013年开始应用于现代软件开发,并于近5年取得长足进步。2018年7月19日,美国国家电信和信息管理局(NTIA)召开了多部门利益相关者会议,讨论增强软件透明度的一项提案,目的是建立一个通用框架,以在软件产品中描述组件。NTIA
2、Software Component Transparency框架工作组意识和采用工作组格式和工具工作组医疗保健概念验证工作组工作重点证明SBOM的成功应用,为其他行业提供参考自动化 SBOM 的生成和使用将 SBOM 推广为一种理念、一种实践定义和完善 SBOM 规范,推动广泛、可扩展的采用信息共享格式构建促进实践支持活动所有行业NTIA多利益相关方流程计划4代表工作自SBOM诞生以来,美西方多个组织机构积极开展研究,多个行业已开始推进SBOM的应用,使得SBOM理论发展不断完善,并开始在实践中丰富内涵。2020.7,大西洋理事会“Breaking Trust”报告2020.9,BSA联盟安
3、全软件框架CISQ 可信系统宣言2020.11,ENISA确保物联网安全的准则2022.4,FDA售前准则ISO/IEC5230:2020,高质量开源许可证合规2019.1,JSP联合安全计划2018、2021,MITRE“交付无碍”项目2019.3,MUD,制造商使用说明2021.1,荷兰政府的国家网络安全中心使用SBOM增强网络安全2020,美国国家公路交通安全管理局现代车辆安全的网络安全最佳实践2022.2,NIST安全软件开发框架OWASP组件分析项目SWHID软件遗产项目,为组件提供唯一标识符20192020202120225定义内涵随着SBOM研究的不断深入,其理论体系已基本搭建完
4、成并通过行业实践不断完善,包含有供应商、作者、消费者等术语体系。SBOMSBOM是一份正式规范且机器可读的软件组件清单,清单中包含这些组件的依赖关系、层次关系以及相关信息。特定SBOM中包含的组件信息的数量和类型可能会根据行业、部门、SBOM消费者的需求等方面而有所不同。供应商商业软件发布者;合同约定的提供可交付软件的软件开发人员;免费开源软件供应商,在开源代码存储库中维护源代码以及在包管理器中维护二进制文件。根供应商作者组件SBOM的创建者,不一定是供应商。软件中不包含上游组件的供应商。由供应商或作者定义的软件单位。一个产品即一个组件,库、单个文件、组件的集合也是组件。上下游视角中,产品、中
5、间产品、最终产品均可被视为组件。6定义内涵随着SBOM研究的不断深入,其理论体系已基本搭建完成并通过行业实践不断完善,包含有供应商、作者、消费者等术语体系。消费者从供应商处获得第三方软件的商业或非商业实体。属性组件、SBOM的特征或相关信息,主要用于识别组件。包括基线属性和其他属性。SBOM条目SBOM条目指组件及其关联属性,在SBOM表中,一行即为一个条目。最小元素支持基础SBOM功能的必要部分:数据字段数据字段包括供应商、组件名称、组件版本、其它唯一标识符、依赖关系、SBOM数据作者以及时间戳等元素的信息结构。自动化支持自动化支持通过自动生成和机器可读性来扩展至软件生态系统。实践流程实践流
6、程定义 SBOM 请求、生成和使用的操作,包括:频率、深度、已知的未知、分发和交付、访问控制和容错等。701.总体介绍02.价值与用例2.1 提高软件透明度的价值2.2 构建SBOM的价值2.3 SBOM用例03.组成要素04.格式与工具05.生命周期06.常见问答07.知产与保密08.选择与决策09.行业实践10.发展趋势82.1 价值提高软件透明度如果缺乏对软件系统组件和功能的全局可见性,将大大增加网络安全风险及软件开发、采购和维护的成本。随着全球互联程度日益增加,这些风险和成本不仅会影响到个人用户和相关组织,还会影响到公共安全和国家安全等集体利益。提高软件透明度的方法:提高识别易受攻击的