APP下载

基于深度学习的改进贝叶斯网络入侵检测算法

2019-06-24孙惠丽陈维华刘东朝

软件工程 2019年4期
关键词:深度学习

孙惠丽 陈维华 刘东朝

摘  要:针对传统的朴素贝叶斯网络入侵检测技术存在训练数据集中属性冗余的问题,以及没有考虑到网络环境的变化导致贝叶斯网络结构改变的问题,提出一种结合深度学习和滑动窗口改进贝叶斯网络入侵检测方法。利用深度学习提取特征属性,降低数据集维数;采用滑动窗口技术实时更新贝叶斯网络参数,并利用特征属性的互信息计算各属性之间的相对欧氏距离,根据相对欧氏距离的大小及时更新贝叶斯网络,以提高检测率。实验结果表明,改进后的贝叶斯网络能够提高运算效率和检测率。

关键词:朴素贝叶斯;属性冗余;深度学习;滑动窗口;相对欧氏距离

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

Abstract:In view of the problem of training data set attribute redundancy and the lack of considering the changes in the network environment of the traditional Naive Bayesian network intrusion detection technology,this paper proposes an improved Bayesian network intrusion detection method,combining deep learning and sliding window.In this method,deep learning is utilized to extract feature attribute,reducing dimension data sets;the sliding window technology updates Bayesian network parameters,calculating the relative Euclidean distance between the various properties;the Bayesian network is updated according to the size of the relative Euclidean distance in order to improve the detection rate.The experimental results show that the improved Bayesian network can improve the operation efficiency and detection rate.

Keywords:Naive Bayesian Model;attribute redundant;deep learning;sliding window;relative Euclidean distance

1   引言(Introduction)

隨着互联网的兴起和各种智能终端设备的普及,网络数据流量与日俱增,网络安全问题也是层出不穷,如何提高网络的安全性能,增强对网络流量的监控和异常网络流量的鉴别成了人们亟待解决的问题之一。目前存在的一些入侵检测技术能够精准地识别出入侵攻击,但当检测数据集发生变化或出现大量未知攻击时,检测精度急剧下降,效果达不到预期。因此,建立一个有效性与自适应性都不错的入侵检测模型成为以后研究的课题[1]。

深度学习是机器学习的一个重要分支,近些年来被广泛应用于图像分类,语音识别等众多领域。机器学习经历了浅层学习和深度学习两次浪潮。20世纪,学者Rumelhart、Hinton和Williams等人提出了反向传播算法(Back Propagation算法,BP算法)[2],给机器学习带来了活力。20世纪90年代,各种浅层机器学习模型相继出现,并在机器学习领域取得巨大成功。多层神经网络因当时不够成熟的理论和相对匮乏的经验而相对沉寂,直到2006年Hinton和Salakhutdinov在发布在《科学》上的一篇文章中首次提出了深度学习的概念[3],才拉开新的序幕。在深度学习研究领域,Google走在世界前列。2016年3月,基于深度学习的人工智能程序AlphaGo大比分击败围棋世界冠军李世石;2017年,其升级版智能程序Master连续击败中日韩等60名围棋高手,震惊世界。

贝叶斯网络以其强大的理论基础和优秀的信息提取的能力,广泛应用于入侵检测、文本分类、垃圾电子邮件过滤、模式识别等领域。朴素贝叶斯是一种基于属性之间相互条件独立所建立的贝叶斯方法,只需要少量必要数据就能进行建模,但面临属性冗余和计算成本过高的问题。文献[4]介绍了半监督式的朴素贝叶斯算法,该算法在处理大量数据时效果不错,但对小型网络的入侵检测效果不佳。局部加权朴素贝叶斯[5]结合频率估计,利用朴素贝叶斯对缩小的空间区域进行分类,提高了准确率,但时间与空间复杂度过高。文献[6]结合了朴素贝叶斯和权重,先估计特征数值,再利用海量数据来进行特征选取,最终实现属性减少,有效降低时间复杂度并提高准确率。但该算法特征提取稳定性差,泛化能力有待提升。

