APP下载

基于VDCNN和LSTM混合模型的入侵检测算法

2022-03-23赵建新张宏映李亚军

火力与指挥控制 2022年2期
关键词:准确率卷积关联

王 竹,赵建新,张宏映,李亚军,冷 丹

(北方自动控制技术研究所,太原 030006)

0 引言

由于云计算、大数据等新兴网络技术的应用,计算机网络环境变得愈发复杂,这也造成了攻击手段迭代速度变快这一现象的出现,维护网络安全变得更加重要也更加困难。如何在大量的网络流量数据中快速识别出入侵数据是面临的主要问题。入侵检测系统(intrusion detection system,IDS)能够对终端进行有效的主动防护,一直受到广泛的关注。IDS 通过获取网络流量特征对接收到的网络流量包分类,判断是否为异常流量,进一步判断是否受到入侵。具体步骤分为网络流量获取、特征提取、识别模块进行识别,针对识别结果作出响应。IDS 核心技术就在于识别模块根据接收的网络流量特征对流量包进行分类检验。

近年来,深度学习技术的快速发展,许多专家尝试利用深度学习技术改进入侵检测技术并取得一定的效果。常卫东等在2007 年就验证了神经网络在入侵检测系统中的可行性,但引入的网络模型为浅层网络,识别准确率有限。刘月峰等在2018年发表引入多尺度卷积模型,将CNN 模型方法应用到网络入侵检测中,模型对特征提取进行改进对特征表征能力更强改善了识别的准确率。Lirim Ashiku 等在2021 年发表论文利用DNN 网络进行入侵检测训练,在CNN 网络基础上进行改进,加深了网络深度,提高了识别准确率。通过观察提取到的数据特征可以发现,许多特征之间是有关联关系的。但上述模型均未考虑特征之间的关联关系对分类识别产生的影响,模型仍有进一步的改进空间。YIN 等在2016 提出了利用RNN 构建IDS 检测模型进行识别,考虑到了时序关系进行特征提取,但针对高维特征RNN 相较于CNN 特征提取能力存在明显不足,使模型运行效果较差。高忠石等在2019 利用主成分分析法进行降维,并用改进RNN模型进行训练,但对高维数据的训练效果较CNN 网络仍有不足。

针对上述模型存在的问题,提出一种VDCNN网络和LSTM 网络的融合模型。模型可以从原始数据中提取更高维度的特征,并对特征间的关联关系进行提取。通过实验验证,模型能达到更加良好的分类效果。

1 相关理论

1.1 卷积神经网络

卷积神经网络是一种包含卷积计算且具有深度结构的前馈神经网络,其本质是一种能够在训练过程中学习和抽象数据特征的人工神经网络模型。卷积神经网络具有按阶层结构对输入信息进行平移不变分类的能力。从深度学习的理论被提出后,卷积神经网络的表征学习能力被广泛关注,在生物特征识别,自然语言处理上得到了广泛的应用。卷积神经网络主要包括如下几个计算过程:卷积、池化、全连接与识别运算。基本的模型结构如图1 所示。

图1 卷积神经网络结构

其中,每个卷积层与相邻的采样层构成一个卷积组,进行数据特征提取,然后将提取到的特征传入到若干全连接层中进行分类。卷积神经网络利用池化操作和共享权值的方法减少网络参数,提高网络效率,完成对特征的提取,最终完成分类任务。

1.2 长短时记忆网络

卷积神经网络虽然能够很好地获取输入信息特征,在计算过程中可以发现卷积网络神经元之间是相互独立没有循环关系的,但是,网络流量数据特征间是存在一定联系的。为了能够反映这种特征间的前后关联,以提高识别的准确率,在通过卷积网络提取特征之后,可以增加一层LSTM 网络。

长短时记忆网络是在传统的循环神经网络(recurrent neural network,RNN)的基础上进行改进,加入了时序的概念得来的。LSTM 网络中每一个时间时刻会执行1 次循环计算。在每次执行运算时,网络结构中的节点会结合当前的输入和上一时间节点的状态进行计算,这样的计算过程使之前时间段所保留的历史信息能够被后面的节点使用,进而获取到特征之间的关联关系。LSTM 的模型单元在RNN 模型单元的基础上增加记忆单元和输出门、输入门、遗忘门。通过门电路来控制多路输入到本单元数据的通断,使输入数据变成之前的输出数据与输入数据的混合,达到保留训练历史数据,并从中提取特征间关联关系的目的。

