Balbus95/ZeekXAI

GitHub: Balbus95/ZeekXAI

基于Zeek网络日志和可解释性机器学习技术,检测并分类关键基础设施中的网络攻击战术的学术研究项目。

Stars: 0 | Forks: 0

# ZeekXAI - 关键基础设施攻击的分析与分类 ZeekXAI 是一个硕士学位论文项目,专注于利用网络流量数据(Zeek logs)检测和分类关键基础设施中的网络攻击战术——并将其映射到 MITRE ATT&CK 框架。 该系统集成了 Machine Learning 算法(Random Forest, Decision Tree, Logistic Regression, Naive Bayes)与 **Explainable AI (XAI)** 技术,例如 SHAP (Shapley Additive Explanations) 和 PDP (Partial Dependence Plots)。其目标是确保模型的决策过程对网络安全分析师而言是透明、可解释且易于理解的。 ## 🚀 核心功能 * **Zeek Data Analysis**:高效加载和解析 Parquet 格式的网络日志。 * **Feature Engineering**:自动计算派生指标(例如 `pktAtsec`, `BitRate`, `interTime`)以丰富数据集。 * **Machine Learning**:模型的训练与评估,用于: * **Binary Classification**:区分良性流量与恶意流量。 * **Multiclass Classification**:识别特定的 MITRE 战术(例如 *Reconnaissance*, *Discovery*, *Resource Development*)。 * **Explainable AI (XAI)**: * **SHAP (Global & Local)**:特征重要性分析及其对预测的影响(Beeswarm plots, Bar charts, Waterfall plots)。 * **Partial Dependence Plots (PDP)**:可视化特征与模型输出之间的边际关系。 * **Automated Reporting**:生成性能指标(CSV/JSON)和可视化报告(PDF)。 ## 🛠️ 安装说明 请确保您已安装 Python 3.8+。 1. **克隆仓库:** git clone https://github.com/Balbus95/ZeekXAI-private.git cd ZeekXAI-private 2. **创建虚拟环境(可选但强烈推荐):** python -m venv .venv # 在 Windows 上: .venv\Scripts\activate # 在 Linux/macOS 上: source .venv/bin/activate 3. **安装依赖项:** pip install -r requirements.txt ## 📦 项目结构 * `zeekXAI.py`:执行端到端 pipeline(训练、评估和 XAI 生成)的主脚本。 * `analyze_shap.py` / `analyze_shap_waterfall.py` / `analyze_pdp.py`:用于运行和优化特定 SHAP 和 PDP 可视化的专用辅助脚本。 * `list_features_values.py`:用于探索特征值的实用脚本。 * `UWF-ZeekDataFall22/`:包含 Parquet 格式数据集的目录。 * `cache/`:用于缓存训练模型和处理后数据集的目录,以加速后续运行。 * `output/`:保存所有生成结果(图表、报告、执行日志)的目录。 * `latex/` & `presentazione/`:LaTeX 源文件、论文文档和演示材料。 * `* .md, .txt, .pdf`:支持论文研究的各类笔记、指南和参考论文(例如 `paper_dataset_ZeekDataFall22.pdf`)。 ## 💻 使用方法 ### 端到端执行(训练 + 验证 + XAI) 要启动完整的分析 pipeline,请运行: ``` python zeekXAI.py ``` 该脚本将自动执行以下步骤: 1. 加载、清洗和预处理数据集。 2. 训练 ML 模型(如果已经训练过,则从 `cache/` 加载)。 3. 评估模型性能并计算指标。 4. 生成 SHAP 和 PDP 图表,并将其保存在 `output/` 内的专用时间戳文件夹中(例如 `output/test_`)。 ## 📊 生成输出 所有分析结果和报告均保存在相应的 `output/test_/` 目录中: * **Metrics**:`B_01_MetricsTable_Comparative_AllMulticlass.csv` * **Visualizations**: * `A_01_ClassDistribution...pdf`:目标类别分布表示。 * `B_02_ConfusionMatrix...pdf`:概述分类准确性的混淆矩阵。 * `C_01_SHAP_Beeswarm...pdf`:解释模型可解释性的 Beeswarm plots。 * `C_03_PDP...pdf`:描绘特征边际效应的偏依赖图。
标签:Apex, Cloudflare, HTTP/HTTPS抓包, MITRE ATT&CK, PKINIT, Python, Rootkit, SHAP, XAI, Zeek, 关键基础设施, 决策树, 分类算法, 可解释人工智能, 域名收集, 安全分析, 实时处理, 密码管理, 工控安全, 态势感知, 恶意流量检测, 插件系统, 无后门, 朴素贝叶斯, 机器学习, 特征工程, 网络安全, 网络日志分析, 逆向工具, 逻辑回归, 随机森林, 隐私保护