Google 的 OSS-Fuzz 项目使用大型语言模型 (LLM) 来帮助查找代码存储库中的错误,现已帮助识别 26 个漏洞,其中包括广泛使用的 OpenSSL 库中的一个严重缺陷。
OpenSSL 错误(CVE-2024-9143)于九月中旬报告并于一个月后修复。其中一些,但不是全部其他漏洞也已得到解决。
谷歌相信其人工智能驱动模糊测试该工具(将意外或随机数据注入软件以捕获错误)发现了一些人为驱动的模糊测试不太可能捕获的东西。
谷歌开源安全团队的 Oliver Chang、Dongge Liu 和 Jonathan Metzman 表示:“据我们所知,这个漏洞可能已经存在了二十年,并且无法通过人类编写的现有模糊目标发现。”一个博客文章。
如果这是正确的,那么今后的安全研究确实应该涉及人工智能,因为担心威胁行为者已经这样做了,并发现了人工智能缺失的缺陷。
谷歌安全团队引用的另一个例子是cJSON同样,据说该项目已被人工智能发现,但被人类编写的模糊测试漏掉了。
因此,人工智能协助对于安全专业人员来说似乎具有巨大的价值。巧克力工厂本月早些时候宣布,首次,一个名为 Big Sleep 的基于 LLM 的独立错误搜寻工具发现了实际软件中以前未知的可利用内存安全缺陷。
10 月,总部位于西雅图的 Protect AI释放一个名为的开源工具猎杀者使用 Anthropic 的 Claude LLM 来查找基于 Python 的项目中的零日漏洞。
OSS-Fuzz 团队介绍2023 年 8 月将进行基于人工智能的模糊测试,旨在对更大部分的代码库进行模糊测试,以提高模糊测试覆盖率,即测试的代码量。
模糊测试的过程涉及起草一个模糊目标– “一个接受字节数组并使用被测 API 对这些字节执行一些有趣操作的函数” – 然后处理潜在的编译问题并运行模糊测试目标以查看其执行情况、进行更正并重复查看崩溃是否可以追溯到特定漏洞的过程。
最初,OSS-Fuzz 处理了前两个步骤:1)起草初始模糊目标;2) 修复出现的任何编译问题。
然后,在 2024 年初,谷歌做出了OSS-模糊作为一个开源项目提供,并一直在尝试改进软件处理后续步骤的方式:3)运行模糊目标以查看其执行情况,并修复导致运行时问题的任何明显错误;4) 更长时间地运行修正后的模糊目标,并对崩溃进行分类以确定其根本原因;5) 修复漏洞。
据谷歌称,其法学硕士现在可以处理开发人员模糊测试过程的前四个步骤,并计划很快解决第五个步骤。
“我们的目标是通过让法学硕士生成针对该漏洞的建议补丁来完全自动化整个工作流程,”Chang、Liu 和 Metzman 说。“我们今天没有任何东西可以在这里分享,但我们正在与各种研究人员合作,使这成为现实,并期待很快分享结果。”®