Big Sleep是Google Project Zero与DeepMind合作的研究成果,它采用Project Zero发展的AI框架Naptime(如上图所示),将大型语言模型应用至真实世界的漏洞发现。(图片来源/Google)
Google上周揭露AI抓漏专案Big Sleep,宣称已利用它在10月找到了一个位于SQLite的堆叠缓冲区下溢漏洞,不管是SQLite现有的测试基础设施,或是OSS-Fuzz都没有发现该漏洞,相信这是AI代理工具于广泛使用的实际软体中,发现未知记忆体漏洞的第一个公开例子。SQLite开发者则在收到Google通知的当天便修补了该漏洞。
Big Sleep是由Google Project Zero团队今年6月发表的Naptime专案(Project Naptime)衍生而来。Naptime旨在评估大型语言模型(LLM)于安全漏洞研究中的潜力,它开发了一个框架,让LLM能够模仿人类安全专家发现并展示安全漏洞的系统性方法,并经过Meta CyberSecEval2基准测试的验证;而Big Sleep则是Project Zero与DeepMind的研究成果,它采用Naptime框架,并将LLM的应用从纯粹的基准测试扩展到真实世界的漏洞发现。
推动Naptime与Big Sleep专案的动力之一,是因为发现有各种已修补漏洞的变种仍不断遭到骇客利用,该趋势显示出模糊测试无法有效抓住这些变种,另一方面,骇客手动分析这些变种却是一个具备成本效益的作法。
Google表示,与开放式漏洞研究相比,现有的大型语言模型更适合变种分析。提供一个起点,如先前漏洞的细节,能减少研究的模糊性,并基于「先前有一个漏洞,可能还有类似的漏洞存在」这样具体的理论进行探索。
Big Sleep专案仍处于研究阶段,并利用含有已知漏洞的小程式来进行评估,Google日前决定于SQLite上进行首次大规模的实际变种分析实验,以测试相关的模型与工具,研究人员搜集了SQLite程式库最近的提交纪录,手动删除了那些微小的与仅涉及文件的变更,接著调整了提示,提供提交讯息与程式码变更的差异对照,要求AI代理工具检查程式库的最新版本,寻找可能还未修复的相关问题,进而找出了SQLite上的堆叠缓冲区下溢漏洞。
Google认为,Big Sleep专案拥有具大的防御潜力,得以在软体发布前就发现软体中的安全漏洞,让漏洞在遭到骇客利用之前就被修复。人们需要一种方法来帮助防御者找到那些模糊测试很难发现的错误,希望AI可以缩小此一差距。