实时了解业内动态,论文是最好的桥梁,专栏精选论文重点解读热点论文,围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技(Mamba,xLSTM,KAN)则提供了大模型领域最新技术跟踪。若对于具身智能感兴趣的请移步具身智能专栏。技术宅麻烦死磕AI架构设计。
由Wiz Research发现的 CVE-2024-37032是开源 AI基础设施项目Ollama 中一个易于利用的远程代码执行漏洞。该漏洞源于平台模型服务功能中的输入验证不当。具体而言,攻击者可以通过向 Ollama 服务器发送特制请求来利用此缺陷,这可能导致在主机上执行任意代码。
解决的办法在于尽快将Ollama安装升级到版本 0.1.34或更高版本
在他们的研究中,Wiz的研究人员发现,缺陷在于Ollama在没有足够卫生设施的情况下处理某些类型的输入的方式。该漏洞被称为“Probllama”,特别危险,因为它允许攻击者以与 Ollama 进程相同的权限执行任意命令,可能导致整个系统受到损害。
在过去的一年中,在各种推理服务器中发现了多个远程代码执行 (RCE) 漏洞,这些漏洞可能使攻击者能够劫持自托管的AI推理服务器、窃取或更改AI模型以及破坏AI应用程序。关键问题不仅在于漏洞本身,还在于这些新工具中固有的缺乏身份验证支持。如果暴露在互联网上,攻击者可以轻松连接、窃取或修改 AI 模型,或将远程代码作为内置功能执行。
在他们的研究中,Wiz研究人员说:“缺乏身份验证支持意味着这些工具不应该在没有保护性中间件的情况下向外部公开,例如具有身份验证的反向代理。尽管如此,当在互联网上扫描暴露的Ollama服务器时,我们的扫描揭示了1,000多个暴露的实例,这些实例托管着许多AI模型,包括未在Ollama公共存储库中列出的私有模型,这凸显了一个重大的安全漏洞。
Ollama的HTTP 服务器为各种功能提供了多个API端点。其中一个端点 /api/pull用于从Ollama注册表下载模型。默认情况下,模型是从Ollama 的官方注册表下载的,但也可以从私人注册表中提取模型。
他们发现,当通过http://[xxxx]:11434/api/pullAPI端点从私有注册表中拉取模型时,可在摘要字段中提供包含路径遍历有效负载的恶意清单文件。
研究人员发现,摘要字段的使用没有经过适当的验证,导致在尝试将其存储在文件系统上时出现路径遍历。最后可以利用此问题来破坏系统上的任意文件。具体过程如下:
通过利用此问题,恶意行为者可以在服务器上植入另一个恶意清单文件:比如:/root/.ollama/models/manifests/%ATTACKER_IP%/library/manifest/latest从而有效地将新模型注册到服务器。如果此模型的清单包含其某个层的摘要的遍历有效负载,则尝试通过 http://[xxxx]:11434/api/pushendpoint 将此模型推送到远程注册表将导致服务器泄漏摘要字段中指定的文件的内容。
如前所述,可以利用任意文件写入漏洞来破坏系统上的某些文件。在 Docker安装中,实现远程代码执行 (RCE) 相对简单,因为服务器使用 rootprivileges 运行。
Wiz 研究人员发现,实现RCE的最简单方法涉及损坏 ld.so配置文件,特别是 /etc/ld.so.preload。
“这个文件包含一个以空格分隔的共享库列表,每当新进程启动时,都应该加载这些列表。使用任意文件写入漏洞,将有效负载作为共享库植入文件系统 (/root/bad.so),然后/etc/ld.so.preload被损坏以包含它。最后,在Ollama API服务器上查询/api/chatendpoint会创建一个新进程,该进程将加载恶意负载。对于不使用 rootprivileges 运行的实例,有一种替代策略可以利用任意文件读取原语。
课外阅读:Ollama
Ollama的核心是简化下载、安装和与各种平台LLMs交互的过程,使用户能够探索其功能,而无需广泛的技术专业知识或依赖基于云的平台。
Ollama的突出特点之一是其用户友好的安装过程。无论您是 Windows、macOS还是Linux用户,Ollama都能提供针对您的操作系统量身定制的直观安装方法,确保流畅无忧的设置体验。它是一个简化的工具,用于LLMs在本地运行开源,包括 Mistral 和 Llama。Ollama将模型权重、配置和数据集捆绑到一个由 Modelfile 管理的统一包中。Ollama支持多种功能LLMs,包括 LLaMA3、未经审查的 LLaMA3、CodeLLaMA、Falcon、Mistral、Vicuna 模型、WizardCoder 和未经审查的 Wizard等。
使用Ollama运行模型是一个简单的过程。用户可以使用终端中run的命令下载和运行模型。如果模型未安装,Ollama将首先自动下载。例如,要运行Code Llama模型,可以使用命令ollama run codellama。
已经运行了Ollama还可以使用Ollama作为本地ChatGPT的替代品。下面为Ollama WebUI的示例图。