APP下载

基于Faster R-CNN深度学习的网络入侵检测模型

2021-03-09田桂丰单志龙廖祝华王煜林

南京理工大学学报 2021年1期
关键词:特征提取检出率卷积

田桂丰,单志龙,廖祝华,王煜林

(1.广州理工学院 计算机科学与工程学院,广东 广州 510540;2.华南师范大学 计算机学院,广东 广州 510631;3.湖南科技大学 计算机学院,湖南 湘潭 411103)

伴随着互联网用户数量快速增长,多样化及个性化互联网服务应运而生,在用户享受便利的互联网服务时,互联网安全问题也逐渐引起广泛关注[1]。特别是在金融、社交和电商类软件或网站的使用中,网络攻击及数据侵入窃取问题层出不穷,网络安全问题成为网络服务大力发展亟需解决的关键问题。网络入侵检测能够有效发现网络中的隐藏攻击,并分辨出攻击类型,从而为网络安全决策提供有力保障。在网络安全防御中一般是将主动防御和被动防御相结合,网络入侵检测技术作为一种主动防御,可以有效检测出各种网络攻击,从而为网络安全防御提供准确对象,特别是结合深度学习算法后,极大地提高了入侵检测算法的准确性。

近年来,关于网络入侵检测技术的研究较多,费宏慧等[2]采用分布式计算用于大数据量的网络入侵检测,改善了大规模数据网络入侵检测的效率,提高了大规模数据的网络入侵检测实时性能,但检出率并不高。姜滨提出[3]采用特征选择法用于网络入侵检测,通过深度挖掘网络各种攻击特征,以提高网络入侵检出率和降低虚报警率,但检测时间也耗费较多。陈红松等[4]采用循环神经网络方法用于无线网络的网络入侵检测,通过多次训练有效提高了网络共攻击检出准确度,但也带来了较大的虚警报率。因此要获得更优的网络入侵检测性能,还需要不断优化入侵检测算法,本文将快速区域卷积神经网络(Faster region-convolutional neural network,Faster R-CNN)算法应用于网络入侵检测,以便能够获得较好的网络入侵检出率,并且提高检测效率。

1 Faster R-CNN结构与CNN算法

Faster R-CNN最早用于图像数据的分类与回归,后来广泛用于复杂数据的分类与识别[5],其工作主要流程如图1所示。

在特征提取和候选区域生成中,分别采用了卷积神经网络(Convolutional neural network,CNN)和区域候选网络(Region proposal network,RPN)。通过CNN的卷积运算,提取图像特征并生成若干个以矩形框为划分框的多个候选区域[6]。

在基本神经网络的基础上进行卷积和池化操作,将图像样本进行处理后获得特征图,通过特征图训练,减少了原始图像样本训练规模,提高了训练效率,在输出多类别情况下,需要经过分类器处理。深度卷积神经网络流程如图2所示。

设样本集X=(x1,x2,…,xn),Mj个样本特征图通过第l层的卷积运算

(1)

式中:klj和bl,j分别表示l层特征图j赋予的权重及偏置,*为卷积运算,其中f(·)的表达式为

(2)

卷积操作对象为n个样本的m个特征。设卷积核尺寸为h×w,池化方法有2种,分别是

(3)

(4)

可以看出,式(3)为均值池化,式(4)为最大值池化,本文选择式(3)进行池化操作。

令M=n/(h×w),样本X=(x1,x2,…,xn)卷积池化后重新得到的样本[7]为

X=(x1,x2,…,xM)

(5)

然后根据卷积池化后的样本按照式(6)进行转换运算

(6)

构建卷积神经网络的全连接层后选择分类器预测样本类别。设第k个节点的训练输出和实际标签分别为yk和dk,则误差项δk为

δk=(dk-yk)yk(1-yk)

(7)

假设第l和l+1层分别有L和M个节点,则第l层节点j的误差为

(8)

