用途
siem-rules 是一个用于指导 SIEM 检测规则开发的技能,主要服务于 SOC 分析师和安全工程师。它帮助用户使用 KQL(Microsoft Sentinel)和 SPL(Splunk)查询语言编写检测规则,并将规则映射到 MITRE ATT&CK v16 技术框架。每条规则的开发预计耗时 20-40 分钟,最终输出生产就绪的检测查询、关联规则逻辑和调优参数。
主要能力
该技能覆盖以下核心能力:
- SIEM 规则编写:针对特定威胁场景,使用 KQL(Microsoft Sentinel)或 SPL(Splunk)编写新的检测规则。
- Sigma 规则转换审查:对已转换为 KQL 或 SPL 的 Sigma 规则进行人工审查、优化或平台特定调优。
- 告警阈值调优:调整产生过多误报或过少真报的现有规则的阈值或逻辑。
- 关联规则设计:连接或关联多个日志源,以产生更高保真度的检测。
- 检测规则生命周期管理:按照结构化生命周期对规则进行审查、版本化、提升、弃用或退役。
- 查询性能优化:优化消耗过多资源或超时的检测查询。
该技能不适用于以下场景:编写平台无关的 Sigma 规则(应使用 detection-engineering)、对已触发告警进行分诊(应使用 alert-triage)、分析原始日志进行取证调查(应使用 log-analysis)。
使用方式
使用该技能前,需要收集或确认以下上下文信息:目标 SIEM 平台(Microsoft Sentinel 或 Splunk)、检测目标(要检测的行为或威胁,含 ATT&CK 技术 ID)、可用数据表/索引、环境基线(数据源的正常量和模式)、告警优先级和响应流程、性能约束(查询时间窗口、最大执行时间、调度频率)以及现有规则(是否存在重叠或冲突)。
技能的执行流程分为四个步骤:
-
检测模式选择:根据要检测的威胁选择合适的检测逻辑模式。核心模式包括简单匹配(已知恶意指标、特定事件 ID)、阈值(暴力破解、扫描、量异常)、时间窗口(快速连续事件、基于时间的攻击)、聚合(分组分析、频率计数)、关联(多表连接、多阶段攻击)、行为基线(偏离正常、首次出现分析)和不可能旅行(地理上不可能的认证)。
-
编写检测查询:技能提供了 KQL 和 SPL 的语法参考,包括常见数据表和索引的说明。例如 Sentinel 的 SigninLogs、SecurityEvent、Syslog、DeviceProcessEvents 等表,以及 Splunk 的 WinEventLog:Security、linux_secure、pan:traffic、aws:cloudtrail 等 sourcetype。技能还附带了多个检测示例,包括密码喷洒(T1110.003)、不可能旅行(T1078)、非工作时间特权账户使用(T1078.002)等,分别提供了 KQL 和 SPL 两种实现。
-
关联规则设计:关联规则跨多个日志源连接数据或检测多阶段攻击序列。技能提供了 KQL join 示例(失败登录后成功登录)和 SPL transaction 示例(横向移动链)。
-
告警阈值调优:调优方法包括基线运行(7-30 天搜索模式)、统计分析(均值、中位数、标准差)、阈值选择(均值 + 2 个标准差)、迭代调优(部署后首月每周审查)和排除管理(记录每个排除项及工单参考和审查日期)。调优参数包括计数阈值、去重计数阈值、时间窗口、回溯期、频率和抑制窗口。
适用场景
该技能适用于需要编写、审查、调优或管理 SIEM 检测规则的安全运营场景,特别是使用 Microsoft Sentinel 或 Splunk 平台的环境。它可以帮助安全团队快速生成针对特定 ATT&CK 技术的检测查询,并通过关联规则提高检测保真度。
限制
该技能不适用于编写平台无关的 Sigma 规则、对已触发告警进行分诊或分析原始日志进行取证调查。使用前需要明确目标 SIEM 平台和可用数据源。技能中提供的检测示例和阈值参数需要根据实际环境基线进行调整,不能直接照搬。