基于BiLSTM和注意力机制的入侵检测

2020-11-17 06:54豪,王晨,史
计算机工程与设计 2020年11期
关键词:传输层准确率分类

舒 豪,王 晨,史 崯

(1.武汉邮电科学研究院 烽火科技学院,湖北 武汉 430000; 2.南京烽火软件科技有限公司,江苏 南京 210000)

0 引 言

随着网络技术的发展和新型网络的应用,面对日益复杂的网络环境和网络攻击方式,传统的网络安全技术已难以满足目前人们对于网络安全和信息安全的需求,因此,网络入侵检测成为当前研究的一个热点[1]。

近年来,机器学习应用于网络入侵检测领域的研究已经受到越来越多的关注。与传统入侵检测方法不同的是,它是通过对入侵检测问题重新剖解分析,将其转变为对模式识别和分类问题的研究,采用机器学习算法构建分类器,对网络中的正常行为和异常行为进行分类[2,3],有效地提高了检测率、降低了误报率。文献[4]提出了在RNN(recurrent neural network)中应用LSTM(long short-term momery)结构的方法,并通过实验证明了该方法的有效性。文献[5]提出了在支持向量机算法的基础上,利用蚁群算法优化入侵检测模型的方法,通过蚁群算法确定最优参数,有效地提高了检测率。文献[6]设计了一种神经元映射卷积神经网络,通过将特征数据重构为一个二维的特征矩阵,再由经典的卷积神经网络架构提取出更抽象鲁棒的特征表示,提高了模型的泛化能力。文献[7]提出了一种深度神经网络模型来识别网络数据中的异常,实验结果验证了该方法的有效性,提高了检测率,降低了误报率。文献[8]针对全连接神经网络和递归神经网络在入侵检测中的特点,提出将LSTM和DNN结合的检测模型,以寻求模型在识别准确率和训练所需时间上的一个平衡,通过实验验证了模型的有效性。文献[9]提出了CNN(convolutional neural networks)和双向LSTM相融合的检测方法,该方法分别利用CNN和双向LSTM的特点来获取特征的局部特性和前后关联性,并引入注意力机制,增加了对特征重要性的考虑[10],实验结果表明该方法有较好的检测性能[11,12]。综合来看,机器学习方法的引入,有效提高了检测率,降低了误报率,但仍存在一定的提升空间,少有如文献[9]中的方法,考虑属性前后信息的影响以及对特征的重要性加以关注。

因此,本文提出一种基于BiLSTM和注意力机制的网络入侵检测方法,通过BiLSTM网络充分考虑每个属性前后信息的影响,经DNN进行特征提取后,利用注意力机制提取显著性特征。实验结果验证了本文所提模型的有效性,与其它方法相比,提高了网络入侵检测的准确率。

1 基于BiLSTM和注意力机制的入侵检测方法

为提高网络入侵检测的准确率,本文首先利用数据预处理部分对原始数据进行预处理,使其满足机器学习算法的输入数据格式;然后利用BiLSTM-DNN模型对预处理后的数据进行特征提取,并在模型中引入注意力机制以增加对特征重要性的考虑;最后由Softmax分类器输出分类结果[11,12]。本文方法的原理框架如图1所示。

图1 基于BiLSTM和注意力机制的入侵检测原理框架

1.1 数据预处理

数据预处理主要包含以下3大部分:

(1)数值化。特征数据中有3维特征属性(protocol_type、service、flag)是字符型特征,采用one-hot方法将字符型特征转化为数值型特征。

(2)标准化。数据集中同一条记录的不同特征属性之间,数值上可能存在较大的数值差异,采用Z-score方法对数值型特征进行标准化处理,公式如式(1)所示

(1)

式中:r为标准化前的数值特征,z为标准化后的值,μ为平均值,s为标准差。

(3)归一化。将标准化后的数据根据一定的规则,映射到[0,1]区间,x为z归一化后的值,公式如式(2)所示

(2)

1.2 BiLSTM-DNN模型

BiLSTM-DNN模型由BiLSTM网络和DNN网络两大部分组成,以BiLSTM网络的输出作为DNN网络的输入的方式连接;模型的输入和输出分别用X和P表示,X为经预处理后的数据,P为X经BiLSTM-DNN模型处理后的数据。

1.2.1 BiLSTM网络

长短时记忆网络LSTM[13]是一种解决了长序列远距离传输信息丢失的特殊循环神经网络RNN。LSTM内部结构如图2所示。

图2 LSTM内部结构

LSTM模型由一个细胞状态和3个门控结构(遗忘门、输入门和输出门)组成。遗忘门对上一时刻的细胞状态进行筛选,保留重要信息,遗忘无用信息;输入门对当前时刻的网络输入进行选择性保留,可有效剔除无用信息;输出门对细胞的当前状态选择性输出。输入参数为t-1时刻的细胞状态Ct-1和隐层状态ht-1,以及t时刻的输入序列元素值xt;输出参数为t时刻的细胞状态Ct和隐层状态ht。对应的计算公式如式(3)所示

(3)

式中:Wi、Wf、Wo、Wc分别表示输入门、遗忘门、输出门和细胞状态的权重矩阵;bi、bf、bo、bc分别表示各门控单元以及细胞单元的偏置项;σ表示sigmoid函数;⊙表示参与运算的两个向量对应元素相乘;tanh表示双曲正切激活函数[10]。

