融合WaveNet和BiGRU的网络入侵检测方法 您所在的位置:网站首页 独热编码公式 融合WaveNet和BiGRU的网络入侵检测方法

融合WaveNet和BiGRU的网络入侵检测方法

#融合WaveNet和BiGRU的网络入侵检测方法| 来源: 网络整理| 查看: 265

马泽煊, 李 进, 路艳丽,*, 陈 晨

(1. 空军工程大学防空反导学院, 陕西 西安 710051; 2. 西安卫星测控中心, 陕西 西安 710043)

0 引 言

入侵检测系统(intrusion detection system, IDS)作为一种积极主动的安全防护技术,主要通过对网络进行实时监视来对网络中存在的攻击行为进行有效的感知,以便于安全管理人员及时做出相应的决策,保证网络的稳定运行。但随着网络的飞速发展,黑客的攻击手段也在进行着不断的升级,再加上网络数据呈现指数级提升,一些基于传统的机器学习方法已经不能再适应入侵检测的大环境,入侵检测时间过长,特征提取效果也并不理想。深度学习的出现很好地改变了这一局面。

作为当前热门的研究领域,深度学习技术已经被广泛应用于入侵检测领域,并取得了很好的检测效果。文献[1]对基于深度学习算法的入侵检测系统进行了回顾,对多种神经网络模型进行分析,研究了其进行二分类和多分类的性能,但分类准确性普遍不高。文献[2]针对数据集中少数类别难以检测的问题,依据网络入侵行为的时序特点,提出了一种基于BiLSTM的网络入侵检测方法,该方法对于网络攻击的检测效果好于其他方法,但对于其他攻击类型的处理效果一般。文献[3]将长短时记忆(long short-term memory, LSTM)网络和RNN进行结合,提出基于LSTM-RNNS混合模型的入侵检测方法,模型基于KDD99数据集进行研究,检测效果较好,但数据集说服力不强。文献[4]结合卷积神经网络(convolutional neural networks, CNN)和LSTM对于特征提取的特点,提出基于CNN-LSTM的入侵检测方法,其模型能够取得较好的检测准确率,但未对一般卷积的局限性进行考虑。文献[5]针对网络入侵数据具有时序性的特点,提出改进时序分析方法的入侵检测方法,该方法能有效对入侵检测系统缺乏主动防御能力的缺陷进行弥补,但在预测精度方面需要进一步提高。上述文献进行二分类的准确率普遍较高,但是面对多分类问题,效果却并不理想。为解决多分类准确率较低问题,本文将WaveNet结构首次应用于网络入侵检测领域,并与双向门控循环单元(bi-directional gated recurrent unit, BiGRU)进行结合,从时间序列方面解决入侵检测问题;同时使用最大、平均池化输出并联的融合池化作为本文模型的池化层,更加全面地对数据特征进行提取;最后分析损失函数及优化算法,选取最适合本模型的超参数,提升模型性能。

1 WaveNet和BiGRU1.1 WaveNet

WaveNet是2016年Google DeepMind提出的一种Neural Vocoder架构,模型主体为一个基于空洞因果卷积的概率模型[6],为序列生成模型,能够直接对采样值序列的映射进行学习,因此具有很大的潜力。由于网络入侵有明显的时序性,所以WaveNet同样适用于网络入侵检测领域。

一维卷积层能够缩短输入的序列[7],增强模型学习长时间序列数据的能力[8],但由于普通卷积层可能会在提取当前时刻数据特征的同时提取到未来的数据,从而产生过拟合。所以WaveNet采用因果卷积的方法,使卷积层的感受野只能感受到过去的数据,而感受不到未来的数据,能有效地消除过拟合[9]。同时,WaveNet还对一维卷积层进行了堆叠,采用扩大卷积的方式,使每一层的扩散率得到了加倍。WaveNet中每个一维卷积层都对前一层进行卷积,卷积核越大,层数越多,时域上的感知能力也就越强。基于这一原理,网络中较低的一维卷积层对短期模式进行学习,而较高的一维卷积层对长期模式进行学习,由于扩散率的加倍,即使是在堆叠层数不多的情况下,网络也能够拥有较大的感受野,从而可以有效地对长时间序列数据进行处理,加快采样速率[10]。本文使用了简化的WaveNet来对网络入侵数据进行处理,WaveNet架构如图1所示。

