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)的更多相关文章

  1. Office高级威胁漏洞在野利用分析

    高级威胁漏洞背景 在高级威胁攻击中,黑客远程投递入侵客户端最喜欢的漏洞是office文档漏洞,就在刚刚结束不久的黑帽子大会上,最佳客户端安全漏洞奖颁给了CVE-2017-0199漏洞,这个漏洞是时下o ...

  2. [转载20131024]Nginx服务器漏洞的利用和修复方法

    本文主要分为两大部分,第一部分介绍了Nginx的一些常见安全漏洞的形成原因.利用方法,并给出了相应的解决办法;第二部分介绍了Nginx安全加固时需要关注的主要内容. Nginx(发音同engine x ...

  3. Java反序列化漏洞通用利用分析

    原文:http://blog.chaitin.com/2015-11-11_java_unserialize_rce/ 博主也是JAVA的,也研究安全,所以认为这个漏洞非常严重.长亭科技分析的非常细致 ...

  4. [ Redis ] Redis 未授权访问漏洞被利用,服务器登陆不上

    一.缘由: 突然有一天某台服务器远程登陆不上,试了好几个人的账号都行,顿时慌了,感觉服务器被黑.在终于找到一个还在登陆状态的同事后,经查看/ect/passwd 和/etc/passwd-异常,文件中 ...

  5. Redis未授权访问漏洞的利用及防护

    Redis未授权访问漏洞的利用及防护 什么是Redis未授权访问漏洞? Redis在默认情况下,会绑定在0.0.0.0:6379.如果没有采取相关的安全策略,比如添加防火墙规则.避免其他非信任来源IP ...

  6. 20145330 《网络对抗》 Eternalblue(MS17-010)漏洞复现与S2-045漏洞的利用及修复

    20145330 <网络对抗> Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复 加分项目: PC平台逆向破解:注入shellco ...

  7. Lib之过?Java反序列化漏洞通用利用分析

    转http://blog.chaitin.com/ 1 背景 2 Java反序列化漏洞简介 3 利用Apache Commons Collections实现远程代码执行 4 漏洞利用实例 4.1 利用 ...

  8. 3. XML实体注入漏洞的利用与学习

    XML实体注入漏洞的利用与学习 前言 XXE Injection即XML External Entity Injection,也就是XML外部实体注入攻击.漏洞是在对非安全的外部实体数据进行处理时引发 ...

  9. 实战讲解XXE漏洞的利用与防御策略

    现在许多不同的客户端技术都可以使用XMl向业务应用程序发送消息,为了使应用程序使用自定义的XML消息,应用程序必须先去解析XML文档,并且检查XML格式是否正确.当解析器允许XML外部实体解析时,就会 ...

  10. [代码审计基础 04]ssrf漏洞的利用&伪协议

    ssrf漏洞的利用&伪协议 0x1 SSRF原理解析 什么是ssrf SSRF (Server-Side Request Forgery,服务端请求伪造)是指攻击者向服务端发送包含恶意URL链 ...

随机推荐

  1. P4870 [BalticOI 2009 Day1]甲虫 题解

    题目链接 简要题意 在一个数轴上有 \(n\) 滴露水,每滴露水初始水量为 \(m\),每秒会蒸发一滴水,一个甲虫初始在原点,速度为 1,水能瞬间喝完,问它最多能喝到几滴水. 题目分析 对于这种移动区 ...

  2. APP攻防--安卓逆向&JEB动态调试&LSPosed模块&算法提取&Hook技术

    JEB环境配置 安装java环境变量(最好jdk11) 安装adb环境变量 设置adb环境变量最好以Android命名 启动开发者模式 设置-->关于平板电脑-->版本号(单机五次) 开启 ...

  3. 开发现代化的.NetCore控制台程序:(2)创建一个C#项目模板

    前言 上一篇文章(开发一个现代化的.NetCore控制台程序,包含依赖注入/配置/日志等要素)介绍了开发现代化的.NetCore控制台程序的细节,但这还不够,我又创建了一个脚手架模板,并命名为 Flu ...

  4. easy ui 按钮图标样式合集

    data-options="iconCls:'icon-search'" 可替换以下值 icon-add icon-print icon-mini-add icon-cvs ico ...

  5. mysq数据库查询之分组查询

    一.什么是分组查询分组查询:将查询结果按照指定字段进行分组二.分组查询的基本语法select 查询字段 from 表名 [where 条件] group by 分组字段名 [having 条件表达式] ...

  6. C#12中的Collection expressions(集合表达式语法糖)

    C#12中引入了新的语法糖来创建常见的集合.并且可以使用..来解构集合,将其内联到另一个集合中. 支持的类型 数组类型,例如 int[]. System.Span<T> 和 System. ...

  7. 开源推荐,灵活多变功能强大的CMDB

    一个完善的基础资源数据库是我们构建运维自动化上层应用的基础,所以构建CMDB系统成了有想法在DevOps运维自动化领域有所发展的企业离不开的重要一环,但受制于每家企业不同的内外部环境.资源配置以及管理 ...

  8. 是谁的简历上全是秒杀商城和RPC啊?

    是不是还在苦于自己简历上的项目离不开商城.RPC.秒杀.论坛.外卖.点评等等烂大街的项目?是不是翻遍全网再很难找到一个既有含金量又能看得懂的项目?那么现在就不用找了,下面这个项目一定适合你! 高性能短 ...

  9. Redis 学习笔记1:数据类型

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zset(sorted set:有序集合). 一.Redis 数据类型-STRING 1.常用 ...

  10. 【笔记整理】requests使用代理

    使用proxies参数传递代理信息 import requests if __name__ == '__main__': proxies = { # 这个字典的key不可以乱写,必须是http和htt ...