标题 | 基于SGAN的网络入侵异常检测方法研究 |
范文 | 刘海燕 丛菲
摘要:互联网高速发展的今天,网络安全日益引起人们的关注。但是,作为网络安全核心要素的网络入侵异常检测技术,仍然面临着无法有效检测未知攻击的问题。在本文中,我们将半监督模型SGAN用于网络入侵检测,基于nsl-kdd数据集进行对比实验来证明,SGAN的模型相比有监督模型,对含有未知攻击的测试集有更高的检测准确率。 关键词:入侵检测;半监督模型;未知攻击 中图分类号:TP311? ? ? 文献标识码:A 文章编号:1009-3044(2020)32-0073-03 1 引言 目前主流的网络入侵异常检测方法基于有监督模型,在训练和检测过程中存在着不能有效检测未知攻击的问题。半监督或无监督模型是克服以上问题的有效方法。本文提出一种使用半监督生成式对抗网络(SGAN)的入侵异常检测方法,并在nsl-kdd数据集上进行了对比实验。实验表明,该方法能显著提高对含有未知攻击数据集的检测精确度。 2 相关工作 Kwon等[1]综述了深度学习技术在网络入侵异常检测领域的应用情况,并通过实验验证了全连接神经网络模型相比于传统浅层机器学习模型,能显著提高检测性能。尹传龙[2] 利用循环神经网络学习网络连接之间的时序特征,构建了基于全连接循环神经网络的入侵检测系统,验证了该方法的有效性。Di Mattia等[3]对生成式对抗网络在异常检测领域的应用作了综述,但是在网络入侵检测中应用生成式对抗网络的研究很少。Augustus[4]通过使生成式对抗网络的判别器输出类别标签,将其扩展为半监督模型。本文使用Augustus的方法,基于nsl-kdd进行实验验证,提高了在测试集上的检测准确率。 3 基于SGAN的入侵检测模型 标准GAN[5]判别器的输出层只有一个sigmoid单元以输出其输入属于真实数据分布的概率。SGAN判别器使用softmax输出层,输出N+1个类别概率。其中N为输入数据类别数,1类为生成器生成数据。令[xlabel,ylabel]为真实样本,[xfake,yfake]为伪样本,[x,y]为真实样本和伪样本的集合,判别器损失函数为: 为避免模型训练中模式坍塌,使模型能生成多样化的伪样本,我们的检测模型为生成器损失函数增加了Huber損失,并将[δ]设为1,其权重设置为0.0001, 生成器损失函数[Lg]为: 与标准GAN类似,我们同时训练生成器和判别器。训练算法如下: for epoch in range(训练轮次N): for i in range(每轮次迭代次数I) : 取m个随机噪声样本,生成器生成m个生成样本; 取m个真实数据样本; 对生成器参数在m个生成样本上执行梯度下降。 对判别器参数在共2m个生成和真实数据混合样本上执行梯度下降; 4 实验与分析 4.1 数据集 NSL-KDD数据集的前身是KDD CUP 99,涵盖39种攻击,训练集有22种攻击类型,17种攻击只出现在测试集。KDD CUP 99存在过多冗余数据,影响检测模型实际检测效果。NSL-KDD数据集以KDD CUP 99为基础,删除大量重复记录,合理配置了记录数量和类型。目前,NSL-KDD数据集基本取代了KDD CUP 99,成为网络流量入侵检测领域的基准数据集。与KDD CUP 99一样NSL-KDD有39种攻击类型,17种仅在测试集中出现。NSL-KDD数据集包括KDDTrain+、KDDTest+、KDDTest-21。 4.2 实验设置 首先对NSL-KDD数据集进行了预处理,将41个特征中的三个非数值特征使用独热编码转换为数值特征,转换后数据维度为122维。之后使用最大最小规范化方法将所有特征值规范到0至1的范围内。实验中使用KDDTrain+作为训练集,KDDTest+作为测试集,五种攻击样例作为异常样例,进行正常与异常流量的二分类任务。为保证对比实验客观性,MODEL1和SGAN模型均采用学习率为0.0002的Adam优化算法。 为评估SGAN模型对含有未知攻击样例的KDDTest+集检测性能的提升,我们设置对照模型MODEL1,网络结构如图1。该模型输出层只有一个sigmoid单元,除输出层外与SGAN模型判别器网络结构一致。SGAN模型判别器和生成器网络结构如图2、图3,判别器使用softmax输出层,其三个输出层神经单元分别输出样例为正常流量、入侵流量和生成器伪造流量的概率。训练完成后,使用SGAN模型的判别器测试,输出的入侵流量和生成器伪造流量的概率之和大于0.5,则判定为异常流量。 4.3 实验分析 对比实验中,对两个模型在训练集上每训练10个轮次,即在测试集上进行测试,共进行80个轮次。检测准确率结果如表1所示。 SGAN模型检测准确率可达82.17%,MODEL1模型最高达80.13%,证明使用SGAN的模型能有效提高模型在含有未知攻击的测试集上的检测效果。但随着训练轮次的增多,MODEL1模型检测准确率趋于稳定,而SGAN模型达到最高点后开始下降,如图 4所示。 采用有监督学习的方式训练时,模型试图找到正常和异常数据间的最佳的决策曲线以正确分类正常和异常数据,如图 5所示。当新出现的未知异常样例位于决策曲线正常一侧时,有监督模型会将未知异常错误分类为正常。这使有监督模型在含未知攻击的数据集上的检测准确率显著低于不含未知攻击的测试集。SGAN模型通过生成伪样本,使判别器学习区分真实正常样例、真实异常样例与伪样例,从而使判别器寻找真实正常样例、真实异常样例与伪样例之间的决策曲线。测试时,判别器判定为伪样例与真实异常样例的样例都视为异常,使判别器决策曲线如图6所示,从而更好地检测未知攻击样例。但当生成器生成的伪正常样例数据分布接近真实正常样例时,判别器将正常样例判定为异常的概率升高,从而使检测准确率反而下降。 5 总结 本文提出一种基于SGAN的入侵检测模型,利用模型的生成器生成的伪样本辅助训练判别器,以使判别器能更好的检测未知攻击,并通过对比实验分析了该方法。下步工作将针对本文模型生成器生成的伪样本接近真实数据分布时,检测准确率反而下降的现象,继续探索既能利用生成式对抗网络拟合高维复杂数据分布能力,同时又能克服该现象的方法。 参考文献: [1] Kwon D,Kim H,Kim J,et al.A survey of deep learning-based network anomaly detection[J].Cluster Computing,2019,22(1):949-961. [2] 尹传龙.基于深度学习的网络异常检测技术研究[D].战略支援部队信息工程大学,2018. [3] di Mattia F,Galeone P,de Simoni M,et al.A survey on GANs for anomaly detection[EB/OL].2019: arXiv:1906.11632[cs.LG]. https://arxiv.org/abs/1906.11632. [4] Odena A.Semi-supervised learning with generative adversarial networks[EB/OL].2016: arXiv:1606.01583[stat.ML]. https://arxiv.org/abs/1606.01583. 【通联编辑:李雅琪】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。