基于RFE+SVM的卷积神经网络在入侵检测方面的应用

2021-07-19 23:49张峻豪王怀彬
电脑知识与技术 2021年13期
关键词:入侵检测卷积神经网络

张峻豪 王怀彬

摘要:神经网络在入侵检测方向的使用已经是入侵检测领域的热门发展方向。传统入侵检测方法如机器学习、数据挖掘、统计分析等都具有一定局限性。通过引入基于RFE+SVM降维的卷积神经网络算法,从Python的深度学习库(tensorflow)出发,搭建出一类基于卷积神经网络的入侵检测数据分类模型。通过数据集对比及实验证明,该模型有效且稳定的提高了对异常数据的判别率,并可发现未知的攻击类型。

关键词:入侵检测;RFE+SVM;tensorflow;卷积神经网络;未知攻击

中图分类号:TP393        文献标识码:A

文章编号:1009-3044(2021)13-0191-03

Abstract:The use of neural network in intrusion detection has been a hot development direction in the field of intrusion detection. Traditional intrusion detection methods such as machine learning, data mining, statistical analysis have some limitations. By introducing convolutional neural network algorithm based on RFE + SVM dimension reduction and starting from Python's tensorFlow, a data classification model of Intrusion Detection Based on convolutional neural network is built. Through the comparison of data sets and experiments, it is proved that the model can effectively and stably improve the discrimination rate of abnormal data, and can find unknown attack types.

Key words:intrusion detection; RFE+SVM; tensorFlow; convolutional neural network; unknown attack

入侵檢测的发展历史已经有几十年[1],传统方法的使用一般有以下几种:

①早期的入侵检测系统基于专家经验,通过专家的知识,对已知网络提取特征,建立数据库,通过数据库比对达到入侵检测的目的,这是一种早期比较有效的手段,但工程量大,时间长,且仅凭人为的知识填充,IDS应对攻击类型种类不全,不能应对未知攻击。

②基于统计分析的方法也是一种常见方法,使用高斯模型进行参数估计,从而达到降低假阴性率和假阳性率的目的,其缺点是阈值很难确定。

③基于模式匹配是第一种方法的升级,与现有多个庞大的数据库进行对比,降低误报率,缺点是容易忽略没有规则描述的攻击。

④基于数据挖掘的入侵检测是近年常用方法,通过聚类算法进行划分,以此解决由密度簇引起的边缘错误,但在参数选择上较为困难。

⑤人工智能的兴起带来了基于机器学习的思路,机器学习算法通过分类器进行分类,其优点是可发现未知攻击,但精确度不高。

深度学习的兴起为入侵检测数据分类处理提供了一个新的方向,随着卷积神经网络在语音语义图像识别中的突破性应用,相较于使用其他深度学习算法输入的常规思路,尝试将数据变为图像形式后再使用图像识别领域较为突出的模型训练是一种新颖的想法,结合RFE+SVM算法,能够使模型输入数据更加准确。由于大量可调用函数库在实际应用中效果更好,使用python的开源深度学习库来实现神经网络模型的搭建,其在模型迭代及数据分类可视化应用中操作更加简单,并且容易产生更加友好的结果。综上所述,本文的意义在于提出的方法能够在入侵检测领域提供一个可行性率较高的模型,以供参考。

1 卷积神经网络在入侵检测中的应用

1.1 KDDCup-99数据集的使用

KDDCup-99数据集一直是入侵检测领域的标志性数据集,其内容为美国某实验室将近两个月的训练数据,上百万条网络连接包含在其中;其中测试数据截取了半个月的网络连接。 对以上连接数据集进行处理,形成了一个新的数据集。其中,一条网络数据被定义为段落时间内的TCP数据序列,数据为特定时间段内应对预订协议(如UDP、TCP)从源IP地址到目的IP地址的传递。其中,每个网络连接被标记为正常(normal)或异常(attack),异常类型被细分为4大类共39种攻击类型,其中22种攻击类型出现在训练集中。同时,为了判断模型应对不可预见的攻击的反应,将在测试集中额外加入17类未知攻击。其标识类型如表1所示。

