Google 的 AutoVM 团队发现,依赖项扫描工具经常错误地报告软件中的漏洞。这些漏洞可能不构成真正的安全威胁,或者不需要执行任何操作。在最近的一篇博文中,Google 的团队分享了最常见的误报类型,并提供了有关如何识别误报的提示。 主要问题源于第三方依赖项扫描程序检查主机上已安装软件包的版本,并将其与公共漏洞数据库进行交叉引用。此过程旨在确定软件包是否暴露于已知漏洞中。但是,这些报告经常包含虚假或不相关的安全检测结果,从而导致结果不准确。 误报的最常见来源之一是漏洞数据库本身的错误,例如 NVD 或特定于系统的数据源。有时,在进行更彻底的分析后,漏洞可能会被忽略或撤回。例如,CVE-2023-4881 被认为与安全无关,但扫描程序继续对其进行标记。在某些情况下,NVD 中的信息可能与为特定操作系统发行版提供的数据不同,从而导致报告错误。 另一个重要因素是通用数据库中列出的易受攻击软件的版本范围过于广泛。这些范围通常无法考虑操作系统发行版独立发布的补丁。例如,影响 Python 版本 3.6.10 的 CVE-2020-14422 已在 Ubuntu 中修补,但许多扫描程序仍然认为此版本易受攻击。 在某些情况下,漏洞仅适用于某些系统配置,但扫描程序并不总是考虑到这一点。例如,CVE-2023-52426 仅在使用特定标志编译时影响包。在 Ubuntu Focal 中,这些标志未被使用,因此漏洞无关紧要,但一些扫描程序坚持标记它。 通常,问题是漏洞数据库中的数据不完整,如 CVE-2022-3857 所示,其中不同的数据库提供有关受影响软件包版本的冲突信息。这导致一些扫描程序即使在安全系统上也会错误地报告漏洞。 有关受影响的二进制包的错误信息也可能会导致误报。例如,CVE-2024-6387 仅影响 OpenSSH 服务器,但 Debian 的数据库将整个“openssh”源包标记为易受攻击,即使在仅安装了客户端的系统上,也会导致漏洞报告不正确。 此外,某些扫描程序可能会标记与安全性无关的辅助信息。例如,他们可能会报告与漏洞无关的更新,例如时区数据更改或新的 GPG 密钥添加。这些报告不会构成安全威胁,也不需要立即采取行动。 总之,Google 强调需要谨慎处理依赖项扫描器报告。误报可能由于各种原因而出现,因此必须验证标记的漏洞是否适用于相关特定系统。
|