APP下载

基于改进的稀疏去噪自编码器的入侵检测

2019-07-31郭旭东李小敏敬如雪高玉琢

计算机应用 2019年3期
关键词:入侵检测

郭旭东 李小敏 敬如雪 高玉琢

摘 要:针对传统浅层的入侵检测方法无法有效解决高维网络入侵数据的问题,提出了一种基于堆叠稀疏去噪自编码器(SSDA)网络的入侵检测方法。首先,利用堆叠稀疏去噪自编码器网络SSDA对入侵数据进行降维操作;然后,将高度抽象后的低维数据作为输入,利用softmax分类器进行入侵检测;最后,又在SSDA方法的基础之上提出了一种改进模型(ISSDA),即在传统稀疏去噪自编码器的基础上增加新的约束条件,以此来提高深度网络对原始入侵数据的解码能力以及模型的入侵检测性能。实验结果证明,ISSDA方法与SSDA方法相比,对4种类型的攻击的检测准确率提高了将近5%,也有效地降低了误报率。

关键词:自编码网络;稀疏去噪;入侵检测;特征降维;softmax

中图分类号: TP393

文献标志码:A

文章编号:1001-9081(2019)03-0769-05

Abstract: In order to solve the problem that traditional intrusion detection methods can not effectively solve instrusion data in high-dimensional networks, an intrusion detection method based on Stacked Sparse Denosing Autoencoder (SSDA) network was proposed. Firstly, a stacked sparse denoising autoencoderSSDA was used to perform dimensionality reduction on the intrusion data. Then, the highly abstracted low-dimensional data was used as input data of softmax classifier to realize intrusion detection. Finally, in order to improve original intrusion data decoding ability of the network and intrusion detection ability of the model, an Improved model based on SSDA (ISSDA) was proposed, with new constraints added to the autoencoder. The experimental results show that compared with SSDA, ISSAD's detection accuracy of four types of attacks was improved by about 5%, and the false positive rate of ISSAD was also effectively reduced.

Key words: autoencoder network;sparse denoising;intrusion detection;feature reduction;softmax

0 引言

自2015年起,深度学习逐步应用于网络空间安全(Cyberspace Security)的研究,引起了学术界的广泛关注。深度学习应用于网络空间安全,主要在恶意代码检测和入侵检测两个领域[1-8]。传统的机器学习方法,依赖于特征工程,无法避免人工提取特征带来的错误。深度学习由于其特殊的层级结构可以自主识别攻击特征,提高了检测效率,降低了误报率。Deng等[9]将深度学习模型分为:生成模型(Generative Model)、识别模型(Discriminative Model)和混合模型(Hybrid Model)。生成模型是通过学习数据的高阶相关性来生成新的数据,包括循环神经网络(Recurrent Neural Network, RNN)、深度信念网络(Deep Belief Net, DBN)和自编码器(AutoEncoder, AE)等,其中DBN和AE是主要的特征提取方法。自编码网络是Hinton在2006年提出的,该方法已经成为大数据和人工智能的一个热潮。2014年,李春林博士等[5]将自编码网络模型应用到入侵检测领域,实现对网络特征的提取,通过softmax分类器对特征数据进行分类,验证了该方法的有效性。 文献[6]先采用AE进行降维,然后采用DBN进行分类。Niyaz等[7]首先使用1-to-n encoding方法进行特征编码得到121维特征,然后采用稀疏自编码进行无监督的降维,最后通过softmax回归来训练分类器。高妮等[8]提出了一种基于自编码网络的支持向量机(Support Vector Machine, SVM)入侵检测模型,该模型采用多层无监督的限制玻尔兹曼机建立高维空间和低维空间的双向映射的自编码网络结构,然后用基于反向传播网络的自编网络进行权值微调,最后用SVM算法进行入侵识别。

传统的自编码网络通过最小化重构误差来逼近真实数据,仅仅考虑了输入和输出的整体近似性,没有考虑输入和输出的局部近似性,降低了解码数据的准确性。受文献[10]提出融合梯度差信息的稀疏去噪自编码网络(Sparse Denoising AutoEncoder, Sparse DAE)用于异常行为检测的启发,本文通过改进传统的自编码网络,强调解码阶段的局部相似性来提高自编码网络对入侵数据的解码准确性,从而提高入侵识别的性能。

1 稀疏去噪自编码网络