1.2 数据集预处理

1.2.1 符号数据数值化

预处理的第一步将符号型数值转化为字符型数值。在大多数机器学习或者深度学习任务中,特征的连续值和离散值交替出现,当特征为离散值时,无法直接进行分类任务,因为分类器对连续且有序的数据更为友好。One-Hot处理过后,处理属性数据不友好的问题不再困扰分类器,原始数据特征也将得到扩充。

使用独热编码(One-Hot)[2]将离散型数据数值化方法如下:

对于任意类特征,其可能取X种不同的值,此时进行One-Hot处理,其形式将变为X个二元特征。特征之间相互排斥,处于激活状态的特征每次只有一个,因此稀疏的数据分布即为理想的结果。

1.2.2 數据归一化

数据特征的量纲差异过大带来的是神经元输出饱和与神经网络训练收敛时间较长等问题,将其转化为无量纲的纯数值是神经网络训练的必要准备[3]。此时将数据按比例缩放,使其落入一段规定的小区间。归一化后的数据的单位限制被消除,易于多复杂性指标的加权和对比。为了使结果落到[0,1]区间,必须要对原始数据进行操作,即做线性变换,转换函数如①所示。

[X*=X-XminXmax-Xmin]                       ①

上述公式中,[X]为经过独热编码后的原始数据,[Xmax]为当前特征中最大的值,[Xmin]为当前特征中的最小值,[X*]为数据归一化操作后的数据。

1.2.3 符号数据数值化

经过数值化、归一化操作后我们获得了一组被放缩于区间[0,1]的数值型数据,此时数据维度为122维。一方面,若使用传统神经网络的训练方法,较大的数据维数会导致数据训练时间较长。因此本文将数据转化为灰度图输入神经网络进行训练能够加快训练时间,不受其高维度特征影响。首先对122维数据进行降维处理,由于仅需求121维数据,随意删除特征数据会导致实验精度降低,因此本文提出使用多分类RFE+SVM算法对数据进行降维操作,[4]首先使用RFE算法将数据在SVM模型中进行训练,使用SBS方法计算出所有特征得分,同时向下截取N条(将要去除的特征数量),将N条特征删除,由此数据维度被降到121维,之后同等类型数据被转化为11*11的灰度图。[5]RFE+SVM算法流程如下所示:

2 卷积神经网络在入侵检测中的应用

2.1 卷积神经网络的概念

卷积神经网络的兴起一般被认为在20世纪90年代[6],标志性的LeNet-5模型被提出,此时神经网络的大体架构完成,此后神经网络在监督学习的实现中提供了重要力量,此后AlexNet、VGG、GoogleNet等卷积神经网络的问世,在图像及语音语义识别中独占鳌头,促进了各领域的发展。

2.2 卷积神经网络的网络结构

深度前馈神经网络是其特征。每层网络的神经元都是复数的,前一层的输出作为下一层的输入被接收,当前层的输出结果经过计算后被传递给下一层。同层神经元不会互相连接。

本文使用的卷积神经网络由8层结构组成:数据输入层在第一层,其中有两个卷积层(第2层及第4层),紧跟在每个卷积层后的是池化层(第3层及第五层),两层全连接层在池化层之后(第6层及第7层),输出层被放在最后。

输入层为网络的第一层,我们在实验中将数据降维图像化后为灰度图,其维度为11*11,因此输入层的输入维度也为11*11。

卷积层为第二层和第四层,在这两层中对图像进行卷积,其卷积核大小被设定为[5*5][7],同时使用Relu函数作为非线性激活函数。在此过程中,噪声对于原始信号特征的干扰被缩小。

下采样是池化层的主要作用,他们分别紧跟在卷积层之后的第三层和第五层。池化层的最大值法和均值法被用于不同的情况。本文使用的方法为最大池化方法,并将采样核的维度设置为[2*2]。

