语言:
Microsoft 通过 Entra ID 中的应用程序公开 API,以允许第三方应用程序在 Microsoft Entra ID 本身、Microsoft 365 (O365) 以及 SharePoint Online 和 Exchange Online 等服务中执行操作。“API 权限”保护对这些 API 的访问,这些权限应该仅对需要它们的服务主体可用。权限批准被称为“应用程序角色分配”或“同意授予”。
部分 Microsoft API 上的特定权限可能对环境敏感数据构成威胁,因为拥有这些权限的服务主体能够访问潜在的敏感信息,同时其行为比拥有全局管理员等高权限管理员角色的用户更为隐蔽。
在合法的情况下,这些权限会增加数据泄露的风险。如果权限不合法,则可能表明存在恶意企图,试图访问和窃取敏感数据,例如电子邮件信息。
如 Microsoft 文档“权限和同意简介”中所述,Microsoft Entra ID 有两种类型的 API 权限:
应用程序权限适用于在没有已登录用户的情况下运行的应用程序。例如,以后台服务或后台进程形式运行的应用程序。应用程序权限只能由管理员同意授权。
此风险暴露指标 (IoE) 仅报告有关服务主体的内容,因为 API 权限只适用于服务主体,而不适用于用户。
此 IoE 跟踪一个敏感权限列表,其中大多数权限无需加以说明。然而,以下权限需要进一步说明:
Group.Read.All
(由 Microsoft Graph API 和 Office 365 Exchange Online 公开):此权限的风险异常高,因为它甚至允许读取 M365 组的“日历、对话、文件及其他组内容”的具体内容。请考虑这对 Microsoft Teams 使用的 M365 组的影响。拥有这些敏感权限的合法应用程序可能会请求过于宽泛的访问权限。这也可以指示一种被称为“非法同意授予”的网络钓鱼攻击,其中攻击者成功从管理员那里获得了同意。
默认情况下,此 IoE 会忽略已禁用的服务主体,因为攻击者无法立即使用这些服务主体。
外部参考:
首先确定被报告的具有权限的服务主体是否合法。请注意,就技术角度而言,网络钓鱼攻击可以伪造显示名称。如果服务主体似乎属于已知的软件供应商,请让他们确认被报告的应用程序 ID 是否属于他们。如果服务主体非法,并且它伪装成已知的应用程序名称,则您应该进行取证分析。
如果服务主体合法:
应用程序权限 的授予始终需要管理员的同意。对管理员进行培训,使其能够识别可疑应用程序和敏感权限,包括与数据相关的应用程序权限。这必须包含在更大的应用程序治理工作中。
如果您认为某个权限不合法,请删除它。如果您计划进行更深入的取证调查,Tenable 建议您先保存证据。Microsoft Entra 门户有专门的功能来审查授予企业应用程序的权限。
Microsoft 还发布了两份关于如何执行应用程序同意授予调查以及如何发现和纠正非法同意授权的指南。
确保从服务主体(可在门户的“企业应用程序”菜单中找到)中移除危险的权限,而不是从应用程序(可在“应用注册”菜单中找到)中移除。从应用程序中移除只会删除权限请求,并不会影响实际的权限分配。
最后,启用 Graph API 活动日志,以捕获有关 Graph API 事件的详细信息,这将有助于您的 SOC 或 SIEM 识别可疑活动,或在发生攻击时进行取证调查。此外,监控服务主体的登录活动,并为可疑行为配置警报,特别是对于此处突出显示的高风险服务主体。
名称: 影响数据的危险应用程序权限
代码名称: DANGEROUS-APPLICATION-PERMISSIONS-AFFECTING-DATA
严重性: Medium
类型: Microsoft Entra ID Indicator of Exposure