2 系统结构及流程

2.1 模型结构

本文所提出模型整体框架如下页图2 所示。

图2 模型整体框图

模型整体流程包括:数据预处理、基础模型训练、特征融合、分类识别4 个部分。

2.2 数据集选用与预处理

由于入侵检测需要实际的网络流量数据做检测,而且数据集的好坏会明显的影响。通过对比,选用了CES-CIC-IDS2018 数据集作为模型的训练集对模型进行训练和检测。

该入侵检测数据由加拿大通信安全机构提供,包含了更多新型攻击手段用于对模型的检测训练。所提供的模拟网络流量包含7 类攻击场景在7 天的固定时间运行产生真实流量数据。数据集以pcap文件和csv 文件的方式提供。这里利用csv 文件进行人工智能相关分析,利用CICFlowMeter-V3 工具提取获得流量的83 个统计特征。经过统计包含有14 类攻击流量标签和一类正常标签,具体标签名称和占比如表1 所示。

表1 数据标签及占比

由于文件数据集过大,这里要对数据进行预处理,分为:数据清洗、数据集平衡、特征筛选、数据归一化和分割等步骤。通过分析数据发现数据集具有10 个全0 特征全部删掉,剩下68 个特征进行进一步处理。由于数据报文已经被人为标注出标签,而且数据集模拟是由一段时间正常运行,然后持续进行攻击,再正常运行的模式进行模拟,所以,同类标签相对集中,先对数据依据各标签进行分离。分离后的每一类标签下的数据均为同类网络报文,且分布相对均匀,再用分层抽样的方式对每一类进行等量抽样获取需要处理的基础数据集。在抽样结束后,检查数据发现存在一部分特征为空值或无穷值的数据,经过检验这类数据只占数据集极小一部分,且均为正常数据。这部分数据在进行归一化处理时会产生异常,将这部分数据剔除对剩下的数据进行进一步处理。

先对port,协议类别等数字大小无数量意义的特征进行自然序号编码,这样可以减少取值域,便于对数据进行归一化。归一化处理就是将每一维特征的值映射到[0,1]之间。基本原理可表示为:

其中,'是归一化之后的特征值,是归一化之前特征值,和分别表示当前维度特征的最小值和最大值。

将处理后的数据进行随机排序,数据集的分割比例为7∶3,分别用于模型的训练和测试。

2.3 VDCNN 网络

2.3.1 VDCNN 网络模型

相较于应用在图像处理等领域的神经网络结构,纯文本数据分类的模型深度较浅,较浅层的网络特征提取能力较差。受启发于VDCNN 在自然语言处理上的良好表现,尝试将VDCNN 引入到入侵检测模型中,对真实网络流量数据进行特征提取,达到更准确地分类。

传统神经网络结构中会出现随着深度增大造成难以确定卷积核大小的问题。VDCNN 的结构可以有效解决这一问题。VDCNN 由VGG 以及ResNets(残差神经网络)模型演化过来,在运行深度网络模型时,内存的占用情况有明显地改善。VDCNN 在设置时定义两条规则:

1)若卷积之后输出的向量不变,则卷积核数目和特征图像的大小与上一层相同;

2)若卷积之后输出向量减半,则卷积核数目和特征图像的大小是上一层的两倍。

这样能够保证网络的复杂程度,同时通过对层数和池化层的设计,模型的卷积块之间由池化层连接,两次池化操作间卷积块的卷积层数可以人为设置,提高卷积网络的深度。

该模型为了进行特征降维、尽可能对内存占用进行优化,同时避免模型训练过拟合,每一个卷积组后进行平均值池化处理。本文在模型每层进行池化操作时的下采样因子设置为2,同时把输出向量进行减半处理。模型中每个卷积块的卷积核数目和特征图像的大小会增加,为了剔除冗余特征,在模型末尾的卷积块之后进行k-max 下采样策略,对采样区选取个局部最优值,保证生成的特征向量维度不变。

