ChaniOops/Log-File-Anomaly-Detector
GitHub: ChaniOops/Log-File-Anomaly-Detector
基于 Isolation Forest 机器学习算法的 Windows EVTX 事件日志异常检测平台,为 SOC 团队提供从日志解析、特征提取到异常预警的一站式安全分析能力。
Stars: 0 | Forks: 0
# 基于 AI 的 Windows 事件日志异常检测系统



一个企业级的安全运营中心(SOC)平台,旨在检测 Windows 事件日志(`.evtx`)中的异常行为。该系统采用混合架构,将用于日志解析和异常检测(通过 Isolation Forest 实现)的基于 Flask 的机器学习微服务,与用于用户管理、日志上传和预警的基于 Django 的 Web 仪表板相结合。
## 🚀 功能
- **EVTX 解析**:将 Windows 事件日志稳健地解析为结构化数据。
- **特征工程**:自动提取跨 10 种 MITRE ATT&CK 战术的安全相关特征(例如,登录失败、进程创建异常、审计日志清除)。
- **机器学习检测**:使用 `scikit-learn` 的 Isolation Forest 进行无监督异常检测。
- **可扩展架构**:ML 推理引擎(Flask)与 Web 表示层(Django)之间严格解耦。
- **前瞻性规划**:检索增强生成(RAG)解释层,用于提供 LLM 驱动的事件上下文。
## 🏛️ 架构概述
本项目采用解耦的微服务架构构建:
1. **`ml_engine` (Flask)**:一个独立的 Python 包,负责解析日志、构建特征矩阵并运行 ML 模型。
2. **`web_dashboard` (Django)**:SOC 用户界面。处理用户身份验证、日志文件上传、数据库持久化,并通过 REST API 与 `ml_engine` 通信。
```
graph LR
User[SOC Analyst] -->|Uploads .evtx| Django[Django Dashboard]
Django -->|REST /analyze| Flask[Flask ML Engine]
Flask -->|Prediction Results| Django
Django -->|Renders UI| User
```
## 📂 文件夹结构
```
Log-File-Anomaly-Detector/
├── data/ # Data directories (raw_logs, processed)
├── ml_engine/ # ML & Inference Microservice (Flask)
│ ├── models/ # Persisted Joblib models
│ ├── config.py # Central ML configuration
│ ├── pipeline.py # End-to-end analysis orchestrator
│ └── ... # Parser, Feature Engineering, Training, Predict
├── web_dashboard/ # SOC Dashboard (Django)
│ ├── dashboard/ # Main Django app (Views, Models, UI)
│ └── web_dashboard/ # Django project settings
├── scripts/ # Utility scripts (e.g., dataset generation)
└── requirements.txt # Unified Python dependencies
```
## 🛠️ 技术栈
- **后端 Web 框架**:Django 5.0, Flask 3.0
- **机器学习**:scikit-learn (Isolation Forest), Pandas, NumPy, Joblib
- **数据解析**:python-evtx
- **数据库**:SQLite(开发环境),PostgreSQL(未来生产环境)
- **前端**:Django Templates, Bootstrap 5, Chart.js
## ⚡ 快速开始
### 前置条件
- Python 3.10+
- `pip` 和 `virtualenv`
### 安装说明
1. **克隆代码库**:
git clone https://github.com/your-org/Log-File-Anomaly-Detector.git
cd Log-File-Anomaly-Detector
2. **设置虚拟环境**:
python -m venv .venv
# Windows:
.venv\Scripts\activate
# Linux/Mac:
source .venv/bin/activate
3. **安装依赖项**:
pip install -r requirements.txt
4. **环境变量**:
复制示例配置:
cp .env.example .env
### 运行系统(开发模式)
目前,ML 引擎可以作为独立包运行(阶段 7A 已完成)。
**测试 ML pipeline**:
```
# Parse -> Extract Features -> Predict on sample data
python -m ml_engine.pipeline
```
*(运行 Flask API 和 Django Dashboard 的说明将在阶段 7B 和 8 中添加)*。
## 🗺️ 当前状态与路线图
- ✅ **阶段 1-12**:已完成。核心 ML pipeline(解析、特征工程、训练、预测)和完整的 Django Web 仪表板(身份验证、RBAC、上传工作流、预警、分析)已完全实现。
- 🔜 **前瞻性规划**:
- 阶段 13-14:RAG 知识库和解释层
- 阶段 15:自动化报告
- 阶段 16:管理与设置
- 阶段 17:部署基础设施(Docker, PostgreSQL, Nginx)
## 📄 许可证
本项目基于 MIT 许可证授权 - 详情请参阅 LICENSE 文件。
## 🙏 鸣谢
- 为现代安全运营中心(SOC)而构建。
- 使用 `python-evtx` 进行稳健的 Windows 事件日志解析。
- 灵感源自 MITRE ATT&CK 框架的事件映射。
标签:Apex, Django, Flask, Windows事件日志, 安全运营中心, 异常检测, 机器学习, 网络映射, 逆向工具, 隔离森林