芯东西1月18日消息,据Trail of Bits披露,苹果、AMD、高通等多个品牌和型号的主流GPU被发现重大漏洞。这个漏洞可能会让攻击者能从GPU内存中窃取大量数据,影响到在这些GPU上运行的大语言模型和机器学习模型。
▲研究人员测试时在一些设备上发现LeftoverLocals漏洞
问题出在GPU架构设计上。这么多年来,GPU设计的第一要务是优化图形处理能力,并没有把数据隐私放在更优先的位置。而生成式AI等AI应用的日益普及,促使GPU得到更广泛的应用,也使得解决GPU漏洞问题越来越紧迫。
在现代电脑和服务器中,多个用户可以共享相同的处理资源,无需访问彼此的数据。但漏洞LeftoverLocals的袭击打破了这些墙。黑客在目标设备上构建一定数量的操作系统访问权限后,即可利用该漏洞,从易受攻击的GPU的本地内存中泄露他们不应该访问的数据,暴露任何碰巧在那里的数据,这可能包括大语言模型生成的查询和响应以及驱动响应的权重。
研究人员演示了一次攻击,左图显示的目标要求开源大语言模型Llama.cpp提供有关《连线》杂志的详细信息。几秒钟内,右图显示的攻击者设备通过对GPU内存进行LeftoverLocals攻击,来收集大语言模型提供的大部分响应。而研究人员创建的攻击程序,只用了不到10行代码。
▲使用LeftoverLocals实现对交互式大语言模型聊天对话的攻击。大语言模型用户(左)查询大语言模型,攻击者(右)可以侦听大语言模型响应。
LeftoverLocals漏洞在AMD Radeon RX 7900 XT上,每一次GPU调用的剩余时间可能会泄漏约5.5MB,在llama.cpp上运行7B模型时,每次大语言模型查询总共会泄漏约181MB。这些信息足以高精度地重建大语言模型响应。
该漏洞突出了机器学习开发堆栈的许多部分具有未知的安全风险,并且尚未经过安全专家的严格审查。
▲侦听器和写入器交互过程,以及如果没有清除本地内存,侦听器是如何观察写入器的值的。
去年夏天,研究人员测试了来自7家GPU制造商的11款芯片和多个相应的编程框架,发现苹果、AMD和高通的GPU均存在LeleftoverLocals漏洞,并联合启动了对该漏洞的协调披露。
苹果、高通和AMD都证实了它们受到影响。截至Trail of Bits发文,其现状如下:
苹果:直到2024年1月13日才给予回复。经重新测试,一些设备的漏洞似乎已被修补,如第三代iPad Air(A12),但该问题仍存在于苹果MacBook Air(M2)上。新发布的苹果iPhone 15似乎没像以前版本那样受影响,苹果已确认A17和M3芯片包含修复程序,但尚未收到在其设备上部署特定补丁的通知。
AMD:AMD确认设备仍受影响,在继续调查潜在的缓解计划。AMD已经就此漏洞问题发表一份安全公告声明,详细列出受影响的产品清单,并说明其为LeftoverLocals提供修复的计划。
高通:高通固件v2.07有一个补丁,针对某些设备的LeleftoverLocals。但目前可能还有其他设备受到影响。
这意味着LeleftoverLocals漏洞目前存在于数百万台依赖前几代苹果芯片的现有iPhone、iPad和MacBook中。
研究人员未发现英伟达、英特尔或Arm GPU包含LeftoverLocals漏洞的证据,也没在他们测试的Imagination GPU中发现相关漏洞。但谷歌已确认一些来自该公司的GPU确实受到影响。Imagination在其最新DDK版本23.3中发布了一个修复程序,于2023年12月提供给客户。
谷歌在一份声明中称它“意识到这个影响AMD、苹果和高通GPU的漏洞”,“已发布了针对受影响的AMD和高通GPU的ChromeOS设备的修复程序”。
英伟达确认他们的设备目前没有受到影响,一个可能的原因是研究人员之前在英伟达GPU上探索过各种内存漏洞,是他们早先意识到这类问题。
Trail of Bits发布了一个视频:研究人员在不同平台上使用不同应用程序的localleftovers不同接口和示例,包括大语言模型PoC攻击。
通过恢复本地内存,研究人员构建了一个PoC,攻击者可以跨进程或容器边界监听另一个用户的交互式大语言模型对话(例如llama.cpp)。
▲PoC利用的步骤,攻击者进程可以发现数据,以高保真度监听另一个用户的交互式大语言模型对话
Trail of Bits研究人员警告说,让这些各种修复方法激增并不容易。即便GPU制造商发布可用的补丁,将其芯片整合到PC和其他设备的制造商也必须打包并将保护传递给最终用户。而全球科技生态系统有如此多的参与者,很难协调各方。
虽然利用该漏洞需要对目标设备进行一定数量的现有访问,但潜在影响是显著的。攻击者通常通过将多个漏洞链接在一起来执行黑客攻击。此外,对于许多常见类型的数字攻击来说,建立对设备的“初始访问”已经是必要的。
Trail of Bits研究人员认为,社区必须尽力加强GPU系统堆栈和相应的规格,严格测试这些硅谷,满足不同应用领域的安全要求,并对各种新式AI芯片进行严格的安全分析。
鉴于GPU的多样性及其在实现AI应用方面的关键作用,这些设备及其生态系统需要:1)一个详细的威胁模型,考虑到GPU上处理的各类数据以及这些数据可能如何被破坏;2)探索GPU执行堆栈,以确定应在何处以及如何指定和实现GPU安全属性;3)重要的测试和审计,以加强GPU生态系统。
▲LeftoverLocals logo:你的机器学习模型留下了哪些剩余数据供其他用户窃取?
研究人员还警告说,随着GPU虚拟化在公共云基础设施中变得越来越普遍,以及越来越多的AI应用程序从本地实施转向在共享云环境中运行,GPU内存安全问题和漏洞将变得更加严重。如果不对GPU内存隐私进行重大改革,这些转换可能会为攻击者创造肥沃的土壤,让他们在一次攻击中轻松从众多目标中获取大量数据。
博客原文:https://blog.trailofbits.com/2024/01/16/leftoverlocals-listening-to-llm-responses-through-leaked-gpu-local-memory/
来源:Trail of Bits,《连线》