2.3.2 VDCNN 模型中的Shortcut

在实际的模型实践中观察到这样一种现象,随着层数的增加,系统精度会快速下滑,而且,应用随机失活等消除过拟合现象的改进方法模型性能没有明显改善。这里参考了Resnet 的处理方式,增加了Shortcut 的结构。由图3 中结构可以看出,每个卷积块之间的输出变为原始输入和其对应映射的叠加,即()()。

图3 ResNets 基本结构

其中,()是输出这种设计使网络本身不需要全连接层(FC 层)和Dropout 层即可完成训练。这有利于实现更深的网络结构,能明显降低模型训练误差和测试误差。

2.4 LSTM 网络对入侵数据的特征间关联关系进行提取

模型基于网络流量数据序列特征,改变LSTM中每个门的参数,对输出结果进行调整,从中提取特征间关联关系。单个神经元结构如图4 所示,其中,c表示记忆单元状态;i表示输入门,用于控制记忆单元更新的信息量,即当前时刻网络的状态有多少信息需要保存到内部状态中;f表示遗忘门,用于控制前一时刻记忆单元c有多少被保存到时刻记忆单元cO表示输出门,用于控制c输出多少到下一隐藏状态hh为在-1 时刻向下输出的“隐层”状态。

图4 LSTM 神经元图结构

LSTM 的具体计算过程为:

其中,W 表示参数矩阵,(·)表示sigmoid()函数,ifo分别为LSTM 网络的输入门、遗忘门、输出门。c为记忆单元的状态,h为网络的隐藏状态,x为在时刻输入序列的元素。从结构可以看出,由于每个神经元的权重更新是前一时刻的结果和当前时刻的特征混合经过激活函数进行激活产生的。这个过程中,历史数据被保存了下来。通过训练,模型能自发地学习到各个门最佳的权值,,和偏置项,单元在时间维度上能主动地调节记忆时常。LSTM 可以较好地联系上下文特征,使对数据特征识别更准确。

2.5 VDCNN 与LSTM 在特定维度上进行拼接组成混合模型

VDCNN 网络仅对数据在每一特征上的进行特征表征,并没有关注特征之间的关联关系。网络入侵数据的特征大多与流量行为有关,在访问次数,访问持续时间等特征间是存在一定的关联关系的,获取这种关联关系有利于提高对数据进行分类识别的准确率。所以,引入LSTM 模型与VDCNN 进行混合构成混合网络。由前文LSTM 网络可以很好地保存模型训练的历史信息,保留特征之间的关联关系。设计将两类网络模型所提取的特征进行融合,形成嵌套式的复合网络结构对数据特征进行提取后再分类。

通过分别建立两类模型,利用keras 提供的融合层(merge)对两类特征在第一维度上进行拼接,形成新的特征向量用于模型分类。这样组层的模型为嵌套式模型,模型可分类,基础模型层和融合层两大层结构。在基础模型层左边为VDCNN 模型,右边为LSTM 模型,在数据预处理后需要根据模型本身特定的结构设置编码层传入训练,所以,模型为多输入单输出模型。融合层进行融合需要数据满足在除了拼接维度上其他维度的对齐。所以,在基础模型层的最后增加FC 层进行数据维度的对齐,进行数据形式的转换,再传入merge 层进行拼接。利用这种结构能够既通过深度网络对数据的边缘特征进行有效提取,又能兼顾特征间关联关系,从而有效提高模型识别的准确率。

3 实验及结果分析

3.1 实验环境和模型设置

本实验在Windows10 系统下进行,利用Nvidia RTX2060 6 G 的GPU 辅助计算,系统内存为DDR4,16 G。本文模型的神经网络搭建使用Keras 框架,使用python 编程实现。

本实验损失函数为categorical_crossentropy,优化器设置为RMSProp。该方法设置了一个衰减系数,使每回合按照一定比例进行衰减,参数更新规则如下所示:

