欢迎来到必胜文档网!

基于深度信念网络和三支决策的入侵检测算法

文章来源:网友投稿 时间:2023-08-30 11:30:05

杜祥通,李永忠

(江苏科技大学计算机学院,镇江,212100)

网络安全是计算机网络领域亟待解决的问题,如何识别网络攻击是关键[1].入侵检测技术是网络安全的重要技术之一,引起了国内外学者的广泛关注[2].由于当今网络的智能化和复杂性,传统的入侵检测技术很难应用于新的网络入侵[3].

常见的传统的机器学习算法有支持向量机(Support Vector Machine,SVM)[4]、K近邻算法(K⁃Nearest Neighborhood,KNN)[5]和随机森林算法(Radom Forest,RF)[6]等,上述方法已经在入侵检测中得到了大量的应用,在一定程度上提高了入侵检测的性能;
然而传统的基于机器学习的算法不能自主地学习特征,需要手工构造特征.

为了解决上述问题,一些基于深度学习的入侵检测方法得到了广泛的发展,如深度神经网络[7]和深度信念网络[8]等.然而,现有的基于深度学习的方法需要大量的数据,当其中的未标记数据太多时,入侵检测效果并不理想.此外,现有的入侵检测方法都是传统的二分类方法,当特征不足或信息不足时,一些数据会被误分类.本文将深度信念网络与三分支决策理论相结合,建立了入侵检测模型.利用DBN获得不同粒度的特征,利用基于三支决策理论的分类器对网络行为进行初步分类,使用KNN分类器基于多粒度特征空间对边界域数据进行分类.最后,利用NSL⁃KDD数据集评价算法的综合性能.

1.1 深度信念网络深度信念网络(Deep Belief Network,DBN)由Hinton et al[9]提出,作为一种深度学习方法它到了广泛的关注,并在目标检测、语音识别等领域得到了成功的应用.通过学习数据集的压缩编码,可以达到对数据进行降维的目的.DBN在结构上由多层无监督限制玻尔兹曼机网络和一层有监督反向传播[10]网络组成,如图1所示.

图1 深度信念网络结构模型Fig.1 The structure model of DBN

作为深度信念网络的核心,受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)[11]是两层神经网络,它的两层节点分别是可见单元和隐藏单元.整个网络模型是一个二分图,其中V(V1,V2,…,Vi)表示输入数据的可见层单元,可见单元和隐单元之间没有节点连接;
H(H1,H2,…,Hj)是一个隐藏层单元.隐含层节点往往没有实际意义,通常由机器学习自动生成.W表示可见层神经元与隐含层神经元之间的连接权值.由于所有的V和H都满足玻尔兹曼分布,输入V时通过P(H|V)可以得到隐含层H,之后通过P(V|H)可得可见层.通过调整参数,从隐含层得到的可见层V1与原来的可见层V相同,则得到的隐含层是可见层的另一种表达式.

在DBN模型的训练过程中分别对RBM网络的每一层进行无监督训练.在将特征向量映射到不同的特征空间时尽可能地保留特征信息;
在DBN的最后一层建立反向传播(Back Propaga⁃tion,RP)网络,接收RBM的输出特征向量作为输入特征向量,训练监督的实体关系分类器.每一层RBM网络只保证其所在层的权值能够得到该层的特征向量的最优映射,不能保证整个DBN的特征向量映射.因此,BP网络也将误差信息自上而下地传播到各层RBM中,并对DBN网络产生微调.RBM网络训练模型的过程可以看作是深度BP网络权值参数的初始化,这使得DBN克服了BP网络因权值参数的随机初始化而陷入局部优化和训练时间长的缺点.DBN由多个RBM网络组成,每个RBM都可以作为特征提取器,因此可以利用RBM组合的DBN模型来提取高级特征.

