Elastic Detection Rules项目:基于Entra ID异常设备登录检测规则的实现
2025-07-03 14:15:04作者:韦蓉瑛
背景与威胁场景
在云身份认证安全领域,攻击者经常利用OAuth钓鱼或入侵后手段进行持久化攻击。近期观察到的攻击模式显示,攻击者能够在Entra ID(原Azure AD)中注册虚拟云设备并将其分配给目标用户。这种技术手段使攻击者能够获取PEM证书和私钥,进而交换获取主刷新令牌(PRT)。
PRT作为令牌授予令牌,可用于后续的安全令牌请求。值得注意的是,此类活动中的登录行为会报告特定的设备ID,这为检测提供了可能性。攻击者主要利用这种技术建立持久化访问通道。
检测方案设计
基于上述威胁场景,我们设计了一个基于"新出现项"(New Terms)的检测规则。该规则的核心思想是:当检测到某个设备ID和用户主体ID的组合在特定时间窗口内首次出现时,触发告警。
技术实现要点
-
数据源选择:规则基于azure.signinlogs数据集,专注于认证事件类别
-
关键过滤条件:
- 仅关注成员用户类型(Member)
- 筛选令牌保护状态为"unbound"的会话
- 排除设备ID为空的情况
- 确保用户主体名称存在
-
检测逻辑:通过监控设备ID与用户主体ID的新组合,识别潜在的异常设备登录行为
规则实现细节
以下是该检测规则的核心查询逻辑:
event.dataset: "azure.signinlogs" and
event.category: "authentication" and
azure.signinlogs.properties.user_type: "Member" and
azure.signinlogs.properties.token_protection_status_details.sign_in_session_status: "unbound" and
not azure.signinlogs.properties.device_detail.device_id: "" and
azure.signinlogs.properties.user_principal_name: *
实际应用价值
该检测规则在实际安全运营中具有以下价值:
- 攻击链早期检测:能够在攻击者建立持久化访问的早期阶段发现异常
- 低误报率:基于设备ID与用户主体的新组合关系,减少了误报可能性
- 自动化响应基础:可作为自动化响应流程的触发条件,如强制重新认证或临时禁用账户
最佳实践建议
- 调优建议:根据组织实际情况调整时间窗口,平衡检测灵敏度和运营负担
- 关联分析:建议将此规则与其他身份认证异常检测规则结合使用,提高检测覆盖率
- 响应策略:对于触发的告警,建议首先验证设备合法性,再决定是否采取进一步措施
总结
该检测规则针对云身份认证中的高级威胁提供了有效的检测手段。通过监控设备与用户的新关联关系,安全团队能够及时发现潜在的入侵和持久化行为。这种基于行为异常的检测方法,在对抗日益复杂的云环境攻击中展现出独特价值。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0152- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112
项目优选
收起
暂无描述
Dockerfile
733
4.75 K
Ascend Extension for PyTorch
Python
618
795
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
433
395
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.01 K
1.01 K
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
1.18 K
152
deepin linux kernel
C
29
16
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
145
237
暂无简介
Dart
983
252
昇腾LLM分布式训练框架
Python
166
198
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.68 K
989