Google DeepMind 用 AlphaProof Code 形式化验证 Signal 协议代码
来源标题:AlphaProof Code
Google DeepMind 研究人员借助新型智能体框架 AlphaProof Code,对 Signal 协议实际代码的关键安全属性完成数学证明,这是 AI 首次以如此深度形式化验证广泛部署的加密协议。该框架结合人类专业知识与 AI 智能体,形式化验证此前难以实现且耗费人力。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
分享 已复制 Google DeepMind 研究人员如何构建了一个新的智能体框架,对 Signal 加密协议的代码进行了形式化验证——这长期以来被视为一项重大的安全挑战
今天,我们分享一项软件安全领域的里程碑,这一挑战长期以来被视为重大的安全难题:Google DeepMind 的研究人员引导 AI 智能体,对 Signal 协议底层实际代码的关键安全属性进行了数学证明。Signal 协议是保护 Signal 和 Google Messages 等应用中数十亿私密对话的技术。
这一突破性发现借助了 AlphaProof Code——一个以前所未有的深度进行形式化验证的新型智能体框架,它将人类专业知识与 AI 智能体相结合。形式化验证——用数学方法证明代码正确运行、没有缺陷——是安全保证的最高标准;然而,它难度大,且往往耗费大量人力。
我们的工作标志着 AI 首次被用于如此深入地对一个广泛部署的加密协议进行形式化验证。这也是首次通过任何方法(无论是否使用 AI)对这样一个广泛部署的协议实现进行形式化验证。
AlphaProof Code 是一个多 LLM 智能体框架,它像研究团队那样拆分形式化验证的工作:人类专家与 AI 协作决定要证明什么,然后由一组 AI 智能体来完成。
首先,我们的研究人员与多个模型协作,将 Signal 的安全目标转化为形式化的数学规约,并由人类专家逐一审查。随后,由 Gemini Carbon 驱动的智能体完成了证明,生成了超过六百万行 Lean 代码——Lean 是一种用数学方法证明代码正确性的计算机语言。
接下来,智能体审计了证明,并标出了需要人工复核的部分——仅占代码库的百分之一,大大节省了时间。由于 Lean 会自动检查其余部分,我们的专家可以将审查集中在最需要人类判断的地方。
加密协议几乎支撑着所有数字通信,从网上银行到网页浏览,一个缺陷就可能同时暴露数百万人的信息。正因如此,专家们花费了数十年对它们进行形式化分析。
但大多数协议验证止步于设计层面。我们的智能体走得更远,证明编译后的代码满足关键安全属性——例如在设备被临时攻破前后始终保持消息受保护——一直深入到设备上运行的具体代码。由于现实世界的漏洞往往隐藏在设计实现之间的差距中,弥合这一差距使这些证明的复杂度大幅提升。
即便复杂度如此之高,我们的验证过程仅用了四周——而这项任务历史上需要专家团队花费数年——证明了 Signal 的核心加密代码提供了我们专家所指定的安全保护。
为确认 AlphaProof Code 能区分正确代码和有缺陷的代码,我们将两个真实的、此前已修复的 bug 重新引入 Signal 代码的一个隔离版本中。在这两种情况下,系统都生成了机器校验的证明,表明有缺陷的版本是不安全的。
在 AlphaProof Code 中,AI 智能体帮助用户编写规约,然后自主证明实现满足该规约。每个证明都由 Lean 检查,以验证智能体的工作。
“虽然此前的形式化验证聚焦于代码中较小的部分,但 Google DeepMind 的方法实现了显著的扩展,”Signal 首席技术官 Ehren Kret 表示。“使用 AI 智能体将运行中的代码转化为有效的 Lean 定理是一项重大突破。随着 AI 驱动的安全威胁不断增长,严格验证 Signal 协议的实现让我们对代码的隐私保证有了更大的信心。”
虽然此前的形式化验证工作必然聚焦于较小的范围,但这一新方法实现了显著的扩展。传统上,验证生产代码严格匹配其加密设计需要大量人工努力,因此使用 AI 智能体自动将运行中的代码转化为有效的 Lean 定理是一项重大突破。随着 AI 驱动的安全威胁不断增长,通过自动定理证明对 Signal 核心协议进行严格验证,让我们更加确信我们的代码兑现了其隐私保证。
攻克这一长期挑战表明,AI 能够为企业、政府和关键基础设施带来顶级的安全保证,帮助抵御智能体驱动的网络威胁。
验证 Signal 的核心加密技术为保护其他关键系统奠定了基础,从医疗设备固件到电网软件。
推广这些技术需要持续的研究。结合 CodeMender 等自动化防御智能体,形式化验证可以帮助应对现代网络威胁的速度和规模,打造出带有数学证明其保护有效的软件。
我们正在开源我们的形式化验证产物供社区使用。请阅读下方的技术论文。
本研究由 Swarat Chaudhuri、Andrew Ferraiuolo、Anton Kovsharov、Tej Chajed、Sam Schlesinger、Karn Seth、Jonathan Katz、Charles Sutton 和 Pushmeet Kohli 完成。
我们感谢 Eric Wieser 协助开源我们的代码,Owen Jones 提供项目管理支持,以及 Martín Abadi、Christopher Henson、Katerina Hristova、Henryk Michalewski、Jonathan Protzenko 和 George Tsoukalas 的有益讨论。我们感谢 Signal 的 Rolfe Schmidt、Michael Rosenberg 和 Ehren Kret 对我们的方法论的反馈。我们还感谢 Tulsee Doshi、Four Flynn、Kate Olszewska、Alicia Huang、Andy Liu、Benoit Schillings、Raluca Ada Popa、Melvin Johnson、Koray Kavukcuoglu、Demis Hassabis 和 Sundar Pichai 对本项目的支持。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。