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链 ...
随机推荐
- Python Lambda 用法大全
一.Lambda表达式基础 Lambda 的组成分为三部分 lambda arguments: expression arguments为Lambda表达式的参数列表,多个参数使用逗号分隔:expre ...
- 【LGR-161-Div.3】洛谷基础赛 #4 P9688 Colo.
原题链接:P9688 Colo. 很显然,能够共存的颜色一定不会相交,所以可以记录每个颜色最左边的位置和最右边的位置,我们对于每个颜色只考虑,这个颜色左边的可以和这个颜色共存的额颜色 用f[i][j] ...
- IDEA配置maven引入包时报Unable to import maven project: See logs for details 错误的解决办法
这也是我遇到的问题,在此记录下一,当时百度了一下午试过了各种方法,最后看到了一位大佬的博客解决了这个问题. 所以我也抄一下大佬博客也是记录一下问题的解决过程,以免下次遇到相似问题再浪费不必要的时间 参 ...
- JavaScript高级程序设计笔记07 迭代器与生成器
迭代器与生成器 1.迭代 反复多次执行一段程序,(有明确的终止条件) 迭代器.生成器 ES6 计数循环(for):最简单的迭代 迭代次数.迭代每次执行的操作 (顺序已知) 古早迭代(有序->数组 ...
- JAVAweek4
本周学习: 1.JAVA环境的搭建,包括JDK的下载,和classpath环境设置 2.*.java和*.class程序的运行 class Demo {public static void main( ...
- java 405_Http状态405-方法不允许
解决方法: 删除下列代码. super.doGet(req.resp); super.doPost(req.resp); 分析: 405错误一般指请求method not allowed 错误. 请求 ...
- Django学习(一) 之 环境搭建
写在前面 最近比较迷AI绘图,那就上个图吧,我感觉还挺好看的. 可能会有人说,之前不一致分享的是flask吗,怎么突然改到django了? 这个问题问得好,开发环境遇到了一些小困难! 不过django ...
- 多项目git账户用户名和邮箱设置以及局部github代理
因为公司使用自建的gitlab服务器所以需要配置两个git账户分别用来访问公司仓库和自己的github仓库. 前言: 首先给大家梳理一下多用户名或者说多邮箱使用git的理解误区.我们需要知道的是我们的 ...
- Navicat远程连接Centos8.4服务器MySQL8.0数据库
一.首先登陆服务器后台管理,使服务器开放3306策略 二.开启远程连接 1.登陆服务器的MySQL数据库 mysql -uroot -p 2.登录成功后,切换数据库 use mysql; 3.查看当前 ...
- 探秘C#中的秘密通道:五种引人注目的方法调用内部或私有方法
在 C# 中,可以使用不同的方法调用内部或私有方法.下面分别介绍通过反射.MethodInfo.CreateDelegate.表达式(树).动态方法(call).动态方法(calli)这五种方法. 1 ...