2023年,生成式AI爆火,让GPU市场一时风光无两。然而,在AI持续爆火的同时,GPU存在的安全风险竟相伴相生。近日,来自美国纽约安全顾问公司Trail of Bits的研究人员发现了一种从同一服务器上托管的GPU读取另一GPU内存值的方式,即这个漏洞有可能从GPU内存中窃取“关键数据”。
如今,越来越多的企业开始在其服务和产品中结合大语言模型的AI,而信息和数据安全是其不得不关注的问题。据悉,英伟达、苹果、AMD和高通等多个型号的消费性GPU受到影响。研究人员还警告称,如果不对GPU内存隐私进行重大改革,这些转换可能会为攻击者创造肥沃的土壤,让他们在一次攻击中轻松从众多目标中获取大量数据。
GPU漏洞日益紧迫
实际上,关键问题就出在GPU架构设计上。多年来,GPU设计的第一要务是优化图形处理能力,并没有把数据隐私放在更优先的位置。而生成式AI等AI应用的日益普及,促使GPU得到更广泛的应用,也使得解决GPU漏洞问题越来越紧迫。
该漏洞被命名为“LeftoverLocals”,这个漏洞不只是针对消费者应用程序,而是通过侵入大语言模型(LLM)和机器学习(ML)模型中使用的GPU来完成任务。由于模型训练涉及敏感数据使用,因此提取数据更危险。
据悉,Trail of Bits研究人员只用了不到10行代码,就通过创建的攻击程序,在几秒内对GPU内存进行LeftoverLocals攻击,来收集大语言模型提供的大部分响应。该公司的研究人员证明,该漏洞可以用于窃听——跨容器或进程边界——基于提示的聊天会话。
该漏洞(CVE-2023-4969)据传适用于苹果、高通、AMD和Imagination的GPU。其中,在AMD Radeon RX 7900 XT上运行70亿参数量模型时,LeftoverLocals漏洞在GPU每一次调用数据时可能会泄漏约5.5MB数据,在llama.cpp上运行7B模型时,每次LLM查询总共会泄漏约181MB数据。
Trail of Bits的研究人员Heidy Khlaaf和Tyler Sorensen透露,早在2023年9月他们就发现了该漏洞。他们同时指出,这比“以高精度重构 LLM 响应”所需的要多得多。也就是说,这些信息足以高精度地重建大语言模型响应。
LeftoverLocals相当依赖GPU如何隔离其内存,而这与CPU框架不同,因此通过可编程接口获得对GPU共享访问权限的攻击者可以窃取GPU内的内存数据,这将带来多种安全后果。对于普通消费者来说,LeftoverLocals可能不值得担心,但对于云端运算或推理等产业的相关人员来说,会使LLM和ML框架的安全性存在疑虑。
在现代电脑和服务器中,多个用户可以共享相同的处理资源,无需访问彼此的数据。但漏洞LeftoverLocals的袭击打破了这些墙。黑客在目标设备上构建一定数量的操作系统访问权限后,即可利用该漏洞,从易受攻击的GPU的本地内存中泄露他们不应该访问的数据,暴露任何碰巧在那里的数据。
多家科技巨头受影响
2023年夏天,Trail of Bits的研究人员就测试了来自7家GPU制造商的11款芯片和多个相应的编程框架,发现苹果、AMD和高通的GPU均存在LeleftoverLocals漏洞,并联合启动了对该漏洞的协调披露。而苹果、高通和AMD都证实了它们受到影响。
此前,有人曝光了这个问题,但苹果一直没有公开回应。直到2024年1月13日才给予回复。经重新测试,一些设备的漏洞似乎已被修补,如第三代iPad Air(A12),但该问题仍存在于苹果MacBook Air(M2)上。新发布的苹果iPhone 15似乎没像以前版本那样受影响,苹果已确认A17和M3芯片包含修复程序,但尚未收到在其设备上部署特定补丁的通知。
然而,这并不是苹果第一次面临此类问题,此前M1芯片也被曝出存在安全漏洞。由此可见,苹果需要加强其产品的安全性,以确保用户的数据安全。
而AMD也受到该漏洞的影响,在继续调查潜在的缓解计划。AMD已经就此漏洞问题发表一份安全公告声明,详细列出受影响的产品清单,并说明其为LeftoverLocals提供修复的计划。
尽管高通固件v2.07有一个补丁,可以针对某些设备的LeleftoverLocals,但目前可能还有其他设备受到影响。
据了解,研究人员未发现英伟达、英特尔或Arm GPU包含LeftoverLocals漏洞的证据,也没在他们测试的Imagination GPU中发现相关漏洞。但谷歌已确认一些来自该公司的GPU确实受到影响。Imagination在其最新DDK版本23.3中发布了一个修复程序,于2023年12月提供给客户。
至于作为GPU市场领导者的英伟达确认其设备目前没有受到影响,有人分析,一个可能的原因是研究人员之前在英伟达GPU上探索过各种内存漏洞,是他们早先意识到这类问题。
目前,卡内基梅隆大学(Carnegie Mellon University)的专家正在对LeftoverLocals进行跟踪,据称该信息已经被受其影响的主要GPU供应商共享,其中包括英伟达、苹果、AMD、Arm、英特尔、高通和Imagination等。
值得一提的是,此漏洞不适用于浏览器GPU框架,例如Google的WebGPU,因为它们会向GPU内核插入动态内存检查。
如何解决漏洞问题?
尽管这种安全漏洞仍然存在于许多流行的消费类设备上,如iPhone和Android手机,但到目前为止,还没有关于漏洞利用的消息。而AMD本身仅将风险评估为具有中等威胁级别。
尽管如此,LeftoverLocals指出了保护LLM及其支持MLops的新兴做法。Trail of Bits也指出,“该漏洞凸显了ML开发栈的许多部分存在未知的安全风险,并且没有经过安全专家的严格审查。”
同时,值得关注的是,未来,随着GPU虚拟化在公共云基础设施中变得越来越普遍,以及越来越多的AI应用程序从本地实施转向在共享云环境中运行,GPU内存安全问题和漏洞将变得更加严重。
对此,Trail of Bits研究人员警告说,让这些各种修复方法激增并不容易。即便GPU制造商发布可用的补丁,将其芯片整合到PC和其他设备的制造商也必须打包并将保护传递给最终用户。而全球科技生态系统有如此多的参与者,很难协调各方。
Trail of Bits研究人员认为,社区必须尽力加强GPU系统堆栈和相应的规格,严格测试这些规格,满足不同应用领域的安全要求,并对各种新式AI芯片进行严格的安全分析。
此外,鉴于GPU的多样性及其在实现AI应用方面的关键作用,研究人员认为,相关设备及其生态系统需要做到以下几点:一是创建一个详细的威胁模型,考虑到GPU上处理的各类数据以及这些数据可能如何被破坏;二是探索GPU执行堆栈,以确定应在何处以及如何指定和实现GPU安全属性;三是进行重要的测试和审计,以加强GPU生态系统。