本文结合前人理论,对时间复杂度过高、泛化能力不强等问题,提出了一种基于深度学习和滑动窗口的改进贝叶斯网络入侵检测方法。该方法引入了被广泛认可和使用的深度学习和经典的滑动窗口思想,降低了数据集的维度,提高了网络扩展性,同时提升了检测效率和准确率。

2   深度学习(Deep learning)

2.1   神经学研究启示

深度学习源于对人类大脑神经网络连接结构的不断探索。机器学习通过一套规则,并通过大量数据训练,使机器学习到数据之间的关联,从而进行分类或判别。深度学习的发展源于生物神经网络学的进步。大脑神经研究结果显示,人类大脑分层次处理视觉信号,从低层提取边缘特征,在下一层提取形状,一直到最高层的特征提取[7]。人类大脑对视觉信号的处理是逐层转化、逐层提取的。这种多层次的结构极大地降低了处理的数据维数,而且最大程度地保留了有用信息。

2.2   特征提取的需要

机器学习通过大量数据的训练,从中找寻重要规律特征,并用于其他数据,实现分类预测。因此,如何寻找和描述数据特征是工作的重点。以往采用人工方式手动提取,该方法严重依赖于经验,耗时长、稳定性差。而深度学习克服了这个缺点,可以从大量数据中自动寻找有效特征,效率和准确率都远高于人工选择。

深度学习需要进行多层次的学习,在特征表达方面优于单隐含层节点的浅层学习。如图1所示,深度学习是一个逐层学习的过程,把每一层的输出作为下一层的输入,以此方式实现对信息的逐层表达。类似于生物学中从分子、细胞到器官、生物体的表达方式,深度学习的实质就是模拟大脑神经网络,实现对输入数据从低级到高级的特征提取表达,从而在不同维度抽象数据。

2.3   卷积神经网

卷积神经网是深度学习的一种,属于前馈深度网络模型。1962年,Hubel等[8]通过研究猫的视觉机制,提出感受野的概念。1984年,Fukushima[9]基于感受野提出神经感知机,这是第一次在ANN领域成功运用CNN模型。LeCun[10]等将BP算法应用于CNN模型之中,并在图像识别领域取得成功。

卷积神经网由多个单层卷积神经网构成,主要包含卷积层,非线性变换和下采样层。CNN中采用局部连接、权值共享的方式,每层神经网络有一对二维平面,每个二维平面有多个独立的神经元。每个二维平面上的神经元只与上一层的部分神经元相连接,负责提取局部特征。每一层卷积层和下采样层都有多个二维特征平面,每一层的特征平面都共享权值参数,不同的特征平面提取特定的特征,在提升特征表达的同时又大大减少了计算量,提高了网络泛化能力。

本文算法步骤如下:

步骤1:对训练集T0进行预处理(如:离散化、数值化)得到数据集T1。

步骤2:利用卷积神经网对数据集T1进行降維处理,得到数据集T2。

步骤3:基于数据集T2,采用文献[12]中的贝叶斯网络结构生成算法构造贝叶斯网络,并进行参数学习。

步骤4:结合滑动窗口机制和相对欧式距离,对测试集进行分类。具体步骤如下:

将测试集连接到训练集的尾部;设置四个指针P1P2P3P4,分别指向训练集的首部、尾部和测试集的首部、尾部。

(1)将指针之间的数据集T作为训练集构造贝叶斯网络并进行参数学习。令t=1,初始窗口为。

(2)对指针指向的样本进行检测,。

(3)重复(2),直到或,其中N为实验设置的滑动窗口的大小。

(4)如果,转到(5);否则,,并计算当前窗口和初始窗口之间的欧氏距离,如果欧氏距离大于阈值ε,转到(1),否则转到(2)。

(5)测试完毕,计算总正确率。

5  实验结果及分析(Experimental results and     analysis)

5.1   入侵检测数据集

