数千家公司依赖Ray框架来扩展和管理复杂且计算密集型的人工智能工作负载。实际上,很难找到未使用Ray开发的大型语言模型(LLM)。然而,这些工作负载通常包含敏感数据,研究人员已确认,由于开源统一计算框架中的一个关键安全漏洞(CVE),这些数据面临风险。
根据Oligo Security的研究,过去七个月,这一漏洞使得攻击者能够利用AI生产工作负载,获取计算能力、凭据、密码、密钥、令牌以及大量其他敏感信息。这个名为“ShadowRay”的漏洞仍存在争议。它被归类为“影子漏洞”,意味着它并非被认识为威胁,并且缺乏官方的补丁,因此在标准扫描流程中并不被发现。
研究人员Avi Lumelsky、Guy Kaplan和Gal Elbaz指出:“这是AI工作负载首次因现代AI基础设施中的漏洞而被主动利用。”他们进一步表示:“当攻击者访问Ray生产集群时,简直就像找到金矿。宝贵的公司数据与远程代码执行相结合,创造了潜在的获利机会,并且在此过程中保持隐蔽。”
重要的盲点
许多组织依赖Ray来处理大规模的AI、数据和SaaS工作负载,包括亚马逊、Instacart、Shopify、LinkedIn和OpenAI,这些公司的GPT-3模型均使用Ray进行训练。Ray框架对于需要巨量计算能力并且无法在单台机器上运行的数十亿参数模型至关重要。Ray由Anyscale维护,支持分布式工作负载的训练、服务和调整,用户无需深入的Python知识,安装过程简单且依赖性少。
尽管Ray的优势显而易见,但“ShadowRay”漏洞使得对Ray的依赖显得更加令人担忧。被称为CVE-2023-48022的漏洞源于Ray Jobs API中的授权不足,暴露于远程代码执行攻击中。任何访问仪表板的人都可以在没有权限的情况下执行任意作业。
尽管这一漏洞在2023年底与其他四个漏洞一起报告给Anyscale,但目前唯一未被解决的是CVE-2023-48022。Anyscale对此漏洞表示异议,宣称这代表了预期的行为,是一种帮助作业触发和动态代码执行的产品功能。Anyscale主张,仪表板不应公开访问,或仅限于可信用户访问;因此,Ray缺乏授权是因为它假设在一个具安全性的环境中运行,并通过网络隔离、Kubernetes命名空间、防火墙规则或安全组实现“适当的路由逻辑”。
研究人员指出:“这反映了在软件开发中平衡安全性与可用性的复杂性,”强调了在修改Ray等关键系统时需谨慎考虑的必要性。此外,由于争议漏洞往往难以被检测,许多安全扫描器对此漠不关心。Oligo的研究人员发现,ShadowRay并未出现在多个数据库中,包括谷歌的开源漏洞数据库(OSV),也未能在静态应用安全测试(SAST)和软件组合分析(SCA)解决方案中可见。
“这造成了一个盲点:安全团队对潜在风险一无所知,”研究人员指出,“AI专家并非安全专家,导致他们面临AI框架带来的风险。”
从生产工作负载到关键令牌
研究人员揭示,受损服务器泄露了一“堆”敏感信息,包括:
- AI生产工作负载的中断,导致训练过程中模型完整性或准确性的损失。
- 访问敏感的云环境(AWS、GCP、Azure),可能暴露客户数据库和敏感生产数据。
- 访问Kubernetes API,可能感染云工作负载或提取Kubernetes秘密。
- OpenAI、Stripe和Slack等平台的敏感凭据。
- 允许静默下载或修改完整数据库的数据库凭据。
- 用于访问其他机器以进行恶意活动的私有SSH密钥。
- OpenAI令牌,可能导致账户额度被消耗。
- Hugging Face令牌,提供对私有库的访问,便利供应链攻击。
- Stripe令牌,可能被用来消耗支付账户。
- Slack令牌,可以用于未经授权的消息发送或读取。
研究人员报告称,许多受损的GPU目前匮乏且昂贵。他们识别出“数百个”受损集群,主要用于加密货币挖矿。研究人员指出:“攻击者不仅因为有价值的信息而针对这些系统,也因为GPU当前昂贵且难以获取。”某些GPU按需价格在AWS上甚至达到每年858,480美元。攻击者在过去七个月可以利用这一硬件,初步估计受损的机器和计算能力的价值可能高达10亿美元。
应对影子漏洞
Oligo的研究人员承认“影子漏洞将始终存在”,并且其利用指标可能有所不同。他们建议组织采取以下措施:
- 在安全和可信的环境中运行Ray。
- 实施防火墙规则和安全组以防止未经授权的访问。
- 持续监控AI集群和生产环境中的异常。
- 如果Ray仪表板需要公开访问,请使用添加授权层的代理。
- 不要假设默认安全措施足够。
最终,他们强调:“确保开源安全的技术责任在于你自己。不要单独依赖维护者。”