当前位置: 首页 > news >正文

SBOM应该是软件供应链中的安全主食

当谈到软件材料清单(SBOM)时,通常的类比是食品包装上的成分列表,它让消费者知道他们将要吃的薯片中有什么。 

美国机构有90天时间创建所有软件的清单

同样,SBOM是一个软件中组件的清单,在应用程序是来自多个来源的代码的集合的时代,这是一个至关重要的工具,许多代码来自组织的开发团队之外。

当谈到SBOM时,它与食品上的营养标签一样重要,因为这种风险不是对你的身体健康,而是对你的业务的风险。

当您使用软件时,您的业务可能面临的风险是,您不了解软件的组成。当这种情况发生时,你……将自己暴露在一个你无法控制的弱点之下。如果你不了解这一点,你就无法采取预防措施来确保自己不会过度暴露。

这就是为什么在过去几年中,随着威胁级别的增加,SBOM已经成为不断扩大的软件供应链管理的核心。

通过开源软件和可重用软件组件的日益增长的使用,来自多个来源的贡献,加速的代码发布速度,以及持续集成和持续交付(CI/CD)管道,现代开发已经变得更快和更复杂。

随着软件供应链变得越来越复杂,关键是要知道你间接利用什么开源作为第三方库、服务、API或工具的一部分。 

不法分子知道,通过在开发过程中的任何一点注入恶意代码或利用组件中的漏洞,他们可以向上游移动并感染多个系统,正如2020年的网络安全管理软件产品漏洞和Log4j漏洞的滥用。

需要知道 SBOM也是拜登政府制定并于本周发布的国家网络安全计划的一个关键点。

他们不仅告诉组织他们引入的软件是由什么组件组成的,还告诉组织里面有什么代码。 

SBOM确保你不仅知道软件中的成分,还知道这些成分的成分,有时被称为传递依赖关系。

在开源中,许多包都在调用其他包,您可能知道也可能不知道您正在使用这些包,而SBOM可以帮助您完全理解这些关系。

2021年12月发现的Apache Log4j缺陷在科技界引起了轩然大波,因为这种广泛使用的日志工具正被广泛利用,通过单次注入恶意代码来危害易受攻击的系统。 

它的应用如此广泛,以至于触及了大多数组织,其中许多组织并不知道自己受到了影响。

在漏洞曝光的几周内,有报告称每小时有1000万次Log4j漏洞利用尝试。

Log4j被用于绝大多数软件中,我们对SBOM有需求。当Log4j中的缺陷被发现时,我们所有人都立即暴露于该漏洞之下。

Log4j将一切都置于清晰的焦点中。问题已经存在一段时间了。

SBOM的概念相对较新。它于2018年与美国农业部下属的国家电信和信息管理局一起出现,三年后发布了标准。

拜登总统在2021年5月的行政命令中呼吁联邦政府在网络安全管理软件产品和Log4j事件后改善其IT安全,这两起事件都影响了政府机构。

与通常发生的情况一样,组织将SBOM从一个不错的功能提升为一个半强制性的解决方案,现在大多数政府机构和大型企业都在评估它。

一个挑战是实现和管理SBOM是高度手动的,这对管理员和开发人员来说是个坏消息。当谈到软件供应链安全时,一个持续的紧张是确保安全需求不会阻碍现代软件开发的增长速度。

自动化是关键 

这就是SBOM流程自动化如此重要的原因。NIST的标准包括多个元素,从使用的软件组件及其供应商到版本号和对组件库的访问。

必须根据发布级别、发现的潜在威胁和确定的风险来评估版本级别。

从开源操作系统到内部开发的应用,再到第三方‘收缩包装’堆栈,大型应用的展开充满了上下文挑战、清点方法和手动验证,所有这些都容易出错。 

虽然识别和报告问题的过程是成文的,但它没有解决手动维护此类清单并一致验证其内容的问题。 

必须将自动化纳入流程的每个步骤,从生成和发布SBOM到接收它们,然后将漏洞补救纳入他们当前的应用程序安全计划,而不必采用新的工作流程。

如何处理SBOM还有其他的考虑。SBOM提供了大量信息,但组织需要决定如何使用这些信息。

SBOM是一个很方便的缩写词,用来指代更广泛的软件供应链问题。 

它们也是更大的供应链安全技术缓存的一部分,例如SLSA(软件工件的供应链级别),这是一个用于确保整个供应链中软件工件完整性的框架。

它诞生于一个内部谷歌工具,现在是一个行业项目,包括英特尔、VMware、Linux基金会和云本地计算基金会等组织。

SBOM本身并不是灵丹妙药。

我们必须了解他们擅长什么,不太有用的地方。他们擅长帮助你理解软件中的组件。它们对于提高这些组件的安全性来说用处不大。

