基于深度学习的半监督对抗鲁棒网络入侵检测系统

110 阅读8分钟

基于深度学习的半监督对抗鲁棒网络入侵检测系统

1. 研究背景与问题

  • 背景:

    网络入侵检测系统(NIDS)是识别异常网络流量的关键工具,但现有基于深度学习的方法存在两大瓶颈:

    1. 依赖监督学习:需大量标注数据,但实际场景中未标记数据难以利用。
    2. 对抗攻击脆弱性:深度学习模型易受对抗样本攻击(如FGSM、IDSGAN),导致误判。
  • 研究目标: 提出一种半监督学习框架,有效利用标记和未标记数据,同时增强模型对抗攻击的鲁棒性。

2. 方法创新

整体流程
  1. K-Means聚类与软标记
    • 聚类:对未标记数据执行K-Means聚类,聚类中心数为训练集的1/25(共5,038个),迭代300次。
    • 软标记规则:
      • 若某聚类中某类已标记样本占比超50%且其他类占比≤10%,则将该聚类未标记样本软标记为该类。
      • 正常类需聚类内所有已标记样本均为正常类。
    • 作用:提升未标记数据利用率,并增强对抗鲁棒性。
  2. 决策树构建
    • 基于CART算法,结合标记和软标记数据构建决策树。
    • 叶节点约束:最小样本数为总标记数据的1/50,防止过拟合并分割不平衡数据。
    • 优势:将数据划分为子集,后续训练专用模型,提高分类精度与鲁棒性。
  3. 自动编码器预训练
    • 结构:编码层(96→64→32)、解码层(64→96),嵌入维度32。
    • 训练:使用全部数据(含未标记)训练,学习率0.001,80个epoch。
    • 作用:降维以减少过拟合和对抗攻击敏感性。
  4. 多层感知机(MLP)训练
    • 全局MLP:基于自动编码器的低维特征预训练3层MLP(隐藏层16→8),学习率0.001,200个epoch。
    • 叶节点MLP:每个决策树叶节点训练独立3层MLP,学习率0.0005,200个epoch。
    • 初始化:叶节点MLP参数继承自全局MLP,避免小样本过拟合。
推断机制
  1. 聚类信息修正:若样本属于已知攻击类聚类,排除其正常类概率。
  2. 少数类优先:依次检查U2R、R2L等少数类,若任一MLP预测则采纳。
  3. 最终决策:结合全局MLP和叶节点MLP的输出,优先叶节点模型结果(多数类)或全局模型(少数类)。

2.1整体流程

流程图

屏幕截图 2025-04-07 200218.png

  1. 输入数据K-Means聚类软标记决策树构建
  2. 所有数据自动编码器预训练全局MLP预训练
  3. 决策树叶节点数据叶节点MLP训练最终预测

2.2核心组件详述

K-Means聚类与软标记

目标:利用未标记数据的聚类结构生成伪标签。

步骤

  1. 聚类参数:
    • 聚类数:训练数据的1/25(NSL-KDD中为5,038个簇)。
    • 迭代次数:300次,收敛容差:1e-4。
  2. 软标签分配规则:
    • 条件1:若簇中某类已标记样本占比 >50%。
    • 条件2:其他类样本占比 ≤10%。
    • 例外处理:若簇包含某少数类 >10%的标记样本,则不分配软标签。
  3. 软标签应用:
    • 符合条件的簇中,所有未标记样本被赋予对应类别的软标签。

伪代码

for cluster in clusters:  
    labeled_samples = get_labeled_samples(cluster)  
    majority_class = argmax(class_distribution(labeled_samples))  
    if (ratio(majority_class) > 0.5) and (max(other_classes_ratio) <= 0.1):  
        assign_soft_label(cluster.unlabeled, majority_class)  

2.3决策树构建(CART算法)

目标:分割数据空间,为叶节点训练专用MLP。

参数

  • 最小叶节点样本数:标记+软标记样本总数的1/50。
  • 分割准则:基尼不纯度最小化。

流程

  1. 输入:标记数据 + 软标记数据。
  2. 递归分割,直至叶节点样本数 < 阈值。
  3. 输出:决策树结构,每个叶节点对应一个数据子集。

2.4 自动编码器与MLP训练

自动编码器结构

屏幕截图 2025-04-07 200314.png

  • 编码器:输入层 → 全连接层(96→64) → 嵌入层(32维)。
  • 解码器:嵌入层 → 全连接层(64→96) → 输出层。
  • 训练参数:
    • 学习率:0.001,周期:80,损失函数:MSE。

MLP结构

  • 全局MLP:
    • 输入:32维嵌入特征 → 隐藏层(16→8) → 输出层(5类)。
    • 预训练参数:学习率0.001,周期200。
  • 叶节点MLP:
    • 结构同全局MLP,但仅用对应叶节点数据微调。
    • 训练参数:学习率0.0005,周期200。

2.5 推断机制

步骤

