用途:把 TTP、威胁情报或事件发现转化为可移植的检测规则,编写厂商无关的检测逻辑并转换为多种 SIEM 后端,构建以 Sigma 为中心的检测即代码流水线,审查调优现有规则,或向上游 SigmaHQ 贡献规则。不适用于 YARA/Suricata 等更广的检测工程、威胁狩猎或事件响应。
主要能力:Sigma 规则为 YAML 文档,规范仅要求 title、logsource、detection(含 condition),但 SigmaHQ 仓库还要求 id、status、description、author、date、level 与 ATT&CK 标签。日期用 ISO 8601(YYYY-MM-DD)。状态生命周期为 experimental、test、stable、deprecated、unsupported。logsource 通过 category、product、service 抽象数据源。检测逻辑采用 selection 与 filter_* 模式,condition 支持 and/or/not、all of、1 of 等语法,修饰符用 | 连接,如 contains、startswith、endswith、re、base64offset、all、cidr、windash、expand、wide、exists。误报排除放在命名 filter_* 块中,按不可被攻击者控制的属性过滤。单事件过于常见时可用关联规则按 ID 引用、按字段分组并设阈值与时间窗。
使用方式:安装 sigma-cli 与后端插件,例如 pip install sigma-cli pySigma-backend-splunk pySigma-backend-elasticsearch pySigma-backend-kusto pySigma-backend-qradar;转换命令如 sigma convert -t splunk -p sysmon rules/rule.yml,可指定目录与输出格式。校验用 sigma check rules/rule.yml。离线验证可用 hayabusa csv-timeline -d ./sample_evtx/ -r rules/rule.yml 或 chainsaw hunt ./sample_evtx/ -s rules/rule.yml --mapping mappings/sigma-mapping.yml。测试流程为采集样本日志、验证检测触发、验证排除、转换后对 7 天以上生产数据测试并记录。
限制:转换输出需对照实际字段名验证,管道默认值可能不匹配自定义解析;字段应使用 Sigma 标准名以保持可移植性;严重级别应基于预期真阳率与业务影响而非技术危险程度;规则需测试后再上线,避免噪声侵蚀分析师信任。