式中:hj为输出,Wjk为神经元j到l+1层神经元k的权重。权重更新为

(9)

式中:η为学习率。

偏置Δbk(n)的更新方式[8]为

(10)

式中:α为偏置更新步长,一般α=1。

调整后的权重为

wjk(n+1)=wjk(n)+Δwjk(n)

(11)

调整后的阈值为

bk(n+1)=bk(n)+Δbk(n)

(12)

所有节点的误差E为

(13)

当E满足设定的阈值,迭代停止,获得稳定的深度卷积神经网络模型。

2 基于Faster R-CNN的网络入侵检测方法

2.1 基于CNN的网络数据的特征提取

在对网络数据进行分类之前,需要了解网络数据的常见攻击类型及攻击数学特征,以便能够准确检测网络数据。网络攻击类型主要构成见图3所示。

图3 网络常见攻击分类

根据网络常见攻击分类,结合每一种攻击分类包含的攻击类型,一般攻击类型有22种,结合攻击类型特点,对每一种类型进行属性定义,通过时间、流量及内容属性生成每一种攻击类型的特征。

通过网络监测软件抓取数据包之后,通过数值化归一化处理,获得待检测数据特征,根据网络入侵检测要求,对数据特征进行维度划分,根据D1*D1=D,将总维度D划分为D1*D1的二维特征,这是为了更接近平面图像的二维坐标定义[9]。在CNN运算,更多的是用于平面二维图像的特征提取,为了使网络入侵数据更加适用于R-CNN特征提取,将其仿照成二维图像分布,生成数字矩阵模式。设定卷积核为2*2,再采用sigmoid函数作为转换函数进行CNN运算。

2.2 基于R-CNN的RPN层数学描述

典型的RPN网络分析如图4所示。

图4 RPN网络分析

在RPN层主要是生成候选区域,通过多个基准矩形框来组成候选区域,其中候选区域和矩形框a的属性如表1所示。

表1 候选区域和矩形框属性

根据候选区域与矩形框的坐标对比,对每一个多尺寸矩形框设置4个参数tx、ty、tw和th,根据参数,可以获得候选区域与矩形框的关系表达式[10]

x=watx+xa

(14)

y=haty+ya

(15)

w=waexp(tw)

(16)

h=haexp(th)

(17)

2.3 分类回归网络

根据图1的Faster R-CNN模型结构,分类回归网络(Classification regression network,CRN)的输入分别来自于网络入侵数据的特征提取结果和RPN的候选区域。在对候选区域生成的尺寸多样化,但是在分类回归时,二维维度需要对称,因此需要对多样化的矩形框尺寸进行处理[11],一般采用空间金字塔池化方法来解决该问题。

输入特征图和经过空间金字塔池化后的数据样本,在CRN中经过训练获得网络入侵攻击类型各类别的分数以及tx、ty、tw和th4个参数,最后采用Softmax分类器对分数进行处理得到候选区域相对于各种攻击类型的置信度[12],对置信度降序排序,从而获得该网络入侵数据的检测结果。

2.4 基于Faster R-CNN的网络入侵检测流程

采用卷积神经网络对抓取的网络数据进行特征提取,然后在RPN层采用不同的矩形基准框生成候选区域,最后采用CRN对特征提取数据和候选区域数据采用空间金字塔池化和Softmax分类,其主要流程如图5所示。

图5 Faster R-CNN网络入侵检测

3 实例仿真

为了验证Faster R-CNN网络入侵检测效果,进行实例仿真。为了验证本文算法对不同数据样本的适用度,直接用了现有的数据集。选择了国内外常用的网络安全检测数据集[13],具体的仿真数据如表2所示。

表2 仿真数据集

差异化设置CNN特征提取的卷积核尺寸,RPN层的矩形框数目,充分验证基于Faster R-CNN对网络入侵检测性能的影响,最后比较本文算法和常用的网络入侵检测算法在4种数据集的性能差异。

