ArmanAdilMangat/Research-paper

GitHub: ArmanAdilMangat/Research-paper

面向 IoT 网络安全的深度学习入侵检测研究,通过 NSGA-II 特征选择优化 CNN-LSTM 混合架构,在 CICIDS-2017 数据集上系统对比了五种模型的检测性能。

Stars: 0 | Forks: 0

# 面向 IoT 网络安全的优化深度学习入侵检测 [![论文](https://img.shields.io/badge/Paper-PDF-red)](paper/Optimized_Deep_Learning_Intrusion_Detection_for_Enhanced_IoT_Network_Security.pdf) [![幻灯片](https://img.shields.io/badge/Slides-PPTX-orange)](presentation/IDS_slides.pptx) [![数据集](https://img.shields.io/badge/Dataset-CICIDS--2017-blue)](https://www.unb.ca/cic/datasets/ids-2017.html) [![最佳模型](https://img.shields.io/badge/Best%20Model-BERT%20%E2%80%94%2099.6%25-brightgreen)]() [![许可证](https://img.shields.io/badge/License-Academic-lightgrey)]() ## 📄 摘要 本研究针对 **IoT 网络入侵检测**,将深度学习架构与经典基线进行了基准对比。我们在 CICIDS-2017 数据集上对 **卷积神经网络 (CNN)**、**基于 LSTM 的循环神经网络**和 **Transformer (BERT)** 模型进行了微调和评估,并将它们与 **Random Forest** 分类器进行了比较。所有深度模型的准确率均超过 **>98%**,其中 **BERT 以 99.6% 的准确率领先**,这得益于自注意力机制建模全局特征依赖关系的能力——这对于罕见且隐蔽的攻击模式尤为有效。每种模型都展现出独特的优势:CNN 擅长应对流量型攻击,LSTM 擅长处理顺序数据窃取,而 Random Forest 则提供了具有高可解释性和抗过拟合能力的基线。附加的 **CNN-LSTM 混合**架构在 4 分类任务中实现了 **99.55% 的准确率**,证明了结合空间和时间特征提取的价值。 ## 📊 结果 ### 已发表结果(二分类 —— 良性与恶意) | 模型 | 准确率 | 精确率 | 召回率 | F1-Score | |---|---:|---:|---:|---:| | **BERT** 🏆 | **99.6%** | 99.5% | 99.7% | **99.6%** | | **CNN** | 99.2% | 99.0% | 99.4% | 99.2% | | **RNN (LSTM)** | 98.9% | 98.7% | 99.1% | 98.9% | | **Random Forest** | 97.8% | 97.5% | 98.0% | 97.7% | ### 附加:CNN-LSTM 混合模型 (4 分类) 为多分类任务训练的 `Conv1D → MaxPooling → LSTM → Dense` 混合架构: | 指标 | 值 | |---|---:| | 准确率 | **99.55%** | | Macro F1 | 1.00 | | 测试样本数 | 208,512 | | 类别 | 4 种攻击类别 | ### 各模型最擅长之处 | 架构 | 优势 | 最适用场景 | |---|---|---| | **BERT** | 自注意力机制捕获全局依赖关系 | 罕见、隐蔽的攻击特征 · 数据不平衡 | | **CNN** | 从流特征中学习空间层次结构 | 流量型攻击 (DDoS) | | **LSTM** | 保持长期时间依赖关系 | 顺序 / 基于时间的攻击 · 数据窃取 | | **Random Forest** | 可解释、抗过拟合的集成模型 | 基线对比 · 特征重要性分析 | | **CNN-LSTM 混合** | 结合空间与时间特征提取 | 多分类场景 | ## 🛠️ 方法论 ### 数据集预处理流水线 **CICIDS-2017** 数据集涵盖了正常流量以及 DDoS、渗透、僵尸网络和现代攻击向量。预处理过程包括: 1. **数据清洗** — 剔除不相关、缺失、不一致的记录 2. **特征工程** — 统计与领域驱动的属性提取 3. **归一化** — 使用 `StandardScaler` 进行特征缩放 4. **相关性分析** — 移除冗余特征以降低维度 5. **标签编码** — 使用 `LabelEncoder` 处理类别目标 6. **训练/测试集划分** — 80/20 分层划分,`random_state=42` ### 模型架构 | 模型 | 框架 | 核心层 | |---|---|---| | **BERT** (微调) | HuggingFace Transformers + TensorFlow | 预训练嵌入 + 注意力机制 + 分类头 | | **CNN** | TensorFlow / Keras | `Conv2D → MaxPooling2D → Flatten → Dense → Dropout` | | **LSTM (RNN)** | TensorFlow / Keras + gensim Word2Vec | Embedding → LSTM → Dense | | **Random Forest** | scikit-learn | 决策树集成 + `SimpleImputer` | | **CNN-LSTM 混合** | TensorFlow / Keras | `Conv1D(64) → MaxPool → Dropout(0.3) → LSTM(50) → Dense(50) → Softmax` | ## 🖥️ 实验设置 | 组件 | 规格 | |---|---| | GPU | NVIDIA RTX 4060 Laptop (140 W TGP) | | CPU | Intel Core i7-13650HX | | RAM | 16 GB DDR5 @ 5200 MHz | | 存储 | NVMe SSD | | 机器 | ASUS ROG Strix Scar 16 | | 环境 | 每个模型使用独立的 Anaconda 环境 | 所有训练均通过 CUDA 加速:TensorFlow 用于 CNN/混合模型,PyTorch 用于 LSTM,HuggingFace + PyTorch 用于 BERT。 ## 📁 仓库结构 ``` . ├── README.md ← you are here ├── paper/ │ └── Optimized_Deep_Learning_...pdf ← full research paper ├── notebooks/ │ ├── CNN.ipynb ← Conv2D + MaxPool benchmark │ ├── RNN_LSTM.ipynb ← LSTM with Word2Vec embeddings │ ├── BERT_Transformer.ipynb ← BERT fine-tuning pipeline │ ├── Random_Forest.ipynb ← classical ML baseline │ └── CNN_LSTM_Hybrid.ipynb ← hybrid architecture (bonus) ├── documentation/ │ └── project_documentation.docx ← full project write-up ├── presentation/ │ └── IDS_slides.pptx ← project presentation deck └── references/ ← supporting IEEE / IoT papers ``` ## ▶️ 如何复现 ``` # 1. Clone the repo git clone https://github.com/ArmanAdilMangat/.git cd # 2. 创建环境(推荐使用 Anaconda) conda create -n ids python=3.10 conda activate ids # 3. Install dependencies pip install tensorflow scikit-learn pandas numpy matplotlib seaborn pip install transformers gensim nltk torch pip install jupyter # 4. 下载 CICIDS-2017 → 将 dataset.csv 放入 notebook 文件夹 # 5. 启动 Jupyter 并运行任意 notebook jupyter notebook notebooks/ ``` ## 🔭 未来工作 - 使用新兴的真实世界 IoT 攻击模式**扩充数据集** - **Federated learning** 用于去中心化、保护隐私的 IDS 训练 - 面向边缘 / 资源受限设备(ESP32 级别硬件)的**轻量级 IDS 变体** - **可解释 AI (XAI)**,使检测决策对网络管理员具有可解释性 - 通过 **FPGA 加速**实现实时部署,以达到亚毫秒级的推理速度 ## 📑 引用 如果这项工作对您的研究有帮助,请引用: ``` @misc{mangat2025optimizediot, author = {Arman Adil Mangat}, title = {Optimized Deep Learning Intrusion Detection for Enhanced IoT Network Security}, year = {2025}, institution = {University of Management and Technology (UMT), Lahore}, howpublished = {\url{https://github.com/ArmanAdilMangat}} } ``` ## 👤 作者 **Arman Adil Mangat** 人工智能学士 · 拉合尔管理与技术大学 (UMT) 📧 [aadilmangat@gmail.com](mailto:aadilmangat@gmail.com) · 🔗 [GitHub](https://github.com/ArmanAdilMangat) · [LinkedIn](https://linkedin.com/in/arman-adil-mangat-82221a253)
*于巴基斯坦拉合尔构建* 🇵🇰
标签:Apex, BERT, CICIDS-2017, CNN-LSTM混合模型, IoT网络, IP 地址批量处理, NoSQL, NSGA-II特征选择, NSGA-II跳跃基因, Transformer, Vectored Exception Handling, 二元分类与多元分类, 入侵检测系统, 凭据扫描, 安全基准测试, 安全数据湖, 异常检测, 机器学习, 深度学习, 物联网安全, 空间与时间特征提取, 网络安全, 网络流量分析, 逆向工具, 随机森林, 隐私保护