站长之家(ChinaZ.com) 11 月 23 日消息:谷歌近日通过 AI 程序发现了一个隐藏了二十年的开源软件漏洞谷歌在周三的一篇博客文章中表示,借助类似 ChatGPT 的 AI 工具,公司共识别出了 26 个漏洞,其中包括一个在 OpenSSL 中潜伏了二十年的漏洞。

打开网易新闻 查看精彩图片

这些漏洞是通过一种称为「模糊测试」(fuzz testing)的方法发现的。模糊测试通过向软件程序输入随机数据以查看其是否会崩溃,从而诊断潜在问题。去年,谷歌开始利用大型语言模型(LLM)来编写模糊测试代码,将以往需要人类手动进行的测试工作转移给 AI。

「我们的方法是利用 LLM 的编程能力生成更多模糊测试目标,从而提高测试效率,」谷歌开源安全团队在博客中写道。「LLM 在模拟典型开发者的完整工作流程方面表现出卓越的能力,包括编写、测试和迭代模糊测试目标,以及分类分析发现的崩溃问题。」

自推出以来,谷歌已在 272 个软件项目中应用了这一 AI 工具,发现了 26 个漏洞。其中一个名为 CVE-2024-9143 的漏洞涉及 OpenSSL,这是一种广泛用于互联网连接加密和服务器认证的工具。据研究人员称,这一漏洞可能已存在二十年,用传统的由人类编写的模糊测试代码是无法发现的。

该漏洞的核心问题在于「越界内存访问」,即程序试图访问超出允许范围的内存,这可能导致程序崩溃,甚至在极少数情况下执行恶意代码。尽管如此,由于发生危险操作的风险极小,该漏洞的严重性被评估为低。

谷歌推测,这一漏洞未被发现的原因在于相关代码被视为已通过充分测试。「代码覆盖率作为衡量标准,无法涵盖所有可能的代码路径和状态——不同的标志和配置可能触发不同行为,进而揭示不同漏洞,」研究人员指出。「这表明即使是已经过模糊测试的代码,也需要不断生成新的测试目标。」

展望未来,谷歌开源安全团队正致力于让 LLM 能够为发现的漏洞自动生成修复补丁。另一个目标是实现「无需人工审核」的漏洞报告流程。「这将有助于自动向项目维护人员报告新漏洞,」团队表示。

这一努力还与谷歌的另一个 AI 项目「Big Sleep」相结合,该项目同样利用 LLM 模拟人类安全研究人员的工作流程以发现漏洞。本月早些时候,谷歌宣布,Big Sleep 已成功发现 SQLite(一种开源数据库引擎)中一个此前未知且可利用的漏洞。