系统:运行中
← 返回所有攻击
DEFENSE MEDIUM NEW

蜜罐数据揭示:攻击者对暴露的 Ollama 服务器实际做了什么

一个运行84天的蜜罐记录了针对暴露 Ollama 端点的29万余次交互,揭示了攻击者的真实行为模式。

2026-09-28 // 6分钟 affects: ollama, self-hosted-llm-infrastructure

这是什么?

2026年9月24日,研究人员 Karina Elzer、Niklas Netterstrøm Johansen 和 Emmanouil Vasilomanolakis 在 arXiv 上发表了题为《OllamaDrama》的论文(编号 2609.29757),介绍了 Ollure——一个用于模拟 Ollama API 的蜜罐系统,旨在实证测量攻击者在发现暴露在公网上的 LLM 基础设施后会采取哪些行动。与本站2026年5月报道的暴露扫描研究(《One million exposed AI services》,仅统计存在多少配置不当的部署)不同,Ollure 观察的是”被发现之后”发生了什么:该蜜罐在四个云端和高校网络节点上运行了84天,记录了来自2793个独立IP地址的290887次交互。这些结果与一项规模较小的独立观察相印证——研究员 Marco Pedrinazzi 在2026年3月至4月间部署的蜜罐,在32天内记录了来自324个IP的6461个事件。

工作原理

Ollure 是一个低到中等交互程度的蜜罐:它能足够逼真地模拟 Ollama 的 HTTP API,以至于会被识别为真实部署,但后台并没有实际生成文本的 LLM,因此其暴露在设计上是安全的。观察到的流量大致分为两个阶段。绝大部分流量属于侦察行为:自动化发现扫描、服务指纹识别,以及针对目标声称提供的模型进行枚举的请求(/api/tags、/api/show)。占比较小但更值得关注的是主动利用行为。报告中记录的类别包括:滥用模型管理端点(/api/pull、/api/create、/api/delete)——在某些情况下会构造恶意的”modelfile”以尝试读取本地文件——针对接受URL的字段发起路径遍历和SSRF探测、注入类RCE载荷、尝试配置加密货币挖矿、发起资源耗尽请求、针对任何下游LLM行为的提示注入字符串、尝试提取配置信息和密钥,以及与代理框架探测工具调用面(而非人类手动输入提示词)相符的流量。出于对数据集负责任呈现的考虑,论文并未复现具体的载荷字符串,本文同样不予复现。

为什么重要

这项研究填补的空白对风险建模而言意义重大:安全团队此前已通过扫描获得证据,证明成千上万的 Ollama、Open WebUI、Flowise 等自托管 AI 技术栈在未经身份验证的情况下暴露在公网上,但缺乏关于”接下来会发生什么”的证据。Ollure 的结果表明答案是”很多,而且很快”:侦察行为在暴露后数小时内即开始,相当一部分访问者随后会尝试具体的利用行为,而非仅仅止步于被动扫描。SSRF探测和通过 modelfile 尝试泄露文件的存在提醒我们,Ollama 的管理API最初是为单一可信操作者的场景设计的,而非用于暴露在公共互联网上;将 LLM 运行时简单理解为”一个响应提示词的API”低估了其真实的攻击面。

防御措施

切勿将 Ollama 或任何自托管推理服务器的管理API直接暴露在互联网上:应将其绑定到本地回环地址或私有网络,并在任何外部访问之前设置身份验证。在软件支持的情况下,应将模型管理端点(/api/pull、/api/create、/api/push、/api/delete)与推理端点分开禁用或通过防火墙隔离,因为前者带有文件和网络副作用风险,而普通的提示词端点并不具备这类风险。对用户提供的任何URL字段(用于 pull/push 类操作)进行校验和限制以防范SSRF,包括屏蔽云元数据IP地址段。在没有 Docker socket 或 Kubernetes 服务账户访问权限的容器或沙箱中运行推理进程,因为文中记录的凭据收集尝试正是针对这些资源。将本文描述的侦察特征——/api/tags 的突发请求以及”hello”式的存活性探测——作为部署已被发现的早期信号加以监控,而不是将其当作可忽略的良性误报。

状态

项目详情
蜜罐Ollure(低/中交互,后台无LLM)
研究时长84天,4个网络节点
记录的交互次数来自2793个独立IP的290887次
论文arXiv:2609.29757,提交于2026-09-24
印证研究InTheCyber Ollama 蜜罐,6461个事件/324个IP,2026年3-4月

Sources