[论文解读] LeftoverLocals: Listening to LLM Responses Through Leaked GPU Local Memory
本文介绍了LeftoverLocals这一侧信道漏洞,该漏洞可使攻击者在Apple、AMD、Qualcomm和Imagination GPU上,跨进程或容器边界远程恢复GPU本地内存中的敏感数据,尤其是大语言模型(LLM)的响应。通过利用优化后的GPU内存区域中残留的数据,作者展示了概念验证攻击,能够在AMD Radeon RX 7900 XT上实现每查询高达181 MB的高保真度LLM输出恢复。
This paper describes LeftoverLocals: a vulnerability that allows data recovery from GPU memory created by another process on Apple, Qualcomm, and AMD GPUs. LeftoverLocals impacts the security posture of GPU applications, with particular significance to LLMs and ML models that run on impacted GPUs. By recovering local memory, an optimized GPU memory region, we built a PoC where an attacker can listen into another user's interactive LLM session (e.g., llama.cpp) across process or container boundaries.
研究动机与目标
- 识别并展示GPU内存管理中一种新型的侧信道漏洞,使共驻进程能够从本地内存区域恢复敏感数据。
- 研究GPU内存隔离在机器学习工作负载中的安全影响,特别是对隐私敏感的LLM推理的影响。
- 评估在进程终止后,从残留GPU内存中恢复完整LLM响应的可行性。
- 与主要GPU厂商协调负责任的披露,并推动GPU生态系统中更强的安全规范。
- 倡导建立正式的威胁模型,并对GPU系统进行更严格的安全部测试,特别是在AI/ML工作负载中。
提出的方法
- 通过测量进程终止后内存区域中残留的数据,利用GPU本地内存(该内存区域为低延迟访问而优化,且使用后未清零)进行攻击。
- 使用OpenCL、Vulkan或Metal启动GPU内核,从受害者进程曾使用过的内存位置读取数据。
- 设计内存访问模式以最大化信噪比,并利用统计和模式匹配技术高保真度地重建数据。
- 构建一个概念验证(PoC)应用程序,与受害者LLM推理进程(如llama.cpp)在同一GPU上运行,从泄露的本地内存中恢复输出标记。
- 在多个GPU架构(AMD、Apple M2/A17、Qualcomm、Imagination)上验证攻击,并测量数据恢复的准确率和数据量。
- 与CERT/CC及厂商开展协调披露,包括测试固件补丁并监控缓解措施的状态。

实验结果
研究问题
- RQ1共驻进程在GPU内核执行完成后,能在多大程度上从GPU本地内存中恢复残留数据?
- RQ2可以从GPU本地内存泄漏中重建多少LLM输出数据,且保真度如何?
- RQ3哪些GPU架构(Apple、AMD、Qualcomm、Imagination)易受此类内存泄漏影响?
- RQ4该漏洞对隐私敏感型机器学习应用的实际影响是什么?
- RQ5当前GPU规范和系统栈在防止此类跨进程内存泄漏方面有多有效?
主要发现
- 在AMD Radeon RX 7900 XT上,LeftoverLocals可实现每查询高达181 MB的LLM响应数据恢复,原因在于每次GPU调用会泄漏约5.5 MB的本地内存。
- 攻击成功以高保真度重建完整的LLM响应,真实场景中的PoC演示显示,攻击者终端可实时重构受害者交互式LLM会话的输出。
- 尽管部分设备(如iPad Air 第3代)已打补丁,但Apple的M2芯片MacBook Air仍易受攻击,仅A17和M3系列被确认已修复。
- AMD和Qualcomm已确认正在调查并修补问题,Qualcomm已发布固件更新(v2.07),在部分设备上缓解了该问题。
- Imagination GPU在部分配置下受到影响,但并非所有测试型号均受影响;DDK 23.3版本已发布修复。
- NVIDIA和ARM GPU被确认不受影响,可能由于早期已加强防护和安全意识。

更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。