1、第 43卷 第 1期 高 师 理 科 学 刊 Vol.43 No.1 2023年 1月 Journal of Science of Teachers College and University Jan.2023 文章编号:1007-9831(2023)01-0038-04 基于 LSTM-DNN 模型的入侵检测方法 李梦歌,王海珍 (齐齐哈尔大学 计算机与控制工程学院,黑龙江 齐齐哈尔 161006)摘要:针对基于深度神经网络模型的入侵检测方法存在的梯度减弱或消失问题,提出了一种 LSTM(Long-Short Term Memory,长短时记忆)神经网络改进的 DNN(Deep Neura
2、l Networks,深度神经网络)模型该模型主要包括 LSTM 神经网络和 DNN 2 部分,LSTM 神经网络通过记忆或遗忘进行数据流量特征提取,然后将其输入 DNN 进行训练、入侵检测模型中采用优化算法,加快了网络收敛实验表明,与 LSTM 模型相比,LSTM-DNN 模型具有较好的性能,准确率更高,运行时间更短 关键词:长短时记忆神经网络;深度神经网络;入侵检测;优化算法 中图分类号:TP393 文献标识码:A doi:10.3969/j.issn.1007-9831.2023.01.008 Intrusion detection method based on LSTM-DNN mo
3、del LI Mengge,WANG Haizhen(School of Computer and Control Engineering,Qiqihar University,Qiqihar 161006,China)AbstractAbstract:Aiming at the problem that the gradient of intrusion detection method based on deep neural network model weakens or disappears,an improved deep neural networks model based o
4、n long-short term memory neural network is proposedThe model mainly includes LSTM neural network and DNNThe LSTM neural network extracts the characteristics of data traffic through memory or forgetting,and then inputs it into DNN for training intrusion detectionThe optimization algorithm is used in
5、the model to speed up the network convergenceExperiments show that compared with LSTM model,LSTm-DNN model has better performance,higher accuracy and shorter running time Key wordsKey words:long-short term memory neural network;deep neural networks;intrusion detection;optimization algorithm 随着无线传感器网
6、络(Wireless Sensor Network,WSN)的快速发展,应用的领域越来越广泛,需要采集的信息越来越多,数据量也越来越大,同时也面临较大的安全隐患入侵检测技术能够对内部攻击进行实时检测,是解决 WSN 安全问题的关键技术传统的入侵检测技术无法对海量、高维数据流量进行高效分析和检测,深度学习可以有效地解决海量复杂的高维数据分类问题,逐渐被应用到入侵检测领域江泽涛1等提出基于二次决策的深度学习模型,有效地提升了深度神经网络在入侵检测数据上特征学习的效果俞建业2等基于 Apache Spark 框架提出了车联网分布式组合深度学习入侵检测方法,有效地提高了入侵检测准确率林硕3等提出基于深
7、度学习的入侵检测模型,与传统机器学习方法相比,能够提高入侵检测的准确率陈卓4等基于注意力机制的时空图卷积网络,提出一种无人机网络的入侵检测方法,并验证 收稿日期:2022-07-20 基金项目:黑龙江省高等教育教学改革研究项目(SJGY20200770,SJGY20190710);齐齐哈尔大学教育科学研究项目(ZD201802)作者简介:李梦歌(1998-),女,河南孟津人,在读硕士研究生,从事计算机网络与信息安全研究E-mail: 通信作者:王海珍(1976-),女,山东临沂人,副教授,硕士,从事嵌入式技术、密码分析与设计研究E-mail: 第1期 李梦歌,等:基于LSTM-DNN模型的入侵
8、检测方法 39 了它的鲁棒性和适应性Song5等分别使用双向 LSTM 分阶段的学习数据包和网络流的特征,得到比较综合全面的时序特征后进行分类,实现更加准确的网络流量分类效果李发陵6等基于卷积神经网络和加权丢弃 LSTM 的混合深度学习模型,提出入侵检测方法,该方法在分类精度、误报率和平均执行时间方面具有良好的性能 陈解元7提出了一种将卷积神经网络与 LSTM 相结合的深度学习结构,卷积神经网络学习空间特征,LSTM 则可以处理序列数据,学习时间特征,取得了较好的分类结果 李俊8等基于构建的 GRU-RNN 网络模型,提出了基于时序的不平衡学习入侵检测方法,用于检测具有时序特征的攻击行为,具有
9、较好的识别率与收敛性 这些方法采用深度神经网络实现入侵检测,随着网络的加深,会出现梯度减弱或消失问题,影响入侵检测的效果对此,本文提出新的方法,即构建 LSTM 改进的 DNN 模型,分析模型设计过程,并通过实验进行模型评价 1 LSTM-DNN模型设计 本文提出 LSTM 神经网络改进的 DNN 模型,该模型主要包括 LSTM 神经网络和 DNN 2 部分,前者进行数据流量特征提取,后者进行入侵检测 1.1 LSTM神经网络设计 LSTM 神经网络能够学习长期的规律,可以根据上一个输出预测下一个输出值设计的 LSTM 神经网络由 4 层组成(见图 1),从左向右各层神经元数量分别为 512,
10、256,64,10 SigmoidSigmoidSigmoidtanhX X+tanhft it t ot SigmoidSigmoidSigmoidtanhX X+tanhCt1 Ct t1 t xt ft t ot SigmoidSigmoidSigmoidtanhX X+tanhft it t ot SigmoidSigmoidSigmoidtanhX X+tanhft it t ot Ct t+1 t+2 Ct1 Ct+1 Ct+1 Ct+2 图1 LSTM神经网络设计 图中各变量涉及的计算公式为 11111e twttfhxd-=+(1)21211e twttihxd-=+(2)33
11、3313131313e e e e wwtttttwwtttthxdhxdhxdhxd-+-+=+(3)1tttttccfi-=+(4)41411e twttohxd-=+(5)55555555eeeettttw cw cttw cw cddhodd+-+=+(6)()()()11Losslnln1lnln 1niiiiiyyyyn=-+-?(7)循环迭代次数 epochs 设为 10,batch_size 设为 64,Label 标签项采用整数编码,使用交叉熵验证方法进行训练损失函数计算方法见式(7),式中:n为样本总个数;iy为期望的输出值;iy?为神经元真实输出值使用 Adadelta
12、优化算法9,使网络收敛更快 1.2 LSTM神经网络改进的DNN模型设计 DNN 由输入层、隐藏层和输出层组成,层与层之间是全连接的,它能够很好地从少数样本集中学习数据集本质特征,但随着层数的增多,容易产生梯度消失问题,很难分辨出样本数量少的攻击类型,而 LSTM可以解决这个问题因此,基于 LSTM 和 DNN,本文设计改进的模型(见图 2)具有 512 个神经单元的40 高 师 理 科 学 刊 第 43 卷 LSTM 神经网络进行特征提取,将产生tC与th个输出,tC与th取并集作为 DNN 神经网络的输入;64 个神经单元的 DNN 全连接 LSTM 神经网络特征提取后的数据,DNN 训练
13、后的数据放入学习率为 0.25 的激活层激活数据为了解决过拟合问题,该模型增加了随机抽样层,在随机抽样层里随机抽取 20%的数据,将抽取结果1ty+放入具有 10 个神经元的 LSTM 神经网络中进行训练循环迭代次数 epochs 设为 5,batch_size设为 512,Label 标签项采用整数编码,损失函数和优化算法设置与 LSTM 神经网络相同,使用交叉熵验证方法进行训练求出十分类问题的结果2th+,最终分类出所属的攻击类型 SigmoidSigmoidSigmoidtanhX X+tanhCt1 Ct t1 t ft t ot.LeakyReLUdropoutSigmoidSigm
14、oidSigmoidtanhX X+tanht yt+1 yt+1 yt+1 Ct+2 ht+2 512神经元LSTM神经网络层,用于特征提取64神经元DNN层激活函数层 随机取样层10神经元LSTM神经网络层xt 图 2 LSTM-DNN 模型设计 2 实验分析 2.1 实验准备 使用64位Win 10操作系统,四核八线程Intelcorei5-1135G7CPU和16GB DDR4 RAM,安装Anaconda3,采用 Python3.7 编程本实验使用 UNSW-NB15 数据集10,该数据集除了正常网络行为还记录了 9 种网络攻击行为,分别为 Fuzzers,Analysis,Back
15、doors,DoS,Exploits,Generic,Reconnaissance,Shellcode,Worms,包括 49 个特征本实验去除了原始数据 Label 标签项,将 attack_cat 项作为标签项,入侵检测问题转化为十分类问题,共有 48 个特征,测试集 700 001 条,训练集 700 001 条,无需平衡处理原始数据集虽无空缺值,但特征 attack_cat,service,state,proto,dstip,srcip,dsport,sport 是非数字的,无法带入矩阵中计算,需要数值化处理使用 sklearn.preprocessing 包中的 LabelEncod
16、er 函数将非数值类型数据转换为标签数值类型,采用 sklearn.preprocessing 包中的 StandardScaler 函数将整体特征数据均值标准归一化方法,将均值设为 0,方差设为 1 2.2 实验结果与分析 将 LSTM 神经网络模型与 LSTM-DNN 神经网络在 UNSW-NB15 数据集上进行实验,实验结果见表1LSTM 神经网络模型检测准确率为 96.5%,LSTM-DNN 模型的检测准确率为 96.7%,使用 LSTM-DNN 模型比 LSTM 神经网络模型的准确率提高了 0.2%;2 种模型均比文献11中 PCA-LSTM 神经网络模型的准确率高本文在相同的数据集下进行相同的数据预处理步骤,LSTM 神经网络模型运行时间为 10 124.839 s,LSTM-DNN 模型的运行时间为 1 032.914 s,后者运行时间大大减少,接近前者的十分之一 表 1 各算法在数据集上的定量评估 模型 准确率()运行时间/s 损失函数值 LSTM 神经网络模型 96.5 10 124.839 0.149 LSTM-DNN 模型 96.7 1 032.914 0.239