QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

全球超万亿使用量的热门数据库,首次被大模型揪出了严重漏洞

  • 2024-11-07
    北京
  • 本文字数:2477 字

    阅读完需:约 8 分钟

全球超万亿使用量的热门数据库,首次被大模型揪出了严重漏洞

谷歌的研究人员日前声称,他们首次利用大语言模型发现了一个重要漏洞。


在一篇博客文章中,谷歌表示,他们相信这是 AI agent 在广泛使用的现实软件中发现此前未知的、可利用的内存安全问题的首个公开案例。具体来说,它在 SQLite 中发现了一个可被利用的堆栈缓冲区下溢漏洞。

这个漏洞在 10 月就被谷歌报告给 SQLite 开发团队,后者在同一天已经修复了它。由于漏洞在官方发布之前就被消除了,因此并没有影响到 SQLite 的用户。

利用大模型发现漏洞:或致程序崩溃甚至执行任意代码

这款基于大语言模型的漏洞挖掘 AI agent 名为“Big Sleep”,是谷歌的 Project Zero 和 DeepMind 合作的成果。据称,它是今年 6 月宣布的早期项目“Project Naptime”的延伸。


谷歌指出,在 8 月份的 DEFCON 安全会议上,负责创建 AI 辅助漏洞研究工具的网络安全研究人员在 SQLite 中发现了另一个问题,这激发了他们的团队去尝试看能否找到更严重的漏洞。


SQLite是一款开源的数据库引擎,堆栈缓冲区下溢漏洞可能允许攻击者导致程序崩溃,甚至执行任意代码。进一步地说,崩溃或代码执行会发生在 SQLite 可执行文件(而非库)中,原因是在代码的某个地方,特殊值 -1 被意外地用作数组索引。

7476:   struct sqlite3_index_constraint {7477:      int iColumn;              /* Column constrained.  -1 for ROWID */7478:      unsigned char op;         /* Constraint operator */7479:      unsigned char usable;     /* True if this constraint is usable */7480:      int iTermOffset;          /* Used internally - xBestIndex should ignore */7481:   } *aConstraint;            /* Table of WHERE clause constraints */
复制代码


这种模式会产生一个潜在的边缘情况。但函数 seriesBestIndex 未能正确处理这个边缘情况,导致在处理对 rowid 列有约束的查询时,将负索引写入栈缓冲区。在团队提供给 agent 的构建中,启用了调试断言,这个条件在第 706 行的断言中得到了检查:

