aliaadwan/IDS-using-YARA-Rules
GitHub: aliaadwan/IDS-using-YARA-Rules
基于 YARA 规则的轻量级网络入侵检测系统,从 pcap 流量中提取文件并进行恶意软件特征扫描,通过 Flask Web 界面实时展示安全告警。
Stars: 1 | Forks: 0
# 使用 YARA 规则的入侵检测系统 (IDS)
这是一个集成的网络入侵检测系统 (IDS),旨在从数据包捕获 (`.pcap`) 中提取文件,使用指定的 **YARA 规则** 对其进行扫描,并通过简洁的 Web 界面显示安全警报。
## 🚀 功能
* **PCAP 文件提取:** 使用 `file_extractor.py` 自动从网络流量捕获中提取文件。
* **基于特征的扫描:** 通过 `scanner.py` 使用 `yara_rules/` 中的 YARA 规则来识别隐藏的恶意软件或异常。
* **Web 仪表板:** 使用 Flask (`app.py`) 构建,具有用于查看扫描结果和警报详情的前端界面。
* **结构化警报日志记录:** 将实时检测结果存储在 `alerts.jsonl` 中,以便快速索引和审计。
## 📁 项目结构
基于 `image_ebb069.png` 中所示的仓库架构:
* **`logs/`**
* `extractor.log` - 包含文件提取过程的日志。
* **`templates/`**
* `index.html` - 主仪表板网页。
* `details.html` - 用于查看特定警报详情的页面。
* **`yara_rules/`** - 包含您的 `.yar` / `.yara` 特征文件的目录。
* **`alerts.jsonl`** - 包含生成的警报数据的 JSON Lines 日志文件。
* **`app.py`** - Flask Web 应用程序后端。
* **`config.py`** - 配置设置和全局变量。
* **`file_extractor.py`** - 负责处理数据包捕获并提取数据的脚本。
* **`main.py`** - IDS pipeline 的主要执行入口点。
* **`sample.pcap`** - 用于测试系统的示例网络捕获文件。
* **`scanner.py`** - 核心 YARA 扫描引擎。
## 🛠️ 前置条件
请确保您已安装以下依赖项:
```
pip install flask yara-python scapy
```
标签:DNS枚举, Flask仪表盘, PCAP解析, YARA引擎, 入侵检测系统, 安全数据湖, 网络安全工具, 网络流量分析, 逆向工具, 防御绕过