「 网络安全常用术语解读 」漏洞利用交换VEX详解

漏洞利用交换(Vulnerability Exploitability eXchange,简称VEX)是一个信息安全领域的标准,旨在提供关于软件漏洞及其潜在利用的实时信息。根据美国政府发布的用例(PDF),由美国政府开发的漏洞利用交换(VEX)使供应商和用户都能够专注于构成最直接风险的漏洞,可避免在没有实际影响的漏洞上浪费时间。本文接下来会详细介绍VEX,包括其产生背景、维护组织以及主要内容。

1. 产生背景

随着信息技术的快速发展,软件安全漏洞成为网络安全的重要威胁之一。黑客通过利用这些漏洞,可以进行网络攻击,窃取敏感信息,甚至破坏关键基础设施。为了提高对漏洞和其潜在利用的响应速度和效率,需要有一个统一的、标准化的信息交换机制,使得安全研究人员、软件开发者、安全运维人员以及相关组织能够及时共享和更新漏洞信息。在这样的背景下,VEX标准应运而生。

2. VEX简介

VEX(Vulnerability Exploitability eXchange),即漏洞可利用性交换,是一个软件生产者与软件消费者共享其软件组件中存在的漏洞评估的系统。VEX提供了一种一致且标准化的方式来描述漏洞,包括漏洞的标准详细信息,如严重性、影响软件。还包括对漏洞的分析,例如漏洞是否可被利用,以及如何减轻或修复漏洞,以及可用于防范的任何已知解决方案。VEX是软件生产商对其软件中的漏洞进行分类和标记的机制。

VEX标准是由开放式标准组织OASIS(Organization for the Advancement of Structured Information Standards)维护的。OASIS CSAF(Common Security Advisory Framework)技术委员会负责VEX的制定和更新,其目的是推动安全信息的标准化和互操作性。虽然VEX概念是为了满足软件材料清单(SBOM)使用方面的特殊需求而开发的,但VEX并不局限于与SBOM一起使用,也不一定会包含在SBOM中。

3. VEX内容

VEX文档是产品信息、漏洞信息和相关状态详细信息的绑定。VEX文档的最小数据元素必须包括VEX元数据产品详细信息漏洞详细信息产品状态

  • VEX元数据必须包括:VEX格式标识符、VEX文档的标识符字符串、作者、作者角色、时间戳。
  • 产品详细信息必须包括:产品标识符或产品系列标识符(例如,唯一标识符或供应商名称、产品名称和版本字符串的组合,如既定SBOM指南中所述)
  • 漏洞详细信息必须包括:漏洞标识符(CVE或其他标识符)和漏洞描述(如CVE描述)
  • 产品状态详细信息(即有关该产品中漏洞的状态信息)必须来自以下列表:
    • 不受影响:不需要对此漏洞进行补救
    • 受影响:建议采取措施补救或解决此漏洞。
    • 已修复:这些产品版本包含针对该漏洞的修复程序。
    • 分析中:目前尚不清楚这些产品版本是否受到该漏洞的影响。更新将在稍后的版本中提供

其他VEX内容细节,如CVSS分数或到其他资源的链接,可以添加到VEX文档中,为客户增加价值。本文档介绍了每个用例所需的最小字段。产品状态字段中的状态信息在第4节中的3.1.1用例中介绍。

若想了解详细内容,可以参阅如下两个官方发布文档:

  • vex_one-page_summary.pdf (访问密码: 6277)
  • VEX_Use_Cases_Aprill2022.pdf (访问密码: 6277)

4. 使用案例

利用VEX可以清晰明了的体现下图中的漏洞影响场景,比如用例3.1.1表示单一产品、单一版本、单一漏洞、单一状态,用例3.2.2表示单一产品、单一版本、多个漏洞、单一状态。3.1.1这个用例表明公司要在在不同的VEX文档中对其产品的每个版本进行声明。对于给定产品的给定版本,特定漏洞只能具有单一状态。
在这里插入图片描述

