Sbharadwaj05/ot-sentinel-rules

GitHub: Sbharadwaj05/ot-sentinel-rules

一个面向工业控制系统协议的开源 Wazuh 与 Sigma 检测规则库,通过提供映射到 MITRE ATT&CK for ICS 的免费规则填补了 OT 安全检测领域的空白。

Stars: 8 | Forks: 1

# OT Sentinel — 面向 ICS/OT 协议的开源检测规则 [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE) [![Rules](https://img.shields.io/badge/rules-29-blue)](rules/) [![ATT&CK](https://img.shields.io/badge/ATT&CK%20ICS-7%20techniques-orange)](mappings/) [![CI](https://img.shields.io/badge/CI-passing-brightgreen)]() [![Lab](https://img.shields.io/badge/lab-OpenPLC%2BWazuh%204.14-informational)]() **OT Sentinel** 是一个针对工业控制系统 (ICS) 和运营技术 (OT) 协议的开源检测规则库。它提供了映射到 MITRE ATT&CK for ICS 的 **Wazuh** 和 **Sigma** 规则 — 专为学习、实验室测试以及启动 OT 检测工程而构建。 ![OT Sentinel 架构](https://static.pigsec.cn/wp-content/uploads/repos/cas/7c/7cfc13706dad863e192d0935e07d680516fe4515b17006411ae8a6cc2af2389e.png) ## 问题所在 OT/ICS 安全团队面临着一个关键的缺口: - 主流 SIEM/XDR 平台上**不存在针对 OT 协议(Modbus、DNP3、IEC 104、MQTT、OPC-UA)的开源检测规则** - 商业 OT 安全工具每个站点的成本高达 5 万至 20 万美元以上 - 现有规则大多是专有的,受限于供应商合同而被封闭 - 小型水处理厂、电力变电站和工厂处于盲目状态 **OT Sentinel 填补了这一空白** — 提供免费、开源、经实验室验证的检测规则,用于学习、测试以及加速您的 OT 检测工程。 ## 这是什么(以及不是什么) | 这是 | 这不是 | |---------|-------------| | 检测工程的加速器 | Dragos/Nozomi/Claroty 的直接替代品 | | 已在真实的 OpenPLC 硬件上经过实验室验证 | 已在多样化的 OT 环境中完成生产环境测试 | | OT 协议安全的学习资源 | 完整的 OT 安全解决方案 | | 您可以在此基础上进行构建和定制的基础 | 您应该盲目部署到生产环境的一组规则 | ## 生产就绪情况 | 协议 | 已编写规则 | 硬件测试 (OpenPLC) | Wazuh 验证 | 测试脚本 | |----------|-------------|---------------------|-----------------|-------------| | **Modbus** | 8 | ✅ 8/8 | ✅ 8/8 | ✅ 全部 8 个 | | **DNP3** | 7 | — | ✅ 7/7 | 💤 桩代码 | | **IEC 104** | 6 | — | ✅ 6/6 | 💤 桩代码 | | **MQTT** | 5 | — | ✅ 5/5 | 💤 桩代码 | | **OPC-UA** | 3 | — | ✅ 3/3 | 💤 桩代码 | ## OT Sentinel 的对比 ### 对比商业 OT 安全工具 | 关注点 | Dragos / Nozomi / Claroty | OT Sentinel | |---------|--------------------------|-------------| | 逻辑可见? | ❌ 黑盒 | ✅ 开源 | | 自定义规则? | 受限的 UI | 完全控制 (XML) | | 兼容 Wazuh? | ❌ 独立平台 | ✅ 直接集成 | | 可审计? | ❌ 否 | ✅ Apache 2.0 | | 已映射 ATT&CK? | 视情况而定 | ✅ 每一条规则 | | 成本 | 5万-20万美元以上/年 | 免费 | ### 对比开源工具 | 工具 | 用途 | OT Sentinel 的作用 | |------|---------|-------------------| | [Conpot](https://github.com/mushorg/conpot) | ICS 蜜罐 | 对真实设备攻击发出告警 | | [GRASSMARLIN](https://github.com/nsacyber/GRASSMARLIN) | 被动映射 | 发现后的检测 | | [QuickDraw](https://github.com/digitalbond/QuickDraw) | SNORT 规则 | SIEM 层 (Wazuh/Sigma) | ## 截图 | Wazuh 告警 (logtest) | 攻击测试 | |-----------------------|-------------| | ![Alert](https://static.pigsec.cn/wp-content/uploads/repos/cas/e0/e06605dceef71fc48fc1767f00ea9ea17d01e741d430bb9512800bcd2892b161.png) | ![Test](https://static.pigsec.cn/wp-content/uploads/repos/cas/02/02b997c46b4197e094d3b39eb73506553d4df0bf4b97cecc3e1bd80812afd969.png) | ## 仓库结构 ``` ot-sentinel/ ├── rules/ │ ├── wazuh/ # Wazuh XML rules (deploy to /var/ossec/etc/rules/) │ │ ├── decoders/ # Custom Wazuh decoders for OT protocols │ │ ├── modbus/ │ │ ├── dnp3/ │ │ ├── iec104/ │ │ ├── mqtt/ │ │ └── opc-ua/ │ └── sigma/ # Sigma YAML rules (SIEM-agnostic) │ ├── modbus/ │ ├── dnp3/ │ ├── iec104/ │ ├── mqtt/ │ └── opc-ua/ ├── cdb-lists/ # Wazuh CDB allowlists ├── tests/ # Test scripts (pymodbus, paho-mqtt, etc.) ├── docs/ # Protocol primers, attack catalogs, lab guides ├── mappings/ # ATT&CK for ICS coverage maps ├── tools/ # Validation & CI/CD tooling └── .github/workflows/ # CI pipeline ``` ## 快速开始 ### 前置条件 - Wazuh Manager 4.x+ - Python 3.9+(用于测试脚本) - 可选:OpenPLC、GNS3 实验室(请参阅[实验室设置指南](docs/lab-setup/)) ### 部署规则 ``` # 克隆 repo git clone https://github.com/Sbharadwaj05/ot-sentinel.git cd ot-sentinel # 复制 Wazuh 规则到 manager sudo cp rules/wazuh/decoders/*.xml /var/ossec/etc/decoders/ sudo cp rules/wazuh/modbus/*.xml /var/ossec/etc/rules/ # 复制 CDB 列表 sudo cp cdb-lists/* /var/ossec/etc/lists/ # 重启 Wazuh sudo systemctl restart wazuh-manager ``` ### 运行测试 ``` cd tests/modbus/ python test_unauthorized_write.py --target 192.168.1.100 --port 502 ``` ## MITRE ATT&CK for ICS 覆盖范围 每一条规则都映射到 [MITRE ATT&CK for ICS](https://attack.mitre.org/matrices/ics/)。当前覆盖范围: | 战术 | 覆盖技术 | 规则数 | |--------|-------------------|-------| | Initial Access | — | — | | Execution | T0855 | 7 | | Persistence | — | — | | Evasion | — | — | | Discovery | T0840, T0846 | 10 | | Lateral Movement | — | — | | Collection | — | — | | Command and Control | — | — | | Inhibit Response Function | T0858 | 2 | | Impair Process Control | T0814, T0836, T0855, T0856 | 6 | | Impact | — | — | ## 作者 **Subhash Bharadwaj** — 安全工程师 - 生产环境经验:Wazuh、SIEM/SOAR、Kubernetes (RKE2)、Terraform、Ansible - OT/ICS:OpenPLC、GNS3、气隙数字孪生环境 - 过往项目:[Wazuh NIST 规则集](https://github.com/Sbharadwaj05/Wazuh-NIST-Rules-Set) — 50 条规则,已映射 NIST CSF 2.0 + ATT&CK ## 许可证 Apache 2.0 — 请参阅 [LICENSE](LICENSE)。 ## 免责声明 OT Sentinel 是一个**独立的社区项目**。它不隶属于任何 ICS 供应商、政府机构或安全产品供应商,也未获得其认可。详情请参阅 [DISCLAIMER.md](DISCLAIMER.md)。 **阶段 0 ✅ | 阶段 1 ✅ | 阶段 2 ✅ | 阶段 3 ✅ | 阶段 4 ✅ | 阶段 5 ✅**
标签:OT/ICS, PKINIT, Sigma规则, Wazuh, 工控安全, 目标导入, 逆向工具