3.1 不同卷积核尺寸CNN的网络入侵检测性能

为了充分验证不同卷积核尺寸下CNN特征提取对网络入侵检测的性能,采用Matlab仿真得到的结果如表3和4。

从表3可以看出,随着卷积核尺寸的增加,4种不同的网络样本的网络攻击检出率均在下降,当卷积核为4*4时,数据集3的检出率最低仅为0.833 7,这是因为卷积核尺寸过大,在进行特征提取时粒度过大,过滤了网络流量数据的部分有效特征,在网络流量数据特征不完整的情况下,造成在CRN分类时误差过大。而且随着卷积核增大,网络检测误报率也增加大,所以为了保持较高的网络攻击检出率和降低误报率,卷积核最好选择2*2。综合而言,在本文的CNN和RPN卷积运算中,采用2*2尺寸。

表3 不同卷积核尺寸的检测性能

表4 不同卷积核尺寸的收敛时间

从表4可知,暂不考虑卷积核差异,4种不同数据集的检测时间性能差异较大,耗时最久的数据集1最长检测时间需要46.233 s,而检测速度最快的数据集4仅需2.074 s。这是因为4种数据集的样本量差异较大的缘故。在同一种数据集中,对比不同卷积核尺寸,检测时间相差并不大,这是因为在Fast R-CNN中采用了RPN,即使CNN特征提取较多,但采用了RPN候选区域后,弱化了因为特征多而造成的检测慢问题,所以卷积核尺寸变化对检测时间的影响并不大。

3.2 不同矩形框数目的检测性能

为了验证RPN中不同矩形框数对网络入侵检测性能的影响,差异化设置基准矩形框数目,验证4种不同数据集的检测性能。

如图6所示,4种网络数据样本均收敛到了稳定的网络攻击检出率,但不同数据样本收敛时需要的基准矩形框数不同,且检出率性能不会随着矩形框数的增加而不断提升。达到稳定检出率时,数据集1需要16个矩形框,而数据集4仅需要12个完成收敛。

图6 不同矩形框数目的网络入侵检出率

在图7中,在数据集达到稳定检出率之前,检测时间随着矩形框数目增加而逐渐攀升,但是当检出率达到稳定值后继续增加矩形框数目,除了数据集4之外,其他3种数据集的检出时间快速增加,这是因为矩形框数目增加,所需要计算的修正参数增多。因此,RPN训练时选择合适的矩形框数目对检测时间性能很重要。

图7 不同矩形框数目的网络入侵检测时间

3.3 不同算法的检测性能

为了验证常用网络入侵检测算法的网络攻击检出性能,分别采用多核SVM[14]、BP神经网络[15]、卷积神经网络[16]和Faster R-CNN算法对数据集1分别进行性能仿真。本文采用CNN卷积核2*2,RPN矩形框数目为16,结果如图8所示。

图8 4种算法的检测性能

如图8所示,卷积神经网络和本文算法的检出性能最优,两者训练稳定时的网络攻击检出率均达到了95%以上,但本文算法的检测时间性能远优于卷积神经网络,本文算法在46 s左右达到收敛,而卷积神经网络的检测时间在60 s以上。

4 结语

采用Faster R-CNN算法用于网络入侵检测,在CNN和RPN训练时选择合适的卷积核尺寸,RPN中选择合适数目的基准矩形框,可以获得较好的网络攻击检出性能。后续研究将进一步优化网络样本特征提取方法,提高网络攻击检测效率。

猜你喜欢

特征提取检出率卷积
QCT与DXA对绝经后妇女骨质疏松症检出率的对比
安宁市老年人高血压检出率及其影响因素
基于3D-Winograd的快速卷积算法设计及FPGA实现
长程动态心电图对心律失常的检出率分析
卷积神经网络的分析与设计
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
从滤波器理解卷积
微动目标雷达特征提取、成像与识别研究进展