安全内参3月29日消息,OpenAI、优步和亚马逊所使用的AI计算框架Ray发现了一个已被报告的漏洞,该漏洞遭到持续攻击,导致数千台存储AI工作负载和网络凭证的服务器被黑。据了解,这些攻击已经持续了7个月。
攻击者不仅篡改了AI模型,还泄露了访问内部网络和数据库的网络凭证,并获取了OpenAI、Hugging Face、Stripe和Azure等平台帐号的访问令牌。除了破坏模型和窃取凭证,攻击者还在能够提供大量算力的被侵入基础设施上安装了加密货币挖矿软件,并设置了反向shell,通过这种基于文本的界面实现对服务器的远程控制。
发现这些攻击的安全公司Oligo的研究人员在一篇文章中指出:“一旦攻击者掌控Ray生产集群,等于中了大奖。有价值的公司数据加上远程代码执行,攻击者很容易就能获得现金收益,而且可以完全隐匿在暗处,做到神不知鬼不觉(使用静态安全工具不可能检测到这种攻击)。”
被窃取的敏感信息包括AI生产工作负载。利用这些信息,攻击者可以在训练阶段控制或篡改模型,从而破坏模型的完整性。易受攻击的集群中,中央仪表板通常暴露在互联网上,这使得任何有意的人都可以查看迄今为止输入的所有命令。利用这些历史数据,入侵者可以快速了解模型的工作方式,并推测可以访问哪些敏感数据。
Oligo获取的屏幕截图显示,敏感私人数据和集群已经遭到了大规模的黑客攻击。被窃取的资源包括内部数据库以及OpenAI、Stripe和Slack帐号的加密密码哈希值和访问凭证。
Ray是一个用于扩展AI应用程序的开源框架,允许大量应用程序同时高效地运行。通常,这些应用程序在大规模服务器集群上运行。框架正常运行主要依赖于提供接口显示和控制运行任务和应用程序的中央仪表板。这个仪表板提供了名为“任务API”(Jobs API)编程接口,允许用户通过简单的HTTP请求向集群发送一系列命令,无需身份验证。
去年,安全公司Bishop Fox的研究人员将这种行为标记为高严重性的代码执行漏洞,其跟踪编号为CVE-2023-48022。
默认配置不安全需专门加固
Bishop Fox的高级安全顾问Berenice Flores Garcia写道:“在默认配置中,Ray不强制进行身份验证。因此,攻击者可以自由提交任务、删除现有任务、检索敏感信息,并利用本次官方警告中描述的其他漏洞。”
对此,Ray的开发者和维护者Anyscale回应称该漏洞不存在。Anyscale官方表示,他们一直将Ray视为一个远程执行代码的框架,因此始终建议将Ray合理地隔离在有适当安全措施的网络内部。
Anyscale官方写道:“由于Ray本质上是一个分布式执行框架,其安全边界位于Ray集群之外。因此,我们强调您必须防止不受信任的机器(如公共互联网)访问您的Ray集群。”
对于被报告的“任务API”的内部行为,Anyscale表示并非漏洞,并且不会在短期内得到解决。不过,Anyscale承诺最终会进行变更,强制在API中进行身份验证。Anyscale解释道:
我们非常认真地考虑过这样做是否合理。到目前为止,我们还没有实施这一变更,因为我们担心用户可能会过分信任这种机制——它可能只能实现表面上的安全,并没有像他们想象的那样真正保护集群。
尽管如此,我们认识到,这是个见仁见智的问题。我们仍然认为组织不应该依赖Ray内部的隔离控制手段,如身份验证。但这些手段在进一步实施深度防御策略的某些情境中可能是有价值的。因此,我们决定将在未来的版本中将其作为一个新功能实施。
Anyscale的回应招致了一些批评。比如,用于简化在云环境中部署Ray的存储库将仪表板绑定到0.0.0.0,这是一个用于指定所有网络接口并在同一地址上指定端口转发的地址。这样易受攻击的入门级做法在Anyscale的网站上也可以找到。
批评者还指出,由于Anyscale声称被报告行为不是漏洞,导致很多安全工具未能标记攻击。
Anyscale的代表在一封电子邮件中表示,该公司计划发布一个脚本,允许用户轻松验证他们的Ray实例是否暴露在互联网上。
这些持续的攻击突显了正确配置Ray的重要性。Oligo和Anyscale在官方文档中列出了锁定集群的关键做法。Oligo还列举了Ray用户可以使用哪些指标来确定他们的实例是否已被入侵。