mcpField
S
sentinel-detection-engineering

sentinel-detection-engineering

github.com/vinayaklatthe安全17846 次安装19 周前更新
代码仓库

关于 sentinel-detection-engineering

用于构建和维护 Microsoft Sentinel 检测、威胁搜寻查询及响应自动化的技能。涵盖 KQL 编写、验证、MITRE 映射和检测即代码实践。

主要功能

  1. 01KQL 检测编写
  2. 02分析规则类型选择
  3. 03回测与调优
  4. 04MITRE ATT&CK 映射
  5. 05自动化与 playbook
  6. 06检测即代码生命周期管理

适用场景

  1. 01创建带实体映射的 Sentinel 规则
  2. 02调优嘈杂的分析规则及事件分组
  3. 03通过 GitHub 仓库部署规则
  4. 04审查并退役不再触发的检测

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vinayaklatthe/microsoft-security-skills --skill sentinel-detection-engineering

安装后在 Claude Code 中输入/sentinel-detection-engineering确认已加载。

详细介绍

Sentinel 检测工程

Sentinel 检测工程是一门构建高保真、经过精细调优且易于维护的检测与响应自动化的学科。这项技能涵盖检测的整个生命周期——内容来源、编写、验证、自动化和版本管理——而非更广泛的 SIEM 架构。

适用场景

在 Microsoft Sentinel 中编写或改进分析规则、威胁搜寻查询、自动化规则和 playbook。适用于 KQL 检测模式、MITRE 对齐、Content Hub 与自定义内容的选择,以及检测即代码的部署。

请勿将此技能用于 Sentinel 入门和架构设计(sentinel)、单独的 Defender XDR 自定义检测(defender-xdr),或与检测无关的一般 KQL 学习。

内容来源(按以下顺序使用)

  1. Content Hub 解决方案 — 由 Microsoft 和合作伙伴发布的、经过版本管理的内容包,包含数据连接器、分析规则、威胁搜寻查询、工作簿和 playbook。务必从这里开始。安装解决方案;在 Active 中启用规则。

  2. Microsoft Sentinel GitHub — 社区贡献的查询,这些查询尚未(或暂未)纳入解决方案。审核后,将其纳入你的代码库。

  3. 自定义检测 — 基于你自己的数据源或特定业务逻辑编写的领域专属检测。

经验法则: 如果 Microsoft 解决方案覆盖了 80% 的使用场景,就安装该解决方案,并在你的代码库中补充剩余的 20%——不要从头开始分叉。

选择分析规则类型

规则类型适用场景延迟
Scheduled大多数场景;基于时间窗口的 KQL5 分钟 – 24 小时
Near-real-time (NRT)高优先级的单事件检测(例如,特权角色分配)<1 分钟
Microsoft Security(旧版)将 Defender 警报转发为 Sentinel 事件即时
Fusion多阶段攻击关联(内置 ML)可变
Anomalies行为基线(内置 ML)每小时
Threat IntelligenceTI 指标 → 日志匹配按计划运行

NRT 存在一些限制(仅支持单个表,且无法与大多数引用表联接)——选择前请先确认。

方法

  1. 从使用场景出发,而不是从查询出发。 将检测描述为:“使用 <预期保真度> 在 <数据源> 上检测 <攻击者行为>。” 在打开 KQL 编辑器之前,先映射到 MITRE ATT&CK 技术 ID。

  2. 确认数据覆盖范围。 连接器是否会生成你需要的字段?先运行 take 100,查看架构,并检查该表的数据引入延迟。

  3. 按照检测模式编写 KQL:

    • 尽早筛选,延后投影。
    • 对基于速率的检测使用 summarize + bin(TimeGenerated, 5m)。
    • 对联接后的中间结果使用一次 materialize()。
    • 对富含查找数据的规则(允许列表、资产关键性),通过 _GetWatchlist("name") 使用 监视列表。
    • 避免在大型表上使用 * 联接——先筛选双方数据。
  4. 映射实体。 在规则 UI 中设置 User、Host、IP、FileHash、Url 实体,以便事件图和调查体验正常运作。没有实体映射,Sentinel 事件就只是一团扁平数据。

  5. 审慎设置事件创建方式。 对于行为突发的高流量规则,使用 Group all alerts triggered by this rule into a single incident,将警报分组到单个事件中;对于“每位用户一个事件”,则按实体分组。

  6. 验证。 在过去 7 天的历史时间范围内运行规则的 KQL。查看:

    • 每日平均警报数 → 必须可供分诊(高严重性规则的目标为 <10)。
    • 误报样本——如果 50% 是 FP,就调整规则;不要直接上线。
    • 覆盖范围——它是否真的会在已知攻击场景中触发?使用 攻击模拟训练日志,或重放导出的红队事件。
  7. 接入自动化。

    • 自动化规则(无代码),用于分配、调整严重性、设置抑制时段和批量关闭。
    • Playbook(Logic App),用于执行操作——禁用用户、隔离设备(通过 Defender for Endpoint)、从 MDTI 补充信息、发布到 Teams/Slack、创建 ITSM 工单。
    • 对任何需要共享上下文的场景,使用 事件触发 Playbook(每个事件运行一次),而不是警报触发 Playbook。
  8. 将检测作为代码管理。 通过 存储库功能,将 Sentinel 连接到 GitHub 或 Azure DevOps 存储库。存储库是事实来源;部署通过管道进行。分支保护 + PR 审查 = 不再出现“有人在门户中调整了规则”的情况。

  9. 生命周期。

    • 在规则中标记版本(在元数据中)和负责人。
    • 每季度重新验证:数据源架构变更可能会导致检测无声失效。
    • 对持续没有警报且没有 FN 覆盖的规则予以退役。

