基于深度信念网络的入侵检测模型
2015-05-15杨昆朋
杨昆朋
(北京交通大学计算机与信息技术学院,北京 100044)
基于深度信念网络的入侵检测模型
杨昆朋
(北京交通大学计算机与信息技术学院,北京 100044)
针对传统入侵检测方法在检测速度、精度、复杂度等方面的缺陷,提出一种基于深度信念网络的支持向量机入侵检测模型(DBN-SVM)。该模型利用两层的限制玻尔兹曼机进行结构降维,再用BP神经网络反向微调结构参数,从而获得原始数据的相应最优表示。利用支持向量机对数据进行网络入侵的识别。通过对NSL-KDD数据集仿真实验表明,DBN-SVM模型是一种可行的、高效的入侵检测模型,为入侵检测提供一种全新的思路。
深度学习;入侵检测;深度信念网络;特征降维;支持向量机
0 引言
随着时代的发展,Internet已经成为日常生活中不可缺少的一部分。计算机网络安全也因此成为一个备受关注的重大问题。入侵检测(Intrusion Detection,ID)自1980年被Anderson提出以来,一直备受学术、工业界关注[1]。入侵检测系统(Intrusion Detection System,IDS)它能够检测各种形式的入侵行为,并根据事先定义的安全策略采取相应的响应行为。
传统的IDS存在着大量的问题,对未知网络攻击检测能力差、误报率高、占用资源多;对攻击数据的关联和分析功能不足,导致过多的人工参与;对于现在广泛使用的脚本攻击防御能力差等。为了在现代高带宽、大规模网络环境下提高入侵检测的效率、降低漏报率和误报率,把机器学习的方法引入到IDS中来,已成为IDS的重要发展方向[2]。以往研究者们在IDS研究中引入了各种机器学习方法,如神经网络、模糊逻辑、支持向量机等在入侵检测系统中取得了突破性的进展。实际上,这些方法在入侵检测系统中往往以分类器出现,用以分别网络行为是否正常。本文中,我们提出了一种基于限制玻尔兹曼机(Restricted Boltzmann Machine,RBM)的深度信念网络(Deep Belief Networks,DBN)[3]的入侵检测模型。DBN用来作为特征降维(feature reduction)[4]的方法,之后将DBN处理后的数据用SVM[9]进行训练学习并分类。
1 基于深度信念网络的入侵检测模型
深度学习由于其对复杂数据的学习能力突出而备受国内外学者的关注[7]。一个深度学习模型含有多层的隐藏感知单元,通过组合底层特征形成更加高层的数据抽象,可以更好地建立从底层信号到高层语义的映射关系。
1.1 深度信念网络工作原理
深度信念网络由Hinton等人于2006年提出[3],作为一种深度学习方法备受关注,并成功应用于物体识别、语音识别等领域。它通过学习获得数据集的压缩编码,可以达到数据降维的目的[4]。
从结构上看,DBN由多层无监督的限制玻尔兹曼机网络和一层有监督的反向传播(Back-Propagation,BP)[8]网络组成,如图1所示。
图1 DBN结构图
DBN在训练模型的过程中主要分为两步:
①分别单独无监督地训练每一层RBM网络;确保特征向量映射到不同特征空间时,都尽可能多地保留特征信息;
②在DBN的最后一层设置BP网络,接收RBM的输出特征向量作为它的输入特征向量,有监督地训练实体关系分类器。而且每一层RBM网络只能确保自身层内的权值对该层特征向量映射达到最优,并不是对整个DBN的特征向量映射达到最优,所以反向传播网络还将错误信息自顶向下传播至每一层RBM,微调整个DBN网络。RBM网络训练模型的过程可以看作对一个深层BP网络权值参数的初始化,使DBN克服了BP网络因随机初始化权值参数而容易陷入局部最优和训练时间长的缺点。
上述训练模型中第一步在深度学习的术语叫做预训练,第二步叫做微调。在本文中,我们构造的深度信念网络模型包括两层RBM,分别为低层RBM和高层RBM。
1.2 基于深度信念网络的入侵检测模型
基于深度信念网络的检测模型的总体框架如图2所示,包含三个步骤:
①数据预处理。将NSL-KDD数据中的字符型数据数字化,再对数据进行归一化处理。
②通过我们构建的DBN模型对数据进行训练并特征降维,提取出特征优异的数据,为第三步数据分类做准备。其中涉及到的RBM等算法将在第2节进行说明。
③将②获得的降维数据作为SVM的输入,进行攻击类别的识别。
图2 DBN-SVM结构图
2 相关算法
2.1 限制玻尔兹曼机
限制玻尔兹曼机是深度信念网络的核心,是由Hinton和Sejnowski于1986年提出的一种两层神经网络,其两层节点分别是可见层节点(visible unit)和隐藏层节点(hidden unit)。整个网络模型是一个二部图,只有可见单元和隐藏单元之间才会存在边,可见单元之间以及隐藏单元之间都不会有边连接,如图3所示。其中V(V1、V2…Vi)等为可见层单元,表示输入数据;H(H1、H2…Hj)为隐藏层单元,隐藏层节点往往没有实际意义,通常是机器学习自动生成;W表示可见层单元和隐藏层单元之间的连接权重。由于所有的V和H都满足Boltzmann分布,因此当输入V的时候通过P(H│V)可以得到隐藏层H,而得到隐藏层H之后,通过P(V│H)又能得到可见层。通过调整参数,从隐藏层获得的可见层V1与原来的可见层V如果一样,那么所获得的隐藏层就是可见层的另一种表达。
图3 RBM结构图
2.2 RBM模型参数分析
由于相同层节点之间是相互独立无联系的,所以在已知V的情况下,所有的隐藏层节点之间是相互独立的,故隐藏层中第j个节点的概率分布可表示为:
同理,在已知隐藏层H的情况下,所有的可见层节点都是条件独立的,故可见层中的第i个节点的概率分布可表示为:
其中,函数f是激活函数(sigmoid),是归一化因子:
那么,关于RBM在某一状态(V,H)的给定参数模型的联合概率分布表达式如下:
2.3 基于对比散度的快速学习算法
学习RBM的任务是求出参数θ的值,以拟合给定的训练数据。参数θ可以通过最大RBM在训练集(假设含有T个样本)上的对数似然函数学习得到。为了获得参数θ的最优值,即求得联合概率分布P(v,h)的最大值。传统的方法是利用Gibbs采样方法得到服从RBM定义的分布的随机样本。但在通常情况下需要较大的采样步数,这样使得RBM的训练效率不高,尤其是当观测数据的特征维数较高时。2002年Hinton提出了RBM的一个快速学习算法,即对比散度(Contrastive Divergence,CD)[5]。与Gibbs采样不同,在CD算法一开始,可见单元的状态被设置成一个训练样本,并利用(1)计算所有隐层单元的状态。在所有隐层单元确定后,根据(2)来确定第i个可见单元取值为1的概率,进而产生可见层的一个重构。
这样,在使用随机梯度上升方法最大化对数似然估计函数在训练数据上的值时,各参数的更新准则为:
其中,∈是学习率,<>recon表示一步重构后模型定义的分布。
2.4 微调权值算法
BP神经网络算法[11]是一种有监督的分类器,通过利用输出误差来估计输出层的直接前一层的误差,再用这个误差估计其更前一层的误差,经过反复一层一层的反向传播学习,就获得了所有其他各层的误差估计。
BP算法的实现过程:
输入:训练样本为vi,(i=1,2,…,m);
输出:微调后的模型参数θ={W,b,c};
(1)对于每一个训练样本vi
①计算输出节点的实际输出vi'
②计算输出节点实际输出与理想输出(vi)的误差梯度
③计算隐藏层单元h的误差梯度
这里的θhk为节点h到后续节点k的连接权值,δk为节点k根据激发函数计算得到的输出。
④计算权值更新
这里η为学习比率,需要通过实验确定,Oi为节点i的输出,Oj为节点j的输出,δj为节点j的递归误差梯度。
对所有训练样本输入得到的同一权值的更新即(d)式求和,并根据权值更新计算新的权值。
重复以上两步直到输出误差(用方差表示)足够小,即:
这里s为训练样本序列,z为输出节点序列,dsz为样本s在节点z的理想输出,Osz为样本s在节点z的实际输出。
基于BP算法的深度信念网络权值微调算法克服了BP网络因随机初始化权值参数而容易陷入局部最优和训练时间过长的缺点,只需要对已知权值空间进行微调,大大缩减了参数寻优的收敛时间。
3 仿真与实验
3.1 NSL-KDD数据集预处理
NSL-KDD数据集[10]是一种新的数据集,包含了一部分KDD`99数据集。它解决了KDD'99数据集固有的一些问题。例如训练集中的冗余记录,因此分类器不会偏向更频繁的记录,并且训练集和测试集的记录数量也是合理的,使得该数据集在入侵检测试验中可以被充分利用。
NSL-KDD数据集包含25192个实例的训练数据(包含22种攻击方法)和11850个测试数据(包括17种攻击方法),主要包括以下四类的攻击行为:DoS(Denial of Service)、U2R(User-to-Root)、R2L(Remote-to-Local)、Probe端口监视或扫描等。
NSL-KDD数据集[10]的每个记录由41个属性特征组成,其中包含38个数字型属性和3个字符型属性。针对这些因素,需要对数据做一下处理:①将字符型数据映射为数字型;②对数据进行归一化处理,将数据的大小范围缩小到[0,1]之间;③将记录的类标分为5类:0表示正常、1表示DoS、2表示U2R、3表示R2L、4表示Probe。
3.2 实验与分析
本文采用NSL-KDD数据集来评估我们提出的DBN-SVM入侵检测模型。其中,在我们的试验中DBN有两个用途。首先,我们采用DBN做为数据的特征降维,而后应用SVM做为分类器对数据进行训练分类。另外,我们也将单个DBN作用为分类器进行训练分类。其中,在本次实验中我们采用了默认的SVM参数设置;DBN采用两层RBM结构,RBM的特征数量从底层到高层依次为41、13和4,迭代的次数为150。并在数据量的不同比例阶段进行分类。
(1)DBN vs.SVM vs.DBN-SVM
在本次实验中,分别提取20%、40%、60%、100%的NSL-KDD数据在SVM、DBN和我们提出的DBN-SVM模型中进行处理,得到了其准确率和时间的对比(如表1)。
表1 不同分类模型间的对比
在实验的开始阶段,准确率开始上升,当迭代到98次时实验的准确率达到最优,而后开始下降。
通过实验对比发现,DBN-SVM在准确率方面由于单独的SVM和DBN模型,显著地提高了网络入侵的识别能力。在运行时间方面,DBN-SVM相对于SVM极大地提高了处理时间,但比单独的DBN稍逊。从总体的准确率和高效性来说,DBN-SVM在此方面具有很突出的优势,大幅地提高了网络入侵的检测能力。
(1)数据降维方法对比
为了检验DBN作为数据降维的性能,同样以NSL-KDD数据做为原始输入数据,分别采用PCA,Gain Ratio等方法进行对比。由表2给出的实验对比结果,表明DBN作为数据降维是比其他方法更有优势,更适应高维空间的特征提取任务。
表2 不同数据降维方法间的对比
4 结语
深度信念网络对于入侵检测是一种全新的入侵检测模型,通过与已知的分类方法和特征降维方法进行对比,DBN在做为分类器和特征降维方面都表现出了优异的性能。本文提出了一个基于DBN-SVM的入侵检测模型,其中DBN用作是进行特征降维,SVM做为数据分类器。通过用NSL-KDD数据集的实验结果表明,DBN-SVM拥有比SVM更好的分类效果,而且通过对数据进行降维极大地提高了测试时间。同时,用其他的数据降维方法同DBN进行对比,DBN同样表现出优异的性能。总之,该模型极大地提高了入侵检测速度,是一种可行的、高效的入侵检测模型,为入侵检测提供了一种全新的思路。
[1] Anderson J P.Computer Security Threat Monitoring and Surveillance[R].Technical Report,James P.Anderson Company,Fort Washington,Pennsylvania,1980
[2] Tsai C F,Hsu Y F,Lin C Y,et al.Intrusion Detection by Machine Learning:A Review[J].Expert Systems with Applications,2009,36(10):11994~12000
[3] Hinton G,Osindero S,Teh Y W.A Fast Learning Algorithm for Deep Belief Nets[J].Neural Computation,2006,18(7):1527~1554
[4] Hinton G E,Salakhutdinov R R.Reducing the Dimensionality of Data with Neural Networks[J].Science,2006,313(5786):504~507
[5] Hinton G E.Training Products of Experts by Minimizing Contrastive Divergence[J].Neural Computation,2002,14(8):1771~1800
[6] Tavallaee M,Bagheri E,Lu W,et al.A Detailed Analysis of the KDD CUP 99 Data Set[C].Proceedings of the Second IEEE Symposium on Computational Intelligence for Security and Defence Applications 2009,2009
[7] 余凯,贾磊,陈雨强等.深度学习的昨天、今天和明天[J].计算机研究与发展,2013(9):1799~1804
[8] Rumelhart D E,Hinton G E,Williams R J.Learning Representations by Back-Propagating Errors[J].Nar,1986,323(6088):533~536
[9] 李辉,管晓宏,昝鑫等.基于支持向量机的网络入侵检测[J].计算机研究与发展,2003,(6):799~807
An Intrusion Detection Model Based on Deep Belief Networks
YANG Kun-peng
(School of Computer and Information Technology,Beijing Jiaotong University,Beijing 100044)
Proposes an intrusion detection algorithm of support vector machine based on Deep Belief Networks for improving the traditional method in detection speed,accuracy,complexity,etc.The BP neural network structure will do a fine turning on parameters after double RBMS structure reducing the dimension of data,in this way,the corresponding optimal low-dimensional representation of raw data can be obtained.Support Vector Machine classification algorithm is to discriminate the intrusion from low-dimensional data.The experiments with NSL-KDD dataset show that the new algorithm is a feasible and effective intrusion detection model for IDS to provide a new way of thinking.
Deep Learning;Intrusion Detection;Deep Belief Networks;Feature Reduction;Support Vector Machine
1007-1423(2015)02-0010-05
10.3969/j.issn.1007-1423.2015.02.003
杨昆朋(1988-),男,河南邓州人,硕士研究生,研究方向为机器学习、深度学习
2014-12-11
2014-12-24