619 static int seriesBestIndex(620   sqlite3_vtab *pVTab,621   sqlite3_index_info *pIdxInfo622 ){...630   int aIdx[7];           /* Constraints on start, stop, step, LIMIT, OFFSET,631                          ** and value.  aIdx[5] covers value=, value>=, and632                          ** value>,  aIdx[6] covers value<= and value< */633   const struct sqlite3_index_constraint *pConstraint;...642   for(i=0; i<pIdxInfo->nConstraint; i++, pConstraint++){643     int iCol;    /* 0 for start, 1 for stop, 2 for step */644     int iMask;   /* bitmask for those column */645     int op = pConstraint->op;...705     iCol = pConstraint->iColumn - SERIES_COLUMN_START;706     assert( iCol>=0 && iCol<=2 );707     iMask = 1 << iCol;...713     if( pConstraint->usable==0 ){714       unusableMask |=  iMask;715       continue;716     }else if( op==SQLITE_INDEX_CONSTRAINT_EQ ){717       idxNum |= iMask;718       aIdx[iCol] = i;719     }720   }
复制代码


然而,在发布版本中,这个断言不存在。因此,在谷歌的测试中(这会因编译器和优化级别而异),在第 718 行的后续写入操作会破坏指向 pConstraint 的指针的最低有效 32 位,这将在下一次循环迭代中导致取消引用。这种漏洞可能会被利用。


不过,谷歌的研究人员也承认,这个漏洞的利用难度不小。


“Big Sleep”目前仍处于研究阶段,到目前为止,它使用带有已知漏洞的小型程序来评估其查找漏洞的能力。这是它的在真实世界环境中的首次实验。


在测试中,团队收集了 SQLite 代码库最近的几次提交。“在手动删除了琐碎的和仅用于文档的修改后,我们调整了 prompt,向 agent 提供了提交消息和更改的差异,并要求 agent 审查当前的代码库(在 HEAD)中是否存在可能未被修复的相关问题,”谷歌在博文中写道。


基于 Gemini 1.5 Pro 的大模型最终发现了这个漏洞。在博文中,“Big Sleep”团队还详细介绍了代理评估代码、发现漏洞、导致系统崩溃以及生成根本原因分析的步骤要点。详情可查看:https://googleprojectzero.blogspot.com/2024/06/project-naptime.html

AI 是模糊测试的未来?


像谷歌这样的许多公司使用一种称为“模糊测试”(Fuzzing)的过程,通过向软件提供随机或无效的数据来测试软件,以识别漏洞、触发错误或使程序崩溃。


但谷歌表示,模糊测试在“帮助防御者找到那些难以(或不可能)通过模糊测试发现的漏洞”方面做得还不够,并补充说,他们“希望 AI 能缩小这一差距”。


“我们认为这项工作具有巨大的防御潜力,”“Big Sleep”团队博客文章中宣称。“这个漏洞本身非常有趣,而且现有的 SQLite 测试基础设施(通过 OSS-Fuzz 和项目自己的基础设施)都没有发现这个问题,因此我们做了一些进一步的调查。”


值得注意的是,在 10 月,总部位于西雅图的 Protect AI 公司宣布了一款免费、开源的工具,声称可以在 Anthropic 的 Claude AI 模型的帮助下,在 Python 代码库中发现零日漏洞。这个工具名为 VulnHunter,根据其开发人员的说法,它已经在大型开源 Python 项目中发现了十多个零日漏洞。


根据谷歌的说法,这两个工具的目的不同。谷歌的一位发言人在接受《The Register》采访时强调,“我们在博客文章中的声明是,‘Big Sleep’在广泛使用的真实软件中发现了首个未知的、可被利用的内存安全问题。”“Python 的 LLM 发现的不是与内存安全相关的漏洞,而是不同类型的缺陷。”


“然而,我们想重申,这些都是高度实验性的结果,”谷歌团队写道。“‘Big Sleep’团队的立场是,Big Sleep Agent 目前针对特定目标的模糊测试工具在(发现漏洞)方面至少同样有效。”


参考链接:

https://www.theregister.com/2024/11/05/google_ai_vulnerability_hunting/

https://googleprojectzero.blogspot.com/2024/06/project-naptime.html

https://www.forbes.com/sites/daveywinder/2024/11/05/google-claims-world-first-as-ai-finds-0-day-security-vulnerability/

2024-11-07 17:0111159

评论

发布
暂无评论
发现更多内容

音乐NFT系统的安全性

北京木奇移动技术有限公司

区块链技术 软件外包公司 音乐NFT

轻帆云荣获“智慧商业数字化运营优秀服务商”奖项,AITSM赋能零售新未来

云智慧AIOps社区

ITSM ITSM软件 工单管理 工单系统 工单处理

VMware Live Site Recovery 9.0.2.2 发布 - 数据中心灾难恢复 (DR)

sysin

srm

仅需3步,稳定快速!火山引擎边缘大模型网关全面支持DeepSeek系列模型

火山引擎开发者社区

接入5家DeepSeek模型提供商!火山引擎边缘大模型网关助力一键畅享大模型

火山引擎开发者社区

签约+战略合作!水电五局与用友擘画工程项目管理数智新蓝图

用友BIP

数智化 用友BIP 企业AI 企业管理工程

充电桩测试系统(源码+文档+讲解+演示)

深圳亥时科技

企业AI 智启新底座,共探AI与数智化底座的融合创新路径

用友BIP

数智化 用友BIP 企业AI

从 DeepSeek 敏感信息泄露谈可观测系统的数据安全预防

阿里巴巴云原生

阿里云 云原生 可观测

面试官:工作中优化MySQL的手段有哪些?

王磊

10分钟搞定AI助手!ToDesk/顺网云/海马云操作哪家更靠谱?

小喵子

云电脑 AIGC AI 绘图 ToDesk云电脑

监控系统原理揭秘-数据运算篇

京东科技开发者

烟草业需要用到堡垒机的几个情形简单说明

行云管家

网络安全 数据安全 堡垒机

AI技术赋能企业财务管理,用友BIP创新五大智能财务场景

用友BIP

AI 数智化 企业财务 用友BIP 财务智能体

YashanDB yasrman恢复

YashanDB

数据库 yashandb

技术沙龙演讲实录 | 张俊钦:火山引擎边缘智能,联通大模型的物理世界

火山引擎开发者社区

超 400 人团队律所,如何用 NocoBase 高效管理律师提成?

NocoBase

开源 零代码 客户案例 薪酬绩效管理 律师事务所

启动!南宁城投集团携手用友共建全球领先智能化财务共享平台

用友BIP

AI 企业数智化 用友BIP 财务共享

YashanDB 故障诊断

YashanDB

数据库 yashandb

2025企业数智化平台创新峰会成功召开!

用友BIP

AI+ 数智化 企业创新 用友BIP 企业AI

用友与中国化学数科公司达成战略合作,助推化工行业数智化发展!

用友BIP

智能体 数智化 用友BIP 化工行业

VMware ESXi 8.0e 发布 - 领先的裸机 Hypervisor

sysin

esxi

VMware ESXi 8.0U3d macOS Unlocker & OEM BIOS 集成驱动版,新增 12 款 I219 网卡驱动

sysin

esxi

YashanDB yasrman备份

YashanDB

数据库 yashandb

NPU上如何使能pytorch图模式

zjun

AI口语练习APP的接口优化

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

qwen2.5 7b w8a8量化推理

AI布道Mr.Jin

人工智能产品测试 | 特征的概念:离散与连续

测试人

人工智能

AI口语陪练APP的接口优化

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

物资管理系统(源码+文档+讲解+演示)

深圳亥时科技

云报工系统(源码+文档+讲解+演示)

深圳亥时科技

全球超万亿使用量的热门数据库,首次被大模型揪出了严重漏洞_数据库_罗燕珊_InfoQ精选文章