有几个关键的标准SBOM格式–软件分组数据交换(SPDX)、CycloneDX和软件识别(SWID)标记。 

现在需要的是一个安全和集中的漏洞交流平台,公司可以在这里分享关于漏洞的信息。

拥有SBOM的数据是有用的,但是如果一个漏洞被发现,关于它的交流仍然是点对点的,信息需要更快更广泛地共享。 

另一个新出现的问题是SBOM等意味着维护大多数应用程序中使用的开源软件的人要做更多的工作。据称,大多数维护人员60%是无偿的,基本上是志愿者。 

他们通常缺乏一致性,更没有动机去处理安全开发实践的长清单。在像影响网络安全管理软件产品和Log4j这样的高调漏洞之后,政府和行业越来越关注网络安全,在这种背景下,对这些志愿维护者的需求呈指数级增长。 

提高安全性需要工具(如SBOM)和人员。是时候开始向开源维护者支付报酬了,就像公司向其他负责软件安全的人支付报酬一样。 

与许多用于供应链安全的工具一样,SBOM仍然相对较新,需要不断完善。

鉴于不法分子想方设法攻击供应链的速度,成熟越快越好。

SBOM还有一段路要走,但这是一个很好的解决方案。有个标准也不错,没有标准就是个问题。

相关文章:

SBOM应该是软件供应链中的安全主食

当谈到软件材料清单(SBOM)时,通常的类比是食品包装上的成分列表,它让消费者知道他们将要吃的薯片中有什么。 美国机构有90天时间创建所有软件的清单 同样,SBOM是一个软件中组件的清单,在应用程序是来自多个来源的代码的集合的时…...

[计算机组成原理(唐朔飞 第2版)]第一章 计算机系统概论 第二章 计算机的发展及应用(学习复习笔记)

第1章 计算机系统概论 1.1 计算机系统简介 1.1.1 计算机的软硬件概念 计算机系统由“硬件”和“软件”两大部分组成。 硬件 是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成如主机、外部设备等 软件 软件看不见…...

Python的数据分析相关的框架

Python特别强大,也是一款可以实现可数据分析语言,它有很多开源的库和工具,可以帮助数据科学家处理和分析数据。 以下是一些常用的Python库和工具: NumPy:NumPy是一个Python库,用于处理大型多维数组和矩阵&…...

为什么会出现植物神经紊乱 总是检查不出来该怎么办

植物神经紊乱是一种很多人都害怕的疾病,你们知道是为什么吗? 植物神经紊乱是一种神经系统失调导致的多种症状的总称,这种疾病是由于社会因素所诱发的脏器功能的失调,是一种非常复杂的疾病。而这种疾病是可能会发生在任何年龄阶段的…...

宏任务和微任务

JavaScript 把异步任务又做了进一步的划分,异步任务又分为两类,分别是: ① 宏任务(macrotask) 异步 Ajax 请求setTimeout、setInterval文件操作其它宏任务 ② 微任务(microtask) Promise.then…...

使用WebSocket、SockJS、STOMP实现消息实时通讯功能

客户端 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head><title>websocket client</title><script src"http://cdn.bootcss.com/sockjs-client/1.1.1/sockjs.min.js"></script>…...

C++回顾(十一)—— 动态类型识别和抽象类

11.1 动态类识别 11.1.1 自定义类型 C中的多态根据实际的对象类型调用对应的函数 &#xff08;1&#xff09;可以在基类中定义虚函数返回具体的类型信息 &#xff08;2&#xff09;所有的派生类都必须实现类型相关的虚函数 &#xff08;3&#xff09;每个类中的类型虚函数都需…...

雷电模拟器安卓7以上+Charles抓包APP最新教程

一、工具准备&#xff1a; 证书安装工具全局代理工具下载&#xff1a; https://download.csdn.net/download/weixin_51111267/87536481 二、Charles设置 &#xff08;一&#xff09;电脑上证书安装 &#xff08;二&#xff09;安卓模拟器上系统证书安装&#xff08;RooT权限打…...

vsvode 配置sftp,连接远程linux全过程

在本地安装sftp插件&#xff0c;配置参数https://blog.csdn.net/u011119817/article/details/106630599在linux机台安装vscode-service服务https://zhuanlan.zhihu.com/p/294933020连接超时&#xff0c;将配置文件添加超时时间遇到的错误处理&#xff1a;(272条消息) 【vscode插…...

C++类转换为蓝图、打印日志、蓝图关卡、删除C++文件

蓝图宏 UCLASS(Blueprintable)//c脚本可转换为蓝图 UPROPERTY(BlueprintReadWrite)//蓝图中可创建set&#xff0c;get节点 UFUNCTION(BlueprintCallable)//可创建函数节点 UPROPERTY(BlueprintReadWrite,Category”My Variables”)//节点进行分类打印日志 UE_LOG(LogTemp, Lo…...