图1 WaveNet架构示意图Fig.1 WaveNet schematic diagram

WaveNet模型能够根据一个序列的前t-1个点对该序列第t个点的结果进行预测,基本公式为

(1)

式中:xt为网络中t时刻对应的点;x1,x2,…,xt-1为t时刻之前的点对应的信息。以上参数随着t值的增大而不断进行更新。

1.2 BiGRU

如图2所示,网络流量数据具有明显的层次结构[11],其中最底层代表了网络流量的字节序列。基于特定网络协议的格式,多个流量字节组合成为一个网络数据包,多个网络数据包进一步组合成为一个网络数据流[12]。研究发现,这些流量字节、网络数据包和网络数据流与自然语言处理领域中的字符、句子和段落极为类似[13]。此外,将网络流量分类为正常或者恶意流量的任务与将段落分类为肯定或者否定的任务也非常相似,而后者便是自然语言处理领域中的一项常见的任务,即情感分析[14]。在当前的研究中,循环神经网络在情感分析领域的应用最多,效果也最好,因此使用RNN类方法对网络入侵进行检测具有特定的优势。

图2 网络流量层次图Fig.2 Hierarchy structure of network traffic

递归神经网络(RNN)是人工神经网络的扩展,主要用于对时间序列数据进行分析从而对远程时域特征进行学习[15]。由于循环神经网络(RNN)在学习过程中存在着梯度消失和梯度爆炸的问题,导致RNN难以对时间间隔较长状态的依赖关系进行建模[16]。为了解决这个问题,研究者们提出了LSTM网络[17]和门控循环单元(gate recurrent unit, GRU)[18]。

GRU神经网络对LSTM神经网络进行了改进,对LSTM的网络结构进行了精简,使GRU不仅能够继承LSTM的时序处理能力,而且降低了整个网络的时间复杂度[19]。GRU的网络结构主体为更新门和重置门,其中,更新门用来决定当前状态对前一状态信息的接收程度,重置门用于决定当前状态对前一状态信息的忽略程度[20]。GRU结构如图3所示。

图3 GRU结构示意图Fig.3 GRU structure diagram

GRU结构对应的公式为

(2)

式中:σ为sigmoid函数;xi为神经网络的输入信息;Wr、Wz、Wh分别对应重置门、更新门以及本神经元隐状态对输入数据所赋权重值;br、bz、bh为对应的偏置;Ur、Uz分别对应重置门、更新门对上一神经元传递隐状态数据所赋权重值;Uh为本神经元输出隐状态对本神经元内隐状态数据ht与上一神经元传递隐状态数据的Hadamard乘积所赋的权重值。以上参数均随着模型的训练而不断进行更新[21]。

由于单向的GRU只能从一个方向读取序列数据,没有充分考虑之后信息的影响,所以本文使用BiGRU代替GRU对网络数据进行处理。

BiGRU由前向GRU与反向GRU结合生成,用于从正向和反向时间序列数据中学习,隐藏层包含着两个具有相同输入并连接至相同输出的单元[22]。其中,一个处理前向时间序列,另一个处理后向时间序列,通过更好地学习特征来增加参与训练的时间序列,从而为较长的时间序列数据提供更高的精度。

本文模型中的两个BiGRU层的排列方式使每次迭代的内核大小加倍。根据模型的设计,第一个BiGRU层以64个单位开始,下一个BiGRU层以128个单位开始。这种选择的原因是为了提升模型的特征提取能力,同时加快模型的训练速度。

2 融合WaveNet和BiGRU的网络入侵检测模型

传统的入侵检测算法,只能对当前时刻的攻击行为进行检测,对于持续时间较长的攻击行为则束手无策,导致在迭代学习的进程中,会出现遗忘现象。

