1. SIEM检测规则开发工程导论

在安全运营中心(SOC)的日常工作中,SIEM(安全信息与事件管理系统)承担着日志汇聚、关联分析与告警生成的核心职责。然而,SIEM 本身只是一个平台,它不会自动识别攻击。真正让 SIEM 产生价值的,是运行在其上的检测规则。本课程的目标,是帮助学员建立一套可复用的工程化方法,把"写规则"从依赖个人经验的零散行为,转变为可设计、可测试、可维护、可度量的工程实践。

课程目标

完成本课程后,学员应能够独立完成一条检测规则从需求到上线的完整过程,具体包括:

  • 理解检测工程的定义与边界,区分"检测"与"告警""监控""日志采集"等相邻概念;
  • 掌握规则开发生命周期的各个阶段及其交付物;
  • 能够根据攻击技术(如 MITRE ATT&CK 中的 T1059 命令执行、T1110 暴力破解)拆解出可观测的日志字段与检测逻辑;
  • 能够编写、测试、调优规则,并对其误报率、覆盖率进行量化评估;
  • 理解规则与 SOC 流程(分级、响应、复盘)之间的衔接关系。

什么是检测工程

检测工程(Detection Engineering)是一门把"我们希望发现什么威胁"转化为"系统能够稳定、准确识别该威胁的规则与逻辑"的学科。它介于威胁情报、日志工程与安全运营之间,核心关注三个问题:检测什么(威胁假设)、用什么数据检测(日志与字段)、如何判断(逻辑与阈值)。

检测工程与几个相邻概念容易混淆,需要明确区分:

概念关注点典型产出
日志采集数据是否完整、及时到达采集器配置、解析规则
检测工程能否从数据中识别威胁行为检测规则、测试用例、评估指标
告警运营告警是否被正确处理分级结论、处置记录
威胁狩猎主动寻找未被规则覆盖的行为狩猎假设、新检测需求

可以看到,检测工程是连接"数据"与"运营"的中间环节。没有检测工程,日志只是堆积的数据,告警运营也无从下手。

规则开发生命周期

一条规则的生命不是"写完即结束",而是持续迭代的闭环。一个完整的规则开发生命周期通常包含以下阶段:

  1. 需求来源:来自威胁情报、ATT&CK 覆盖缺口、狩猎发现、事件复盘或合规要求。例如情报显示某组织近期使用 certutil -urlcache 下载载荷,这就是一个明确的检测需求。
  2. 威胁建模与数据可行性分析:确认该行为会在哪些日志中留下痕迹。以 certutil 下载为例,进程创建日志(如 Sysmon Event ID 1 或 Windows 4688)会记录命令行,这是可用的数据源。若日志未采集,则需先补采集。
  3. 检测逻辑设计:把行为翻译成字段条件。示例逻辑:进程名为 certutil.exe,命令行包含 -urlcache 或 -verifyctl,且包含 http 前缀。这里要明确字段名、匹配方式(精确/包含/正则)与大小写处理。
  4. 规则实现:在 SIEM 中落地为具体规则。以类 Splunk 语法为例:
index=win EventCode=1 Image="*\\certutil.exe"
| where match(CommandLine, "(?i)-urlcache|-verifyctl")
| where match(CommandLine, "(?i)https?://")
| table _time, ComputerName, User, CommandLine
  1. 测试与验证:用真实或构造的样本验证规则能否命中。测试用例应包含正样本(应告警)与负样本(不应告警),例如正常的 certutil -hashfile 不应触发。
  2. 调优与降噪:上线后观察误报。若某运维脚本频繁使用 certutil -urlcache 更新内部证书,可加入白名单或排除特定父进程。
  3. 上线与监控:规则进入生产,同时监控其触发频率、命中率与告警质量。
  4. 复盘与迭代:定期评估规则是否仍有效,攻击者是否已改变手法,是否需要调整阈值或字段。

这个生命周期不是线性的,而是循环的。每一次事件复盘都可能产生新的检测需求,回到第 1 步。

与安全运营中心的关系

SOC 的运转依赖"检测—分级—响应—复盘"的闭环,而检测工程正是这个闭环的起点和持续输入源。规则质量直接决定 SOC 的效率:规则过松,告警泛滥,分析师被淹没;规则过严,攻击被漏过,风险敞口扩大。因此,检测工程师需要与 SOC 分析师保持紧密反馈:分析师在处置中发现的误报、漏报、上下文缺失,都应回流为规则的调优依据。

检测工程不是"写完规则就交差",而是对规则的全生命周期负责。一条规则的价值,最终由它在真实运营中产生的有效告警数量与漏报情况来衡量。

下面这张图概括了本节的核心关系:检测需求如何经过工程化处理,最终进入 SOC 运营闭环,并形成反馈回路。

检测工程与 SOC 运营闭环关系图 检测需求来源 威胁情报 / ATT&CK 缺口 狩猎发现 / 事件复盘 数据可行性分析 日志源 / 字段 / 采集状态 Sysmon / 4688 / 代理日志 检测逻辑设计 字段条件 / 匹配方式 阈值 / 时间窗口 规则实现 SIEM 规则语法 字段映射 测试与验证 正样本 / 负样本 命中率 / 误报检查 调优与降噪 白名单 / 排除条件 阈值调整 上线与监控 触发频率 / 告警质量 规则健康度 安全运营中心(SOC) 告警分级 → 事件响应 → 复盘分析 反馈:误报 / 漏报 / 新需求回流 正向开发流程 运营反馈回路

从图中可以看到,检测工程并非孤立环节:它从需求出发,经过数据、逻辑、实现、测试、调优、上线,最终服务于 SOC 的告警与响应;而 SOC 在运营中产生的误报、漏报与新发现,又通过反馈回路回到需求端,驱动规则持续迭代。理解这一闭环,是后续学习规则编写、测试与调优的基础。