自编码器可以看作是由两个部分组成:一个由函数f(x)表示的编码器和一個生成重构的解码器g(x)。如图1所示的自编码网络架构,包含一个可见层、一个隐含层和一个输出层。从可见层到隐含层的转换是f(x)表示的编码过程(encoder),从隐含层到输出层的转换是g(x)表示的解码过程(decoder)。自编码经过训练后只是简单地尝试将输入复制到输出,保留原始数据的信息,并不能确保获得有用的特征表示。编码和解码过程可由以下式子表示:

实际应用中,为了减小权重的幅度,防止模型过拟合,损失函数一般要加入惩罚项,如式(6)加入系数正则项后的损失函数:

为了不让自编码器去尝试逼近一个没有什么特别用处的恒等函数,通常需要向自编码器强加一些约束,让它只能够近似地复制训练数据相似的输入。这些约束强制模型考虑输入数据的哪些部分需要被优先复制,因此它往往能学习到数据的有用特征表示。自编码神经网络的隐藏神经元的数量较大(可能比输入数据的维度还多)时,施加一些限制条件(如稀疏限制),那么自编码网络即使在隐藏神经元较多的情况下仍然可以发现输入数据中的一些有趣的结构。自编码的稀疏性要求是受生物医学的启发,在生物神经网络中,大量部分神经在同一时刻都是处于抑制状态,只有少量神经网络才被激发。假设自编码网络中激活函数为sigmoid函数,那么当神经元的输出接近于1的时候是激活状态,而输出接近于0时是抑制状态。如果激活函数是tanh函数,那么当神经元的输出为-1时是被抑制的。如式(7)表示隐藏神经元j的平均活跃度(在训练集上取平均):

为了使得自编码器可以学到一个有用的结果,除了像稀疏自编码器一样给代价函数添加额外的惩罚项,还可以通过改变重构误差项来达到目的。Vincent等[11]在稀疏自编码的基础上提出了降噪自编码,去噪自编码器(Denoising AutoEncoder, DAE)是通过引入一个损坏过程,得到受损数据作为输入,并训练来预测原始未被损坏数据作为输出的自编码器。DAE的训练过程如图2所示。从训练样本中采集一个训练样本x,经获得编码器的输入,h为编码后的结果,r为解码后结果,即x的重构。去噪自编码器的损失函数仍是对原始输入x与输出r的重构误差L(x,r)。

2 基于堆叠稀疏去噪自编码器的入侵检测

堆叠稀疏去噪自编码器(Stacked Sparse Denoising Autoencoder, SSDA)是由多个稀疏去噪自编码堆叠组合而成,前一层的隐藏层输出作为下一层的输入。Hinton等[12]提出了一种新的贪婪逐层非监督算法来初始化深度学习网络,Vincent等[11]使用此算法来初始化基于降噪自编码器的堆叠去噪自编码器(Stacked Denoising Autoencoder, SDA)。SDA初始化方法的有效性在多个数据集上得到了验证[13]。本文采用逐层贪婪算法进行无监督预训练,然后在网络的最后一层添加softmax分类器,使得整个网络成为具有分层特征提取和数据分类的多重感知器。对构建的具有分类功能的神经网络,采用基于梯度下降的算法进行有监督的微调,最小化预测误差,不断调整整个网络的参数。

2.1 入侵检测模型设计

基于堆叠稀疏去噪自编码器的入侵检测模型的架构如图3所示,包含3个阶段:数据预处理、基于堆叠稀疏去噪自编码器的特征提取和基于softmax分类器的入侵识别。

数据处理阶段:包含两个步骤,分别是采用属性映射的方法进行数据集的符号数值化、数据的最小最大规范化处理。详见4.1和4.2节内容。

基于堆叠稀疏去噪自编码器的特征提取阶段:文献[8]详细讨论了网络深度、隐藏层节点数、输出层节点数等对入侵检测性能的影响。本文采用该文提出的5层深度结构,即输入层节点数为122,第一隐藏层为110,之后的层数依次为80、50、25和5。

基于softmax的入侵识别:softmax分类器的原理及实现本文不作详细阐述。基于softmax的入侵识别模型,是将特征提取模型提取的5维高度抽象数据作为输入,进行分类检测,从而实现入侵识别。

2.2 检测模型的训练

在堆叠稀疏去噪自编码器的最后一层加入softmax分类器,组合成一个具有分层特征提取和分类识别的多重感知器。特征提取模块采用逐层无监督训练,softmax分类器利用特征提取模块的最后一隐藏层的输出和原始数据标签作为输入进行有监督的训练。最终将逐层训练和有监督训练得到的参数作为整个深度网络的初始参数,然后对整个网络采用有监督的方式进行微调。这个逐层贪婪过程被证明比随机初始化权值更能产生一个较好的局部极值,在某些任务上达到了较好的泛化性能。