WaveNet与BiGRU对上述问题进行了解决,在时间序列处理方面取得了不错的效果,但对两者进行较为深入的分析,会发现其各自的弊端也相当明显。其中,WaveNet的核心为扩大因果卷积,结构简单,同时具有卷积核共享的特性,内存占用量低,计算速度更快且易于叠加。但由于是单向结构,对于信息的提取不够全面;同时作为CNN的变体,虽然对扩散率进行了加倍,感受野得到了扩张,但仍然受到限制,与LSTM和GRU还是相差不少[23]。BiGRU具有内存,对于长时间序列数据的处理能力极强,但是结构较为复杂[24],计算量大,计算时间长。

将两者进行结合,能够对两者的优缺点进行互补,同时特征提取更为全面,即以较小的时间增长为代价,取得更高的准确率,从而获得更优化的效果。所以,本文采用WaveNet和BiGRU对时序性流量信息进行处理。

首先进行数据独热编码和标准归一化,之后使用WaveNet进行卷积操作,缩短长时间序列,提取网络深层特征;同时进行最大池化和平均池化操作,并将提取到的不同特征进行融合作为池化输出;经过归一化以及重构后传入BiGRU网络进行时间特征的深层提取,完成入侵检测分类;最后选择最适合本模型的超参数,提升检测性能。入侵检测过程共包括预处理、特征提取与训练、测试3个阶段,模型结构如图4所示。

图4 融合WaveNet和BiGRU的模型结构示意图Fig.4 Structure diagram of model integrating WaveNet and BiGRU

2.1 数据预处理

首先,采用one-hot编码将NSL-KDD、UNSW-NB15以及CIC-IDS2017数据集中的字符串型的特征转换成数值型[25]。经过数值化处理之后,NSL-KDD数据集的特征维数增加到122维;UNSW-NB15数据集的特征维数增加到196维;CIC-IDS2017数据集无需转换,仍为78维。最终,经过处理之后的每一条网络数据包分别包含122维、196维和78维特征属性以及一维种类标签。

数值化处理之后,判断有无空值,若不存在空值,就对数据进行标准归一化处理。本文所采用的归一化方法为min-max归一化,公式为

(3)

式中:x为将要归一化的数值;Mmin为该维的最小数值;Mmax为该维的最大数值。

2.2 特征提取与训练阶段

在特征提取阶段,本文模型使用将最大池化和平均池化进行并联得到的融合池化层对深层特征进行提取,该层允许对参数进行基于样本的离散化,以便识别相关特征,从而减少了训练时间并防止了过拟合。同时,使用WaveNet对数据集的高层次特征进行学习,一维卷积池化操作使得模型能够对数据的局部特征进行学习,并在高层网络合并这些局部信息得到高级抽象特征,缩短长时间序列。之后使用双向GRU层对数据集中长时间范围的时间特征进行学习,采用Nadam优化算法对网络进行优化,设置Dropout层缓解过拟合问题,并将这些结合起来传给Softmax分类器对网络中的攻击进行分类。

本阶段具体步骤如下。

步骤 1WaveNet特征处理

将经过预处理的数据传入WaveNet中,扩大卷积阶段流程为

(4)

标准卷积处理流程为

(5)

式中:扩大卷积用符号l表示。对比式(4)和式(5),可以发现,扩大卷积与标准卷积之间的区别是表示扩大因子的符号l,这会导致滤波器在卷积过程中跳过一个或多个点。

为优化扩大卷积的使用,将残差技术应用于模型。残差块输出为

H(x)=f(x,{Wi})+x

(6)

式中:x为扩大卷积的输入;f(x,{Wi})为残差块内部单元的输出。

残差块内部单元为门控激活单元,分别使用tanh和sigmoid作为过滤门和学习门,用作激活函数。门控激活扩大卷积的输出为

z=tanh(wf*x)⊙σ(wg*x)

(7)

式中:wf和wg分别表示tanh和sigmoid内部与x相对应的权重系数。

对残差块进行堆叠,得到的输出为

(8)

步骤 2池化融合与批量标准化处理

融合池化阶段过程为

(9)

式中:h为上层网络传入融合池化层的输入;hmax为最大池化输出;havg为平均池化输出;hfuse为将最大池化与平均池化并联得到的输出。

批量标准化计算过程如下所示。

批处理输入:

