前言
随着deepseek的在网络上的爆火,如何部署私有大模型已经是当前的热门话题,越来越多的人开始尝试在本地部署私有化AI服务。其中,Ollama凭借其便捷的部署体验,成为了站在风口浪尖的明星工具。
专属于自己/公司的大模型可以实现高度的自主可控,企业或组织能完全掌控数据的存储、访问和使用权限,确保敏感数据不被外部未经授权的人员获取,满足对数据保密性要求高的场景,如金融机构的客户交易数据、医疗企业的患者隐私信息等。还可以针对特定业务领域和任务进行定制开发,融入专业知识和业务规则,使模型更贴合实际业务需求,提供更精准、有效的服务。
但在实际工作中发现,我们发现Ollama大型语言模型工具的服务器存在未授权访问情况和信息泄露风险。
一、Ollama
Ollama是一款开源的跨平台大模型工具,旨在简化大语言模型(LLMs)的部署和运行,能让用户在Windows、Linux和macOS设备上轻松地进行本地部署。其操作简单,深受开发者喜爱,在GitHub上收获了众多关注 ,也有大量用户从Docker Hub上进行拉取使用。它就像是一个便捷的“模型管家”,帮助用户快速搭建起自己的AI模型运行环境。
经行业监测数据显示,Ollama(大语言模型服务工具)在大模型服务器中,有88.9%都“裸奔”在互联网上,导致任何人不需要任何认证即可随意调用、在未经授权的情况下访问这些服务。私有AI模型的无序搭建,存在系统安全隐患。
二、有哪些安全隐患
1. 未授权访问风险:在默认配置下,Ollama会在本地启动一个Web服务,并开放11434端口,且这一端口没有任何鉴权机制。这就好比你家门没锁,任何人都能随意进入。攻击者无需任何认证即可直接访问模型服务,他们可以随意调用模型接口,获取模型信息,甚至通过恶意指令删除模型文件或窃取数据 。
2. 数据泄露危机:Ollama的某些接口,如/api/show,允许用户获取模型的license等敏感信息。攻击者可以利用这些接口,轻松提取模型数据,从而引发数据泄露风险。在数据成为重要资产的今天,这种风险无疑是对企业和用户隐私的巨大威胁。
3. 历史漏洞利用:Ollama框架存在多个已知的历史漏洞(如CVE-2024-39720/39722/39719/39721 )。攻击者可以利用这些漏洞,实施数据投毒、参数窃取、恶意文件上传以及关键组件删除等操作。这不仅会破坏模型服务的核心数据和算法完整性,还会严重影响运行稳定性,甚至可能导致整个系统瘫痪。例如,利用CVE-2024-39722这个路径遍历漏洞,攻击者能获取服务器上的文件信息,造成数据泄露。
Ollama大语言模型服务工具还存在远程代码执行漏洞(CVE-2024-37032)该漏洞允许通过路径遍历任意写入文件,从而导致远程代码执行,一旦被恶意利用,将导致服务器存储信息泄露等后果。
二、风险复现
(1) Ollama未授权访问调用
发现存在Ollama未授权访问,可随意调用,如下为复现步骤:访问web页面,通过接口/api/tags判断Ollama模型工具内安装deepseek-r1;
(2)若部署 Ollama 服务时,没有进行必要的安全配置,例如限制监听地址或设置防火墙规则,导致任何人可以调用模型。默认配置下的 Ollama 服务,存在被互联网非授权访问的风险,操作步骤如下:
1、使用Curl命令调用接口访问未限制的模型
2、远程代码执行漏洞(CVE-2024-37032)漏洞
发现资产存在Ollama远程代码执行漏洞(见附件),如下为复现步骤:访问资产页面,通过接口/api/version判断Ollama版本低于0.1.34;
若低于该版本,则在私有服务器中部署恶意的私有模型仓库,当尝试通过/api/push端点将此恶意模型推送到远程注册表时,对方服务器会处理恶意文件。由于对摘要字段验证不当,对方服务器会错误地将有效载荷解释为合法的文件路径,导致任意文件读取甚至是写入恶意代码。
复现流程包括在私有服务器中运行Server.py和Poc.py,通过修改服务端和资产信息,操作步骤如下:
(1)运行Server.py作为恶意私有模型仓库
(2)设置测试攻击资产,为http://xxxxx.xxxxxxxxx.com:10010
(3)服务器端返回/etc/passwd信息,存在该漏洞。
三、如何进行安全加固
1. 限制监听范围:将Ollama的11434端口限制为仅本地访问,通过验证端口状态,确保服务不会暴露在公网环境中。这样可以有效阻止外部攻击者对服务的直接访问,为系统增加一道安全屏障。比如在Linux系统中,可以修改相关配置文件,将监听地址设置为127.0.0.1。
设置环境变量Environment="OLLAMA_HOST=127.0.0.1",仅允许本地访问。
2. 配置防火墙规则:对公网接口实施双向端口过滤,彻底阻断11434端口的出入站流量。这样可以防止未授权访问,同时减少攻击者通过该端口发起攻击的可能性。以常见的防火墙软件为例,在其规则设置中添加对11434端口的禁止访问规则。
3. 实施多层认证与访问控制:启用API密钥管理是保护接口安全的有效手段,定期更换密钥,并限制调用频率,可以有效防止密钥泄露带来的风险。此外,部署IP白名单或零信任架构,仅授权可信设备访问,可以进一步增强系统的安全性。通过这种方式,即使攻击者获取了API密钥,也无法轻易访问系统。
4. 禁用危险操作接口:某些接口,如push、delete和pull,具有较高的风险。建议禁用这些接口,并限制chat接口的调用频率,以防止DDoS攻击。通过这种方式,可以减少攻击者利用接口进行恶意操作的可能性,保护系统的稳定运行。
5. 修复历史漏洞:及时更新软件是修复漏洞的关键步骤。
针对路径遍历代码执行漏洞:升级到Ollama 0.1.34或更高版本。
在升级前,确保对digest字段进行适当验证,防止路径遍历攻击
针对越界读取漏洞:升级到Ollama 0.1.46或更高版本。
在升级前,对处理HTTP请求的代码进行审查和优化,防止越界读取攻击。
四、结语
在使用大模型工具时,安全是不容忽视的重要环节。希望大家能够重视Ollama的安全问题,及时采取加固措施,共同营造一个安全可靠的AI应用环境。
本公众号所发布的文章皆源自于互联网转载或作者投稿并授予的原创作品,文章末尾有详细出处标注,其内含内容及图片之版权均属于原网站或作者本人,本公众号对此不持立场,若发现有非故意侵权或转载失当之处,敬请随时联系我们进行妥善处理!本文章原文链接:https://blog.csdn.net/netinside_/article/details/146341261
及时掌握网络安全态势 尽在傻蛋网络安全监测系统
本文来源:互联网
如涉及侵权,请及时与我们联系,我们会在第一时间删除或处理侵权内容。
电话:400-869-9193 负责人:张明