• 「 网络安全常用术语解读 」软件物料清单SBOM详解


    1. 概览

    软件物料清单(Software Bill of Materials,SBOM)是软件成分信息的集合,SBOM文件中记录了软件产品或服务所使用组件、库、框架的清单,用于描述软件构建过程中使用的所有组件及其关系,以实现软件供应链的自动化识别与管理的需求。SBOM 属性主要包括基线属性集、未确定的属性值、映射到现有的格式、组件关系以及附加元素,如下图所示:

    在这里插入图片描述

    SBOM已经广泛应用,可以看作软件成分清单的一种实现标准,根据美国国家电信和信息管理局(National Telecommunications and Information Administration,NTIA)要求软件企业提供的 SBOM 是一个正式的、机器可读的列表。

    2. 主流 SBOM 格式

    当前 SBOM 有三种最为主流的格式,分别为:SPDX、SWID 以及 CycloneDX。具体明细对比如下:

    比较项SPDXCycloneDXSWID
    定义一种标准语言,用于以多种文件格式传达与软件组件相关的组件、许可证、版权和安全信息。一种轻量级SBOM标准,设计用于应用程序安全上下文和供应链组件分析。SWID 标准定义了一个生命周期,其中SWID 标签作为软件产品安装过程的一部分添加到端点,并在产品卸载过程中删除。
    维护主体Linux基金会OWASP、Sonatype、ServiceNowNIST
    支持格式RDFa、xlsx、spdx、xml、json、yamXML、JSONXML
    元数据文档创建信息,组件信息,文件信息,文件片段信息,证书信息,SPDX元素之间的关系,注释信息供应商,制作商,组件信息,证书信息,创建BOM的工具信息,外部API信息,依赖关系信息语料库标签:描述预安装阶段的软件(TAR、ZIP 文件、可执行文件);
    主要标签:提供产品名称、标签的全球唯一标识符以及标识标签创建者的基本信息;
    补丁标签:标识并描述应用于产品的补丁;
    补充标签:增加主要或补丁标签的附加细节。

    漏洞利用交换(Vulnerability Exploitability Exchange,VEX)和 SaaSBOM 是软件成分清单的两个辅助套件,是对传统SBOM 的延伸与扩展,可以视情况选择独立或者与 SBOM 整合。若要了解更多关于VEX的细节,可以参阅博主文章《「 网络安全常用术语解读 」漏洞利用交换VEX详解》

    SaaSBOM 通过提供系统的逻辑表示形式来补充 IaC(基础设施即代码),包括所有服务的清单、它们对其他服务的依赖、端点 URL、数据分类以及服务之间的数据定向流。

    3. SBOM的获取方式

    SBOM 可以通过两种方式获取:一是供应商主动提供软件成分清单;另一种是利用软件成分分析SCA工具来自动生成SBOM:

    4. 总结

    使用 SBOM,可以更好地跟踪和管理软件的变更,有助于减少错误,提高软件开发的效率。然而,由于软件的生命周期通常比硬件产品更长,且变更更频繁,维护 SBOM 存在一定的挑战。

    5. 参考文档


    推荐阅读

    在这里插入图片描述

  • 相关阅读:
    docker的使用方法
    OpenCV图像处理——(实战)答题卡识别试卷
    CC1链分析与复现
    发布的webservice缺少< wsdl:types/ >,< wsdl:message/ >标签
    java基础10题
    lua脚本实现redis分布式锁(脚本解析)
    MQ刷盘机制
    深入理解Aarch64内存管理
    c++替换字符的方法
    CVPR 2019|CFNet:语义分割中的共现特性
  • 原文地址:https://blog.csdn.net/u013129300/article/details/138169547