作者:Alessandro Mascellino
网络安全研究人员发现了影响Azure机器学习(AML)的关键特权升级脆弱性(AML)。
该缺陷允许仅具有存储帐户访问权限的攻击者在AML管道中执行任意代码,这可能会导致默认配置下的完整订阅妥协。
该问题由云安全公司ORCA识别,是由AML存储和执行调用脚本(协调ML组件的Python文件)的方式产生的,该脚本在自动创建的存储帐户中。这些脚本在修改后,使用AML计算实例的权限运行,该实例通常具有广泛或高度特权的身份。
在他们的概念证明(POC)中,Orca表明具有基本存储写入权限的攻击者可以:
替换调用脚本注入恶意代码
从Azure密钥库中提取秘密
使用AML计算实例的托管身份升级特权
假设创建实例的用户的角色,包括Azure订阅的所有者权限
鉴于默认情况下启用了SSO(单个登录),因此该攻击向量尤其令人担忧,从而允许计算实例继承创建者级别的访问。
Microsoft确认了Orca的发现,但阐明了这种行为是通过设计来的,将对存储帐户的访问与对计算实例本身的访问相同。
但是,此后,该公司已更新了文档,并引入了关键更改 - AML现在使用组件代码的快照来运行作业,而不是实时读取存储的脚本。
阅读有关Azure漏洞的更多信息:Microsoft Azure MFA缺陷允许轻松访问旁路
尽管微软并不认为这是安全缺陷,但Orca强调了漏洞利用在默认情况下工作和支持的设置。他们警告说,除非用户明确重新配置存储访问,SSO和托管身份,否则其环境仍处于危险之中。
为了防止剥削,建议AML用户:
限制对AML存储帐户的写入访问权限
在可能的情况下禁用SSO
使用系统分配的身份,具有最低权限
在关键脚本上执行不变性和版本控制
实施调用脚本的校验和验证
Orca得出的结论是,尽管AML的安全模型在理论上是有效的,但实际上,它使组织暴露而没有严格的访问控制。
定期的配置审查和遵守特权的原则在保护机器学习管道中仍然是必不可少的。
图片来源:SDX15 / Shutterstock.com