ArmanAdilMangat/Research-paper
GitHub: ArmanAdilMangat/Research-paper
面向 IoT 网络安全的深度学习入侵检测研究,通过 NSGA-II 特征选择优化 CNN-LSTM 混合架构,在 CICIDS-2017 数据集上系统对比了五种模型的检测性能。
Stars: 0 | Forks: 0
# 面向 IoT 网络安全的优化深度学习入侵检测
[](paper/Optimized_Deep_Learning_Intrusion_Detection_for_Enhanced_IoT_Network_Security.pdf)
[](presentation/IDS_slides.pptx)
[](https://www.unb.ca/cic/datasets/ids-2017.html)
[]()
[]()
## 📄 摘要
本研究针对 **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, 二元分类与多元分类, 入侵检测系统, 凭据扫描, 安全基准测试, 安全数据湖, 异常检测, 机器学习, 深度学习, 物联网安全, 空间与时间特征提取, 网络安全, 网络流量分析, 逆向工具, 随机森林, 隐私保护