外观
LeftoverLocals:GPU 本地内存残留泄露
摘要
LeftoverLocals 证明部分 GPU 驱动和硬件没有在进程之间可靠清零本地内存。低权限攻击进程可运行专门设计的 kernel,读取 GPU 上未初始化的本地内存,从而恢复同一 GPU 上其他进程留下的数据;研究者以 LLM 推理展示可持续观察模型响应。该漏洞针对加速器内存隔离,不要求理解 Prompt,也不是模型本身记忆训练数据。
核心创新与差异
研究把通用 GPU 数据残留落实到多租户 AI 推理:数据经受害 kernel 写入本地内存后,可被另一个进程读取。与时序侧信道不同,它直接恢复字节;与主机内存泄露不同,修复责任主要位于 GPU 厂商、驱动和运行时。
威胁模型与攻击链
攻击者能在共享 GPU 上提交普通计算任务,但没有受害进程、容器或模型权限。首个失效控制是设备本地内存在安全域切换时未清零。
攻击工件与复现材料
本站不提供跨进程读取 kernel。安全验证使用自有测试 GPU:受害进程写入随机金丝雀后退出,隔离域中的测试进程只检查输出是否包含金丝雀摘要;发现匹配即停止并保存驱动、固件与设备标识。不得在第三方共享 GPU 上运行。
实验设计与实际过程
研究者在多厂商 GPU 上测试本地内存初始化行为,与 CERT/CC 和厂商协调披露,并用自有 LLM 工作负载演示恢复响应片段。厂商受影响范围和修复状态不同;NVIDIA 在该研究测试中未观察到该缺陷。
关键结果与实际影响
泄露速率与可恢复内容依赖设备、kernel 和调度,但同机攻击者不需要受害应用凭据即可读取残留。共享 GPU 的容器、进程或租户隔离因此不能只依赖主机虚拟内存机制。
防护措施与验证方法
应用厂商补丁与驱动更新;高敏感工作负载使用专用设备或经验证的硬件分区;在上下文切换和分配前清零本地内存;把 GPU 型号、固件和驱动纳入资产与验收;用随机金丝雀做版本化回归。
局限与待验证问题
结论只适用于被测设备和当时驱动。MIG、虚拟 GPU 与云厂商调度层可能增加隔离,也可能引入其他共享状态;未观察到泄露不等于所有路径已清零。