Azure AD keyCredential 信息泄露漏洞修复指南与应对措施

本文详细介绍了Azure Active Directory中keyCredential属性的信息泄露问题CVE-2021-42306,包括微软的修复措施、受影响的服务列表(Azure Automation、Azure Migrate、Azure Site Recovery)以及客户需要采取的评估和补救步骤,帮助用户加强应用程序安全审计。

Azure Active Directory (AD) keyCredential 属性信息泄露在应用程序和服务主体 API 中的指南

微软最近缓解了一个信息泄露问题 CVE-2021-42306,以防止某些 Azure 服务在 Azure Active Directory (Azure AD) 应用程序和/或服务主体的 keyCredentials 属性中存储私钥数据,并防止读取先前存储在 keyCredentials 属性中的私钥数据。

keyCredentials 属性用于配置应用程序的身份验证凭据。组织中具有读取应用程序元数据权限的任何用户或服务都可以访问该属性。

该属性设计用于接受带有公钥数据的证书以进行身份验证,但带有私钥数据的证书也可能被错误地存储在该属性中。访问私钥数据可能导致权限提升攻击,允许用户模拟受影响的应用程序或服务主体。

一些微软服务在代表客户创建应用程序时错误地将私钥数据存储在 (keyCredentials) 属性中。我们进行了调查,没有发现恶意访问此数据的证据。

受此问题影响的微软 Azure 服务已通过阻止在 keyCredentials 属性中存储明文私钥信息来缓解,Azure AD 已通过阻止读取先前由任何用户或服务在 UI 或 API 中添加的明文私钥数据来缓解。

因此,keyCredentials 属性中的明文私钥材料无法访问,从而减轻了与该材料存储在属性中相关的风险。

作为预防措施,微软建议使用这些服务的客户采取以下“受影响的产品/服务”中描述的行动。我们还建议怀疑私钥数据可能已添加到其环境中其他 Azure AD 应用程序或服务主体凭据中的客户遵循此指南。

受影响的产品/服务

微软已确定以下平台/服务将其私钥存储在公共属性中。我们已通知受这些服务创建的 Azure AD 应用程序影响的客户,并通过 Azure 服务健康通知向他们提供了针对其所用服务的具体修复指南。

产品/服务 微软的缓解措施 客户影响评估和修复
Azure Automation 在创建自动化运行方式账户时使用应用程序和服务主体 keyCredential API Azure Automation 部署了服务更新,以防止明文私钥数据上传到 Azure AD 应用程序。2021年10月15日之后创建或续订的运行方式账户不受影响,无需进一步操作。 在2020年10月15日至2021年10月15日期间使用 Azure Automation 自签名证书创建且未续订的自动化运行方式账户受到影响。此外,自带证书的客户可能受到影响,这与证书的续订日期无关。要识别和修复与受影响的自动化运行方式账户相关的 Azure AD 应用程序,请导航到此 GitHub 仓库。此外,Azure Automation 支持托管身份支持(2021年10月宣布正式发布)。从运行方式迁移到托管身份将缓解此问题。请遵循此处的指南进行迁移。
Azure Migrate 服务创建 Azure AD 应用程序,使 Azure Migrate 设备能够与服务端点通信。 Azure Migrate 部署了更新,以防止明文私钥数据上传到 Azure AD 应用程序。在2021年11月2日之后注册且设备配置管理器版本为6.1.220.1及以上的 Azure Migrate 设备不受影响,无需进一步操作。 在2021年11月2日之前注册的 Azure Migrate 设备和/或在2021年11月2日之后注册但禁用自动更新的设备可能受此问题影响。要识别和修复与 Azure Migrate 设备相关的任何受影响 Azure AD 应用程序,请导航到此链接。
Azure Site Recovery (ASR) 创建 Azure AD 应用程序以与 ASR 服务端点通信。 Azure Site Recovery 部署了更新,以防止私钥数据上传到 Azure AD 应用程序。在2021年11月1日之后使用 Azure Site Recovery 预览体验“VMware 到 Azure 灾难恢复”的客户不受影响,无需进一步操作。 在2021年11月1日之前部署并注册了 ASR 的 VMware 到 Azure DR 体验预览版本的客户可能受到影响。要识别和修复与 Azure Site Recovery 设备相关的受影响 AAD 应用程序,请导航到此链接。
Azure AD 应用程序和服务主体 [1] 微软自2021年10月30日起阻止读取私钥数据。 遵循 aad-app-credential-remediation-guide 中的可用指南,评估您的应用程序密钥凭据是否需要轮换。该指南逐步介绍了评估步骤,以识别私钥信息是否存储在 keyCredentials 中,并提供了凭据轮换的修复选项。

[1] 此问题仅影响将明文私钥材料添加到 keyCredential 的 Azure AD 应用程序和服务主体。微软建议采取预防措施,识别在您管理凭据的应用程序中此问题的任何其他实例,并在发现影响时采取修复步骤。

我还可以做什么来审计和调查应用程序的意外使用?

此外,作为最佳实践,我们建议审计和调查应用程序的意外使用:

  • 审计已授予受影响实体的权限(例如,订阅访问、角色、OAuth 权限等),以评估在凭据暴露的情况下的影响。请参考安全操作指南中的应用程序权限部分。
  • 如果您轮换了应用程序/服务主体的凭据,我们建议调查受影响实体的意外使用,特别是如果它具有对敏感资源的高权限权限。此外,查看关于应用程序最小权限访问的安全指南,以确保您的应用程序配置了最小权限访问。
  • 检查登录日志、AAD 审计日志和 M365 审计日志,查找异常活动,如来自意外 IP 地址的登录。
  • 在其环境中部署了 Microsoft Sentinel 的客户可以利用笔记本/playbook/狩猎查询来查找潜在的恶意活动。在此处查找更多指南。
  • 更多信息请参考安全操作指南。

任何健壮的安全态势的一部分是与研究人员合作帮助发现漏洞,以便我们可以在它们被滥用之前修复任何发现。我们要感谢 NetSPI 的 Karl Fosaaen 报告此漏洞,以及 Allscripts 与微软安全响应中心 (MSRC) 在协调漏洞披露 (CVD) 下合作,帮助保护微软客户的安全。

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