假设Example Company获悉Log4j及其相关CVE2021-44228的安全漏洞。下面介绍了4种潜在的VEX状态,并分别举例说明:

  • 不受影响:示例公司有一个ABC产品。当第一个Log4Shell漏洞(CVE-2021-44228)被披露时,Example Company的产品安全事件响应小组(PSIRT)发布了一份VEX文件,声明4.2版中的产品ABC不受影响。Example Company之所以作出此断言,是因为带有易受攻击代码的类在发货前已被删除。示例VEX文件

    注意:为了告诉消费者为什么产品不受影响。在本例中,声明是易受攻击的库的“具有易受攻击代码的类在发货前已删除”

  • 受影响:示例公司的产品DEF使用易受攻击的版本。DEF版本1.0中的Log4j库。当第一个Log4Shell漏洞(CVE-2021-44228)披露时,Example Company的PSIRT发布了一份VEX文件,声明产品DEF受到影响,客户应更新到产品DEF的1.1版本。示例VEX文件

    为了告诉消费者他们应该这样做。在这个例子中,行动声明是“客户应该更新到产品DEF的1.1版本,这可以解决问题。”

  • 分析中:示例公司有GHI产品。当第一个Log4Shell漏洞(CVE-2021-44228)被披露时,Example Company的PSIRT发布了一份VEX文件,声明目前正在调查GHI的17.4版本是否受到CVE-2021-4 4228的影响。示例VEX文件

    预计VEX文件将在稍后的某个时间点更新分析结果。

  • 已修复:示例公司有一个使用1.0版Log4j库的产品DEF。当第一个Log4Shell漏洞(CVE-2021-44228)被披露时,Example Company的PSIRT发布了一个更新和一份VEX文件,声明产品DEF版本1.1已修复。示例VEX文件

    此状态主要与受影响状态结合使用(即,以前的版本受到影响,当前版本已修复),但也可以用作独立状态。

VEX补充了SBOM,并可用于提供产品或多个产品中给定漏洞的最新状态。它还可以用于提供单个产品中多个漏洞的状态。

SBOM是组成一个软件的所有组件的清单。它包括每个组件的详细信息,如名称和版本。我们可以使用SBOM来查找软件包的某个版本是否存在任何已知的漏洞,但SBOM只会告诉我们漏洞是否会影响这些软件组件,而不会影响应用程序。VEX允许团队不仅交流影响这些软件组件的漏洞,还解释这些漏洞是否会影响应用程序。

5. VEX给漏洞管理带来的诸多好处

VEX(Vulnerability Exploitability eXchange)标准为漏洞管理带来了多方面的好处,这些好处可以概括为以下几个核心点:

  • 标准化和结构化信息:VEX提供了一种标准化的信息交换格式,使得不同组织之间可以交换漏洞信息,而不必担心格式不兼容的问题。这种标准化也有助于自动化工具的处理和分析。

  • 提高信息共享效率:通过VEX,安全研究人员和利益相关者可以更容易地分享和获取漏洞信息,降低了误解和沟通成本,从而提高整个行业的安全水平。

  • 实时更新和响应:VEX允许实时更新漏洞信息,这意味着安全团队可以迅速了解新发现的漏洞,并据此更新防御措施。

  • 跨供应链协作:VEX与软件材料清单(SBOMs)结合,可以帮助供应链中的所有环节了解和应对共享的漏洞风险,从而加强整个软件供应链的安全性。

  • 支持多漏洞和多产品管理:VEX可以同时处理多个漏洞和多个产品,这对于大型企业和复杂的软件生态系统来说尤其重要。

  • 支持自动化工具:VEX设计时考虑了自动化处理的需求,使得安全工具和系统可以更容易地集成和利用VEX数据。

  • 帮助制定修复策略:通过VEX提供的漏洞利用难度等详细信息,组织可以更有效地制定修复漏洞的优先级和策略。

  • 提升用户意识:VEX标准化的安全咨询格式有助于用户更好地理解和响应安全通知,提高用户的安全意识和行动力。

总体而言,VEX通过提供一种标准化、结构化和实时的漏洞信息交换方式,极大地提高了漏洞管理的效率和效果,有助于组织更有效地保护其信息系统免受漏洞威胁。

6. 附:VEX样例