B={x1,x2,…,xm}

(10)

计算批处理数据均值:

(11)

计算批处理数据方差:

(12)

规范化:

(13)

尺度变化和偏移:

(14)

步骤 3BiGRU特征处理

BiGRU处理过程如图5所示。

图5 BiGRU处理过程图Fig.5 Processing diagram of BiGRU

相关公式为

(15)

步骤 4重复步骤2与步骤3。

最后,将上述网络模型的输出发送到分类器,用于网络数据种类的划分。

2.3 测试阶段

模型训练完成后,利用训练好的模型对测试集进行分类得到预测类型。为了确保测试结果的可信度,本文使用k折交叉验证方法对模型进行测试。

本文使用softmax函数来计算分类的结果概率,并将其与原始标签进行比较。softmax的计算为

(16)

本文重点对多分类问题进行研究,softmax多分类计算公式为

(17)

3 实验及结果分析3.1 实验设置

为了测试融合WaveNet和BiGRU的网络入侵检测方法的性能,本文设计以下实验。

实验 1模型的性能分析实验。

实验 2不同编码方式对入侵检测方法性能的影响实验。

实验 3不同池化方式对入侵检测方法性能的影响实验。

实验 4性能对比实验。

本实验环境为64位Windows10操作系统的TensorFlow学习框架,计算机配置为AMD Ryzen 9 5900HX with Radeon Graphics 3.30 GHz,32 GB RAM。

经过多轮对比实验,确定模型参数设置如表1所示。

表1 模型参数设置

表1中,categorical_crossentropy损失函数为

(18)

3.2 数据集与实验评价标准

本文提出的模型在3个数据集上进行了评估:NSL-KDD、UNSW-NB15以及CIC-IDS2017数据集。

NSL-KDD数据集对KDD99数据集进行了改进,在KDD99数据集的基础上清除了训练集和测试集中的冗余及重复数据,使训练集和测试集的设置更加合理,能够得到更为准确的检测率[26]。UNSW-NB15数据集发布于2015年,在一定程度上克服了KDD99数据集的局限性,是一种综合性的网络攻击流量数据集,被广泛应用于异常入侵检测领域[27]。CIC-IDS2017数据集来源于2017年7月3日~7日加拿大网络安全研究所对于网络数据的采集[28],包含网络入侵领域中良性以及最新的常见攻击,填补了UNSW-NB15数据集中没有基于网络攻击的空白。

本文主要对上述3个数据集进行多类别攻击预测。在NSL-KDD数据集中,分别为正常流量、拒绝服务攻击、端口攻击、提权攻击、远程用户攻击5种类型。在UNSW-NB15数据集中,分别为正常normal、dos、exploits、generic、conservation、worms、shellcode、analysis、backdoor和fuzzer 10种类型。在CIC-IDS2017数据集中共存在15种类型,将其中异常攻击性质相近的进行合并,比如将数据集中的3种网络攻击合并为网络攻击类型,最终数据集共拥有BENIGN(正常流量)、DoS、portscan、ddos、patator、bot、web attack、infiltration和heartbleed 9种流量类型。

对比实验采用分类准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1-score判断模型分类效果。令TP表示预测正确的样本数,FP表示错误将其他种类识别为本类的样本数,TN表示正确将其他类预测为其他种类的样本数,FN表示错误将本类预测为其他种类的样本数。

Accuracy表示分类器对整个样本判断正确的比重,计算公式如下:

(19)

Precision表示被分类器判定为正例中的正样本的比重,计算公式如下:

(20)

Recall表示被预测为正例的样本数占总的正例样本的比重,计算公式如下:

(21)

F1-score是Precision和Recall加权平均,用于综合Precision和Recall的评分,计算公式如下:

(22)

3.3 实验结果与分析

3.3.1 模型性能分析实验

为验证本文提出的模型对于网络入侵行为的检测效果,本节对融合WaveNet和BiGRU的网络入侵检测方法设置性能分析实验:使用k折交叉验证的方法对本文模型在3个数据集上的多项指标进行测试,得到本文模型在NSL-KDD、UNSW-NB15和CIC-IDS2017数据集上的多分类准确率、F1-score值以及数据集中每种类型的检测精确率随k值变化产生的变化趋势如图6~图10所示。