基于堆叠稀疏去噪自编码器的入侵检测模型的训练算法如下:

输入:经过高维映射和归一化的122维数据x,加入一定噪声比例ρ的数据。

输出:网络最优参数值θ1、θ2、θ3、θ4、θ5和θ6。

步骤1 基于堆叠稀疏去噪自编码器的特征提取模型,网络结构为122-110-80-50-25-5。将训练数据作为输入,利用图2 表示的训练过程采用基于梯度下降的优化方法,最小化式(10)进行训练,得到第一层的网络参数θ1,最后利用原始数据x和参数θ1计算第一隐藏层输出h1。

步骤2 将步骤1得到的输出h1加入一定噪声比例ρ后得到的数据作为第二层的输入,然后同样训练方法进行训练,得到第二层的网络参数θ2,并利用h1和θ2计算第二隐藏层输出h2。

步骤3 重复步骤1步骤2,逐层训练得到权值参数θ1、θ2、θ3、θ4和θ5。然后利用h5和原始数据标签作为softmax分类器的输入,对分类器进行有监督的训练从而得到参数θ6。

步骤4 将上述步骤得到的权值参数θ1~θ6作为整个网络的初始参数,即预训练此深度网络,并将原始未添加噪声的训练数据作为输入,计算预测值与目标的损失函數,利用各种优化方法计算最小值附近的参数,作为整个网络的最优参数。

3 基于改进的堆叠稀疏去噪自编码器网络入侵检测(Improved Stacked Sparse Denoising Autoencoder, ISSDA)基于ISSDA的入侵检测基于改进堆叠稀疏去噪自编码器网络入侵检测基于ISSDA的网络入侵检测

网络攻击行为往往伴随着多个紧密联系的入侵特征信息,如本文采用的KDD '99[14]数据集中41项特征属性,前9项属性包含了一些连接的基本属性,10~22为内容特征,23~31为基于时间的网络流量统计特征,最后10项为基于主机的网络流量统计特征。基于稀疏DAE自编码网络的对入侵特征进行抽取时,没有充分考虑到属性特征间特有的关系。本文提出一种改进的稀疏DAE改进的堆叠稀疏去噪自编码器(Improved Stacked Sparse Denoising Autoencoder, ISSDA)网络,将反映属性特征关系的信息项作为惩罚项加入到损失函数中提高自编码网络的解码性能。设D=Ax为原始数据x的特征关系矩阵,D′=Ar为输出数据r的特征关系矩阵,A本质为表达线性操作的矩阵,所以

为特征关系信息项,此时的代价函数由式(10)变为:

如图4所示,本文提出的基于改进的堆叠稀疏去噪自编码模型较原来的堆叠稀疏去噪自编码模型不同之处在于,堆叠稀疏去噪自编码网络的第一层代价函数为式(12),其余几层的代价函数仍为式(10)。其预训练训练方式仍采用无监督的逐层贪婪训练和有监督的整体网络微调。

4 实验分析

4.1 实验数据

本文采用KDD '99数据集作为模型原始数据,KDD '99数据集是目前入侵检测领域比较权威的测试数据集,它是由麻省理工学院林肯(Lincon)实验室模拟美国空军局域网环境而建立的网络流量测试数据集。本文采用的10%的KDD '99数据集包含494021个实例训练数据和311029个测试数据。主要包括四种类型的攻击:拒绝服务攻击(Denial of Service, DoS)、远程到本地攻击(Remote to Local, R2L)、未经授权且试图获取超级用户个root权限访问(User to Root, U2R)以及端口监视或扫描(Probe)。数据集的每条数据有42项属性记录,其中前41个为属性特征,最后一个为类标签属性。41个属性特征中包含38个数字属性特征和3个符号型数据特征。

为了验证本文提出的改进方法的有效性,随机选择三组数据样本集,如表1。

4.2 数据预处理

本文采用高维映射方法进行符号数值化处理。符号型属性特征protocol_type含有3种类型:tcp、udp和icmp,将其分别映射成[1,0,0],[0,1,0]和[0,0,1]。符号型属性特征service有70种符号取值,flag有11种符号取值,可以通过建立符号值与其相应数值的映射关系从而实现数值化。照此方式进行数值化,将原本的41维特征数据变换为122维,增加特征的可识别性。

