十年前的传统观点认为,人工智能首先会影响体力劳动,然后是认知劳动,也许有一天可以做创造性的工作。然而,伴随人工智能技术的飞速迭进,大模型的应用已经愈发常见。从自然语言处理、图像识别、智能客服到各类业务任务的处理,大模型的强大性能与发展速度已经超乎想象,企业和个人用户都在借助大模型来提高效率、优化决策,甚至推动创新。
但比起带给人类的福利,人们似乎更担心大模型将加诸于社会的危害。近日,知名开源大模型开源软件库llama.cpp发布了一系列安全风险预警和软件更新公告,公布了由360漏洞研究院发现的llama.cpp在加载模型和分布式推理场景中存在的多个安全漏洞。其中影响最大的漏洞是CVE-2024-42479, CVSS评分为9.8/10,表明存在较高的利用风险,如若被组合利用可实现远程命令执行。
该漏洞首次被曝光,将影响从事AI、开发、边缘计算或智能家居相关工作人群,360建议广大用户尽快进行版本更新。
大模型落地的关键在于推理性能的优化,llama.cpp是由Georgi Gerganov开发的开源软件库,能够帮助用户在不依赖云计算的情况下实现本地AI推理,极大拓展了LLaMA大模型的应用场景,成功复“俘获”了近千名软件创作贡献者以及超六万应用收藏者的芳心,从研究人员到普通用户都被强势圈粉。
具体而言,llama.cpp不仅能够进行高效推理,还可以在低资源环境下将多个远程设备组建成集群,类似于公司将任务分派给不同的部门,从而充分利用更多计算资源。这种集群构建能力主要得益于其实现的RPC-server(远程过程调用服务),它就像一个执行者,接受“老板”的任务并处理,使得llama.cpp这位“老板”能够利用它在各种远程设备进行推理。
这些设备包括了大型服务器、谷歌Pixel 8 Pro手机、Apple Vision Pro,甚至是4GB RAM树莓派等边缘设备。对于那些从事AI、开发、边缘计算或智能家居相关工作的人来说,他们的所有设备都可能在用llama.cpp进行协同推理。
当远程设备运行了RPC-server后,llama.cpp会通过RPC后端作为“老板”与一个或多个远程RPC-server”部门“通信,将计算任务分配给它们,从而实现高效的分布式多主机推理。
图片来源:
llama.cpp/examples/rpc/README.md
而360漏洞研究院发现RPC-server存在导致未授权远程命令执行的漏洞利用链:
首先,该服务是默认使用0.0.0.0来开启,从简单的数字序列就能看出其安全性不言而喻。而在此过程中,其还存在着任意地址写、任意地址读、全局缓冲区溢出3项内存漏洞。攻击者光是使用任意地址写漏洞与任意地址读漏洞组合使用,就能够实现远程命令执行(Remote Command Execute),可以对运行了RPC-server的节点进行攻击,从而控制所有节点。
换句话说,一旦llama.cpp在分布式多主机推理的过程中被恶意攻击者利用漏洞进行攻击,攻击者可以在未授权的情况下,实现执行恶意命令、窃取用户敏感数据、窃取AI模型,甚至控制所有推理设备等一系列操作。
比如说,使用llama.cpp构建的分布式推理来提供设备故障诊断支持的工业系统,可能会因此造成工业设备隐私数据泄露,故障恶意误判,所有设备被恶意控制等安全问题。
又或者,利用llama.cpp进行分布式推理来运行离线语音助手的技术人员,可能会因此被攻击者夺取所有相关设备的控制权,进而窃取个人隐私信息,甚至可以执行任意命令。
造成Ubuntu22上运行64位RPC-server远程命令
执行的漏洞利用示范
由于该漏洞源于设计理念上的缺陷,修复工作将异常复杂,可能需要对代码进行重新设计。当前开发者已暂时将RPC-server的默认启动地址更改为127.0.0.1,并在文档中明确指出RPC-server存在安全隐患。与此同时,开发团队正在持续投入资源,以彻底解决该代码中的问题。
鉴于此次漏洞所造成的巨大风险,360建议广大用户尽快进行版本更新。作为国内唯一兼具数字安全和人工智能能力的公司,360数字安全集团基于“以模治模”、“用AI对抗AI”的理念,打造安全大模型,垂直化训练攻击检测、运营处置、追踪溯源、知识管理、数据保护、代码安全等专家子模型,时刻保障网络与数据安全、生成内容安全、解决恶意使用、模型失控等各类安全问题。同时,360构建实战对抗评估体系帮助大模型安全实战能力进行评估,并持续以服务运营为核心完善大模型安全的高效治理。
欢迎尽快联系咨询400-0309-360
尽快构建数字安全防护体系