语言:
Microsoft 通过 Entra ID 中的应用程序公开 API,以允许第三方应用程序在 Microsoft Entra ID、Microsoft 365 (O365)、Azure 云等产品中执行操作。“API 权限”保护这些 API,使其免受非法访问。只有需要这些 API 的服务主体才能拥有这些 API。权限批准被称为“应用程序角色分配”或“同意授予”。
部分 Microsoft API 的一些权限(见下方)可能对整个 Microsoft Entra 租户造成严重威胁,因为具有这些权限的服务主体会拥有很高的权限,同时也比高权限的管理员角色(例如,全局管理员)等更加谨慎。滥用这些权限可能导致攻击者绕过多因素身份验证 (MFA) 并阻止用户密码重置。
在合法的情况下,权限会增加租户的攻击面。在不合法的情况下,权限可能是升级特权或持久性方法的恶意尝试。
如 Microsoft 文档权限和同意简介所述,Microsoft Entra ID 有两种类型的 API 权限:
此风险暴露指标会检查这两种类型的权限。此指标只报告有关服务主体的内容,而非用户的内容,因为 API 权限仅应用于服务主体。
此风险暴露指标也重点关注允许访问 Microsoft 图形 API 和旧版 Azure AD 图形 API 的权限。以下危险权限尤其会造成安全风险:
RoleManagement.ReadWrite.Directory
:允许攻击者将自己提升为全局管理员角色AppRoleAssignment.ReadWrite.All
:允许攻击者授予自己RoleManagement.ReadWrite.Directory
权限(见上文)。具有这些危险权限的合法应用程序请求的权限可能过于宽泛。这也可以作为一种被称为“非法同意授予”的网络钓鱼攻击的信号,在这种攻击中,攻击者会成功获得管理员同意。
首先确定被报告的具有权限的服务主体是否合法。请注意,就技术角度而言,网络钓鱼攻击可以伪造显示名称。如果服务主体似乎属于已知的软件供应商,请让他们确认被报告的应用程序 ID 是否属于他们。如果服务主体非法,并且伪造了已知的应用程序名称,则您应该进行取证分析。
Microsoft 还发布了两份关于如何执行应用程序同意授予调查以及如何发现和纠正非法同意授权的指南。