全连接层放置在池化层之后的第六层和第七层[8]。全连接层的神经元都和池化层产生相对应的特征图的任意神经元相连接,所有层网络的激活函数也是Relu函数。同时本文引入Dropout方法来应对训练样本较少或者过度训练而导致的过拟合发生。

网络输出层放置在最后一层(第八层),该层使用softmax作为分类器,以实现多分类预测效果。

3 实验论证分析

3.1 实验环境

实验软硬件设备如表2、表3所示。

3.2 实验结果分析

本实验选取数据集中10%的训练集(50000条)作为神经网络训练样本,另选取30000条数据作为测试样本。

本实验选用(AC)准确率、(FPR)误报率作为实验效果评判标准。

两者计算公式如②③所示:

[AC=TP+TNTP+TN+FP+FN]                              ②

[FPR=FPFP+TN]                                                 ③

TP为被有效识别的攻击样本;TN为被有效识别的正常样本;FN为被错误识别的攻击样本。FP为被错误识别的正常样本。

本文引入其他作者使用的机器学习模型进行精确度对比[9],其结果如表4所示。

在选取了其他入侵检测方法进行对比后,从表4可以分析出,本文采用的基于RFE+SVM的卷积神经网络方法与OBPNN、MFFS-OBPNN在对含有KDDCUP-99数据集进行检测分析时,可以发现本文使用的方法在训练集的准确率达到了98.94%,分别比其余两种算法高6.14%和5.11%。从测试集来看,本文使用的方法在测试集中的表现虽然较另外两种方法有所提高,基本可以实现准确的判断与分析,但其准确率下降比率较大。通过精确度对比可知,本文提出的RFE+SVM-CNN方法在准确率分析中表现更好。

本文引入其他作者使用的機器学习模型进行误报率对比,其结果如表5所示:

由以上表5可知在相同训练集和测试集的表现情况下,本文所提出的方法误报率更低,定量实验结果更加准确,能够更好地实现检测样本的分类。

4 结束语

本文提出了基于RFE+SVM的降维算法在神经网络上的应用,在经过论文对比后未发现有类似实验方式,在后续实验论证及对比中,可以发现其精确度和误报率与其他传统入侵检测方法对比有所提高。在此同时也暴露了一些缺点:在实际测试中,遇到从未出现过的攻击方式,其准确度下降较多。若应用于现实环境中,可能会有更高幅度的准确率降低。因此,下一步需要完善的是模型应对未知攻击的分类能力,以求达到更优异的检测效果。

参考文献:

[1] 张桥,卜佑军,胡静萍,等.入侵检测技术研究综述[J].网络安全技术与应用,2020(8):22-24.

[2] 赵晨光,周次明,庞彦东,等.基于独热码有限状态机的斐索干涉解调相位补偿方法[J].光子学报,2020,49(5):0506001.

[3] Tachicart R,Bouzoubaa K.Moroccan data-driven spelling normalization using character neural embedding[J].Vietnam Journal of Computer Science,2021,8(1):113-131.

[4] 黄晓娟,张莉.改进的多类支持向量机递归特征消除在癌症多分类中的应用[J].计算机应用,2015,35(10):2798-2802.

[5] Choi H,Yeo D,Kwon S,et al.Gene selection and prediction for cancer classification using support vector machines with a reject option[J].Computational Statistics & Data Analysis,2011,55(5):1897-1908.

[6] Bu S J,Cho S B.A convolutional neural-based learning classifier system for detecting database intrusion via insider attack[J].Information Sciences,2020,512:123-136.

[7] Cui W C,Lu Q,Qureshi A M,et al.An adaptive LeNet-5 model for anomaly detection[J].Information Security Journal:A Global Perspective,2021,30(1):19-29.

[8] Wang X W,Yin S L,Li H,et al.A network intrusion detection method based on deep multi-scale convolutional neural network[J].International Journal of Wireless Information Networks,2020,27(4):503-517.

[9] 陈高升.基于机器学习的网络入侵检测方法研究[D].重庆:重庆邮电大学,2020.

【通联编辑:代影】

猜你喜欢
入侵检测卷积神经网络
基于深度卷积神经网络的物体识别算法