来源:Endor Labs
没有 VEX 的 SBOM 就像没有果冻的花生酱。SBOM 最近一直是网络安全领域的热门词汇,但了解为什么 VEX(漏洞利用交换)如此重要的配套文件很重要。
什么是 VEX?
VEX,即漏洞利用交换,是一个供软件生产商与软件消费者共享对其软件组件中存在的漏洞的评估的系统。VEX 是软件生产商对其软件中的漏洞进行分类和标记的机制。
“Vulnerability Exploitability eXchange (VEX) 的目标是允许软件供应商或其他方断言特定产品中特定漏洞的状态。” 资料来源- CISA
VEX 文档用于提供一致和标准化的方式来描述漏洞。它们包括有关漏洞的标准详细信息,例如其严重性、它影响的软件。它们还包括对漏洞的分析,例如漏洞是否可以被利用、原因、如何缓解或修复漏洞,以及可用于防范该漏洞的任何已知变通办法。
VEX 让 SBOM 变得更好
VEX 本身是一种安全建议,但在两个方面改进了传统的安全建议:
它是机器可读的,因此可以集成到其他工作流程和管理工具中。
它主动允许软件生产商回答有关他们对漏洞所做的尽职调查的问题,以交流漏洞是否可能是实际风险。
SBOM 就像构成一个软件的所有组件的清单。它包括有关每个组件的详细信息,例如其名称和版本。您可以使用 SBOM 来查找某个版本的软件包是否存在任何已知漏洞,但 SBOM 只会告诉您漏洞是否影响这些软件组件,而不是应用程序。VEX 不仅允许团队交流影响这些软件组件的漏洞,还可以解释这些漏洞是否影响应用程序。
这是来自 SBOM 的示例片段。如您所见,它提供了有关软件组件、版本以及软件组件来源的基本信息:
VEX 的主要优势之一是它提供了一种通用语言和格式来交换有关漏洞的信息。这使不同组织更容易共享信息并协作解决漏洞。
VEX 文档可用于为 SBOM 中列出的漏洞提供上下文和解释。例如,VEX 文档可能会解释某个漏洞已在组件的最新版本中得到修复,或者该漏洞不会影响代码,因为代码在应用程序中不可访问。VEX 文档中的以下片段允许组织传达存在漏洞的代码在应用程序中不可访问,因此该应用程序不受漏洞影响。
如何确定您是否“受影响”
VEX 文档告诉您的关键内容之一是漏洞是否会影响您的应用程序,并让开发人员有机会解释为什么某些依赖项已或未修补。手动执行此操作是一个耗时的过程,需要开发人员调查每个漏洞并确定是否正在使用易受攻击的代码。然后他们必须在 VEX 文档中相应地注释发现。
要确定应用程序是否受到漏洞影响,开发人员必须手动调查每个漏洞并确定是否在其应用程序中使用了易受攻击的代码。他们将需要检查应用程序中使用的代码库、依赖项和任何第三方库。他们还必须考虑对代码库进行的任何定制或修改。
借助 Endor Labs,此过程可以自动化。Endor Labs 使用静态分析来了解软件依赖项如何相互通信,并构建调用图来确定可达性。映射依赖关系后,您可以生成自动包含可达性数据的 SBOM 和 VEX 文档,并注释应用程序或库是否受到影响。
VEX 是如何使用的?
首先让我们谈谈如何从没有 VEX 的供应商那里接收 SBOM。SBOM 描述了应用程序中包含的所有依赖项。然后,安全经理可能会将这些软件版本与漏洞数据库进行比较,并发现其中一些依赖项具有严重的已知漏洞。
如果没有 VEX 文档来提供有关这些漏洞是否正在影响应用程序的上下文,安全经理必须回到供应商处,并开始一个来回的过程,要么检查每个漏洞并确定为什么它没有被修补,或者只是要求供应商修复每一个漏洞。
使用 VEX,过程可能如下所示:
- 安全经理从供应商那里收到一份 SBOM 文档,其中包含一个组件,该组件具有最近合理地登上新闻头条的漏洞。
- 易受攻击的库列在 SBOM 中,安全经理审查 VEX 文档以确定漏洞的严重性和被利用的可能性。VEX 文档将包括诸如 CVSS 分数和供应商围绕漏洞所做的尽职调查等信息。
- 基于此信息,安全经理可以评估漏洞的严重程度并确定适当的操作。例如,如果该漏洞的 CVSS 评分较高且可被利用,则安全管理员可能会优先考虑尽快修补该漏洞。
- 如果漏洞被确定为严重漏洞,安全经理将与运营团队协调以安排补丁或更新,或与供应商协调以确保修复可用
- 最后,安全经理将监控和跟踪漏洞,并确保漏洞得到有效管理。
通过结合使用 VEX 和 SBOM,安全经理可以快速了解漏洞的状态,并采取适当的措施来缓解、修复或忍受漏洞。