图6 准确率变化图Fig.6 Change diagram of accuracy

图7 F1-score变化图Fig.7 Change diagram of F1-score

图8 NSL-KDD各种类检出率变化图Fig.8 NSL-KDD variable class detection rate map

图9 UNSW-NB15各种类检出率变化图Fig.9 UNSW-NB15 variable class detection rate map

图10 CIC-IDS2017各种类检出率变化图Fig.10 CIC-IDS2017 variable class detection rate map

由图6和图7可知,经过k值由2~10的检验,NSL-KDD、UNSW-NB15以及CIC-IDS2017数据集的准确率、F1-score值均随着k值的增大而增大。这是由于随着k值的增大,数据集的划分会越来越多,作为训练集的数据也就随着增多。参与训练的数据越多,最终得到的测试准确率等评价指标也就随之得到提升。

NSL-KDD数据集多分类的最佳准确率为k=10时的99.62%,最佳F1分数为k=10时的99.4%;而UNSW-NB15数据集多分类的最佳准确率及最佳F1分数同样在k=10时取得,分别为83.98%和83.80%。同样,CIC-IDS2017数据集多分类的最优效果也在k=10时取得,均为99.86%。可以得出结论,在k=10时,本文模型就已取得较好的多分类效果,而随着折叠次数的增加,每个攻击或正常种类的样本数也将增多,因此模型将能够更好地对其进行分类。

由图8~图10可知,本文提出的模型能够准确地对数据集中的正常及大多数攻击种类进行识别,检出率均大于80%,但对于NSL-KDD数据集中的远程用户攻击以及UNSW-NB15和CIC-IDS2017数据集中的个别攻击种类检出率较低,分析其原因为数据集分布不均,部分攻击种类数据量过少,导致训练不充分,从而检出率较低,之后可通过对数据集进行处理或者使用效果更好的分类器的方法进行解决。

本文模型能够在3个数据集上取得上述实验结果,是由于模型将WaveNet和BiGRU进行结合,能够最大程度上对数据的时间序列特征进行提取。同时,使用最大、平均池化输出并联的融合池化,将提取出的不同特征进行融合作为池化层的输出。相较于单一池化层,能够更加全面的提取特征。最后,使用Nadam优化器以及Categorical_crossentropy损失函数对模型的超参数进行优化,达到模型的最佳检测性能。

3.3.2 不同编码方式对入侵检测方法性能的影响实验

由于深度学习只能对数值型数据进行处理,所以需要将数据集中的字符串型数据转化成数值型数据。目前,常见的数值化方法共有两种,分别为独热编码和标签编码。为验证选用独热编码对数据进行预处理的科学性与优越性,本节设置了不同编码方式对入侵检测性能影响的对比实验。在相同实验条件下,分别对数据集使用不同编码方式进行数值化处理,传入本文模型中,得到的检测准确率如表2所示。

表2 不同编码方式下的准确率

由表2可知,采用独热编码方式对数据集中的字符串型特征进行数值化,检测的准确率要稍高于采用标签编码方式。原因在于,标签编码将特征转化成了连续的数值,即对不连续的特征进行了编号,这就导致特征之间出现了大小关系,也就产生了偏序性,对分类效果产生了一定的影响,而独热编码将离散特征的取值扩展到了欧式空间,使特征之间的距离都保持一致,解决了上述存在的问题,提高了检测的准确率,所以本文使用独热编码方式对数据进行预处理。

3.3.3 不同池化方式对入侵检测方法性能的影响实验

为解决模型提取特征能力不足的问题,本文提出一种同时对数据进行平均池化与最大池化并进行并联的池化融合方法。为验证本文提出的池化融合方法的有效性,本节设置了不同池化方式对入侵检测性能影响的对比实验:模型分别采用平均池化、最大池化、池化融合3种不同的方案,在3种方案情况下,NSL-KDD数据集、UNSW-NB15数据集和CIC-IDS2017数据集的多分类检测准确率如表3所示。

表3 不同池化方式下的准确率