为了消除各属性之间的量纲影响,还需作归一化处理。本文采用最大最小化规范对训练数据和测试数据进行归一化处理,即将数据归一化到[0,1]范围。公式如下:

4.3 实验结果分析

为验证本文提出的改进模型的有效性,为此设计了以下实验:

实验1 模型改进前后的性能对比分析。

实验2 分析改进模型较原始模型对入侵检测性能的影响,以及和其他模型的对比。

4.3.1 模型的性能比较

改进的稀疏去噪自编码器模型是通过加入新的约束项来提高网络的解码性能。在入侵检测的应用中,本文加入属性特性信息约束项,提高原始入侵数据与重构数据的局部近似性,从而尽可能得到更加有效的高层特征抽象表示。基于改进的堆叠稀疏去砸自编码器的特征提取模型,是将改进后的稀疏去噪自编码器作为堆叠模型的第一层,来得到更加有效首次约简特征。第一层隐藏层的表达能力决定了上层的特征抽取能力。神经元节点数的增多会提高网络的非线性逼近能力,但也会降低网络的泛化能力[15]。文献[8]讨论了第一层隐藏层节点数对入侵识别性能的影响,本文采用该论文提出的第一层最优节点数来分析比较网络改进前后的解码效果。如图5为改进后的稀疏DAE与稀疏DAE损失值达到收敛后的对比分析。

如表2所示,表中对比分析了基于ISSDA的入侵检测模型和基于SSDA入侵检测模型的入侵识别性能。

由图5和表2可以看出,改进的稀疏去噪自编码器在算法达到收敛时损失值低于稀疏去噪自编码器。由三组数据的分类准确率(Accuracy,AC)和检测率(Detection Rate,DR)可以看出,基于改进的稀疏去噪自编码器的检测模型(ISSDA)相对于基于稀疏去噪自编码器的检测模型(SSDA)在不同数据集上整体的检测性能都有所提高,这也证明了改进方法的有效性。

4.3.2 與其他模型比较

文献[16]已经验证了基于约简后的特征子集的分类器整体性能高于基于所有特征集的分类器。所以本文的实验分析只对基于特征降维算法的入侵检测模型作了分析比较,如表3所示,本文设置实验在数据集S1上分析比较了不同分类模型对于不同攻击类别的检测率DR和误报率(False Alarm Rate, FAR)。实验结果表示本文提出的基于ISSDA的改进模型的分类性能优于基于SSDA的模型,对4种类型的攻击的检测准确率整体提升了将近5%,误报率也明显降低。与AN5-SVM-5模型[8]相比,在R2L、U2L和Probe攻击类型上性能较优于该模型,而在Normal和DoS攻击类别上基本持平。

基于特征降维算法的入侵检测方法在准确率和误报率上有所提升和下降,但是在考虑模型的检测率的同时,也必须要考虑模型的训练时间和测试时间。所以,本文进行了不同模型的训练时间和测试时间的对比分析实验。

如图6所示,其中训练时间是特征降维模块的训练时间,ISSDA方法相对SSDA方法额外增加了属性特征信息的计算环节和约束,所以ISSDA方法的三组数据集的训练时间均高于SSDA方法。与其他两种检测方法相比,ISSDA方法与AN5-SVM-5方法的训练时间没有特别显著的差异,但是却要低于KPCA-GA-SVM方法。

图7所示的是不同分类方法在测试数据集上进行攻击检测的消耗时间的对比。从图中可以看出,ISSDA方法检测时间高于SSDA方法和AN5-SVM-5方法,低于KCPA-GA-SVM方法。

综上,虽然ISSDA训练时间和测试时间有所上升,但是相对于改进方法带来的检测准确率的提升和误报率的下降,模型的整体性能还是有着不可忽视的提升。

5 结语

本文首先介绍了基于堆叠稀疏去噪自编码网络的入侵检测模型的原理及模型的设计实现。其次,又针对利用传统的自编码器进行高维网络攻击数据的降维操作,并不能有效学习到网络攻击数据属性特征间的关系信息的问题,提出了一种改进方法,即在传统的稀疏去噪自编码网络的基础上,通过加入新的约束项,尽可能提高网络的局部近似性的学习能力,提高网络的解码能力,从而提高模型的入侵检测性能。实验结果证明加入特征信息约束项后的自编码器相对于原始自编码提高了整个模型的入侵检测性能,同时也提供了一种研究思路,即如何能提高高维网络入侵数据的降维准确性。最后,本文提出的检测方法属于监督学习的范畴,而实际中出现的新型未知攻击,在没有其标记数据的情况下,本文提出的检测方法不具有检测该攻击的能力,所以这也正是今后进一步的研究方向之一。