其中,代表的是迭代次数,梯度平方的向量用表示,每个元素为对应参数的梯度平方,设置可调参数为0.9,两个矩阵或向量对应位置的元素相乘用⊙表示。diag()是根据向量生成对角矩阵函数,Σ是一极小整数,I 是单位阵。

为减少学习周期的同时能使模型快速收敛,选择使用ReLU 作为卷积层和全连接层的激活函数,具体公式如下:

3.2 评价标准

为了评价混合模型对入侵数据识别的质量,在实验中采用精确率、对准率和错误率作为度量标准对模型进行检验。

精确率是指正确识别的数据与总数据之比。精确度是分类性能评价的主要度量指标。公式如下:其中,为正确预测正样本,为未正确预测负样本,为未正确预测正样本,为未正确预测负样本:

以模型的精确率为主要对比指标,同时结合模型的对准率和错误率进行辅助分析判断模型的运行效果。

3.3 不同深度VDCNN 模型结果比较

目前,许多神经网络采用的反向传播算法,梯度会在反传过程中逐层衰减,随着网络层数的加深,传播的内容会衰减到非常小甚至消失,导致训练困难。VDCNN 利用Shortcut 结构解决了这一问题,这里设置了不同深度的VDCNN 模型,其运行的分类效果如表2 所示。

表2 不同深度VDCNN 模型运行效果对比

从表2 中可以看出本模型随着深度的增加,准确率得到了有效提高。这表明本文引入的Shortcut的模型结构能够可以处理随着网络深度增加而导致梯度消减的问题,从而提高数据集识别的精确率。

3.4 其他模型与VDCNN和LSTM混合模型结果比较

本文以精确度作为主要的评价指标与其他模型方法进行比较。模型运行结果与传统分类算法、LSTM 模型、VDCNN 模型的分类结果进行比对。模型训练均使用CES-CIC-IDS2018 数据集。具体的实验结果对比如表3 所示。

表3 不同模型运行效果对比

对实验结果分析可以得出,本文提出的VDCNN 与LSTM混合模型的识别准确率为96.74%。与一般机器学习算法相比,神经网络的引入可以有效地提高模型的识别准确率,模型识别的准确率能提升2%~4%。

由于VDCNN 是基于残差神经网络实现的深层网络,因此,训练效果明显优于一般卷积神经网络,能够获取到更多特征信息,同时利用LSTM 对模型的历史信息进行了有效保留,使数据特征之间关联关系反映到提取的特征中。本模型将两类提取出的特征进行拼接,进行数据分类,使得模型运算时兼顾了两种模型的特点。结果显示该模型与LSTM 模型相比模型准确率提升约为3%,对VDCNN 网络模型相比性能提升了约为1%,说明数据间关联关系对模型的分类识别有一定影响。

通过实验结果可以看出,该模型在处理入侵检测信息识别问题有一定优势。本文所构建的网络结构组成的混合神经网络模型,由于其兼顾了数据的本身特征和特征间的关联关系,实现了多维度的特征标识,识别性能明显强于单一模型的识别性能。同时利用结构上的优化,利用残差网络的短接结构有效避免了数据过拟合的问题。相较现有的利用神经网络处理入侵检测问题的方法有一定改善。

4 结论

为了解决传统入侵检测算法对高维复杂数据集特征解析不完善的问题,提出了一种由VDCNN与LSTM 构成的混合模型。该模型通过VDCNN 的深层网络结构对数据边缘特征进行提取,同时利用LSTM 提取数据在时序上的关联特征,将两类特征拼接形成新的时空特征进行分类检测,从而对具有复杂特征的网络数据进行准确地识别。

从实验分析中可以看出,通过在CES-CICIDS2018 数据集上训练并测试本模型,对异常数据的识别准确率达到96.74%,与已有模型对比,本文模型表现出了更好的性能,说明模型能够更准确地识别各类新型网络攻击手段,对进一步改进入侵检测技术有一定参考价值。下一步工作主要是优化模型结构,通过人为标定或者在此基础上增加无添加学习的方式,对未知类别的网络攻击进行记录,并据此更新模型,提升模型的自主学习能力,使模型具备自主更新功能。

猜你喜欢

准确率卷积关联
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
“一带一路”递进,关联民生更紧
奇趣搭配