APP下载

基于DBN和TSVM的混合入侵检测模型研究

2018-05-22张克君

计算机应用与软件 2018年5期
关键词:分类器样本分类

张克君 鲜 敏

1(北京电子科技学院计算机科学与技术系 北京 100070)2(西安电子科技大学计算机学院 陕西 西安 710071)

0 引 言

随着Internet技术的不断发展和互联网用户的飞速增加,网络中的安全问题也越来越多样化。入侵检测系统[1]IDS(Intrusion Detection Systems)的目标是识别异常的访问或攻击以保护内部网络[2]。它查找网络流量中已知或潜在的恶意活动, 并且一旦检测到可疑活动,就会警报。面对大规模的网络数据流量和特征信息,如何选择有效的特征作为入侵评判的标准,是入侵检测领域的一大挑战性难题[3]。

近些年来,研究者们在IDS研究中提出了许多对入侵数据识别的方法:基于签名的IDS[4],基于蜜罐的IDS[5],基于贝叶斯、决策树和模糊逻辑模型等IDS,还有基于机器学习的IDS。入侵检测领域中常用到的机器学习方法有:支持向量机[6]SVM(Support Vec-tor Machine)、遗传算法GA(Genetic Algorithm)和人工神经网络[8]ANN(Artificial Neural Network)等。虽然将这些方法应用到入侵检测系统中已经取得了一定的效果,但还是有一些问题。例如:特征提取不适当、检测率和检测精度不高、算法的复杂度高。

最近几年,深度学习技术研究成为了一个热门话题,被广泛应用到图像识别、语音识别、垃圾邮件过滤等多个领域,并取得优异的成果。针对入侵检测当前的状况和深度学习优秀的特征能力,本文提出了一种基于DBN[9]和偏二叉树PBT(Partial Binary Tree)的对支持向量机[10]多类分类算法[11]相结合的异常入侵检测模型DBN-PBT-TSVM。其中DBN被用作特征缩减的方法,而 TSVM作为多类分类器。我们通过几组基于KDDCUP'99数据集的实验对DBN-PBT-TSVM模型的有效性进行评估,发现DBN-PBT-TSVM方法的性能比传统入侵检测方法的性能好。

1 深度信念网络

深度信念网络(DBN)是由Geoffrey Hinton 于 2006 年提出的一种深度学习模型,被广泛应用于物体识别、语音识别等领域。DBN是由许多层的受限制波尔兹曼机器[12]RBM(Restricted Boltzmann Machine)和一层反向传播[13]BP(Back Propagation)网络构成的神经网络,如图1所示。

图1 DBN网络模型的结构图

1.1 受限玻尔兹曼机

受限玻尔兹曼机是玻尔兹曼机BM(Boltzmann Machine)的一种特殊形式,是由Hinton和Sejnowski于1986年提出的一种生成式随机神经网络GSNN(Generative Stochastic Neural Network),其两层分别是可见层单元v(visible unit)和一些隐藏层单元h(hidden unit),可见变量和隐藏变量都是二元变量,亦即其状态取{0,1}。与传统的BM相比,RBM的网络结构是一个二部图,只有可见层单元和隐藏层单元之间存在边连接,可见层内部没有边连接,隐藏层内部也没有边连接。具体如图2所示。

图2 RBM网络的结构图

能量函数E(v,h)可以:

(1)

式中:vi是可见层单元,hj是隐藏层单元,Wij是vi和hj之间的连接权重,bi是vi的偏差,cj是hj的偏差。

RBM是一个生成模型,因此,原则上采用对输入样本的对数似然度进行随机梯度下降来获取其参数。但是,采用这种方式时,RBM的训练效率并不高,特别是样本集的特征维度比较高时。经实践证明,采用对比散度准则可以提高训练效率。

1.2 BP神经网络

BP算法是由以Rumelhart为首的科学研究团队于1986年提出的,是目前最常用、最易理解的神经网络训练算法。BP神经网络是一种采用误差反向传播算法EBP(Error Back-propagation Algorithm)的多层感知器MLP(Multi Layer Perceptron)。该网络模型通常除了输入层和输出层之外,还至少包含一个隐藏层,不同层的神经元之间是全连接,而在同一层内部的神经元之间是无连接。BP神经网络的拓扑结构如图3所示。

