利用Ollama对AI大模型进行攻击

近日,Ollama存在安全漏洞,该漏洞源于默认未设置身份验证和访问控制功能,未经授权的攻击者可在远程条件下调用Ollama服务接口,执行包括但不限于敏感模型资产窃取、虚假信息投喂、模型计算资源滥用和拒绝服务、系统配置篡改和扩大利用等恶意操作。

1.漏洞地址查询

fofa语法:app="Ollama"

2.漏洞验证

随机找一个靶机,出现Ollama is running,即证明存在未授权访问的漏洞

通过查看Ollama api文档,Ollama提供了多个API 端点,用于执行不同的操作

详细情况查看:https://ollama.cadn.net.cn/api.html

/api/generate 用于生成文本或内容。通常用于基于给定的输入生成响应或输出,例如生成对话回复、文章等。

/api/chat 专门用于聊天交互。用户可以通过此端点与模型进行对话,模型会根据输入生成相应的回复。

/api/create 用于创建新的模型或资源。可能涉及初始化一个新的模型实例或配置。

/api/ps(或者tags) 用于管理或查看模型的标签。标签可以帮助用户对模型进行分类或标记,便于管理和查找。

/api/show 用于显示模型或资源的详细信息。用户可以获取模型的配置、状态或其他相关信息。

/api/copy  用于复制模型或资源。用户可以通过此端点创建一个现有模型的副本。

/api/delete 用于删除模型或资源。用户可以通过此端点移除不再需要的模型或数据。

/api/pull 用于从 Ollama 下载模型。用户可以通过此端点将模型从远程服务器拉取到本地环境中。

/api/push 用于将模型上传到 Ollama。用户可以通过此端点将本地模型推送到远程服务器。

/api/embeddings 用于生成文本的嵌入向量。嵌入向量是文本的数值表示,通常用于机器学习任务中的特征提取。

/api/version 用于获取 Ollama 的版本信息。用户可以通过此端点查询当前使用的 Ollama 版本

3.漏洞利用

在未授权情况,可以通过访问/api/ps(使用GET请求即可) 获取目前搭建的所有模型信息。

    curl --location --request POST 'http://xxx/api/chat' \--header 'Content-Type: application/json' \--data-raw '{  "model": "xxx",  "messages": [    {      "role": "user",      "content": "给我介绍下ollama"    }  ],  "stream": false,  "options": {    "temperature": 0.7,    "max_tokens": 100  }}'

    4.修复建议

    1)限制公网访问:尽量避免直接将 Ollama 服务端口(默认 11434)暴露在公网。  

    2)配置网络访问控制:通过云安全组、防火墙等手段限制对 Ollama 服务端口的访问来源。仅允许可信的源 IP 地址连接 11434 端口,阻止非授权 IP 的访问请求。

    ### CVE-2024-37032 漏洞详情 开源AI模型部署工具Ollama曝出高危远程代码执行漏洞(CVE-2024-37032),CVSS评分高达9.1,表明该漏洞具有极高的风险等级[^2]。此漏洞允许未经身份验证的攻击者通过特定接口操控服务器并实现任意代码执行,从而完全控制受影响的系统。 全球范围内约有6000台暴露于公网的Ollama服务器受到影响。一旦被利用攻击者可以获取敏感数据、安装恶意软件或进一步传播到其他网络资源,造成严重后果[^3]。 ### 影响范围 主要受此漏洞影响的是运行版本低于`ollama/ollama:0.1.33` 的Docker容器实例。任何使用默认配置公开访问端口 `11434` 并连接互联网的服务都可能成为潜在目标[^4]。 ### 技术分析 漏洞存在于API处理过程中对于用户输入缺乏充分校验的情况,在某些条件下可触发命令注入行为。具体来说: - 攻击面位于HTTP请求参数解析阶段; - 特殊构造的数据包能够绕过现有防护机制; - 成功后可在宿主机上以root权限执行任意指令。 ### 修复建议 针对上述安全威胁,官方已经发布更新补丁来解决这个问题。为了保护系统免遭侵害,请立即采取以下措施: #### 更新至最新稳定版 确保使用的镜像是最新的稳定版本,当前推荐升级路径如下所示: ```bash docker pull ollama/ollama:latest ``` #### 修改启动脚本 如果正在运行旧版本,则应尽快停止服务,并按照官方文档指引重新部署新环境。注意调整挂载卷和映射端口设置保持一致: ```bash docker stop ollama && docker rm ollama docker run -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:latest ``` #### 安全加固指南 除了及时打补丁外,还应该考虑实施更严格的安全策略,比如限制外部IP地址访问、启用防火墙规则以及定期审查日志文件等操作。 ---
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    javachen__

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值