1.2 三支决策理论受Prof.Yao在研究概率粗糙集和决策粗糙集过程中总结的三支决策(Three⁃Way Decisions,TWD)[12]的启发,利用两个状态集和三个行动集来描述决策的过程[13].状态集Ω={X,¬X},行动集A={aP,aB,aN} 分别表示接受、延迟决策、和拒绝接受某事件.记λPP,λBP,λNP分别表示χ属于Χ时,采取ɑp,ɑB和ɑN三种行动下的损失.λPN,λBN,λNN分别表示χ不属于Χ时,采取ɑP,ɑB和ɑN时三类行动的损失.因此,采取ɑP,ɑB和ɑN三种行动下的期望损失值分别表示为:

由贝叶斯准则,选择期望损失值最小的行动集作为最佳决策方案,使用POS(X),BND(X),NEG(X)分别表示正域、边界域、负域.做一个合理假设:0≤λPP≤λBP<λNP,0≤λNN≤λBN<λPN,则三支决策准则(P),(B),(N)的条件如表1所示.

表1 决策规则(P)-(N)条件分布表Table 1 The conditional distribution of decision rules:(P)-(N)

通过设置阈值,将样本分为正域、负域、边界域.阈值的设定由期望损失值计算得到.根据贝叶斯准则,设置两个阈值α和β:

则上文规则(P)(⁃N)可重写为:

(P1)若P(Χ|[χ])≥α,则χ∈POS(Χ);

(B1)若β<P(Χ|[χ])<α,则χ∈BND(Χ);

(N1)若P(Χ|[χ])≤β,则χ∈NEG(Χ).

2.1 入侵检测算法整体流程本节构建了基于DBN和TWD的入侵检测网络结构,如图2所示.提出的入侵检测算法包括数据预处理、特征提取、样本分类和边界数据分类四个部分.

图2 基于DBN和TWD的入侵检测算法流程图Fig.2 Flow chart of DBN-TWD based intrusion detection algorithm

2.2 DBN特征提取算法使用DBN进行特征提取时,分别对RBM网络的各层进行无监督训练,建立BP网络,训练有监督的实体关系分类器.DBN由多个RBM网络组成,每个RBM都可以作为特征提取器.

2.3 DBN-TWD入侵检测算法在利用TWD理论进行分类的过程中,根据限制条件,把整个论域分为三个区域(正域、负域和边界域).在整个决策过程中,都要确定是否对当前的对象作出最终的决策,即确定该对象是属于正域或负域,或应该将不确定的对象归为边界域.

假设样本集为X={x1,x2,…,xn},样本xi属于正域的概率p(POS|xi)(i=1,2,…,n)需要被求解出.其中,将p值与阈值α,β进行比较:若p<β,则将其分入负域;
若p>α,则将其分入正域;
否则分入边界域.

DBN提取的特征中包含的相关识别信息会随着训练时间的增加而增加,从而构建多粒度的特征结构.得到的每个粒度特征集通过TWD进行分类,并根据阈值得到分类结果.对于边界域中的数据,在获得额外的信息后,将被重新评估,根据更细粒度的特征使用KNN分类器重新进行分类.在边界域内不再有样本存在之前,这个决策过程将一直持续下去.

3.1 数据集本文采用的是NSL⁃KDD[14]数据集.NSL⁃KDD数据集由41个特征属性和一个类属性组成.KDD数据集包括训练集和测试集,共包含38种攻击.其中,训练集包含22种攻击;
测试集中包含训练集中的20种攻击,还包含训练集中没有的17种攻击.因此,可以使用测试集测试入侵检测方法在未知攻击上的表现.38种攻击可以分为四种主要的攻击类型:拒绝服务攻击(Dos)、远程攻击(R2L)、本地用户非法提升权限的攻击(U2R)、网络刺探(Probe).实验使用的训练集和测试集的分布如表2所示.

表2 数据集分布Table 2 Distribution of datasets

