Azure AD应用程序中的特权提升潜在风险与防护指南

微软安全响应中心(MSRC)披露Azure AD应用程序中因使用电子邮件声明进行授权而导致的特权提升风险。本文详细解析技术细节、客户影响及防护措施,指导开发者迁移不安全模式并遵循最佳实践。

潜在风险摘要

微软针对Descope报告并提交的Azure AD(AAD)应用程序中的不安全反模式开发了缓解措施。该问题涉及使用访问令牌中的电子邮件声明进行授权,可能导致特权提升。攻击者可伪造颁发给应用程序的令牌中的电子邮件声明。此外,如果应用程序使用此类声明进行电子邮件查找,还存在数据泄漏威胁。

微软建议切勿将电子邮件声明用于授权目的。如果应用程序使用电子邮件声明进行授权或主要用户标识,则容易受到账户和特权提升攻击。

开发者应审查其应用程序的授权业务逻辑,并遵循以下指南以保护应用程序免受未授权访问。我们鼓励所有开发者遵循这些Microsoft身份平台令牌验证最佳实践。如果您使用第三方应用程序(即非自己开发的应用程序),请确保您的供应商也遵守这些最佳实践。

我们建议审查应用程序的源代码,确保未将电子邮件用于主要用户标识或授权。如果应用程序使用这些不安全模式中的任何一种,请遵循以下迁移指南以消除账户提升攻击的风险。

客户影响

微软已识别出多个多租户应用程序的用户使用了未经验证的域名所有者的电子邮件地址。尽管未经验证的电子邮件地址对不利用电子邮件声明进行授权的应用程序不构成风险,但这些应用程序所有者已收到通知,并获得了如何修改其应用程序的指导(如适用)。如果您未收到通知,则您的应用程序未使用未经验证的域名所有者的电子邮件声明。为保护可能易受特权提升攻击的客户和应用程序,微软已部署缓解措施,对大多数应用程序省略未经验证的域名所有者的令牌声明。

技术细节

未配置邮箱的AAD用户可为其邮件(主要SMTP)属性设置任何电子邮件地址。此属性不保证来自经验证的电子邮件地址。特权用户可创建或修改AAD用户,使用冒充另一个AAD用户的电子邮件。当应用程序使用未经验证的电子邮件声明进行授权时,恶意行为者有可能通过颁发令牌来冒充有效的AAD用户,从而获得未授权访问。

虽然恶意管理员在单租户应用程序中可能这样做,但风险主要存在于多租户应用程序中,这种错误配置可能导致账户和特权提升。

保护Azure AD应用程序的指南

由于电子邮件声明的可变性和非唯一性,应用程序绝不应将其用于授权。解决此漏洞需要完全删除任何使用电子邮件声明进行授权的业务逻辑。

微软认识到以这种方式更新应用程序需要时间,因此短期缓解措施是必要的。如果您的应用程序正在积极使用电子邮件声明进行授权,我们建议参考以下文档,该文档提供了迁移远离电子邮件声明使用的指南,并概述了微软正在发布的缓解风险的机制。

微软建议审查应用程序源代码,并验证未使用此不安全模式。完全保护应用程序免受此错误授权模式的影响需要对应用程序源代码进行更改。

开发者应始终遵循已发布的基于声明的授权最佳实践文档。如果您的应用程序当前受到影响,请查看有关短期风险缓解和迁移远离电子邮件声明的指南。

致谢

我们感谢Descope负责任地披露此不安全模式,并给予微软必要的时间来调查问题和制定适当的缓解措施。我们鼓励所有研究人员在协调漏洞披露(CVD)指南下与供应商合作,并遵守渗透测试的参与规则,以避免在进行安全研究时影响客户数据。

参考

如有疑问?通过Azure门户在aka.ms/azsupt提交支持案例。 Descope的博客网站:https://www.descope.com/blog/post/noauth 身份和网络访问标准指南:错误标识符反模式 身份和网络访问迁移指南:迁移远离使用电子邮件声明进行用户标识或授权 OpenID Connect核心规范标准声明:https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计