图3 BP网络的结构图

BP算法主要是通过学习过程得到其网络模型结构。学习过程主要由两个子过程组成:

(1) 信号的正向传播子过程:将原始信号从输入层输入,经过各个隐藏层依次处理,最后传给输出层,如果输出层产生的输出值与预期的输出值不符,就转到误差的反向传播子过程。

(2) 误差的反向传播子过程:将误差信号从输出层开始,经过各个隐藏层逐层向后传播,网络模型的权值也会根据误差反馈信息进行修正,通过权值的不断调整,可以使网络模型的实际的输出信号值更加接近预期的输出信号值。

在信号的正向传播子过程中,网络中的每个节点的都有一个非线性的激活函数,通常是sigmoid函数:

(2)

在误差的反向传播子过程中,主要是通过梯度下降算法,反复修正网络中各个神经元的权值和阈值,以达到误差函数值最小的目标。权值修正为:

(3)

式中:η为学习速率。

2 基于深度学习的入侵检测模型DBN-PBT-TSVM

2.1 模型总体架构设计

本文的入侵检测模型是一种使用基于RBM的DBN的异常入侵检测模型DBN-PBT-TSVM,是DBN和PBT-TSVM相结合的混合模型,该模型的总体框架如图4所示。

图4 DBN-PBT-TSVM入侵检测模型

包含三个步骤:

(1) 数据预处理。通过特征映射将KDDCUP’99数据集中的字符型数据数值化,再对全部数据进行归一化处理,得到标准化数据集。

(2) DBN降低维度。对经过预处理后的标准化数据集,利用DBN 模型进行预训练和权重微调,实现对标准化数据特征的最优提取,得到降低维度后的特征数据。

(3) TSVM多类分类器。首先用PBT结构将一个5类分类问题转化成4个两类分类问题,然后利用TSVM来解决每个两类分类问题。采用这种方式对入侵检测数据的5种入侵数据进行识别分类。

2.2 DBN降低维度算法

根据DBN网络结构可知,DBN的训练过程主要包括两个阶段:

1) 预训练阶段:利用贪心的逐层训练算法对各个层的RBM进行训练,得到网络模型的参数。具体算法如算法1所示。

算法1预训练算法

输入:训练数据集,迭代次数N

输出:网络模型参数θ={w,b,c}

Step1令迭代次数t=1,RBM的网络参数wij=bi=cj=0。

Step2将训练数据集中的每一条记录输入,并将其作为第一个RBM的可视层变量v0。

Step3在RBM网络,每一个可视层单元vi的激活概率可通过下式计算得到:

(4)

Step4同理可得,RBM网络中的每一个隐藏层单元hj的激活概率为:

(5)

Step5因为利用最大似然率估计来求解参数不易收敛,且计算比较复杂,所以用对比散度来对参数进行调整,具体规则如下:

(6)

(7)

Δcj=ε(p(hj|v(0))-p(hj|v(k)))

(8)

式中:ε为训练RBM的学习率。

Step6如果迭代次数t

2) 微调阶段:采用有监督的方法对最后一层的BP网络进行训练,以RBM 的输出结果作为BP网络的输入,将实际输出与预期输出的误差逐层向后传播,微调DBN的全部网络模型参数,得到最终的网络模型参数。具体算法如算法2所示。

算法2权重微调算法

输入:通过算法1得到的DBN网络模型参数wij,bi,cj,迭代次数k

输出:调整后较优的网络模型参数θ={w,b,c}

Step1令迭代次数t=1,随机初始化BP网络参数。

Step2通过前向计算,重构后得到的新特征和原始特征之间的误差为:

(9)

式中:x为原始的输入特征,y为重构后得到的新特征。

Step3通过反向传播,主要是利用梯度下降算法,反复修正网络中各个神经元的权值和阈值,以达到误差函数值最小的目标。权值修正规则为:

(10)

Step4如果迭代次数t

2.3 多类分类器PBT-TSVM

TSVM是由Jayadeva等提出,将传统SVM中的一个规划较大的二次优化问题QPP(Quadratic Programming Problem)转化为两个规划较小的QPP,通过两个非平行超平面来进行分类[14]。

