命名对软件供应链安全的影响
发布日期:2023-02-06      作者:       来源:      分享:

命名对软件供应链安全的影响

很多情况下,一旦产品中发现高风险安全漏洞,更大的挑战横亘眼前:怎样依据美国国家漏洞数据库(NVD)中指定的名称找出受影响的组件或产品。之所以存在这个问题,是因为 NVD 使用通用平台枚举(CPE)名称标识软件产品,该名称由美国商务部下属的国家标准与技术研究所(NIST)指定。

NVD 根据供应商、产品及其版本字符串用 CPE 标识硬件和软件组件。软件用户若想通过 NVD 确定自己在用的某产品组件是否存在相关漏洞,就必须知道该组件的准确 CPE 名称。然而,无论是开源还是专有组件,通常都不太可能找到其 CPE 名称。

大多数情况下,软件安全所需的诸多流程就是因为这一问题而无法可靠地自动化,比如软件物料清单(SBOM)生成。

难以在 NVD 中找到漏洞的原因

为了解问题全貌,可以考虑下面六种情况,下列情况都可令依赖 CPE 作为唯一标识符在 NVD 中检索组件和产品漏洞极端困难。

1、漏洞在 NVD 中以通用漏洞与暴露(CVE)编号(如 “CVE-2022-12345”)标识,并采用通用漏洞评分系统(CVSS)为每个 CVE 指定威胁级别。通常不会在分配到 CVE 编号之前就为软件产品创建 CPE。然而,很多软件供应商从未上报漏洞(可能产生 CVE),于是其产品在 NVD 中便一直没有 CPE 了。 

这未必是因为产品从未出现漏洞,而是因为开发商可能没向 NVD 报告过任何现有漏洞。

因此,下面两种情况下,在 NVD 中检索就会得到 “无匹配记录” 的结果了: 

(1) 给定产品中不存在漏洞

(2) 存在漏洞,但开发商从未报告过

2、由于 NVD 收录新 CPE 名称时不执行任何错误检查,所以有可能出现不符合一贯命名规范的产品 CPE 名称。于是,如果用户用正确指定的 CPE 检索产品,就会收到 “0 条匹配记录” 的错误提示信息。如果使用了原始(非规范)CPE 名称,但不存在该产品相关的 CVE 报告,用户也会收到如上提示信息。

这种提示信息可能意味着用户检索的产品 CPE 名称有效,但该产品未报告过 CVE;也可能意味着用户输入的 CPE 不匹配 NVD 中的 CPE,但实际上存在与提交到 NVD 的(非规范)CPE 相关联的 CVE。

用户在检索栏中拼错了 CPE 名称也会出现显示 “0 条匹配记录” 错误提示信息的情况。这种情况下,用户根本不会知道是手误导致的,而会认为产品就是不存在报告的漏洞。

3、随着时间流逝,产品或供应商名称会因并购而改变,而产品的 CPE 名称也会变。这种情况下,如果用户用最初的 CPE 而没用新的 CPE 名称检索,也不会知道新出现漏洞的情况。与前面的情况相同,用户会收到显示为 “0 条匹配记录” 的信息。

4、供应商或产品名称存在不同变体的情况也会导致检索出错,比如 “Microsoft” 和 “Microsoft Inc.”,或者 “Microsoft Word” 和 “Microsoft Office Word” 等等。没有精准的供应商或产品名称,NVD 检索就会产生错误的结果。

5、同一产品在 NVD 中可能会拥有多个 CPE 名称,如果产品由不同人员录入,而每个人都用了不同迭代的话。这可能导致几乎无法确定哪个名称是正确的。更糟糕的是,如果为每个 CPE 变体都录入了 CVE,就会导致产品没有 “正确” 的名称。其中一个例子就是 OpenSSL(如 “OpenSSL” 和 “OpenSSL Framework”)。由于没有哪个 CPE 名称包含所有 OpenSSL 漏洞,用户必须单独检索每个产品名称变体。

6、很多情况下,漏洞只影响某个软件库里的一个模块。然而,由于 CPE 名称是指定给整个产品而非各个模块的,用户需完整阅读 CVE 报告才能确定到底是哪个模块易受攻击。如果没看全,可能会导致非必要的修复或缓解,比如在用产品中并未安装有漏洞的模块,而是安装了库里其他模块的时候。

幸好,名为 SBOM 论坛的跨行业小组(包括 OWASP、Linux 基金会、Oracle 和其他组织的成员)正在研究这个问题,并制定了旨在提升 NVD 准确性的一项提案,该提案的重点放在现代自动化用例上。


友情链接:

返回软协官网首页

通讯地址:北京市海淀区海淀南路甲21号中关村知识产权大厦A座2层206、207室     邮政编码:100080

电话:010-62565314 刘莉    京ICP证16064523号-2    版权所有:北京软件和信息服务业协会

技术支持:中科服    内容支持:鑫网安

你知道你的Internet Explorer是过时了吗?

为了得到我们网站最好的体验效果,我们建议您升级到最新版本的Internet Explorer或选择另一个web浏览器.一个列表最流行的web浏览器在下面可以找到.