3.2 数据预处理及评判指标对NSL⁃KDD数据集进行预处理,将其中数值型的数据转化为字符型.采用标准化方法对训练集和测试集进行标准化,使用Min⁃Max标准化进行处理:

其中,v是第i个属性列的一个值,mini是第i个属性列的最小值,maxi是第i个属性列的最大值.在分类过程中可以进行五分类的操作,也可以把五分类转化成五个二分类进行操作,即当Normal为正类的时候,其余的样本全部归为负类.

选用准确率ACC(Accuracy)、检出率DR(Detection Rate)、精确率PR(Precision Rate)、误报率FPR(False Positive Rate)以及F1⁃得分(F1⁃score,F1)作为系统性能的评判指标,计算式如下:

其中,TP和TN分别表示攻击记录和正常记录已正确分类;
FP代表被误认为是攻击的正常记录;
FN代表错误分类为正常记录的攻击记录.

3.3 实验过程及结果分析图3为本文使用的DBN在特征提取的过程中,重构数据与原始数据之间的均方误差.使用DBN进行特征提取,构建多粒度特征空间,在去除冗余特征后,将输出层的数据作为重构数据,使得重构数据与原始数据有相同的维度.均方误差计算公式如式(12)所示.从图中的曲线的走势可以看出,均方误差随着训练时间的增加而减少,表明由DBN提取到的低维的特征数据在呈现原始数据的表现上越来越好.

图3 重构数据与原始数据之间的均方误差Fig.3 Mean square error between reconstructed data and original data

为了验证提出方法的有效性,进行两个实验:第一个实验主要探讨DBN是否优于传统的特征提取和基于TWD的分类方法是否优于基于传统的二支决策的分类方法;
第二个实验主要是将提出的方法与其他研究者提出的方法进行对比.

3.3.1 实验一选择主成分分析(Principal Component Analysis,PCA)、独立主成分分析(In⁃dependent Component Analysis,ICA)和深度神经网络(Deep Neural Network,DNN)作为DBN的对比方法.设置PCA的超参数:最大迭代次数1000,最大允许误差le-4,线性函数logcosh,成分数量为30.设置ICA的超参数:最大迭代次数1000,最大允许误差le-4,线性函数lgcosh,成分数量为35.设置DNN的超参数:激活函数为ReLu,使用L2正则化,最大迭代次数为2000,学习率为le-3.设置DBN的超参数:三个RBM堆叠,Sigmond函数为激活函数,L2正则化方法,最大迭代次数为2000,学习率为le-3.利用上述不同方法进行性能优化后提取特征,验证TWD分类算法下DBN特征提取的可取性.在NSL⁃KDD数据集上进行实验,实验结果如表3所示.可以看出,本文提出的DBN⁃TWD有更高的准确率、F1评分,虽然检出率方面低于ICA⁃TWD,但综合性能优于其他方法,证明DBN得到的低维特征数据对原始数据的映射效果越来越好.随着训练时间的增加,低维特征可以更好地挖掘原始数据中包含的信息,多次的特征提取构建了一个多粒度特征空间,为数据分类提供了可靠的特征.

表3 不同特征提取模型的实验结果对比Table 3 Experimental results of different feature extraction models

随后选择支持向量机(SVM)、K近邻(KNN)、随机森林(RF)和贝叶斯模型(BYS)作为基于TWD的分类方法的对比模型,此时仍然使用DBN进行特征提取.在数据集上进行实验,实验结果如表4所示.可以看出,DBN⁃TWD在准确率、检出率以及F1得分上优于其他算法,虽然在误报率和精确率上略有不足,但综合性能优于其他分类算法.在引入边界域后,避免了一些不确定数据被误分类的风险,大大提高了入侵检测的准确性,因此,基于TWD理论的入侵检测方法优于传统的基于二支决策的方法.