防护措施

  • 未经 7 天回测,不要发布规则。 “在编辑器里看起来没问题” → 可能在生产环境中引发噪声风暴。
  • 高流量表(SecurityEvent、Syslog、CommonSecurityLog)——尽早筛选。 扫描整个表会耗费 LA 资源,且运行缓慢。
  • NRT 有限制。 不要试图将涉及 5 个表联接的检测硬塞进 NRT;应使用计划任务。
  • 始终映射实体。 没有实体 = 没有调查图 = 分析师的痛苦。
  • 不要根据低置信度规则自动禁用用户。 SOAR 能力 × 低保真度 = 服务中断。只将其与高保真度规则搭配使用。
  • 监视列表不是只追加的日志。 它们有行数限制(视情况约为 10 MB / 100 万行)。对于大型参考数据,请使用 Log Analytics 表。
  • Microsoft 发布的规则通过解决方案更新。 如果通过原地编辑分叉规则,就会失去更新。请克隆并重命名,或在存储库中覆盖。
  • Defender XDR 自定义检测与 Sentinel 规则——在哪里有数据,就在哪里编写。如果数据仅存在于 XDR 中,且分诊在 XDR 中进行,就在 XDR 中创建自定义检测;不要重复创建。

常见反模式

  • “编写了 200 条规则,严重性全是 P2” — 这种优先级划分毫无意义。严重性反映的是 业务影响和保真度,而不是数量。
  • “在 5 分钟定时规则中使用了 where TimeGenerated > ago(90d)” — 会导致 成本失控。回溯时间应与规则频率相匹配。
  • “只在门户中编写检测规则,没有源代码管理” — 变更历史、 回滚和审查都无从谈起。
  • “对嘈杂的规则使用 Group-all-alerts” — 会产生包含数千条警报的超大型事件; 无法进行分类处理。
  • “在检测上线第一天就使用 Auto-isolate-device playbook” — 误报会导致服务中断。 应先以 SOAR 审计模式运行。
  • “针对每个 IOC 都运行威胁情报匹配规则” — 数 TB 的指标 × 数百万行 日志。应按指标类型/置信度进行筛选,并限定表的范围。
  • “因为‘我们知道它的作用’,所以跳过了 MITRE 映射” — 这会妨碍覆盖率分析 和利益相关者报告。

示例提示词

  • 使用 SigninLogs 编写一条 Sentinel 定时规则来检测不可能的旅行,并正确映射实体。
  • 通过调优和分组,将一条嘈杂的检测规则(日均 800 条警报)改造成可执行的规则。
  • 构建一个 playbook,在 Sentinel 事件中隔离 Defender for Endpoint 设备, 并在 Teams 中加入审批步骤。
  • 设置 Sentinel Repositories,通过 PR 从 GitHub 部署分析规则。
  • 为新添加的 Global Administrator 编写一条 NRT 规则,并在 1 分钟内触发。
  • 将自定义检测映射到 MITRE ATT&CK 技术,并验证覆盖缺口。
  • 构建一个狩猎工作簿,用于跨终结点调查就地取材二进制文件的使用情况。
  • 季度内容审查:找出零警报规则,验证它们并非悄然失效,并将其退役或重构。

Microsoft Learn

评论

支持 Markdown