PBT-TSVM是利用偏二叉树(PBT)结构结合对TSVM所构成的一种新的多类分类算法。如图5所示,将PBT-TSVM应用到对入侵数据类别识别的具体过程是:用PBT结构把一个5类分类问题转化成4个两类分类问题,然后采用TSVM解决每个两类分类问题。

图5 PBT-TSVM的结构图

具体算法主要分为两个阶段:

1) 训练过程:训练分类器TSVM1时,将第一类入侵样本Nomal标记为+1,其他的2,3,4,5类入侵样本均标记为-1,进行训练,获得两个非平行超平面T1和F1;训练分类器TSVMi时,将第i类入侵样本标记为+1,其他的i,i+1,…,5类入侵样本均标记为-1,进行训练,获得两个非平行超平面Ti和Fi。不断进行下去,直至获得分类器TSVM4,即获得了一个PBT-TSVM 5类分类器。

2) 测试过程:对一个新样本x0进行分类的过程,即遍历上述训练所得的PBT的过程,具体过程如下:

(1) 令i=1;

(2) 若i<5,则转到(3);否则,样本x0被判定第5类U2L,测试结束;

(3) 计算样本x0到分类器TSVMi的两个超平面Ti和Fi的距离d1和d2;

(4) 若d1

3 实验与结果分析

3.1 实验数据集预处理

KDDCUP’99数据集是由Lincoln Laboratory对美国空军局域网进行模拟,而采集来的9个星期的网络连接数据,它是目前网络入侵检测领域使用比较普遍的实验数据集。本文选择KDDCUP’99中的10%作为实验数据样本集,总共包括494 021个训练样本和311 029个测试样本,其具体数据样本的类型分布情况如表1所示。

表1 实验数据的类型分布情况表

KDDCUP‘99数据集中的每个数据包含41个特征属性,其中有38个数字型特征属性和字符型特征属性。为了更好地分类,需要对实验数据集做以下预处理工作:

(1) 对字符型特征属性做映射处理 例如特征属性protocol_type有3种取值:tcp、udp、icmp,将其字符分别编码为二进制向量(1,0,0)、(0,1,0)和(0,0,1)。同样,特征属性service的70个字符取值和flag的11种字符取值都可以建立符号向量与相应的特征向量进行一一映射的关系。通过这种方式映射之后,41维特征属性变换为122维特征属性。

(2) 归一化处理 为了避免各个特征属性的量纲对实验造成影响,必须对实验数据进行统一量纲,做归一化处理。采用式(11)可以把每个特征属性归一化到[0,1]范围内。

(11)

式中:x是原始特征值,MIN是该特征的最小值,MAX是该特征的最大值。

3.2 评价指标

本文使用以下指标来评价实验结果,即准确率AC(Accuracy),误报率FA(False Alarm),CPU消耗时间。 定义如下:

(12)

(13)

3.3 实验结果分析

在前面讲到,KDDCUP’99数据集经过数据预处理后特征属性变成了122维,因此输入层节点数为122。文献[15]已经详细讨论了DBN网络模型中的网络深度对入侵检测的效果的影响。在本文设计的DBN-BT-TSVM模型中,DBN采用5层的RBM网络结构,具体为122-110-90-60-30-10。其中,预训练迭代进行50次,权值微调迭代进行300次。实验使用开源工具LIBSVM,因为径向基函数RBF(Radical Basis Function)比较适用于线性不可分的情况,因此,本文选择RBF作为TSVM分类器的核函数。分别从训练集和测试集中依次随机抽取10%、20%、30%、40%进行训练和测试。

3.3.1 与其他分类方法的性能对比分析

将DBN-PBT-TSVM模型与DBN-PBT-SVM、PBT-TSVM和PBT-SVM等分类模型进行性能对比,通过对不同训练数据集训练这些入侵检测模型,之后再用不同测试数据集进行识别测试,得到的准确率和误报率的均值如表2所示。

表2 不同入侵检测算法的性能比较 %

由表2可以看到,DBN-PBT-TSVM算法的分类检测准确率比DBN-PBT-SVM、PBT-TSVM和PBT-SVM等算法有所提高,且还表现了和其他算法相错不大的误报率。由于U2L的实验样本较少,导致U2L和R2L的准确率较低,但这并不影响对整体入侵数据的总准确率。

3.3.2 与其他分类方法的检测时间对比分析