本实验采用KDD CPU 1999数据集,该数据集收集了9周的网络连接数据。其中,前两周收集的训练数据集大约含有500万个网络连接,后两周的测试数据集大约含有200万个网络连接。每个连接都有41个特征属性和1个标签属性。每个标签标记着正常或异常,异常类型中又总共包括4大类、39小类攻击类型,其中有22小类出现在训练集中,17小类出现在测试集当中。异常类型的详细描述如表1所示。

5.2   实验结果与分析

本文从KDD CPU 1999数据集的训练集中随机抽取了4万条数据作为训练集,从该数据集中随机抽取了2万条数据作为本次实验的测试集。对数据预处理之后,采用深度学习进行降维处理,将原数据集中的42个属性约减成了9条属性(包含标签属性),然后用改进的贝叶斯网络进行建模和分类。

实验在Matlab 2015b中编程完成,并将本文算法和已有的贝叶斯网络算法进行比较。实验表明,在本文算法中,当滑动窗口N为1000时,检测效果最好,得到的准确率对比结果,如表2所示。在窗口滑动过程中,贝叶斯网络发生了多次变化,仅选取其中四次贝叶斯网络结构图,如图5所示。

6   结论(Conclusion)

本文基于KDD CPU 1999数据集,使用深度学习对数据集进行降维处理,并引入滑动窗口和欧氏距离来实时更新贝叶斯网络,来提高正确率。实验证明,本文的改进算法能有效降低计算量和提高分类正确率。经过分析,分类错误的信息大部分是未知攻击类型。虽然深度学习具有从多维数据中提取高级抽象特征表达的能力,但依然很难学习到高层应用行为中复杂的逻辑行为。如何结合应用层的特征行为来检测未知攻击或异常数据需要进一步的学习和研究。

参考文献(References)

[1] 冯祖洪,李静.基于主成分分析的改进贝叶斯网络入侵检测研究[J].现代电子技术,2012,35(19):73-75.

[2] Rumelhart D,Hinton G,Williams R.Learning representations by back-propagating errors[J].Nature,1986,323(6088):533-536.

[3] Hinton G,Salakhutdinov R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.

[4] 江凯,高阳.并行化的半监督朴素贝叶斯分类算法[J].计算机科学与探索,2012,06(10):912-918.

[5] 欧阳泽华,郭华平,范明.在逐渐缩小的空间上渐进学习朴素贝叶斯参数[J].计算机应用,2012,32(1):223-227.

[6] 周晓庆,肖顺文,肖建琼,等.一种基于改进的权值调整技术数据源分类算法研究[J].计算机应用研究,2012,29(3):916-918.

[7] Ding Shi-fei,Zhang Yan-an,Chen Jin-rong,et al.Research on Using Genetic Algorithms to Optimize Elman Neural Networks[J].Neural Computing and Applications,2013,23(2):293-297.

[8] Hubel D H,Weisel T N.Receptive fields,binocular interaction and functional architecture in cat's visual cortex[J].The Journal of Physiology,1962,160:106-154.

[9] Fukushima K.Neocognitron:A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position[J].Biological Cybernetics,1980,36(4):193-202.

[10] LeCun Y,Bottou L,Bengio Y,et al.Gradient-based learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.

[11] HINTON G E.How neural networks learn from experience [J].Scientific America,1992,267(3):145-151.

[12] 王越,谭暑秋,刘亚辉.基于互信息的贝叶斯网络结构学习算法[J].计算机工程,2011,37(7):62-64.

作者简介:

孙惠丽(1973-),女,本科,讲师.研究领域:管理学.

陈维华(1978-),女,硕士,副教授.研究领域:计算机应用.

刘东朝(1992-),男,碩士,助教.研究领域:计算机网络.

猜你喜欢

深度学习
从合坐走向合学:浅议新学习模式的构建
基于自动智能分类器的图书馆乱架图书检测
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
利用网络技术促进学生深度学习的几大策略
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
构建“单元整合、主题牵引”诗歌鉴赏“深度学习”课堂的策略