「 网络安全常用术语解读 」软件物料清单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:

  • 软件供应商提供:一些软件供应商会主动提供其产品的SBOM,以增加透明度并帮助客户评估软件的安全性。

  • 自动生成工具:有一些自动生成SBOM的工具可用,这些工具通常被称为SCA工具(比如Black Duck、七彩棱镜、OpenSCA),它可以扫描软件源代码或二进制文件,识别其中使用的组件和库,并生成相应的SBOM。

    若想了解更多关于 SCA 的细节,可以参阅博主文章《「 网络安全常用术语解读 」软件成分分析SCA详解:从发展背景到技术原理再到业界常用检测工具推荐》。

4. 总结

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

5. 参考文档

  • OWASP 软件物料清单实践指南(2023).pdf(访问密码:6277)
  • 软件供应链安全治理实践指南白皮书(2023).pdf (访问密码:6277)

推荐阅读

  • 【解读】保障软件供应链安全:SBOM推荐实践指南(含指南获取链接)
  • 【解读】Synopsys发布2024年开源安全和风险分析报告OSSRA

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/2821.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

顺序表的应用-通讯录

顺序表的应用-通讯录 1.操作2.功能要求2.1.功能要求2.2.思路小结2.3.文件梳理2.4.代码实现"SeqList.h""Contact.h""SeqList.c""Contact.c""test.c" 1.操作 链接: 顺序表专题 这篇文章介绍了顺序表的概念与基本操作。 本文将…

ctfshow web入门 SQl注入 web191--web200

web191 多了一个正则绕过 上脚本布尔盲注 用ord #author:yu22x import requests import string url"http://70adf0cb-2208-4974-b064-50a4f4103541.challenge.ctf.show/api/index.php" sstring.ascii_lettersstring.digits flag for i in range(1,45):print(i)for j…

【C 数据结构】二叉树

文章目录 【 1. 基本原理 】1.1 二叉树的性质1.2 满二叉树1.3 完全二叉树 【 2. 二叉树的顺序存储结构 】2.1 完全二叉树的顺序存储2.2 普通二叉树的顺序存储2.3 完全二叉树的还原 【 3. 二叉树的链式存储结构 】【 4. 二叉树的先序遍历 】4.1 递归实现4.2 非递归实现 【 5. 二…

项目九:学会python爬虫数据保存(小白圆满级)

前言 前篇我们能够学会爬虫的请求和解析的简单应用,也能看懂爬虫的简单代码和运用,这一次我们学一下爬虫页面请求解析的数据通过什么样的方法来保存。 目录 前言 存储方法 1.文本文件 2.CSV文件 3.Excel文件 4.HTML文件 5.JSON文件 6.XML文件 …

3D开发工具HOOPS SDK在电子设计自动化(EDA)中的应用

在当今电子行业中,电子设计自动化(EDA)软件的重要性日益突显。这些软件不仅需要能够处理大量的电子设计数据,而且需要提供高效的设计工作流程、准确的分析模拟功能以及直观的可视化界面。为了满足这些需求,开发者们寻求…

真实世界的密码学(一)

原文:annas-archive.org/md5/655c944001312f47533514408a1a919a 译者:飞龙 协议:CC BY-NC-SA 4.0 前言 序言 当你拿起这本书时,你可能会想,为什么又一本关于密码学的书?甚至,为什么我要读这本…

实验4 数字频率计

实验目的: 1、使用铆孔U7输出一个脉冲,频率不定。 2、使用铆孔V7测量脉冲频率,并在数码管上显示。 实验内容及步骤: 设计原理 测量频率的方法有很多,按照其工作原理分为无源测量法、比较法、示波器法和计数法等。…

【Java】文件操作(一)

文章目录 ✍一、文件的基本认识1.文件是什么?2.文本文件和二进制文件3.文件权限4.相对路径和绝对路径1.1绝对路径1.2相对路径 ✍二、文件的基本操作1.FIle的属性2.File的构造方法3.File类的方法3.1File类的获取操作3.2File类的判断操作3.3文件创建和删除3.4其他的常…

深入理解JavaScript:对象什么时候创建

