一名开发者深夜坐在工作站前,正在使用本地大语言模型 (LLM) 构建一个敏感的内部工具。他们认为自己的数据是安全的,因为数据从未离开过硬件。然而,最近发现托管该模型的软件 Ollama 存在一个隐蔽的漏洞,它会将系统内存位泄露给任何知道如何索取的人。这一事件凸显了一个严峻的现实:我们用来确保数据隐私的工具,可能会因为一个架构缺陷,成为数据泄露的主要载体。
从风险角度来看,这一漏洞代表了 CIA 三要素中机密性的重大破裂。该缺陷被归类为越界 (OOB) 读取,允许远程攻击者绕过预期的内存边界,访问本应严格禁止访问的数据。审视威胁格局,这不仅仅是研究人员的理论担忧;对于任何部署本地 AI 来处理专有代码、个人身份信息 (PII) 或任务关键型逻辑的组织来说,这都是一种系统性风险。
在幕后,该漏洞存在于 Ollama 处理特定 API 请求的方式中。在经常驱动高性能 AI 工具的 C++ 和 Go 世界中,内存管理是一场高风险的游戏,需要将数据保持在指定的轨道内。当程序被告知读取一定量的数据但没有收到严格的“停止”命令时,它可能会越过终点线继续读取。
我经常将加密比作防弹数字金库,但如果里面的职员开始通过地板缝隙分发文件,那么金库就毫无用处了。在这种情况下,OOB 读取就是那个缝隙。攻击者向 Ollama 服务器发送一个精心设计的请求——也许是一个错误陈述数据缓冲区大小的请求——服务器就会通过转储相邻内存中的任何内容作为响应。这可能是之前的提示词、系统环境变量的片段,甚至是模型权重本身的碎片。
在架构层面,问题源于在处理内存密集型操作之前未能验证输入长度。当 Ollama 服务收到处理图像或复杂多模态提示的请求时,它会分配一块特定的内存。如果代码逻辑在未经验证的情况下假设输入始终为特定大小,恶意行为者就可以触发越权的读取操作。
按照设计,内存是一种共享资源,尽管现代操作系统试图对进程进行沙箱化。然而,在分配给 Ollama 进程本身的内存空间内,存在大量敏感数据。因为读取发生在合法的进程空间内,所以它具有极强的隐蔽性。传统的杀毒软件或基础防火墙规则不会标记一个仅仅请求“过多”数据的标准 HTTP 请求,尤其是当响应看起来像是正常的(尽管有些乱码)信息流时。
在我作为白帽黑客的经验中,我经常看到影子 IT 被描述为企业网络的暗物质。它对 IT 部门是不可见的,但却带来了巨大的风险。今天,Ollama 和类似的工具正在成为新的影子 IT。开发者下载它们是为了绕过公司限制性的 AI 政策,却在无意中为他们的工作站打开了一扇窗。
评估一下攻击面:如果开发者在同时也用于访问公司 VPN 的机器上运行 Ollama,那么 Ollama 进程内存的受损理论上可能会泄露在同一会话期间存储在内存中的会话令牌或 PGP 密钥。主动地讲,危险不仅在于你的“酸面包食谱”提示词被泄露;而在于该进程的内存可能包含通往王国的钥匙。
在发生违规事件时,第一反应通常是恐慌,但作为一名重视准确性而非散布恐惧 (FUD) 的记者,我更倾向于审视补救生命周期。Ollama 团队迅速采取行动解决了这个问题,发布了实施更严格边界检查的更新。在这种背景下,打补丁确实就像堵住船壳上的洞。它停止了眼前的泄漏,但并不能改变这艘船最初是用易受攻击的材料建造的事实。
作为对策,用户必须意识到“本地”并不意味着“隔离”。如果服务在所有接口 (0.0.0.0) 而不仅仅是本地主机 (127.0.0.1) 上监听,那么任何处于同一网络的人都可以触及该内存泄漏——或者更糟,如果开启了端口转发,整个互联网都可以触及。从最终用户的角度来看,最直接的修复方法是更新到最新版本,并审计网络配置以确保 API 不会被不必要地暴露。
除了眼前的补丁之外,我们需要像对待 Web 服务器或数据库引擎一样,对 AI 工具进行同样细致的安全审查。去中心化 AI 是一项强大的运动,但它缺乏主要云提供商的集中安全监管。这把安全的责任直接推到了用户身上。
就数据完整性而言,OOB 读取不一定会破坏模型,但它粉碎了对环境机密性的信任。因此,我们必须针对本地服务转向零信任模型。将零信任想象成每个内部门口的 VIP 俱乐部保镖。即使你已经在“建筑物”(计算机)内部,每个访问特定“房间”(内存缓冲区)的请求都必须根据访客名单进行验证和检查。
为了从被动姿态转为主动姿态,我建议任何将 Ollama 集成到其工作流或企业环境中的人采取以下步骤:
这一漏洞的发现提醒我们,AI 发展的飞速步伐往往超过了核心安全原则的实施。然而,这并不是放弃本地 LLM 的理由。相反,它是在呼吁我们将部署它们的方式专业化。通过了解越界读取的技术现实,并将本地 AI 视为企业攻击面的一部分,我们可以继续创新,而不会将我们的数据变成有毒资产。
最终,保护我们 AI 系统的数字足迹需要转变观念。我们不能仅仅因为一个工具是“我们的”且是“本地的”,就假设它本质上是具有韧性的。验证和持续审计是确保我们的数字金库保持防弹的唯一方法。
来源:
免责声明:本文仅供参考和教育目的。它不能替代专业的网络安全审计、取证分析或官方事件响应服务。在对您的基础设施进行重大更改之前,请务必咨询合格的安全专业人员。