将DBN-PBT-TWSVM模型与DBN-PBT-SVM、PBT-TWSVM和PBT-SVM等分类方法对不同数据集的训练时间和检测时间进行对比,得到实验结果如图6和图7所示。

图6 不同入侵检测模型的训练时间比较

图7 不同入侵检测模型的检测时间比较

由图6和图7可以看出,DBN-PBT-TWSVM模型在训练速度和检测速度方面也均优于其他入侵检测算法。

4 结 语

本文对入侵检测和深度学习方法进行了深入的分析与研究,提出一种新的基于DBN的混合多分类模型,并将其应用到IDS中。该模型首先利用DBN深度学习方法对预处理后的数据集进行特征降维,之后再结合对TSVM和PBT构建PBT-TSVM多类分类器,实现对网络入侵行为的识别。在IDS仿真实验中,选择KDDCUP'99数据集中的10%作为实验数据。结果表明,与其他IDS方法相比,DBN-PBT-TSVM的检测性能明显比较优秀,在保证了较高的检测精度的同时,检测速度也有了明显提高,是一种高效、可行的IDS方法。因为在实验数据集中U2L样本比较少,导致对其检测的准确率有所降低,所以在后续的研究中,将针对这一问题进行研究。

参 考 文 献

[1] Buczak A L,Guven E.A survey of data mining and machine learning methods for cyber security intrusion detection[J].IEEE Communications Surveys & Tutorials,2016,18(2):1153-1176.

[2] Singh J,Nene M J.A survey on machine learning techniques for intrusion detection systems[J].International Journal of Advanced Research in Computer and Communication Engineering,2013,2(11):4349-4355.

[3] 杨昆朋.基于深度学习的入侵检测[D].北京交通大学,2015.

[4] Wu H,Schwab S,Peckham R L.Signature based network intrusion detection system and method:U.S.Patent 7,424,744[P].2008-9-9.

[5] Tsai C L,Tseng C C,Han C C.Intrusive behavior analysis based on honey pot tracking and ant algorithm analysis[C]//2009 International Carnahan Conference on Security Technology.IEEE,2009:248-252.

[6] Chen W H,Hsu S H,Shen H P.Application of SVM and ANN for intrusion detection[J].Computers & Operations Research,2005,32(10):2617-2634.

[7] Chakrabarty B,Chanda O,Islam M S.Anomaly based Intrusion Detection System using Genetic Algorithm and K-Centroid Clustering[J].International Journal of Computer Applications,2017,163(11):13-17.

[8] Saied A,Overill R E,Radzik T.Detection of known and unknown DDoS attacks using Artificial Neural Networks[J].Neurocomputing,2016,172(C):385-393.

[9] Hinton G E,Osindero S,Teh Y W.A fast learning algorithm for deep belief nets[J].Neural computation,2006,18(7):1527-1554.

[10] 聂盼盼,臧洌,刘雷雷.基于对支持向量机的多类分类算法在入侵检测中的应用[J].计算机应用,2013,33(2):426-429.

[11] 谢娟英,张兵权,汪万紫.基于双支持向量机的偏二叉树多类分类算法[J].南京大学学报(自然科学版),2011,47(4):354-363.

[12] Marlin B,Swersky K,Chen B,et al.Inductive principles for restricted Boltzmann machine learning[C]//Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics.2010:509-516.

[13] Cilimkovic M.Neural networks and back propagation algorithm[D].Institute of Technology Blanchardstown,Blanchardstown Road North Dublin,2015.

[14] Jayadeva,Khemchandani R, Chandra S. Twin support vector machines for pattern classification[J]. IEEE Transactions on pattern analysis and machine intelligence, 2007,29(5):905-910.

[15] 高妮,高岭,贺毅岳.面向入侵检测系统的DeepBeliefNets模型[J].系统工程与电子技术,2016,38(9):2201-2207.

猜你喜欢

分类器样本分类
学贯中西(6):阐述ML分类器的工作流程
分类算一算
基于朴素Bayes组合的简易集成分类器①
规划·样本
教你一招:数的分类
基于差异性测度的遥感自适应分类器选择
说说分类那些事
随机微分方程的样本Lyapunov二次型估计
浅谈多分类器动态集成技术
给塑料分分类吧