屏幕截图 2025-04-07 200341.png

  1. 聚类检查:

    • 若样本属于已知攻击类簇,置正常类概率为0。
  2. 双模型预测:

    • 全局MLP预测概率:PglobalP_{\text{global}}Pglobal
    • 叶节点MLP预测概率:PleafP_{\text{leaf}}Pleaf
  3. 少数类优先逻辑:

    if "U2R" in [P_global, P_leaf]:  
        final_class = "U2R"  
    elif "R2L" in [P_global, P_leaf]:  
        final_class = "R2L"  
    else:  
        final_class = argmax(P_leaf)  # 默认取叶节点MLP结果  
    

2.6. 对抗鲁棒性设计

2.7 抗FGSM攻击机制

  • 非线性推断:聚类检查引入非决策树/MLP的额外判断层。
  • 局部模型隔离:叶节点MLP仅关注局部数据,对抗扰动难以跨叶节点传播。

2.8 抗IDSGAN攻击机制

  • 功能特征约束:自动编码器降维过滤非功能特征扰动。
  • 软标签数据增强:K-Means生成的伪标签扩展训练集多样性。

2.9. 关键参数表

组件参数
K-Means聚类数5,038
决策树最小叶节点样本数总样本数 / 50
自动编码器嵌入维度32
MLP预训练学习率 / 周期0.001 / 200
叶节点MLP训练学习率 / 周期0.0005 / 200

3. 实验与结果

数据集与评估指标
  • 数据集:NSL-KDD(攻击类型:Normal、DoS、Probe、R2L、U2R)。
    • 训练集125,973样本,测试集22,544样本,U2R和R2L为少数类(训练集分别995、52样本)。
  • 指标:
    • 准确率(Accuracy)宏平均F1(平衡少数类权重)。
    • 类别的精确率(Precision)、召回率(Recall)、F1值。
性能对比
  • 监督学习(100%标记数据):
    • 准确率80%,宏平均F1 0.57,优于RNN、DNN等基线。
    • 关键类表现:Probe(F1=0.81)、R2L(F1=0.27)、U2R(F1=0.07)。
  • 半监督学习(50%标记数据):
    • 准确率77%,宏平均F1 0.56,显著优于现有半监督方法(如Fuzziness-SSL的F1=0.51)。
    • 对少数类检测提升:R2L(F1=0.23)、U2R(F1=0.15)。
消融实验验证
  • 关键组件作用:
    • K-Means软标记:提升R2L和U2R的F1(分别+0.17和+0.08)。
    • 决策树分割:叶节点MLP专注局部数据,提高对抗鲁棒性(对抗准确率+5.24%)。
    • 自动编码器:Probe类F1提升至0.81(对比无编码器的0.66)。
对抗鲁棒性测试
  • 攻击方法:
    1. 黑盒FGSM:扰动输入特征(λ=0.3),生成对抗样本。
    2. IDSGAN:生成符合攻击功能约束的对抗流量(噪声大小27,训练5个epoch)。
  • 结果:
    • FGSM攻击:
      • 监督学习下对抗准确率76.3%,半监督下68.3%,显著高于基线(如Fuzziness-SSL的48%)。
    • IDSGAN攻击:
      • 对DoS攻击的检测率89%,Probe攻击81%,优于决策树单独模型(DoS检测率仅36%)。
    • 鲁棒性来源:
      • 聚类引入非线性推断,抵抗特征扰动。
      • 叶节点MLP专注局部数据,降低全局模型脆弱性。

4. 主要贡献

  1. 半监督框架:首次结合聚类软标记、决策树分割和自动编码器,高效利用未标记数据。
  2. 对抗鲁棒设计:
    • 通过聚类修正和叶节点MLP,抵御FGSM和IDSGAN攻击。
    • 自动编码器降维减少对抗敏感性。
  3. 广泛实验验证:
    • 在NSL-KDD上超越监督和半监督基线,尤其在少数类检测和对抗场景中表现优异。
  4. 开源与可复现性:代码与数据集公开,提供完整实验复现支持。

5. 局限与未来方向

  • 局限:
    • 少数类检测仍不足(如U2R的F1仅0.15)。
    • 未验证大规模流量下的实时性能。
  • 未来方向:
    • 结合少样本学习提升少数类检测。
    • 探索动态对抗训练(如自适应对抗样本生成)。
    • 扩展至更复杂数据集(如CIC-IDS2017)和实际网络环境。

6. 结论

​ 本文提出了一种创新的半监督对抗鲁棒NIDS框架,通过K-Means软标记、决策树分割和自动编码器特征学习,显著提升了模型在标记数据不足场景下的性能,并在对抗攻击下展现出优越鲁棒性。实验表明,该方法在NSL-KDD数据集上的准确率(监督80%、半监督77%)和对抗检测率(FGSM 76.3%、IDSGAN 89%)均优于现有方法,为实际网络安全应用提供了新思路。未来工作将聚焦于少数类优化和实时部署验证。

[tzpranto/NIDS_NSYSS_23](github链接)