由表3可知,与单独进行平均池化或最大池化的方案相比,采用池化融合的方法能够更高地检测准确率。原因在于,平均池化能够对包含全局意义的特征进行提取,而最大池化提取到的特征带有一定的局部意义的特征,使用这两种方式提取到的特征具有很大的区别。通过采用池化融合的方法将两种不同的特征进行结合,互相进行补充,就能够更好地对网络攻击数据的本质进行反映,从而得到更高的识别准确率。本实验证明了本文所设计的池化融合方法能够在很大程度上对模型提取特征的能力进行提升。

3.3.4 性能对比实验

为进一步验证融合WaveNet和BiGRU的网络入侵检测方法的综合性能,设置性能对比实验。

在相同实验条件下,对决策树[29]、随机森林[30]、K均值聚类算法等常用的机器学习方法,以及近期提出的神经网络改进算法GRU-RNN[31]和CNN-BiLSTM[32]根据其论文描述及参数设置进行模型复现,并分别应用到3个数据集上进行实验,其性能表现如表4~表6所示。

表4 NSL-KDD多分类比较

表5 UNSW-NB15多分类比较

表6 CIC-IDS2017多分类比较

由表4~表6可知,本文所提出的模型几乎在所有指标上都能够取得更好的性能,包括准确率、精确率、召回率以及综合评价指标。其原因在于,与随机森林、决策树等机器学习方法相比,本文模型使用深度神经网络对数据集进行学习。由于神经网络具有很强的非线性拟合能力,可对任意复杂的非线性关系进行映射,所以本模型的特征提取能力更强,识别准确率更高;与GRU_RNN和CNN-BiLSTM相比,本文模型采用WaveNet与池化融合的方法进行特征提取,提取到的特征信息更全面,且WaveNet克服了一般卷积操作的局限性,对当前时刻数据特征进行提取时不会受到未来数据的影响,从而可信度更高,多分类效果更好。

在上述比较中,与本文模型的性能最为接近的模型为CNN-BiLSTM以及GRU_RNN模型,均为LSTM或者GRU网络的改进型,说明该类型算法在网络入侵检测领域具有较好的应用前景,有进行深入研究的价值。

4 结 论

为解决一般入侵检测算法特征提取效果不好以及多分类准确率不高的问题,本文提出了一种融合WaveNet和BiGRU的网络入侵检测方法。该方法将WaveNet和BiGRU进行了结合,同时对池化层进行了改进。最后通过在数据集上进行的性能分析实验、编码方式影响实验、池化方式影响实验以及对比实验证明了模型在处理大规模高维网络数据时具有较强的特征提取能力、较高的检测准确率以及较低的误报率,为IDS提供了有希望的前瞻性实时应用。但是,本模型并没有很好地解决数据集中数据不平衡的问题,对于数据集中数量较少的一些攻击种类不能准确地进行检出。下一步将重点针对这一问题,在数据集的处理方式以及分类器的搭建上进行研究,寻求解决问题的方法。

猜你喜欢 池化准确率卷积 基于高斯函数的池化算法计算机应用(2022年9期)2022-09-25卷积神经网络中的自适应加权池化软件导刊(2022年3期)2022-03-25基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析健康之家(2021年19期)2021-05-23不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨医学食疗与健康(2021年27期)2021-05-132015—2017 年宁夏各天气预报参考产品质量检验分析农业科技与信息(2021年2期)2021-03-27颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察健康体检与管理(2021年10期)2021-01-03卷积神经网络的分析与设计电子制作(2019年13期)2020-01-14从滤波器理解卷积电子制作(2019年11期)2019-07-04基于卷积神经网络和池化算法的表情识别研究计算机技术与发展(2019年1期)2019-01-21

系统工程与电子技术2022年8期

系统工程与电子技术的其它文章双插值拟合的共形电磁矢量传感器阵列解相干基于Agent的体系过程A-GERT网络“刺激-反应”学习模型基于数据融合的分布式综合孔径微波辐射高分辨率成像算法太阳射电频谱爆发识别的元学习方法侧扫声纳检测沉船目标的轻量化DETR-YOLO法基于关键点的遥感图像舰船目标检测


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有