图4是不同方法的ROC(Receiver Operating Characteristic)曲线对比图.ROC曲线通过图形化方法将敏感性和特异性结合起来,能够准确地反映一种分析方法的特异性和敏感性之间的关系,是检验准确度的综合代表,曲线下的面积可用于评价诊断准确性.由图可知,DBN⁃TWD模型的曲线下的面积最大,证明DBN⁃TWD模型的综合表现更好.

表4 不同分类模型的实验结果对比Table 4 Experimental results of different classification models

图4 不同分类方法的ROC曲线对比图Fig.4 ROC curves of different classification methods

3.3.2 实验二实验选择的对比模型包括一个基于LDA(Latent Dirichlet Allocation)和极限学习机(Extreme Learning Machine,ELM)的入侵检测模型(LDA⁃ELM)[15]、一个基于半监督学习(Semi⁃Supervised Learning,SSL)的入侵检测模型[16]、一种基于层叠非对称深度自编码器的入侵检测方法(SNADE)[17]和一个基于时空特征的分层入侵检测系统(HAST⁃IDS)[18].选取NSL⁃KDD数据集作为实验数据集,表5给出了在保持实验环境不变的情况下,本文算法与其他算法的入侵检测对比结果.可以看出,DBN⁃TWD在准确率、检出率、F1得分上表现较优,尤其是检出率,远高于其他方法;
虽然在精确率和误报率方面存在不足,但整体表现还是优于其他算法.

以上不同算法的ROC曲线对比图如图5所示.可以看出,提出的DBN⁃TWD方法曲线更接近1,并且DBN⁃TWD曲线完全覆盖了其他方法的ROC曲线,说明DBN⁃TWD入侵检测方法具有更好的性能.

表5 不同算法的实验结果对比Table 5 Experimental results of different algorithms

图5 不同算法的ROC曲线对比图Fig.5 ROC curves of different algorithms

综合实验一和实验二可知,使用DBN进行特征提取后再使用TWD进行入侵检测分类,与直接使用DNN或DBN进行端到端的训练求解相比,优势在于先进行特征提取,构建一个多粒度的特征空间;
与直接使用深度学习的特征空间相比,多次提取的特征能更深层次地表达原始数据;
使用TWD,与直接使用深度学习的分类器相比,TWD避免了特征不足或数据不充分而导致的数据被误分类的风险,基于更细粒度的特征空间进行分类,提高了分类的准确率.

本文提出一种基于DBN和TWD的入侵检测方法.使用DBN从训练样本中提取特征,构建多粒度特征空间;
利用TWD,根据设置阈值对正域和负域中的数据进行分类.对于边界域中的数据,使用KNN分类器基于多粒度特征空间重新对数据进行分类.本文提出的算法模型提高了入侵检测的性能.在未来的工作中,将从特征解耦和入侵防御入手,尽量多保留权重大的特征,减少权重较小的特征,进一步提高检测的效率,构建入侵防御模型,保障网络的安全.

猜你喜欢特征提取分类特征分类算一算数学小灵通(1-2年级)(2021年4期)2021-06-09如何表达“特征”疯狂英语·新策略(2019年10期)2019-12-13不忠诚的四个特征当代陕西(2019年10期)2019-06-03分类讨论求坐标中学生数理化·七年级数学人教版(2019年4期)2019-05-20基于Daubechies(dbN)的飞行器音频特征提取电子制作(2018年19期)2018-11-14数据分析中的分类讨论中学生数理化·七年级数学人教版(2018年6期)2018-06-26教你一招:数的分类初中生世界·七年级(2017年9期)2017-10-13抓住特征巧观察数学小灵通·3-4年级(2017年9期)2017-10-13Bagging RCSP脑电特征提取算法自动化学报(2017年11期)2017-04-04基于MED和循环域解调的多故障特征提取噪声与振动控制(2015年4期)2015-01-01

推荐访问:算法 三支 入侵

本文来源:http://www.triumph-cn.com/fanwendaquan/gongwenfanwen/2023/0830/101622.html

推荐内容