ismailhalawa-ctrl/Endpoint-Log-Anomaly-Detection-Bot

GitHub: ismailhalawa-ctrl/Endpoint-Log-Anomaly-Detection-Bot

基于 Isolation Forest 和 K-Means 的 Windows 安全日志实时异常检测系统,提供风险分级、图分析和可视化 Dashboard。

Stars: 0 | Forks: 0

# 🛡️ Endpoint Log 异常检测 Bot 这是一个基于机器学习的 Endpoint 安全系统,使用 **Isolation Forest**、**K-Means Clustering**、**Graph Analysis** 和 **实时监控 Bot** 从 Windows Security Event Logs 中检测异常行为。 ## 📌 概述 本项目分析原始的 Windows Security Event Logs,提取行为特征,并应用无监督机器学习技术来识别可疑活动。 该系统包含: - Log 解析与预处理 - 特征工程 - 使用 K-Means 分配风险等级 - 使用 Isolation Forest 进行异常检测 - 基于 Graph 的 IP 关系分析 - 实时检测 Bot - 用于数据可视化的 Streamlit Dashboard ## 🚀 功能 - ✅ 解析原始 Windows Security Event Logs (JSON) - ✅ 清洗和预处理安全数据 - ✅ 用于行为分析的特征工程 - ✅ 使用 Isolation Forest 检测异常 - ✅ 使用 K-Means Clustering 分配低 / 中 / 高风险 - ✅ 识别高频可疑用户和 IP 地址 - ✅ 使用 NetworkX 进行 Graph 分析 - ✅ 使用 Watchdog 进行实时 Endpoint 监控 - ✅ 交互式 Streamlit Dashboard - ✅ 自动安全告警 ## 🛠️ 使用的技术 - Python - Pandas - NumPy - Scikit-learn - NetworkX - Streamlit - Watchdog - Joblib - Matplotlib - Seaborn ## 📂 项目结构 ``` Endpoint-Log-Anomaly-Detection-Bot/ │ ├── SecurityProject.ipynb # Model training and analysis ├── SecurityAnalysisReport.docx # Project report ├── dataset/ # Windows Security Event Logs ├── models/ # Saved ML models ├── bot.py # Real-time monitoring bot ├── dashboard.py # Streamlit dashboard ├── requirements.txt └── README.md ``` ## ⚙️ 机器学习 Pipeline ``` Raw Windows Logs │ ▼ Log Parsing │ ▼ Preprocessing │ ▼ Feature Engineering │ ▼ Standard Scaling │ ▼ PCA │ ┌──────┴─────────┐ ▼ ▼ K-Means Isolation Forest ▼ ▼ Risk Level Anomaly Score │ ▼ Security Alert ``` ## 📊 风险分类 本项目使用 **K-Means** 将 Endpoint 事件分为三个聚类。 | Cluster | 风险 | |----------|------| | Cluster 0 | 🟢 低 | | Cluster 1 | 🟡 中 | | Cluster 2 | 🔴 高 | ## 🤖 实时检测 Bot 会持续监控传入的 Windows Security Logs。 对于每一个新事件,它会: - 解析 Log - 提取特征 - 应用预处理 - 运行 PCA - 预测异常分数 - 分配风险等级 - 为可疑活动生成告警 ## 🌐 Dashboard Streamlit Dashboard 提供: - 已处理事件总数 - 高风险告警 - 独立用户数 - 平均异常分数 - 近期告警 - 用户活动图表 - 异常分布 - 实时监控 ## 📈 Graph 分析 利用 **NetworkX**,本项目构建了一个 IP 关系图,以识别: - 高连接度的 IP - 可疑的通信模式 - Degree Centrality - Top 10 最具影响力的 IP 地址 ## 🧠 使用的模型 ### Isolation Forest 用于在无标签数据的情况下检测异常的 Endpoint 行为。 ### K-Means Clustering 将相似的 Endpoint 活动分组到不同的风险类别中。 ### PCA 在保留重要信息的同时进行降维。 ## 📦 安装 克隆仓库 ``` git clone https://github.com/ismailhalawa-ctrl/Endpoint-Log-Anomaly-Detection-Bot.git ``` 进入项目 ``` cd Endpoint-Log-Anomaly-Detection-Bot ``` 安装依赖项 ``` pip install -r requirements.txt ``` ## ▶️ 运行 训练 / 分析 ``` jupyter notebook Log Anomaly Detection Code.ipynb ``` ## 📄 报告 完整的实现细节、方法论、实验和分析可在以下文件中查看: **Log Anomaly Detection Report.pdf** ## 👨‍💻 作者 **Ismail Halawa** GitHub: https://github.com/ismailhalawa-ctrl
标签:Apex, Kubernetes, Windows事件日志, 安全运营, 异常检测, 扫描框架, 机器学习, 特权检测, 终端安全, 逆向工具