🌟 我们在chrome浏览器中debug程序。为了好debug我们会写一些在日常开发中基本不会采用的代码书写方式。 JavaScript中创建对象有3中方式: 1、对象字面量; 2、new; 3、Object.create(对象); 1、使用new创建对象 fun…

玩转PyCharm

玩转PyCharm PyCharm是由JetBrains公司开发的提供给Python专业的开发者的一个集成开发环境,它最大的优点是能够大大提升Python开发者的工作效率,为开发者集成了很多用起来非常顺手的功能,包括代码调试、高亮语法、代码跳转、智能提示、自动补…

SWOT分析法:知彼知己的战略规划工具

文章目录 一、什么是SWOT分析法二、SWOT分析法如何产生的三、SWOT分析法适合哪些人四、SWOT分析法的应用场景五、SWOT分析法的优缺点六、SWOT分析实例 一、什么是SWOT分析法 SWOT分析法是一种用于评估组织、项目、个人或任何其他事物的战略规划工具。SWOT是Strengths&#xff…

PotPlayer详细安装教程

安装步骤 进入官网: https://potplayer.tv/ 根据自己电脑的windows系统选择对应的版本安装 选择合适的字体 下载完成 优化设置 刚下好的potplayer仅限于能用,所有设置均为默认状态,我们需要进行优化 首先打开potplayer 右击选择选项 在…

C语言洛谷题目分享(10)最厉害的学生和明明的随机数

目录 1.前言 2.俩则题目 1.最厉害的学生(p5740) 1.题目描述 2.输入格式 3.输出格式 4.输入输出样例 5.题解 2. 明明的随机数 1.题目描述 2.输入格式 3.输出格式 4.输入输出样例 5.题解 3.小结 1.前言 哈喽大家好啊,今天继续为大…

Linux 基础命令使用创建用户

浏览网站的时候图片,看到一个小练习。创建用户分别位于不同的用户组。 解答下面的题目 2、建立用户使用 useradd,设置密码使用passwd的命令。大概不会使用命令可以借助man来解答。 先建立用户组: groupadd group1 # group1 不存在先建立&…

会声会影滤镜怎么用 会声会影滤镜效果怎么调 会声会影视频制作教程

在进行视频剪辑时,合理地运用滤镜效果可以提升视频的观赏性,使你的作品更加出彩。这篇文章便一起来学习会声会影滤镜怎么用,会声会影滤镜效果怎么调。 一、会声会影滤镜怎么用 使用会声会影的滤镜效果非常简单,以下是具体的操作…

全氟己酮灭火绳的用法早知道:灭火绳多少钱一米?

全氟己酮灭火装置作为一种高效、安全、环保的灭火技术,已经成为了备受青睐的新型灭火选择之一。伴随着市场需求不断增长,在全氟己酮厂家的努力下,各式各样的全氟己酮自动灭火装置不断涌现,包括自动灭火贴、灭火片、灭火毯、灭火绳…

如何打造自己的O2O平台系统:商业模式探索与实践

大家好,我是微三云周丽,今天给大家分析当下市场比较火爆的商业模式! 小编今天跟大伙们分享什么是O2O平台系统? 在数字化浪潮的推动下,O2O(Online to Offline)商业模式已成为连接线上与线下、商家…

c primer plus(2)

前言 延续上一讲的内容,今天来写一写这本书的第三章:处理数据 好吧,本次博客仍然是总结重点内容 简单变量 在本书中变量有三个属性 1信息存储在什么地方 2要存储什么 3存储类型 比如 int braincount; braincount5; 这两行代码体现了…

人工智能论文GPT-3(1):2020.5 Language Models are Few-Shot Learners;摘要;引言;scaling-law

摘要 近期的工作表明,在大量文本语料库上进行预训练,然后针对特定任务进行微调,可以在许多NLP任务和基准测试中取得实质性进展。虽然这种方法在架构上通常是与任务无关的,但仍然需要包含数千或数万示例的针对特定任务的微调数据集…

我们该如何看待AIGC(人工智能)

目录 AIGC的概述: AIGC的发展经历: AIGC的概述: [TOC]( 🚀文章目录) ---AIGC全称为AI-Generated Content,指基于生成对抗网络GAN、大型预训练模型等人工智能技术,通过已有数据寻找规律,并通过…