parishree-gupta/Network-Intrusion-Detection-using-MachineLearning

GitHub: parishree-gupta/Network-Intrusion-Detection-using-MachineLearning

基于 NSL-KDD 数据集和 LSTM 深度学习模型构建的网络入侵检测系统,用于识别恶意网络流量。

Stars: 0 | Forks: 0

# 🛡️ 使用机器学习和深度学习的网络入侵检测系统 一个基于机器学习和深度学习技术,并在 **NSL-KDD** 数据集上构建的网络入侵检测系统(NIDS)。本项目已进行现代化升级,可无缝运行在 **Google Colab**、**Python 3.12** 和 **TensorFlow/Keras 3** 上。 ## 📌 项目概述 网络入侵检测系统在网络安全中至关重要,用于识别恶意网络流量并保护系统免受未经授权的访问。 本项目实现了一个端到端的入侵检测流水线,涵盖网络流量数据预处理、训练多种机器学习模型、构建基于 LSTM 的深度学习模型,并使用标准分类指标评估其性能。 ## ✨ 功能 * 数据预处理与特征工程 * 二元和多类入侵检测 * 多种机器学习分类器 * 基于 LSTM 的深度学习模型 * 模型性能对比 * ROC 曲线与训练过程可视化 * 兼容 Google Colab * 兼容 Python 3.12 和 TensorFlow/Keras 3 ## 🛠️ 使用的技术 * Python * TensorFlow / Keras * Scikit-learn * Pandas * NumPy * Matplotlib * Seaborn * Google Colab ## 📂 仓库结构 ``` Network-Intrusion-Detection-using-MachineLearning/ │ ├── README.md ├── documentation.md ├── LICENSE ├── requirements.txt ├── .gitignore │ ├── Data_Preprocessing_NSL_KDD.ipynb ├── Classifiers_NSL_KDD.ipynb ├── Intrusion_Detection_NSL_KDD.ipynb │ ├── datasets/ │ └── README.md │ ├── images/ │ ├── workflow.png │ ├── model_architecture.png │ ├── training_accuracy.png │ ├── training_loss.png │ └── roc_curve.png │ ├── labels/ └── plots/ ``` ## 📖 项目工作流 ![工作流](https://raw.githubusercontent.com/parishree-gupta/Network-Intrusion-Detection-using-MachineLearning/main/images/workflow.png) 工作流从 **NSL-KDD 数据集** 开始,随后进行数据预处理、特征工程、训练多种机器学习模型、构建基于 LSTM 的深度学习模型、评估性能,最终实现网络入侵预测。 ## 🧠 模型架构 ![模型架构](https://static.pigsec.cn/wp-content/uploads/repos/cas/85/8593301c76df8bde18b4a97d82ab65364ea7c83fc1332b748765fb5bc7433bd5.png) 该深度学习模型基于 **LSTM 网络**,后接一个用于入侵分类的 Dense 输出层。 ## 📊 模型性能 ### 训练准确率 ![训练准确率](https://static.pigsec.cn/wp-content/uploads/repos/cas/d5/d5260991ded2638e485d2649ccdcac6eecfcb108dda9bf6a71edae0a99d7b862.png) ### 训练损失 ![训练损失](https://static.pigsec.cn/wp-content/uploads/repos/cas/ca/caf0f4ad128965b50264cdf8683fb482044d2f95aa4a7b291bf06d75b72694ba.png) ### ROC 曲线 ![ROC 曲线](https://static.pigsec.cn/wp-content/uploads/repos/cas/23/2370852690d192f33d9083449a1e67ea744b9d19410e3d391d23e19e4b879358.png) ## 📊 数据集 本项目使用 **NSL-KDD** 数据集,这是一个广泛用于评估网络入侵检测系统的基准数据集。 由于数据集体积较大,因此**未包含**在本仓库中。 请在运行 notebook 之前单独下载,并将其放置在 `datasets/` 文件夹中。 ## 🚀 快速开始 ### 克隆仓库 ``` git clone https://github.com/parishree-gupta/Network-Intrusion-Detection-using-MachineLearning.git ``` ### 安装依赖 ``` pip install -r requirements.txt ``` ### 运行 Notebook 请按以下顺序执行 notebook: 1. `Data_Preprocessing_NSL_KDD.ipynb` 2. `Classifiers_NSL_KDD.ipynb` 3. `Intrusion_Detection_NSL_KDD.ipynb` ## 📈 结果 实现的模型使用多种性能指标进行评估,包括: * Accuracy * Precision * Recall * F1-Score * ROC 曲线 * 混淆矩阵 (Confusion Matrix) 这些指标有助于评估入侵检测模型在区分正常与恶意网络流量方面的有效性。 ## 🔄 现代化升级 本仓库已从原始实现更新,以支持最新的软件生态系统。 ### 改进点 * ✅ 兼容 Google Colab * ✅ 支持 Python 3.12 * ✅ 兼容 TensorFlow/Keras 3 * ✅ 兼容 NumPy 2.x * ✅ 兼容 pandas 2.x * ✅ 更新了已弃用的 API * ✅ 提升了 notebook 的执行效率与稳定性 ## 💡 未来增强功能 * 实时数据包捕获 * 实时入侵检测仪表板 * 可解释人工智能 (Explainable AI, XAI) * Docker 部署 * 云部署 * REST API 集成 ## 👩‍💻 作者 **Pari Shree Gupta** B.Tech 计算机科学工程 Jaypee Institute of Information Technology GitHub: https://github.com/parishree-gupta ## 📜 许可证 本项目基于 MIT 许可证授权。 ## ⭐ 支持 如果您觉得这个项目有用,欢迎在 GitHub 上给它点个 ⭐!
标签:Apex, LSTM, Python, TensorFlow, 入侵检测系统, 安全数据湖, 无后门, 机器学习, 深度学习, 网络安全, 逆向工具, 隐私保护