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规则, 上游代理, 安全工程, 目标导入, 逆向工具