LeftoverLocals:一项影响多个GPU的漏洞
关键要点
- LeftoverLocals 是一种在AMD、Apple、Qualcomm 和 Imagination GPUs中发现的漏洞。
- 攻击者可以通过该漏洞窃取本地内存中的敏感AI输出数据。
- 漏洞跟踪编号为 CVE-2023-4969,影响多款广泛使用的设备,很多仍未修复。
- 研究人员已证明漏洞利用可通过10行OpenCL代码完成。
- 一些设备即使清除本地内存,也可能因使用单独内核执行内存清理而受到攻击。
LeftoverLocals这个漏洞的发现可能对用户的敏感数据安全构成威胁,攻击者能够通过不恰当的内存隔离,从共享的GPU上获取其他用户的进程信息。这项漏洞由发现。
该漏洞的跟踪编号为,它影响一系列广泛使用的设备,而这些设备在研究人员于周二披露漏洞时,许多都尚未打补丁。
研究人员发布了一个概念验证(PoC)利用示例,展示了如何使用LeftoverLocals窃取另一用户与的交互输出。
GPU漏洞使AI处理过程暴露于监视之下
CVE-2023-4969可以通过构造特定的GPU内核来利用,从本地内存中读取其他GPU内核留存的信息。Trail ofBits的研究人员演示了如何仅使用10行OpenCL代码就能实现这一点。
造成此问题的原因是GPU在内核调用之间未能清除本地内存,在某个内核结束时仍然保留了“剩余”数据,导致其他内核可进行监视。
值得注意的是,尽管某些设备确实清除本地内存,但如果使用单独的内核来执行清理,那么“监听”内核仍然可能在内存清理前获取剩余数据。
以一款漏洞利用的AMD Radeon RX 7900 XTGPU为例,攻击者可以通过获取本地内存中的部分模型参数来“指纹”该模型,然后与开源模型进行比较,识别正在使用的完整模型。
借助“监听者”,攻击者可以从LLM中提取输入向量,该向量完全存储在本地内存中,并结合完整的模型信息,高精度地重建LLM的输出。
泄露的数据量取决于特定的GPU架构及其本地内存的大小。例如,AMD Radeon RX 7900 XT每个内核约泄露5.5MB的数据,或每个LLM查询约泄露181 MB数据。
随着GPU被越来越多用于加速AI和机器学习应用,研究人员警告像LeftoverLocals这样的漏洞可能成为数据窃贼的主要目标。
“通常,机器学习的引入会增加传统威胁模型未考虑的新攻击面,这可能导致对数据、模型参数或结果输出的隐式和显式访问,从而增加系统的整体攻击面。”研究人员指出。
对于尚未打补丁的GPU用户,Trail ofBits表示缓解措施困难,因为需要修改所有使用本地内存的GPU内核的源代码,在内核结束之前用零覆盖清空本地内存。
我的GPU是否受LeftoverLocals影响?
根据研究人员的说法,部分AMD、Apple、Qualcomm和ImaginationTechnologies的GPU受此影响,而NVIDIA和ARM设备则确认未受到影响。
Intel在9月11日通过CERT协调中心披露后未作回应,但Trail of Bits表示,至少一款IntelGPU经过测试后发现不受LeftoverLocals影响。
AMD于周二发布了关于该漏洞的,提供受影响设备的完整列表,并表示从2024年3月起将提供缓解措施。
苹果表示,其A17和M3