elasticsearch高级篇:核心概念和实现原理

1.elasticsearch核心概念1.1 索引(index)一个索引就是一个拥有几分相似特征的文档的集合。比如说&#xff0c;你可以有一个客户数据的索引&#xff0c;另一个产品目录的索引&#xff0c;还有一个订单数据的索引。一个索引由一个名字来标识&#xff08;必须全部是小写字母&#…...

部署安装Nginx服务实例

其他服务&#xff1a; 搭建zabbix4.0监控服务实例 普罗米修斯监控mysql数据库实战 Linux安装MySQL数据库步骤 一. Nginx概念介绍 1.介绍Nginx程序 Nginx (engine x) 是一款开源且高性能的HTTP和反向代理web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。主要特点是占用…...

云原生架构设计原则及典型技术

云原生是面向云应用设计的一种思想理念&#xff0c;充分发挥云效能的最佳实践路径&#xff0c;帮助企业构建弹性可靠、松耦合、易管理可观测的应用系统&#xff0c;提升交付效率&#xff0c;降低运维复杂度。代表技术包括不可变基础设施、服务网格、声明式 API 及 Serverless 等…...

【Linux】-- 工具介绍 vim_gcc/g++_gdb

目录 Linux中的软件管理工具 – yum 在Linux下安装软件的方式 认识yum 查找软件包 安装 卸载 lrzsz.x86_64 rz sz Linux中的编辑器 – vim vim的基本概念 vim各模式切换 vim命令模式命令 vim底行模式命令 gcc / g gcc / g的作用 gcc / g语法 预处理 编译 汇…...

JAVA SE: IO流

一、Java流式输入输出原理Java对于输入输出是以流(Stream)的方式进行的&#xff0c;JDK提供各种各样的“流”类&#xff0c;以获取不同类型的数据。可以理解为将管道插入到文件中&#xff0c;然后从管道获取数据。这个管道外边还可以套管道&#xff0c;外边的管道对数据进行处理…...

打破原来软件开发模式的无代码开发平台

前言传统的系统开发是需要大量的时间和成本的&#xff0c;如今无代码开发平台的出现就改变了这种状况。那么你知道什么是无代码开发平台?无代码开发对企业来说有什么特殊的优势么?什么是无代码平台无代码平台指的是&#xff1a;使用者无需懂代码或手写代码&#xff0c;只需通…...

06-redux中的hook

知识点06-redux的hook 在函数组件中要和redux连接&#xff0c;分为两个步骤 前提状态机已经主备就绪 注入store到根组件 在函数组件中&#xff0c;使用Provider包裹根组件&#xff0c;并将store注入这一步&#xff0c;依旧是不能少的 import store from "./redux/store…...

watch监听不到数组对象的变化

watch监听不到数组对象的变化一、利用索引直接改变arr的值二、修改数组的长度arr.length三、添加和修改对象属性和值Vue不能监听到数组和对象值的变化其实和双向绑定的原理有关。Vue双向绑定原理是利用js中的Object.defineproperty重定义对象的GET和SET方法&#xff0c;而同时这…...

言语理解与表达之语句表达

考点一语句填空提问方式&#xff1a;填入划横线处最恰当的一句是&#xff08; &#xff09;1.横线在结尾&#xff1a;总结前文提出对策2.横线在开头&#xff1a;需概括文段的中心内容3.横线在中间&#xff1a;注意与上下文联系把握好主题词&#xff0c;保证文段话题一致实例1和…...

2023年全国最新食品安全管理员精选真题及答案14

百分百题库提供食品安全管理员考试试题、食品安全员考试预测题、食品安全管理员考试真题、食品安全员证考试题库等&#xff0c;提供在线做题刷题&#xff0c;在线模拟考试&#xff0c;助你考试轻松过关。 131.食品生产企业在一年内&#xff08;&#xff09;次因违反《中华人民共…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发&#xff0c;旨在打造一个互动性强的购物平台&#xff0c;让用户在购物的同时&#xff0c;能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机&#xff0c;实现旋转、抽拉等动作&#xff0c;增…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器&#xff0c;docker&#xff0c;镜像&#xff0c;k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...

如何在Windows本机安装Python并确保与Python.NET兼容

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

WebRTC调研

WebRTC是什么&#xff0c;为什么&#xff0c;如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...

MySQL体系架构解析(三):MySQL目录与启动配置全解析

MySQL中的目录和文件 bin目录 在 MySQL 的安装目录下有一个特别重要的 bin 目录&#xff0c;这个目录下存放着许多可执行文件。与其他系统的可执行文件类似&#xff0c;这些可执行文件都是与服务器和客户端程序相关的。 启动MySQL服务器程序 在 UNIX 系统中&#xff0c;用…...