wwd9135/Detection-Engineering

GitHub: wwd9135/Detection-Engineering

一个以 Sigma 为单一事实来源、面向 Microsoft Sentinel 的检测工程作品集,展示了从 ATT&CK 映射、规则编写、实验室验证到误报调优的完整检测即代码工作流。

Stars: 1 | Forks: 0

# 检测工程作品集 一名初阶安全工程师,致力于在 Microsoft Sentinel (KQL)、Corelight NDR 和 Microsoft Defender 中构建和验证检测规则——以 Sigma 作为单一事实来源进行编写,并在个人家庭实验室中进行测试。 ## 覆盖范围总结 | 战术 | 覆盖的技术 | |---|---| | Persistence | T1547.001 | | *(更多内容即将推出)* | | ## 仓库导航 ``` . ├── README.md ← you are here ├── docs/ ← methodology, templates, conventions ├── detections/ ← Sigma rules + KQL, grouped by ATT&CK tactic ├── tuning/ ← before/after tuning writeups ├── emulation/ ← Atomic Red Team / manual test notes ├── coverage/ ← ATT&CK Navigator layer ├── lab/ ← home-lab architecture notes ├── .github/workflows/ ← CI: sigma check + compile └── requirements.txt ← Python toolchain ``` | 文件夹 | 用途 | |---|---| | [docs/](docs/) | 检测方法论、ADS 模板、命名规范、调优模板 | | [detections/](detections/) | 每个战术一个子文件夹;每个检测包含一个 `rule.yml`、`rule.kql`、`README.md` 和验证记录 | | [tuning/](tuning/) | 降噪工作:问题 → 假设 → 前/后逻辑对比 → 指标 | | [emulation/](emulation/) | 针对各技术的测试流程;在适用情况下映射到 Atomic Red Team 的测试编号 | | [coverage/](coverage/) | ATT&CK Navigator JSON 层,用于跟踪已覆盖和未覆盖的范围 | | [lab/](lab/) | 用于验证的模拟家庭实验室拓扑(无生产数据) | ## 检测方法论 完整说明请参阅 [docs/methodology.md](docs/methodology.md)。简而言之: 本仓库中的每个检测最初都是作为一个威胁行为假设提出的,以 ATT&CK 为基础,使用 Sigma 编写,通过在家庭实验室中生成该行为进行验证,最后根据观察到的误报率进行调优。 ## 工具链 - **规则编写**:[Sigma](https://github.com/SigmaHQ/sigma) (YAML) - **验证 / 编译**:[sigma-cli](https://github.com/SigmaHQ/sigma-cli) + [pySigma](https://github.com/SigmaHQ/pySigma),配合 Microsoft Sentinel / Kusto backend - **主要 SIEM 目标**:Microsoft Sentinel (KQL / `DeviceRegistryEvents`、`DeviceProcessEvents` 等) - **NDR**:Corelight (Zeek logs) - **框架**:MITRE ATT&CK ``` # 安装 toolchain pip install -r requirements.txt # 验证所有 rules sigma check detections/ # 编译单个 rule 到 KQL sigma convert -t kusto -p microsoft_xdr detections/persistence/T1547.001-registry-run-keys/rule.yml ``` ## 规范 完整标准请参阅 [docs/naming-conventions.md](docs/naming-conventions.md)。太长不看版(TL;DR): - 检测文件夹:`{TECHNIQUE-ID}-{short-slug}`,例如 `T1547.001-registry-run-keys` - Sigma 规则的 `id` 字段:稳定的 UUID,绝不重复使用 - 每个规则都带有 `attack.persistence`(战术)**和** `attack.t1547.001`(技术)标签 - 编译后的 KQL 与规则同存于 `rule.kql` 中 —— 使用 sigma-cli 重新生成,并提交两者 ## 免责声明 本仓库中的所有规则、日志样本和测试证据均在我个人拥有的设备上的家庭实验室中生成。本仓库中任何位置均未包含任何雇主页数据、生产系统、真实的内部主机名或 IP 地址。
标签:ATT&CK覆盖率, DevSecOps, KQL, Reconnaissance, SIEM规则, Sigma规则, 上游代理, 安全工程, 目标导入, 逆向工具