ChaniOops/Log-File-Anomaly-Detector

GitHub: ChaniOops/Log-File-Anomaly-Detector

基于 Isolation Forest 机器学习算法的 Windows EVTX 事件日志异常检测平台,为 SOC 团队提供从日志解析、特征提取到异常预警的一站式安全分析能力。

Stars: 0 | Forks: 0

# 基于 AI 的 Windows 事件日志异常检测系统 ![项目状态](https://img.shields.io/badge/status-active_development-yellow) ![许可证](https://img.shields.io/badge/license-MIT-blue) ![Python 版本](https://img.shields.io/badge/python-3.10%2B-blue) 一个企业级的安全运营中心(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事件日志, 安全运营中心, 异常检测, 机器学习, 网络映射, 逆向工具, 隔离森林