参考文献 (References)

[1] PASCANU R, STOKES J W, SANOSSIAN H, et al. Malware classification with recurrent networks [C]// Proceedings of the 2015 IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE, 2015: 1916-1920.

[2] WANG X, YIU S M. A multi-task learning model for malware classification with useful file access pattern from API call sequence [EB/OL]. [2018-07-04]. https://arxiv.org/pdf/1610.05945.

[3] RHODE M, BURNAP P, JONES K. Early-stage malware prediction using recurrent neural networks [EB/OL]. [2018-07-04]. https://arxiv.org/pdf/1708.03513.

[4] YUAN Z, LU Y Q, WANG Z, et al. Droid-Sec: deep learning in android malware detection [J]. ACM SIGCOMM Computer Communication Review, 2014, 44(4): 371-372.

[5] 李春林,黄月江,王宏,等. 一种基于深度学习的网络入侵检测方法[J].信息安全与通信保密,2014(10):68-71.(LI C L, HUANG Y J, WANG H, et al. Detection of network intrusion based on deep learning [J]. Information Security and Communications Privacy, 2014(10): 68-71.)

[6] LI Y, MA R, JIAO R. A hybrid malicious code detection method based on deep learning [J]. International Journal of Software Engineering and Its Applications, 2015, 9(5): 205-216.

[7] JAVAID A, NIYAZ Q, SUN W, et al. A deep learning approach for network intrusion detection system [C]// Proceedings of the 9th EAI International Conference on Bio-inspired Information and Communications Technologies. New York: BICT. 2016: 21-26.

[8] 高妮,高岭,贺毅岳,等. 基于自编码网络特征降维的輕量级入侵检测模型[J].电子学报,2017,45(3):730-739.(GAO N, GAO L, HE Y Y, et al. A lightweight intrusion detection model based on autoencoder network with feature reduction [J]. Acta Electronica Sinica, 2017,45(3):730-739.)

[9] DENG L, YU D. Deep learning: methods and applications [J]. Foundations and Trends in Signal Processing, 2014, 7(3/4): 197-387.

[10] 袁静,章毓晋.融合梯度信息的稀疏去噪自编码网络在异常行为检测中的应用[J].自动化学报,2017,43(4):604-610.(YUAN J, ZHANG Y J. Application of sparse denoising auto encoder network with gradient difference information for abnormal action detection[J]. Acta Automatica Sinica, 2017, 43(3): 604-610.)

[11] DENG L, YU D. Deep learning: methods and applications [J]. Foundations and Trends in Signal Processing, 2014, 7(3/4): 197-387.【和9一樣?

[11] VINCENT P, LAROCHELLE H, BENGIO Y, et al. Extracting and composing robust features with denoising autoencoders [C]// Proceedings of the 25th International Conference on Machine Learning. New York:ACM, 2008: 1096-1103.

[12] HINTON G,OSINDERO S,TEH Y W. A fast learning algorithm for deep belief nets [J]. Neural Computation, 2006,18(7): 1527-1554.

[13] BENGIO Y, LAMBLIN P, POPOVICI D, et al. Greedy layer-wise training of deep networks [C]// Proceedings of the 19th International Conference on Neural Information Processing Systems. Cambridge, MA: MIT Press, 2006: 153-160.

[14] University of California. KDD Cup 99[DB/OL]. [2018-07-18]. http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html.

[15] LAROCHELLE H, BENGIO Y, LOURADOUR J, et al. Exploring strategies for training deep neural networks [J]. Journal of Machine Learning Research, 2009, 10(6): 1-40.

[16] KUANG F,XU W,ZHANG S. A novel hybrid KPCA and SVM with GA model for intrusion detection [J]. Applied Soft Computing, 2014, 18(4): 178-184.

猜你喜欢

入侵检测
多Agent的创新网络入侵检测方法仿真研究
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
基于关联规则的计算机入侵检测方法
无线传感器网络发展历史及安全需求及技术挑战
无线传感器网络入侵检测系统综述
人工神经网络的改进及其在入侵检测中的应用
基于Φ—OTDR的分布式入侵检测系统的应用综述
一种基于数据融合的新的入侵检测框架