开源项目教程:Family of Client IDs Research
项目介绍
Family of Client IDs Research
是一个关于 Azure AD 刷新令牌未记录行为的深入研究项目。该项目主要探讨了在 Azure AD 中,一个客户端应用的刷新令牌(RT)如何被兑换为另一个客户端应用的承载令牌(Bearer Tokens),并从中受益于其范围。通过一系列实验和数据分析,研究人员发现了一组特殊的客户端应用,它们能够相互兑换刷新令牌,这些应用是预先同意的第一方公共客户端,默认存在于 Azure AD 租户中。
项目快速启动
克隆项目
首先,克隆项目到本地:
git clone https://github.com/secureworks/family-of-client-ids-research.git
cd family-of-client-ids-research
安装依赖
确保你已经安装了必要的依赖项。通常,这些依赖项会在 requirements.txt
文件中列出。使用以下命令安装:
pip install -r requirements.txt
运行实验
项目中包含了一系列实验脚本,用于模拟和分析刷新令牌的行为。以下是一个示例命令,用于运行其中一个实验:
python experiments/experiment_1.py
应用案例和最佳实践
应用案例
该项目的主要应用案例是帮助安全研究人员和开发人员理解 Azure AD 中刷新令牌的潜在风险。通过模拟和分析,可以更好地识别和防范潜在的安全威胁,例如滥用刷新令牌进行未授权访问。
最佳实践
- 定期审计:定期审计 Azure AD 中的刷新令牌使用情况,特别是在非交互式登录事件中。
- 强化条件访问策略:改进条件访问策略,限制家庭刷新令牌和无绑定刷新令牌的发放。
- 监控异常行为:监控和识别短时间内多个家庭客户端的非交互式登录事件,这可能是潜在的滥用行为。
典型生态项目
Azure AD 安全工具
- Azure AD Identity Protection:提供风险检测和自动响应,帮助保护组织中的身份。
- Microsoft Defender for Cloud Apps:提供云应用的可见性、数据旅行和高级威胁防护。
开源安全项目
- OpenID Connect:一个基于 OAuth 2.0 协议的身份验证层,广泛用于现代应用的身份验证和授权。
- OAuth 2.0 Framework:一个开放标准,用于授权,广泛应用于各种应用和服务中。
通过结合这些生态项目,可以更全面地理解和保护 Azure AD 中的身份和访问管理。