BiLSTM模型是由一个前向LSTM和后向LSTM组合而成。BiLSTM模型结构如图3所示。

图3 BiLSTM网络部分展开图

BiLSTM网络的基本结构可以分为4层,分别为输入层、正向传输层、反向传输层和输出层。输入层负责对输入数据进行序列编码,使输入数据符合网络的输入要求;正向传输层负责提取输入序列从前往后的前向特征;反向传输层则负责提取输入序列从后往前的反向特征;输出层负责对正向传输层和反向传输层输出的数据进行整合[10]。因此,BiLSTM模型对于研究特征间的前后关联性具有独特的优势,输出公式如式(4)

(4)

1.2.2 DNN网络

DNN[14]通常也称为多层感知机(multi-layer perceptron,MLP),它由几个相互连接的层组成,每层由一定数量的节点组成,称为神经元。每个神经元都是具有激活功能的基本计算单元。每个神经元的输入是由上一层的输出值加权求和得到,而输出值将作为下一层的输入。DNN中的层可以分为3类:输入层、隐藏层和输出层。神经元的激活函数数学计算公式如式(5)

f(x)=σ(WX+b)

(5)

式中:X为神经元的输入,W为与输入对应的权值矩阵,b为偏置量,σ表示sigmoid激活函数。DNN网络对BiLSTM的输出H进行进一步处理后,即得到BiLSTM-DNN模型输出P,并输入到Attention机制部分中进行重要性计算。

1.3 Attention机制

(6)

式中:Q=K=V=P。利用式(6)对BiLSTM-DNN模型的输出P进行计算,输出结果直接输入到softmax分类器中,进而得到分类结果。

2 实验分析

2.1 实验数据集

本文实验数据采用NSL_KDD数据集[18]。NSL_KDD数据集包含KDDTrain+、KDDTrain+_20Percent、KDDTest+、KDDTest-21这4个子数据集。数据类型可分为5大攻击类型:Normal、DoS、R2L、U2R、Probe,或者二大攻击类型:正常类(normal)和攻击类(attack)。数据集中每条记录包含41个固定特征属性和1个类标识,特征属性中有32个是连续性数据,9个是离散型数据,类标识用于表示记录所属攻击类型。实验选取KDDTrain+_20Percent为训练数据,KDDTest+为测试数据,由于没有验证集,本文从训练数据中随机抽取10%作为验证数据。实验数据的类别、数目及比例见表1、表2。

表1 KDDTrain+_20Percent训练集类别、数量、比例

表2 KDDTest+测试集类别、数量、比例

2.2 评价标准及设置

实验结果采用准确率(Acc)、精确率(P)、召回率(R)和F1值作为评价指标,公式定义如式(7)

(7)

其中,攻击类为正类,正常类为负类。TP表示实际和预测均为攻击类的样本数;FP表示实际为正常类而预测为攻击类的样本数;TN表示实际和预测均为正常类的样本数;FN表示实际为攻击类而预测为正常类的样本数。

由于实验参数众多,为了方便实验和对比分析,实验中的公共参数设置见表3。

表3 实验公共参数配置

2.3 实验结果与分析

为了验证本文模型的有效性,本文在NSL_KDD数据集上分别进行了二分类和五分类实验,并通过对比DNN、LSTM和LSTM-DNN方法,来验证本文所提方法的检测性能。

分析模型在二分类实验上的比较结果见表4。

表4 4种方法的二分类实验结果比较

由表4可以看出,本文提出的方法在二分类问题上,相比于DNN、LSTM和LSTM-DNN方法,具有更高的准确率,达到了79.03%。由于P、R值的矛盾性,单纯的从P、R值不足以判定模型的好坏。而F1值是精确率和召回率的权值都为1时的调和平均,通过对比发现,本文方法的F1值也高于对比方法,达到了0.8250。对比图4发现,利用本文方法得到的AUC值最大,验证了本文所提方法的有效性,并相对于其它对比方法,具有更好的检测效果。

图4 4种方法的ROC曲线

分析模型在五分类实验上的比较结果见表5。

表5 4种方法的五分类实验结果比较

由表5可得,本文方法在五分类结果上,准确率同样高于其它对比方法,达到了73.86%。

3 结束语

本文提出了一种基于BiLSTM和注意力机制的网络入侵检测方法,该方法利用BiLSTM网络充分考虑了每个特征属性前后信息的影响,再由DNN网络对特征进行提取,并引入注意力机制,对特征的重要性进行计算。通过在NSL_KDD数据集上的实验,对比DNN、LSTM和LSTM-DNN方法在二分类和五分类的实验结果,本文提出的方法准确率更高。然而本文方法存在训练时间较长的不足,未来还需进一步研究其它机器学习算法,在提高网络入侵检测率的同时,也能减少模型的训练时间。

猜你喜欢
传输层准确率分类
分类算一算
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
基于Python语言的网络传输层UDP协议攻击性行为研究
2015—2017 年宁夏各天气预报参考产品质量检验分析
ZnO电子传输层在有机无机杂化钙钛矿太阳能电池中的应用
分类讨论求坐标
物联网无线通信传输层动态通道保障机制
高速公路车牌识别标识站准确率验证法
数据分析中的分类讨论