HarshilPatel04/siem-sme-framework
GitHub: HarshilPatel04/siem-sme-framework
基于 Wazuh 构建的面向中小企业的 SIEM 框架,通过行业配置文件和通俗化警报卡片将技术安全事件转化为非专家可理解的业务风险信息。
Stars: 0 | Forks: 0
# SIEM SME 框架
**一个基于 Wazuh 构建,专为中小企业 (SMEs) 设计的、以人为核心的特定行业 SIEM 框架。**
本代码库包含了完整的项目:自定义检测规则、行业配置文件、**SME Security Guardian** 应用程序、实验数据以及完整的学位论文。(由早期的两个代码库合并而成。)
BSc (Hons) Cyber Security 学位论文项目 — University of Gloucestershire,2026 年。
作者:Patel Harshil Hemant · 导师:Mohammed Taresh
## 项目简介
商业和开源的 SIEM 工具能够很好地检测攻击,但它们生成的警报是为受过训练的安全分析师编写的。诊所老板或店主收到充满 IP 地址和规则 ID 的警报时,通常无法判断其是否严重,也不知道下一步该怎么做。
本项目将**检测、行业相关性和人际沟通视为一个统一的设计问题**。它通过三个相互关联的组件扩展了 Wazuh:
1. **16 条自定义的 MITRE ATT&CK 对齐检测规则**(`rules/sme_mitre_rules.xml`,ID 为 100001–100016),用于升级 SME 关键事件,并使用通俗易懂的、以业务为重点的描述对其进行标记。
2. **两个行业配置文件** —— 医疗保健(患者数据,GDPR)和零售(支付系统,PCI-DSS)—— 这样,同一个技术事件就可以根据该行业实际面临的风险来进行解释。
3. **SME Security Guardian**(`src/sme_guardian.py`)—— 一个 Flask 应用程序,它将 Wazuh 警报转换为 RED / AMBER / GREEN 仪表板,并发送通俗易懂的 Telegram “危机卡片”,告诉非专家操作员发生了什么、为什么重要、首先该做什么以及*不*该做什么。
## 架构
```
Kali (attacker) ─▶ Ubuntu / Windows victims ─▶ Wazuh server
│
custom rules + sector profiles
│
SME Security Guardian
│
┌───────────────────────┴───────────────────────┐
RED/AMBER/GREEN dashboard Telegram crisis card
```
该框架并不会取代 Wazuh —— 而是在检测引擎之上增加了一个面向 SME 的通信层。
## 代码库布局
| 路径 | 内容 |
|------|----------|
| `src/sme_guardian.py` | Guardian Flask 应用:红绿灯分类器 + 行业危机卡片 + 仪表板 + Telegram 发送功能 |
| `src/alert_explainer.py` | 针对警报类型的通俗易懂的解释映射 |
| `src/experiment_logger.py` | 将 `alerts.json` 解析为结构化的 CSV,用于 BASELINE 与 FRAMEWORK 分析 |
| `rules/sme_mitre_rules.xml` | 16 条自定义 Wazuh 检测规则 |
| `data/` | 实验结果导出文件(`baseline_results.csv`、`results.csv`、`final_results.csv`) |
| `docs/dissertation.pdf` | 完整的学位论文 |
## 设置说明
**前置要求:** Python 3.10+、运行中的 Wazuh 服务器以及一个 Telegram 机器人。
```
# 1. 安装依赖
pip install -r requirements.txt
# 2. 配置 secrets(切勿硬编码)
cp .env.example .env
# edit .env 并添加来自 @BotFather 的 TELEGRAM_TOKEN 和 TELEGRAM_CHAT_ID
# 3. 加载 env vars,然后在 Wazuh 服务器上运行 Guardian
export $(grep -v '^#' .env | xargs)
sudo -E python3 src/sme_guardian.py
```
仪表板地址:`http://:5000`
**安装检测规则**的方法是,将 `rules/sme_mitre_rules.xml` 复制到 Wazuh 服务器的 `/var/ossec/etc/rules/` 目录下,然后重启管理器(`sudo systemctl restart wazuh-manager`)。
## 结果摘要
在一个由四台虚拟机组成的 VirtualBox 实验环境(Wazuh 服务器、Ubuntu 医疗保健靶机、Windows 零售靶机、Kali 攻击机)中进行了评估,涵盖了七个 MITRE ATT&CK 攻击场景,并在 BASELINE(默认 Wazuh)和 FRAMEWORK(本项目)两种条件下进行了测试:
- 捕获了 **2,337 条警报**;该框架产生的**低严重性警报减少了 81%**,并发现了两条默认配置从未触发的 Level-15 CRITICAL 警报。
- **99 次自定义规则触发**,全部发生在 Ubuntu 医疗保健代理上,正确地将暴力破解 (T1078)、凭证访问 (T1003) 和后门账户创建 (T1136) 的严重性从 LOW/MEDIUM 升级到了 HIGH/CRITICAL。
- SME 警报和 Guardian 危机卡片的**可读性从 3/5 提高到了 5/5**(由研究人员评级)。
- **客观存在的局限性:** Windows 零售代理产生了检测盲区 —— Mimikatz 攻击成功,但没有任何自定义规则被触发,因为 Windows 规则匹配的是注册表活动而非 LSASS 内存访问。这一点已被记录为未来的工作目标,而不是被掩盖。
有关完整的方法、结果和讨论,请参阅 `docs/dissertation.pdf`。
## 免责声明
这是一个在**完全隔离的实验环境**中构建和评估的学术论文产物。它是一个概念验证,而不是经过强化的生产级安全产品。所有测试均使用研究人员自有的 VM,并在仅主机模式网络(host-only network)下进行;未涉及任何真实的组织系统、运营网络、患者数据或支付卡数据。部署或调整的风险由您自行承担,并在进行适当的审查后实施。
## 许可证
基于 [MIT License](LICENSE) 发布。
标签:Flask, Wazuh, 中小企业, 告警降噪, 安全运营, 扫描框架, 逆向工具