{
  "document": {
    "category": "csaf_vex",
    "csaf_version": "2.0",
    "notes": [
      {
        "category": "summary",
        "text": "Example Company VEX document. Unofficial content for demonstration purposes only.",
        "title": "Author comment"
      }
    ],
    "publisher": {
      "category": "vendor",
      "name": "Example Company ProductCERT",
      "namespace": "https://psirt.example.com"
    },
    "title": "Example VEX Document Use Case 1 - Fixed",
    "tracking": {
      "current_release_date": "2022-03-03T11:00:00.000Z",
      "generator": {
        "date": "2022-03-03T11:00:00.000Z",
        "engine": {
          "name": "Secvisogram",
          "version": "1.11.0"
        }
      },
      "id": "2022-EVD-UC-01-F-001",
      "initial_release_date": "2022-03-03T11:00:00.000Z",
      "revision_history": [
        {
          "date": "2022-03-03T11:00:00.000Z",
          "number": "1",
          "summary": "Initial version."
        }
      ],
      "status": "final",
      "version": "1"
    }
  },
  "product_tree": {
    "branches": [
      {
        "branches": [
          {
            "branches": [
              {
                "category": "product_version",
                "name": "1.1",
                "product": {
                  "name": "Example Company DEF 1.1",
                  "product_id": "CSAFPID-0001"
                }
              }
            ],
            "category": "product_name",
            "name": "DEF"
          }
        ],
        "category": "vendor",
        "name": "Example Company"
      }
    ]
  },
  "vulnerabilities": [
    {
      "cve": "CVE-2021-44228",
      "notes": [
        {
          "category": "description",
          "text": "Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3, and 2.3.1) JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. From log4j 2.15.0, this behavior has been disabled by default. From version 2.16.0 (along with 2.12.2, 2.12.3, and 2.3.1), this functionality has been completely removed. Note that this vulnerability is specific to log4j-core and does not affect log4net, log4cxx, or other Apache Logging Services projects.",
          "title": "CVE description"
        }
      ],
      "product_status": {
        "fixed": [
          "CSAFPID-0001"
        ]
      }
    }
  ]
}

7. 参考

[1] What is VEX and Why Should I Care?
[2] https://www.cisa.gov/sbom

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/552649.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ARM_day8:温湿度数据采集应用

1、IIC通信过程 主机发送起始信号、主机发送8位(7位从机地址1位传送方向(0W,1R))、从机应答、发数据、应答、数据传输完,主机发送停止信号 2、起始信号和终止信号 SCL时钟线,SDA数据线 SCL高电平,SDA由高到低——起始信号 SC…

密码学 | 椭圆曲线密码学 ECC 入门(一)

目录 正文 1 公共密钥密码学的兴起 2 玩具版 RSA 算法 2.1 RSA 基本原理 2.2 RSA 举例说明 1 加密 2 解密 3 不是完美的陷门函数 ⚠️ 原文地址:A (Relatively Easy To Understand) Primer on Elliptic Curve Cryptography ⚠️ 写在前面&#xff1…

第3章 内存管理(1)

3.1 内存管理概念 程序放入内存才能执行【缓解CPU与硬盘速度差异大的矛盾】 3.1.1 内存管理的基本原理和要求 内存管理的主要功能: 1.内存分配与回收2.地址转换:逻辑地址转换成物理地址3.内存空间的扩充4.内存共享5.存储保护 ①设置上下限寄存器②采用重定位寄存器…

有条件的打破IBGP水平分割----反射规则和联邦+实验举例

背景:在一个AS中的设备运行了BGP协议,那么正常应该都连接了其他的AS,存在EBGP邻居关系;又由于IBGP的水平分割规则,导致从外部学习到的路由传递给本地AS时,需要和本地AS中运行BGP协议都要建立IBGP邻居关系&a…

C++ 一些编程问题解决 (C++ some programming error solutions)

电脑配置:window10, 64位操作系统,基于x64的处理器,Microsoft Visual Studio Community 2019 Version 16.4.5 问题1:Unhandled exception at 0x00007FFDB39AA839 in TesseractLACadd1.exe: Microsoft C exception: boost::filesy…

移动端双验证码登录实现

说明:本文介绍如何用图形验证码短信验证码实现移动端登录思路; 分析 通过手机号图形验证码手机验证码实现登录的时序图如下: 说明: (1)用户进入登录界面,出现图形验证码,可点击图形…

外贸人寻找客户的6大锦囊 | 进出口的贸易数据服务 | 箱讯科技

一信息特征法---培养一双善于甄别的眼 1、客户的询盘,每个客户在写询盘时用的语言是不一样的,这就构成了客户语言的特征。有的朋友可能发现有的客户英语差的太狠,写出来的询盘很简单很搞笑。如果你一笑而过,那么就太可惜了。这个…

