SBOM落地的关键一步——漏洞可利用性交流(VEX)
SolarWinds 网络安全事件的影响,加上 Log4j 漏洞对众多知名企业产生难以估量的后果,使软件供应链安全成为安全领域的热门话题,并且SBOM现在成为网络安全漏洞计划的一个重要组成部分。
SBOM 本质上是构成软件的组件列表,其好处之一是识别潜在的带有漏洞的组件。领先的 SBOM 平台和工具,如 Dependency Track,通过将与组件相关的漏洞与那些使用 SBOM 来分析其软件组件的人所关注的漏洞相关联,来实现这一目的。此类工具通过查询国家漏洞数据库(NVD)、Sonatype OSS索引、VulnDB或OSV等来源来实时更新漏洞信息。
然而,软件中带有漏洞的组件并不意味着该组件是可以被利用的。这便是漏洞可利用性交流(VEX)发挥作用的地方。
什么是漏洞可利用性交流(VEX)?
漏洞可利用性交流(VEX)最初是为用户(运维人员、开发人员以及服务提供商)提供额外的信息,说明产品是否受到所含组件中特定漏洞的影响,如果受到影响,是否有建议的补救措施。
简言之,VEX为漏洞添加了上下文信息以告知风险管理活动。与SBOM和软件供应链安全指南类似,VEX诞生于美国国家电信与信息管理局软件组件透明度的多利益相关方流程。虽然VEX是为特定的SBOM用例而开发的,但它并不局限于与SBOM一起使用。
再次强调,并不是所有漏洞都可以被利用,因此企业可以通过漏洞管理计划和活动进行风险管理。在网络安全风险管理中,企业需要基于其风险容忍度来识别、分析、评估和解决网络安全威胁。因此,企业需要根据风险发生的可能性和严重程度来对风险进行优先级排序。如果不了解漏洞是否被利用,就不可能精确地预估其发生的可能性。
VEX如何清晰提供上下文信息
软件供应商授权发布VEX,为用户提供特定产品中的漏洞信息。VEX 支持4个主要的状态选项:
未受影响(Not affected):无需对该漏洞采取补救措施
已受影响(Affected):建议采取措施来修复或解决此漏洞
已修复(Fixed):这些版本的产品已经包含对该漏洞的修复
在调查中(Under Investigation):目前尚不清楚这些产品版本是否受到该漏洞的影响。更新将在以后的版本中提供
以SBOM为例,它推动了机器可读构件和文档的发展,可以更好地实现自动化、准确性并提升效率。在 NIST 的开放安全控制评估语言(OSCAL)中我们也能看到类似的趋势,该语言将传统的基于书面的安全控制和授权文件转换成机器可读的格式。
VEX正在做类似的事情,避免通过电子邮件发送安全公告或有关漏洞和建议的细节,而是将这些信息转换为机器可读格式,进而可以使用现代化的安全工具进行自动化操作。随着对软件供应链透明度和安全性越来越受到重视,我们不难想象这样一个世界:企业软件清单能够在仪表盘和工具中被可视化,同时还有其相关的漏洞和漏洞的实际可利用性,所有这些都是依靠SBOM和VEX数据呈现的。
但实际情况与之相反,在现代生态系统中,大多数组织都没有他们所消费和部署的软件组件的准确清单,也没有与之相关的漏洞信息。尽管现实中现代软件绝大多数是由开源软件(OSS)组件组成的(有些估计高达80%至90%),但企业仍不重视SBOM。虽然VEX可由软件供应商生成,但也可以由第三方生成,让用户决定如何使用数据。进而,我们会看到安全人员和安全漏洞厂商会尝试为产品制作VEX,作为其服务的一部分。
VEX规范
2022年,CISA发布了两个VEX文档。一个是VEX用例文档,另一个是VEX状态说明文档。
VEX用例文档提供了VEX文件的最少数据组件,与SBOM中的最少组件定义类似。在这一文档中,它说明了VEX文档必须包含VEX源数据、产品细节、漏洞细节和产品状态。产品状态细节包含产品中的漏洞状态信息——是否受影响、是否修复还是仍在调查中。
VEX状态说明文档的重点是要求VEX文件包含一个理由说明,说明为什么VEX文件创建者认为产品的状态不受影响。这使得供应商必须提供产品不受漏洞影响的理由,如组件或易受攻击的代码不存在、易受攻击的代码不能被对手控制或代码不在执行路径中以及产品中已存在内置的缓解措施。
VEX将成为SBOM可落地的关键一步,它提供产品供应商关于其产品中存在的漏洞的可利用性的上下文见解和说明。通过使用为VEX文件定义的最少要素及其相关的不受影响的理由字段,可以让软件消费者做出风险知情决定,以推动其漏洞管理行为成为网络安全计划的一部分。
SBOM落地的关键一步——漏洞可利用性交流(VEX)的更多相关文章
- Office高级威胁漏洞在野利用分析
高级威胁漏洞背景 在高级威胁攻击中,黑客远程投递入侵客户端最喜欢的漏洞是office文档漏洞,就在刚刚结束不久的黑帽子大会上,最佳客户端安全漏洞奖颁给了CVE-2017-0199漏洞,这个漏洞是时下o ...
- [转载20131024]Nginx服务器漏洞的利用和修复方法
本文主要分为两大部分,第一部分介绍了Nginx的一些常见安全漏洞的形成原因.利用方法,并给出了相应的解决办法;第二部分介绍了Nginx安全加固时需要关注的主要内容. Nginx(发音同engine x ...
- Java反序列化漏洞通用利用分析
原文:http://blog.chaitin.com/2015-11-11_java_unserialize_rce/ 博主也是JAVA的,也研究安全,所以认为这个漏洞非常严重.长亭科技分析的非常细致 ...
- [ Redis ] Redis 未授权访问漏洞被利用,服务器登陆不上
一.缘由: 突然有一天某台服务器远程登陆不上,试了好几个人的账号都行,顿时慌了,感觉服务器被黑.在终于找到一个还在登陆状态的同事后,经查看/ect/passwd 和/etc/passwd-异常,文件中 ...
- Redis未授权访问漏洞的利用及防护
Redis未授权访问漏洞的利用及防护 什么是Redis未授权访问漏洞? Redis在默认情况下,会绑定在0.0.0.0:6379.如果没有采取相关的安全策略,比如添加防火墙规则.避免其他非信任来源IP ...
- 20145330 《网络对抗》 Eternalblue(MS17-010)漏洞复现与S2-045漏洞的利用及修复
20145330 <网络对抗> Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复 加分项目: PC平台逆向破解:注入shellco ...
- Lib之过?Java反序列化漏洞通用利用分析
转http://blog.chaitin.com/ 1 背景 2 Java反序列化漏洞简介 3 利用Apache Commons Collections实现远程代码执行 4 漏洞利用实例 4.1 利用 ...
- 3. XML实体注入漏洞的利用与学习
XML实体注入漏洞的利用与学习 前言 XXE Injection即XML External Entity Injection,也就是XML外部实体注入攻击.漏洞是在对非安全的外部实体数据进行处理时引发 ...
- 实战讲解XXE漏洞的利用与防御策略
现在许多不同的客户端技术都可以使用XMl向业务应用程序发送消息,为了使应用程序使用自定义的XML消息,应用程序必须先去解析XML文档,并且检查XML格式是否正确.当解析器允许XML外部实体解析时,就会 ...
- [代码审计基础 04]ssrf漏洞的利用&伪协议
ssrf漏洞的利用&伪协议 0x1 SSRF原理解析 什么是ssrf SSRF (Server-Side Request Forgery,服务端请求伪造)是指攻击者向服务端发送包含恶意URL链 ...
随机推荐
- 前端工程化&&自动化部署&&model抽离
你不知道的前端 MVVM 模式中的数据层(万字长文,教你造轮子) 实现了 Model 层抽离的全部想法, 后端返回的接口--model(错误处理,返回统一格式,洗数据,缓存)--再拿这个处理过的数据 ...
- [Python急救站课程]动态爱心绘画
想不想画一个动态爱心来哄女朋友高兴呢? 那么它来啦 import random from math import sin, cos, pi, log from tkinter import * CAN ...
- reverse_re3
main函数 点击重要函数 对if里面的数字按r键,使其从ASCII码转为字符 发现wasd四个关键的移动方向键,判断为迷宫问题 判断应该是要次数为2,即次数++3(从0开始计数)次才会有flag 点 ...
- two-pointer 算法
介绍 双指针算法是一种通过设置两个指针不断进行单向移动来解决问题的算法. 它包含两种形式: 两个指针分别指向不同的序列.比如:归并排序的合并过程. 两个指针指向同一个序列.比如:快速排序的划分过程. ...
- NET8 ORM 使用AOT SqlSugar
AOT介绍 .Net8的本地预编机器码AOT,它几乎进行了100%的自举.微软为了摆脱C++的钳制,做了很多努力.也就是代码几乎是用C#重写,包括了虚拟机,GC,内存模型等等.而需要C++做的,也就仅 ...
- Echarts 饼图,legend样式美化
最后样式图: 实现代码: var myChart = echarts.init(document.getElementById('container')); let option = { /*{b}: ...
- Java程序员必备技能:Collections工具类深度解析!
在之前的文章中,我们学习了单列集合的两大接口及其常用的实现类:在这些接口或实现类中,为我们提供了不少的实用的方法. 本篇文章我们来介绍一种java开发者为我们提供了一个工具类,让我们更好的来使用集合 ...
- 【Javaweb】java中接口(interface)怎么用
首先我们先了解什么是接口(interface) 实际情况中,又是我们必须从几个类中派生出一个子类,继承他们所有的属性和方法.但是,JAVA中是不支持多重继承的,那么为了满足这一目的,就有了接口,就可以 ...
- 地图选择器datav怎么使用?
DataV 是一款基于阿里云的数据可视化产品,它提供了丰富的组件和功能,其中包括地图选择器.下面是一个详细的介绍: 1. 了解 DataV: - DataV 是一款强大的数据可视化工具,能够帮助用户将 ...
- 浅析MySQL代价模型:告别盲目使用EXPLAIN,提前预知索引优化策略
背景 在 MySQL 中,当我们为表创建了一个或多个索引后,通常需要在索引定义完成后,根据具体的数据情况执行 EXPLAIN 命令,才能观察到数据库实际使用哪个索引.是否使用索引.这使得我们在添加新索 ...