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中的多态根据实际的对象类型调用对应的函数 (1)可以在基类中定义虚函数返回具体的类型信息 (2)所有的派生类都必须实现类型相关的虚函数 (3)每个类中的类型虚函数都需…...
雷电模拟器安卓7以上+Charles抓包APP最新教程
一、工具准备: 证书安装工具全局代理工具下载: https://download.csdn.net/download/weixin_51111267/87536481 二、Charles设置 (一)电脑上证书安装 (二)安卓模拟器上系统证书安装(RooT权限打…...
vsvode 配置sftp,连接远程linux全过程
在本地安装sftp插件,配置参数https://blog.csdn.net/u011119817/article/details/106630599在linux机台安装vscode-service服务https://zhuanlan.zhihu.com/p/294933020连接超时,将配置文件添加超时时间遇到的错误处理:(272条消息) 【vscode插…...
C++类转换为蓝图、打印日志、蓝图关卡、删除C++文件
蓝图宏 UCLASS(Blueprintable)//c脚本可转换为蓝图 UPROPERTY(BlueprintReadWrite)//蓝图中可创建set,get节点 UFUNCTION(BlueprintCallable)//可创建函数节点 UPROPERTY(BlueprintReadWrite,Category”My Variables”)//节点进行分类打印日志 UE_LOG(LogTemp, Lo…...
elasticsearch高级篇:核心概念和实现原理
1.elasticsearch核心概念1.1 索引(index)一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母&#…...
部署安装Nginx服务实例
其他服务: 搭建zabbix4.0监控服务实例 普罗米修斯监控mysql数据库实战 Linux安装MySQL数据库步骤 一. Nginx概念介绍 1.介绍Nginx程序 Nginx (engine x) 是一款开源且高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。主要特点是占用…...
云原生架构设计原则及典型技术
云原生是面向云应用设计的一种思想理念,充分发挥云效能的最佳实践路径,帮助企业构建弹性可靠、松耦合、易管理可观测的应用系统,提升交付效率,降低运维复杂度。代表技术包括不可变基础设施、服务网格、声明式 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)的方式进行的,JDK提供各种各样的“流”类,以获取不同类型的数据。可以理解为将管道插入到文件中,然后从管道获取数据。这个管道外边还可以套管道,外边的管道对数据进行处理…...
打破原来软件开发模式的无代码开发平台
前言传统的系统开发是需要大量的时间和成本的,如今无代码开发平台的出现就改变了这种状况。那么你知道什么是无代码开发平台?无代码开发对企业来说有什么特殊的优势么?什么是无代码平台无代码平台指的是:使用者无需懂代码或手写代码,只需通…...
06-redux中的hook
知识点06-redux的hook 在函数组件中要和redux连接,分为两个步骤 前提状态机已经主备就绪 注入store到根组件 在函数组件中,使用Provider包裹根组件,并将store注入这一步,依旧是不能少的 import store from "./redux/store…...
watch监听不到数组对象的变化
watch监听不到数组对象的变化一、利用索引直接改变arr的值二、修改数组的长度arr.length三、添加和修改对象属性和值Vue不能监听到数组和对象值的变化其实和双向绑定的原理有关。Vue双向绑定原理是利用js中的Object.defineproperty重定义对象的GET和SET方法,而同时这…...
言语理解与表达之语句表达
考点一语句填空提问方式:填入划横线处最恰当的一句是( )1.横线在结尾:总结前文提出对策2.横线在开头:需概括文段的中心内容3.横线在中间:注意与上下文联系把握好主题词,保证文段话题一致实例1和…...
2023年全国最新食品安全管理员精选真题及答案14
百分百题库提供食品安全管理员考试试题、食品安全员考试预测题、食品安全管理员考试真题、食品安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 131.食品生产企业在一年内()次因违反《中华人民共…...
【MySQL】约束
文章目录1. 约束2. 非空约束 NOT NULL3. 唯一性约束 UNIQUE4. 主键约束 PRIMARY KEY5. 自增约束 AUTO_INCREMENT6. 外键约束FOREIGN KEY7. 默认值约束 DEFAULT8. 小结1. 约束 为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。从以下四个方面…...
C语言学习(三)
#include <stdio.h> int main(void){int a; scanf("%d",&a); printf("%d",a); return 0;} 正在上传…重新上传取消正在上传…重新上传取消&符号作用是把键盘中输入的值给变量a,使用scanf()时输入数值,需要按一下enter…...
TOUGH系列软件建模及在地下水、CO2地质封存、水文地球化学、地热等多相多组分系统多过程耦合
TOUGH2系列软件传统地下水模拟软件Feflow和Modflow不同,TOUGH2系列软件采用模块化设计和有限积分差网格剖分方法,通过配合不同EOS模块,软件可以处理各种复杂地质条件下,诸如地热能开发,非饱和带水气运移、油气运移&…...
k8s学习之路 | k8s 工作负载 ReplicaSet
文章目录1. ReplicaSet 基础概念1.1 RS 是什么?1.2 RS 工作原理1.3 什么时候使用 RS1.4 RS 示例1.5 非模板 Pod 的获得1.6 编写 RS1.7 使用 RS1.8 RS 替代方案2. ReplicaSet 与 ReplicationController2.1 关于 RS、RC2.2 两者的选择器区别2.3 总结1. ReplicaSet 基础…...
python实现半色调技术图像转换
半色调技术 半色调技术是一种将灰度图像转换为黑白图像的技术。它是通过将灰度图像的像素值映射到黑白像素值上来实现的。 比如说,在一块只能显示纯黑或纯白的屏幕上,如何将一张灰度图显示出灰度的效果,这时就可以用半色调技术实现。 如下…...
c++面试技巧-基础篇
1.面试官:简述C语言的优缺点。 应聘者:C语言的优缺点如下。 • C语言的优点:C语言既保留了C语言的有效性、灵活性、便于移植等全部精华和特点,又添加了面向对象编程的支持,具有强大的编程功能,可方便地构…...
三八妇女节即将到来,跨境电商如何玩转节日营销?
随着国际妇女节的到来,跨境电商商家们都开始了为自己的店铺进行节日营销的准备。商家做节日营销的目的都是一样的,无非都是增加曝光率,拉动客流,增加营业额。但是每一个节日营销的形式是可以不一样的。今年有什么营销玩法呢&#…...
【Java学习笔记】10.条件语句 - if...else及switch case 语句
前言 本章介绍Java的条件语句 - if…else和switch case 语句。 Java 条件语句 - if…else Java 中的条件语句允许程序根据条件的不同执行不同的代码块。 一个 if 语句包含一个布尔表达式和一条或多条语句。 语法 if 语句的语法如下: if(布尔表达式) {//如果布…...
解析STM32启动过程
相对于ARM上一代的主流ARM7/ARM9内核架构,新一代Cortex内核架构的启动方式有了比较大的变化。ARM7/ARM9内核的控制器在复位后,CPU会从存储空间的绝对地址0x000000取出第一条指令执行复位中断服务程序的方式启动,即固定了复位后的起始地址为0x…...
微信小程序开发自学笔记 —— 八、小程序基础库的更新迭代
小程序基础库的更新迭代 小程序基础库 小程序的运行环境是分成渲染层和逻辑层的,在渲染层可以用各类组件组建界面的元素,在逻辑层可以用各类API来处理各种逻辑,组件、API其实都是小程序基础库进行包装提供的,基础库的职责还要处…...
怎么免费做一个网站/目前主流搜索引擎是哪种
正常的求LIS的方法是用dp来做,时间复杂度为O(n^2),但是面对一些题目的时候这个复杂度就有点高了,就去学了一下nlogn的解法。主要运用到了二分查找,stl里面的lower_bound 也可以。 upper_bound(i) 返回的是键值为i的元素…...
wordpress 手机页面停/公司做个网站多少钱
>>>>>Unit 11.行提示符例如:[kioskfoundation0 Desktop]$kiosk ##打开shell的用户 ##分隔符foundation0 ##主机名称Desktop ##工作目录名称$ ##身份提示符,#表示超级用户,$表示普通用户注:命令要在行提示符之后输入…...
网站怎么做移动端/新型网络营销模式
神器简介有时候,你很想关心她,但是你太忙了,以至于她一直抱怨,觉得你不够关心她。你暗自下决心,下次一定要准时发消息给她,哪怕是几句话,可是你又忘记了。你觉得自己很委屈,但是她又…...
8x8x域名解析ip地址查询 1080p/北京seo做排名
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 基本思路:建立一个包含K个元素的大顶堆。 注:python中貌似只能直接建小顶堆。 # -*- coding:utf-8 -*- class Solution:def …...
丽水网站开发/廊坊关键词排名优化
B.在打印预览状态下单击“打印”命令C.将插入点置于该页,单击“文件”菜单中“打印”命令,在“页面范围”中选“当前页”D.在工具栏中单击“打印”命令E.单击“文件”菜单中“打印”命令,在“页…...
4秒网站建设/腾讯企点怎么注册
使用帮助在任何命令模式下,只需输入“?”,即显示该命令模式下所有可用到的命令及其用途。另外,还可以在一个命令和参数后面加“?”,以寻求相关的帮助。例如,我们想看一下在Privileged Exec模式下哪些命令可…...