活动的生命周期

返回栈 Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Stack )。系统总是会显示处于栈顶的活动给用户 活动状态 运行状态当一个活动位于返回栈的栈顶时,这时活动就处于运行状态…

音乐小程序|基于微信开发音乐小程序的系统设计与实现(源码+数据库+文档)

音乐小程序目录 基于微信开发音乐小程序的系统 一、前言 二、系统设计 三、系统功能设计 小程序端: 后台 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师…

广西建筑模板批发供应,工厂直销

随着广西地区基础设施建设的不断加速,建筑模板作为工程施工的重要辅材,其需求也在持续攀升。在众多建筑模板生产企业中,贵港市能强优品木业有限公司以其25年的丰富生产经验和卓越的产品品质,脱颖而出,成为了广西知名的建筑模板供应商。 能强优品木业公司专注于建筑模板的生产与…

mac IDEA激活 亲测有效

1、官网下载mac版本IDEA并安装 2、打开激活页面 3、下载脚本文件 链接: https://pan.baidu.com/s/1I2BqdfxSJv1A96422rflnA?pwdm494 提取码: m494 4、命令行到该界面,执行 sudo bash idea.sh 可能出现的问题: 查看sh文件,targetFilePath…

西瓜书学习——第一、二章笔记

[] 什么是机器学习? 研究关于“学习算法”(一类能从数据中学习出其背后潜在规律的算法)的一门学科。 PS:深度学习指的是神经网络那一类学习算法,因此是机器学习的子集。 假设空间和版本空间 举个栗子:假设现已收集到某地区近几年的房价和学校数量数据&#xf…

[Java EE] 多线程(二): 线程的创建与常用方法(下)

2.3 启动一个线程–>start() 之前我们已经看到了如何通过重写run()方法来创建一个线程对象,但是线程对象被创建出来并不意味着线程就开始运行了. 覆写run方法是给线程提供了所要做的事情的指令清单创建线程对象就是把干活的人叫了过来.而调用start方法,就是喊一声"行…

国产主流数据库存储类型简析

国产数据库在技术架构上主要分为集中式、基于中间件分布式和原生分布式架构,衍生出集中式架构和分布式架构。那么在这些部署架构中,从数据分布的视角来看,在数据库中数据分布的形态是怎样的。本文将简要分析OceanBase、PolarDB、OpenGauss、G…

【Spring】-编程式事务和声明式事务

spring中控制事务的方式有两种:编程式事务和声明式事务,今天我以两种事务出发,对spring中实现事务的EnableTransactionManagement和Transaction两个注解的底层原理进行讨论。 一、编程式事务 什么是编程式事务? 硬编码的方式实现…

牛客NC197 跳跃游戏(一)【中等 动态规划 Java、Go、PHP】

题目 题目链接: https://www.nowcoder.com/practice/23407eccb76447038d7c0f568370c1bd 思路 答案说的merge区间就是每个A[i]的地方能跳到的最远坐标是A[i] [i], 有一个maxReach,遍历一遍A[i], 不断刷新MaxReach, 如果某个i 位置比maxReac…

MT3023 歌词中找单词

1.暴力 10/12 #include <bits/stdc.h> using namespace std; int n; string a[10005]; int main() {cin >> n;for (int i 0; i < n; i)cin >> a[i];string ll;cin >> ll;for (int i 0; i < n; i){string u a[i];int num 0;int j 0;for (in…

ssm056基于Java语言校园快递代取系统的设计与实现+jsp

校园快递代取系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本校园快递代取系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短…

【在线OJ】雪花算法代码实现

雪花算法 用一个64比特位的long类型来作为生成id的类型&#xff0c;首先我们要了解哪些位置对应的意义&#xff0c;其中在本项目中10位的工作机器id被细分位5bit的机房id与5bit的机器id。雪花算法支持每毫秒生成2的12次方-1个id。 用一个64比特位的long类型来作为生成id的类型…

unity制作拼接地图

前段时间有个朋友问我想要制作一款地图编辑器&#xff0c;最开始我还想着在一个平面用节点切割制作地图编辑器这倒是也行&#xff0c;但不太好控制每一个点&#xff0c;如果未来项目大了&#xff0c;更加不好维护。 偶然间翻到一篇文章&#xff1a;unity地图边缘检测 或许我们…