Paloma3036/blue-team-process-monitor
GitHub: Paloma3036/blue-team-process-monitor
一个基于 Python 的轻量级 EDR/IPS 模拟器,用于监控端点进程并自动响应安全威胁。
Stars: 1 | Forks: 0
# 🛡️ 蓝队进程监控器(EDR / IPS / SIEM 模拟器)
一款轻量级、基于规则的进程监控工具,旨在模拟本地环境中蓝队的威胁检测、分析与**自动化修复**。该项目现已集可视化界面,可作为完整的 EDR(端点检测与响应)模拟器运行。
## 📌 项目目标
本项目的目标是:
- 通过检查命令行参数 (`cmdline`) 来监控机器上的活动进程。
- 基于启发式特征,识别并**即时阻断**可疑行为。
- 实时隔离并将恶意文件移动到安全的隔离目录。
- 在交互式 SIEM 风格的仪表板中集中展示关键安全指标。
## 🧠 应用概念
- 基于 `psutil` 的高级进程与网络连接启发式监控。
- **主动修复(事件响应):** 自动终止持久性威胁。
- **工件隔离:** 基于 SHA-256 签名的隔离区处理流程。
- 结构化、标准化的 JSON 日志工程。
- 数据驱动的安全遥测可视化分析。
## 🏗️ 项目结构
```
blue-team-process-monitor/
│
├── src/
│ ├── monitor.py # Core do EDR: detecção, auto-kill e quarentena
│ ├── analyze_logs.py # Analisador estatístico de terminal
│ ├── dashboard.py # Interface visual interativa (SIEM)
│ └── keylogger_process.py # Simulação controlada de malware
│
├── logs/
│ ├── quarantine/ # Repositório de arquivos isolados pelo EDR
│ └── security_log.json # Logs de auditoria estruturados
│
├── tests/
│ └── simulate_activity.py # Gerador automatizado de tráfego e artefatos
│
├── requirements.txt
├── README.md
└── .gitignore
```
## 🧩 分层架构
- **监控器 (`monitor.py`):** 充当端点安全代理。终止恶意进程并管理文件隔离。
- **模拟器:** `keylogger_process.py`(模拟进程威胁)和 `simulate_activity.py`(模拟网络指标与磁盘写入活动)。
- **可视化:** `dashboard.py` 消费并渲染生成的原始日志,将审计数据转化为可视化情报。
## ⚙️ 使用技术
- **Python 3** (主要解释器)
- **Psutil** (系统调用与网络连接检查)
- **Streamlit** (Web 界面框架)
- **Pandas** (文本数据处理与聚合)
- **JSON & Hashlib** (日志结构化与加密签名)
## 🚀 运行方式
1️⃣ **创建虚拟环境**
```
python3 -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
```
2️⃣ **安装依赖项**
```
pip install -r requirements.txt
```
3️⃣ **启动安全监控器**
```
python src/monitor.py
```
4️⃣ **启动 SIEM 仪表板(在另一个已激活 venv 的终端中运行)**
```
streamlit run src/dashboard.py
```
## 🧪 受控检测与防护测试
为验证项目的主动遏制引擎:
- **IPS 测试(进程终止):** 在另一个终端运行模拟恶意软件:
python src/keylogger_process.py
*监控器将检测到命令行中的特征并立即终止该进程。*
- **隔离区测试(文件隔离):** 运行日志和测试文件注入器:
python tests/simulate_activity.py
*监控器将拦截创建的文件,计算其 SHA-256 哈希值,并立即将其移动到 `logs/quarantine/` 文件夹。*
## 📊 分析与可视化
在浏览器中打开 Streamlit 显示的地址,实时观察以下图表:
- 端点上发生的事件总量。
- 被有效缓解/终止的进程关系(**主动修复**)。
- 按风险级别(低、中、高)划分的事件严重程度。
## 🎯 主要收获
- 将软件工程应用于事件检测与响应(IR)。
- 操作系统进程控制系统调用及原生库的运用。
- 通过内存缓存优化来缓解竞态条件与冗余问题。
- 为 SOC 团队快速开发分析仪表板。
## 📌 后续期望
- 实现操作系统持久化机制(伪守护进程/服务)。
- 将原始文件存储迁移至轻量级关系型数据库(SQLite)。
- 添加通过 Webhook(Slack/Discord)发送即时警报的集成功能。
## 👨💻 作者
本项目为专注于信息安全检测工程与自动化学习目的而扩展和重构。
标签:AMSI绕过, EDR模拟器, Homebrew安装, IPS模拟器, JSON日志, Kubernetes, psutil, Python, SHA-256, Streamlit, 启发式检测, 命令行监控, 威胁检测, 安全日志, 实时仪表板, 恶意软件模拟, 文件隔离, 无后门, 端点安全, 网络安全, 自动化响应, 自动补救, 补丁管理, 访问控制, 逆向工具, 键盘记录模拟, 隐私保护, 隔离区