想象你有一个非常聪明、博览群书的机器人助手(大型语言模型,或称 LLM),它能够编写计算机代码。你要求它构建一个非常具体且棘手的机器:“微架构攻击”。
将这些攻击想象成并非病毒,而是对计算机“大脑”施展的戏法。就像魔术师通过分散观众注意力来调换纸牌一样,这些攻击通过观察计算机处理器的执行速度或内存使用方式,诱骗其泄露秘密信息(如密码)。
问题在于,构建这些戏法极其困难。它需要精确了解计算机“大脑”在微观层面的运作机制。如果代码中哪怕一个微小部分提前或延迟了极短的时间,整个戏法就会彻底失败。
本文介绍了uGen,这是一个新系统,旨在帮助这些机器人助手成功构建这些棘手的计算机戏法。其工作原理可分解为以下简单概念:
1. 问题:机器人的“幻觉”
当你要求标准机器人助手编写此类代码时,它往往能把握“大局”,却在细微之处出错。
- 类比:想象你让机器人烤蛋糕。它知道原料(面粉、鸡蛋、糖)和大致步骤。但由于它无法真正感受烤箱的热量或面糊的质地,它可能会在蛋糕烤好之后才放入鸡蛋,或者忘记预热烤箱。结果看起来像蛋糕,但无法食用。
- 现实:机器人编写的代码看似正确,却因无法理解欺骗计算机硬件所需的精确时序和顺序而失败。
2. 解决方案:uGen(“专家团队”)
uGen 不是让一个机器人包揽所有工作,而是组建了一个由专业机器人团队协同工作的系统,并由一个庞大的专家笔记库进行指导。
团队(多智能体系统):
- 构建者:编写代码。
- 检查者:运行代码以验证其是否真正有效。如果失败,检查者会明确告知构建者原因(例如:“你将时序检查放错了位置”)。
- 图书管理员:维护一个特殊笔记库,记录如何修复特定错误。
图书馆(RAG - 检索增强生成):
- 类比:如果构建者卡住了,它不会盲目猜测。它会打开图书馆中特定的书籍,上面写着:“对于这种特定类型的戏法,你必须在此处等待 50 毫秒,否则计算机就会识破你。”
- 现实:系统会调取关于计算机硬件行为的精确技术指令,并将这些信息直接提供给机器人,使其无需猜测。
3. 过程:尝试、错误与学习
该系统并非只编写一次代码。它会经历一个循环:
- 尝试:构建者编写草稿。
- 测试:检查者在真实硬件上运行它。
- 检查:如果失败,系统会查阅“图书馆”,看看遗漏了什么。
- 修复:构建者利用图书馆中的具体建议更新代码。
- 重复:此过程持续进行,直到戏法完美奏效。
4. 结果:效果如何?
研究人员在三种不同类型的机器人助手(Claude、GPT 和 Qwen)以及两种不同类型的计算机戏法(Spectre 和 Prime+Probe)上测试了该系统。
- uGen 之前:机器人在这方面表现极差。它们几乎无法独立让代码运行(成功率通常接近 0% 或非常低)。
- uGen 之后:成功率飙升。
- 对于一种戏法(Spectre),Claude 机器人的成功率达到了90%。
- 对于另一种(Prime+Probe),Qwen 机器人的成功率达到了80%。
- 速度与成本:该系统可在4 分钟内生成一个可运行的戏法,成本约为1.25 美元。
5. 为何这很重要(根据论文观点)
作者认为,该工具主要面向防御者(安全专家),而非攻击者。
- 类比:将 uGen 想象成一台“压力测试”机器。与其让安全人员猜测建筑物中的弱点在哪里,不如使用这台机器快速尝试成千上万种入侵方式,从而在真正的坏人发现之前找到这些弱点。
- 主张:由于这些攻击极难构建,坏人通常无法轻易实施。uGen 降低了门槛,使安全团队能够比以往更快、更全面地针对这些复杂攻击测试其系统。
简而言之:uGen 是一个智能的、基于团队的系统,它通过咨询专业图书馆并反复测试其工作,帮助 AI 助手掌握计算机硬件攻击中那些微小而棘手的细节,将一项几乎不可能完成的任务转化为安全测试中可靠且自动化的流程。
技术摘要:uGen——用于生成微架构攻击概念验证(PoC)的智能体框架
问题陈述
微架构侧信道攻击(例如 Prime+Probe、Spectre)对计算机安全构成了根本性挑战。尽管现有的参考概念验证(PoC)实现已存在,但将它们适配到新的微架构、受害者函数或执行环境却极其困难。这一过程需要深入掌握底层硬件行为、精确的指令排序以及细粒度的时序校准。因此,漏洞评估仍然劳动密集、难以扩展,且往往局限于专家研究人员。
大型语言模型(LLM)的最新进展表明,自动化代码生成存在潜在途径。然而,该论文指出了一个关键差距:LLM 缺乏合成功能性攻击代码所需的特定微架构推理能力。作者假设,当前模型经常错误生成或错误放置关键攻击原语(如序列化屏障或受控延迟),导致生成的代码在语法上正确但在功能上无效。此外,现有的训练语料库中缺乏端到端的攻击实现,导致模型对这类利用的结构不变性接触不足。
方法论:uGen 框架
为了克服这些局限性,作者引入了uGen,这是首个由检索增强生成(RAG)驱动、旨在自动化合成微架构攻击 PoC 的多智能体框架。该框架通过四个不同的阶段运行:
- 知识差距分析器(S1): 此阶段系统地识别 LLM 失败的位置及原因。通过禁用 RAG 并强制模型依赖内部知识,该框架将攻击分解为“攻击指标”(最小、语义有意义的构建块)。它将生成的代码与真实实现进行对比,以识别缺失、构建错误或放置不当的指标。
- RAG 文档生成器(S2): 基于 S1 中识别的差距,框架生成针对性的 RAG 文档。这些文档并非通用的攻击描述,而是针对单个指标的具体指南,详细说明了其重要性、实施步骤以及在代码中的精确放置约束。生成过程是分层级的,按攻击向量和 LM 家族进行索引,承认不同模型需要不同类型的指导。
- RAG 验证与优化(S3): 此阶段对生成的 RAG 文档进行实证验证。“程序员智能体”尝试利用检索到的指导来修补 PoC 模板。如果修补失败,“反馈智能体”将启动优化循环,可能涉及领域专家以澄清约束或移除误导性细节。此循环持续进行,直到 RAG 文档能够可靠地指导目标指标的合成。
- 部署(S4): 在最后阶段,非专家用户可以指定受害者函数和攻击向量。程序员智能体从头开始合成 PoC,按顺序检索并集成每个所需指标的已验证 RAG 文档。随后,“反射智能体”利用硬件衍生信号(例如缓存延迟、性能计数器)对代码进行验证,以确保功能正确性。
关键架构组件:
- 多智能体设计: uGen 采用专用智能体(程序员、反射器、差距分析器、合成器、反馈)将代码生成与验证解耦,从而减轻“自我评估偏差”,即单一智能体为其自身失败进行合理化的现象。
- 工具接地执行: 智能体与专用系统级工具(如
hw_info、hpc、cache_thres)耦合,这些工具提供机器可验证的执行信号。这防止智能体幻觉出成功的泄漏,并迫使基于实际硬件反馈进行迭代优化。
- 持久知识库: RAG 文档存储在持久的向量数据库中,并带有预计算的嵌入,以确保跨实验的确定性和可重复检索。
主要贡献
- 针对微架构攻击的 LLM 首次分析: 论文对最先进模型(GPT-4o、Claude Sonnet-4、Qwen3-Coder)进行了系统研究,识别出阻碍成功 PoC 合成的重复性推理和指令放置错误。
- uGen 框架: 一种新颖的、检索增强的、多智能体框架,它明确分析 LLM 的知识差距并注入特定攻击指导,以实现复杂微架构攻击的可靠合成。
- 指标驱动的评估: 作者提出了一种将攻击分解为细粒度指标的方法论,为该领域评估 LLM 能力提供了首个可复现的基准。
实验结果
该框架在三个硬件平台(Intel Tiger Lake、AMD Ryzen 9、ARM Neoverse-N1)和两类攻击(Spectre-v1、Prime+Probe)上进行了评估。
- 基线性能: 在没有 RAG 增强的情况下,LLM 生成功能性 PoC 的成功率仅为 0% 到 20%,主要因指令排序错误和缺失微架构原语而失败。
- RAG 的影响: 使用 uGen 后,成功率显著提高。
- Spectre-v1: Claude Sonnet-4 达到了90%的成功率(在某些特定指标测试中从 0% 提升),Qwen3-Coder 达到了70%。
- Prime+Probe: Qwen3-Coder 达到了80%的成功率,而 Claude 和 GPT-4o 达到了70%。
- 效率: uGen 可以在四分钟内生成成功的 PoC(例如,Claude 上的 Spectre-v1 耗时 351 秒),成本低至1.25 美元(使用 Qwen3-Coder)。
- 可移植性: 该框架展示了跨架构的可移植性,通过利用特定于微架构的分析工具和 RAG 文档,成功将攻击适配到 AArch64(ARM)和 x86 平台。
- 泛化能力: 该系统成功适配了五种不同的易受攻击受害者函数变体,无需手动重新设计攻击逻辑。
意义与主张
论文声称,uGen 将漏洞评估从手工的、受限于专家的过程转变为系统化且可扩展的过程。通过结合检索增强、角色专用推理和硬件接地反馈,uGen 弥合了 LLM 能力与微架构利用的严格要求之间的差距。
作者将 uGen 主要定位为一种防御工具。他们认为,虽然该框架降低了生成攻击代码的门槛,但对于防御者而言,系统地测试其系统是否易受攻击,比攻击者依赖它构建新型利用更有利。论文指出,攻击者在将 uGen 应用于现实世界的恶意活动时仍会面临重大障碍,因为该框架是为受控的隔离环境设计的,并且依赖于已知的攻击向量,而非发现新的漏洞。这项工作强调了理解 LLM 在安全关键领域局限性的必要性,并提供了一个通过结构化、工具增强的推理来缓解这些局限性的框架。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。