许多同学通过Ollama开源大语言模型运行工具,安装Open WebUI结合cpolar内网穿透软件,实现在公网环境也能访问你在本地内网搭建的大语言模型运行环境。Ollama的HTTP服务器在默认情况下缺乏身份验证支持,使得任何人都可以未经授权访问服务。这种“裸奔”状态使得攻击者能够轻松连接并滥用这些服务,甚至删除部署的AI模型文件。
利用方法
在网络空间测绘平台上搜索相关语法,可以搜索出大量开放的资产。这里使用fofa:https://fofa.info/语法:
app="Ollama" && is_domain=false
Fofa平台搜索出近5.4万条数据。
然后通过下载一个基于 Ollama 的命令行工具进行管理访问
安装并运行
git clone https://github.com/b3nguang/Ollama-Scan.git
cd Ollama-Scan
pip install -r requirements.txt
python main.py [--host HOST]
相关漏洞
Ollama AI模型存在多个安全漏洞,可能导致多种恶意操作,包括拒绝服务(DoS)攻击、模型中毒和模型盗窃等。例如Ollama 版本 <= 0.1.45中存在越界读取漏洞,该漏洞的CVSS评分为8.2,允许攻击者通过两个HTTP POST请求上传一个特制的GGUF文件,例如ballr7这类型的恶意大模型。
该大模型存在以下特征
-
1. 远程控制植入 -
• 通过Pickle反序列化执行反向shell代码 -
• 建立与C2服务器(107.173.7.141)的连接 -
• 实现远程命令执行(RCE) -
2. 攻击特征 -
• 使用PyTorch格式封装恶意Pickle文件 -
• 采用7z压缩绕过安全扫描(常规使用ZIP格式) -
• 在Pickle文件头部植入恶意代码 -
3. 规避检测机制 -
• 利用Picklescan工具的黑名单机制缺陷 -
• 通过文件损坏中断后续扫描(前段恶意代码已执行) -
• 未被Hugging Face默认安全机制标记(目前Hugging Face已经禁用该模型) -
4. 潜在危害 -
• 完全控制受感染主机 -
• 窃取敏感数据/凭证 -
• 横向移动渗透内网 -
• 部署勒索软件/挖矿程序
已披露的Ollama漏洞:
-
• CVE-2024-39719 (CVSS 评分:7.5):攻击者可利用此漏洞,通过/api/create端点确定服务器中是否存在文件(已在版本0.1.47中修复)。 -
• CVE-2024-39720 (CVSS 评分:8.2):由于越界读取漏洞,通过/api/create端点可能导致应用程序崩溃,造成DoS(已在0.1.46版本中修复)。 -
• CVE-2024-39721 (CVSS 分数:7.5):重复调用/api/create端点,并将文件“/dev/random”作为输入传递时,会导致资源耗尽,最终造成DoS(已在0.1.34版本中修复)。 -
• CVE-2024-39722 (CVSS 分数:7.5):api/push端点中的路径遍历漏洞,暴露服务器上存在的文件以及部署Ollama的整个目录结构(已在0.1.46版本修复)。
-
• CVE-2024-37032:Ollama远程代码执行漏洞,攻击者可以通过操控服务器接口下载恶意文件,从而导致远程代码执行. 通过路径遍历任意写入文件,影响版本Ollama < 0.1.34。
防护建议
-
1. 限制访问:确保Ollama仅监听本地地址(如127.0.0.1),避免公开暴露。 -
2. 配置防火墙:设置防火墙规则,阻止未授权访问。 -
3. 定期更新:及时升级Ollama至最新版本,以修复已知漏洞。 -
4. 使用中间件:在Ollama前面配置具有身份验证功能的反向代理,以增强安全性。
原文始发于微信公众号(赛哈文):一招随意盗用算力资源跑大模型!利用漏洞可上传恶意大模型后果不堪设想,最后教你如何防护
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论