收件箱中的 ChatGPT?调查请求意外权限的 Entra 应用
发布: (2026年2月26日 GMT+8 10:59)
3 分钟阅读
原文: Dev.to
Source: Dev.to
概览
本文审视了 Entra ID 中的 OAuth 应用攻击,展示了威胁行为者如何通过利用 SaaS 会话的完整性来绕过强身份验证。文中使用了一个假设的 “ChatGPT 主题” 服务主体,来说明用户可能被诱导授予高权限(如 Mail.Read)的情况。
攻击机制
威胁行为者工作流
- 创建一个恶意的服务主体,伪装成合法的 ChatGPT 集成。
- 向目标用户展示同意提示,请求高风险作用域(例如
Mail.Read)。 - 用户授予同意,导致服务主体获得所请求的权限。
检测关键 AuditLog 事件
- 对应用的同意 – 记录用户批准应用权限请求的时间点。
- 添加服务主体 – 记录在租户中创建新服务主体的事件。
这些事件对于识别未经授权的同意授予至关重要。
检测策略
- 监控非管理员同意,关注第三方应用请求的高风险作用域。
- 关联 “对应用的同意” 事件与近期的 “添加服务主体” 事件,以发现新出现的恶意应用。
- 对特权作用域的同意(如
Mail.Read、Mail.Send)设置警报,前提是这些作用域不在组织批准的应用目录中。
修复措施
撤销非法权限
# Example using Microsoft Graph PowerShell
Connect-MgGraph -Scopes "Application.ReadWrite.All"
Remove-MgServicePrincipalPermissionGrant -ServicePrincipalId <malicious-sp-id> -PermissionId <grant-id>
删除恶意服务主体
Remove-MgServicePrincipal -ServicePrincipalId <malicious-sp-id>
加固安全设置
- 强制 仅管理员同意 高影响权限。
- 定期审查 企业应用 列表,清理未使用或可疑的条目。
在安全性与用户灵活性之间取得平衡
组织应配置同意策略,以防止 OAuth 权限被过度授权,同时仍能让合法的 SaaS 集成顺畅运行。