chinmayee-04/NeuroGuard-Adaptive-Cognitive-Threat-Mitigation-System
GitHub: chinmayee-04/NeuroGuard-Adaptive-Cognitive-Threat-Mitigation-System
NeuroGuard 是一个结合多种机器学习与深度学习模型的网络入侵检测系统,旨在通过数据驱动方式将网络流量自动分类为正常或攻击。
Stars: 0 | Forks: 0
# NeuroGuard:自适应认知威胁缓解系统




## 概述
NeuroGuard 是一个基于 KDD Cup 数据集训练的实时网络入侵检测系统。它应用了多种机器学习和深度学习模型,将网络流量分类为正常或攻击,并具备实时流量模拟和自动化威胁响应功能。
## 数据集
- **KDDTrain+.txt** - 包含 43 个网络流量特征的 NSL-KDD 数据集
- 标签分类为:`normal` 或 `attack`
- 特征包括:duration、protocol_type、service、flag、src_bytes、dst_bytes 以及 38 个额外的网络级属性
## 已实现的模型
| 模型 | 类型 |
|-------|------|
| 逻辑回归 | 分类 |
| K-Nearest Neighbors (k=20) | 分类 |
| 高斯朴素贝叶斯 | 分类 |
| 线性 SVC | 分类 |
| 决策树 | 分类 |
| 随机森林 | 分类(最佳模型) |
| XGBoost | 回归 |
| 深度神经网络 | 二分类 |
| PCA + 随机森林 | 降维 + 分类 |
## 工作流程
1. 数据加载 - 从 Google Drive 加载 KDDTrain+.txt
2. 数据预处理 - 分配列名,对标签进行编码,使用 RobustScaler 对特征进行缩放
3. 探索性数据分析 (EDA) - 使用饼图可视化协议类型和攻击分布
4. 特征工程 - 应用 PCA(20 个主成分)进行降维
5. 模型训练 - 训练并评估所有模型,比较准确率、精确率、召回率和 F1 分数
6. 深度学习 - 使用 TensorFlow/Keras 构建并训练全连接神经网络
7. 保存最佳模型 - 随机森林被保存为 `best_random_forest_model.pkl`
8. 实时模拟 - 使用经过 PCA 转换的测试数据模拟实时流量,并逐行预测威胁
## 技术栈
| 类别 | 工具 |
|----------|-------|
| 编程语言 | Python 3.9+ |
| 深度学习 | TensorFlow, Keras |
| 机器学习 | Scikit-learn, XGBoost |
| 数据处理 | Pandas, NumPy |
| 数据可视化 | Matplotlib, Seaborn |
| 降维 | PCA(20 个主成分) |
| 模型保存 | Joblib |
| 平台 | Google Colab |
| 数据集 | NSL-KDD (KDDTrain+.txt) |
## 仓库结构
NeuroGuard/
├── notebooks/
│ └── MCSA__ipynb.ipynb
├── dataset/
│ └── KDDTrain+.txt
├── models/
│ └── best_random_forest_model.pkl
├── report/
│ └── final_report_42614152.pdf
├── research/
│ └── Neuroguard_research_paper.pdf
├── README.md
└── requirements.txt
标签:Apex, Python, 无后门, 机器学习, 深度学习, 网络安全, 逆向工具, 隐私保护