谷歌透露,其人工智能驱动的模糊测试工具 OSS-Fuzz 已被用于帮助识别各种开源代码存储库中的 26 个漏洞,包括 OpenSSL 加密库中的一个中危漏洞。
“这些特定的漏洞代表了自动化漏洞挖掘的一个里程碑:每个漏洞都是通过 AI 发现的,使用 AI 生成和增强的fuzz目标,”谷歌的开源安全团队在与 The Hacker News 分享的一篇博客文章中这样说。
有问题的 OpenSSL 漏洞是CVE-2024-9143(CVSS 分数:4.3),这是一个越界内存写入错误,可导致应用程序崩溃或远程代码执行。此问题已在 OpenSSL 版本 3.3.3、3.2.4、3.1.8、3.0.16、1.1.1zb 和 1.0.2zl中得到解决。
谷歌于 2023 年 8 月增加了利用大型语言模型 (LLM) 来提高 OSS-Fuzz 模糊测试覆盖率的能力,并表示该漏洞可能已经在代码库中存在了二十年,并且“人类编写的现有fuzz测试目标是无法发现的”。
此外,谷歌指出,使用 AI生成模糊测试目标提高了 272 个 C/C++ 项目中的代码覆盖率,增加了超过 370,000 行新代码的覆盖。
“此类错误可能长时间未被发现的一个原因是,代码覆盖率并不能保证函数没有错误,”谷歌说。“代码覆盖率作为一个指标无法衡量所有可能的代码路径和状态 — 不同的标志和配置可能会触发不同的行为,从而发现不同的错误。”
事实证明,LLM 擅长模拟开发人员的模糊测试工作流程,从而实现更多的自动化,从而使这些 AI 辅助的漏洞发现成为可能。
该公司本月早些时候透露,其基于 LLM 的框架名为 Big Sleep 有助于检测 SQLite 开源数据库引擎中的零日漏洞。
与此同时,Google 一直在努力将自己的代码库过渡到内存安全的语言(如 Rust),同时还改造机制以解决现有 C++ 项目(包括 Chrome)中的空间内存安全漏洞——当一段代码可能访问超出其预期边界的内存时,就会出现这些漏洞。
这包括迁移到安全缓冲区和启用强化的 libc++,后者向标准 C++ 数据结构添加边界检查,以消除一类重要的空间安全错误。它进一步指出,更改这些问题所产生的开销很小(即平均 0.30% 的性能影响)。
“开源贡献者最近添加了强化的 libc++,引入了一组安全检查,旨在捕获生产中的越界访问等漏洞,”谷歌表示。“虽然 C++ 无法完全实现内存安全,但这些改进降低了风险 [...],从而产生了更可靠、更安全的软件。”
项目地址:https://github.com/google/oss-fuzz
喜欢此文的话,可以点赞、转发、在看 一键三连哦!
原文始发于微信公众号(星尘安全):谷歌 AI Fuzz 工具 OSS-Fuzz 发现 26 个零日漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论