南京大学学报(自然科学), 2021, 57(2): 272-278 doi: 10.13232/j.cnki.jnju.2021.02.012

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

杜祥通, 李永忠,

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

An intrusion detection algorithm based on Deep Belief Network and Three⁃Way Decisions

Du Xiangtong, Li Yongzhong,

School of Computer,Jiangsu University of Science and Technology,Zhenjiang,212100,China

通讯作者: E⁃mail:liyongzhong61@163.com

收稿日期: 2020-10-09   网络出版日期: 2021-03-23

基金资助: 国家自然科学基金.  61471182
江苏省研究生科研创新计划(KYCX20_2993,KYCX17_1845),江苏省高校自然科学基金.  15KJD52004

Received: 2020-10-09   Online: 2021-03-23

摘要

随着网络入侵行为的多样化和智能化,传统的入侵检测算法难以提取入侵行为包含的特征,在入侵检测性能上存在一定的不足.为此提出一种基于深度信念网络(Deep Belief Network,DBN)和三支决策(Three⁃Way Decisions)的入侵检测算法.首先利用深度信念网络从高维数据中提取特征,在多次特征提取后构建一个多粒度的特征空间;然后利用基于三支决策理论的分类器对入侵行为或正常行为进行即时决策,并根据不同粒度特征使用KNN分类器进一步分析边界域内不确定的网络行为.在NSL⁃KDD数据集上进行实验,结果表明该算法可以提升入侵检测系统的性能.

关键词: 深度信念网络 ; 三支决策 ; 特征提取 ; 入侵检测

Abstract

With the diversification and intelligentization of network intrusion behaviors,traditional intrusion detection algorithms are difficult to extract the features contained in the intrusion behaviors,and there are some deficiencies in intrusion detection performance. Therefore,this paper proposes an intrusion detection algorithm based on Deep Belief Network (DBN) and three⁃way decisions. Firstly,we construct a multi⁃granularity feature space by extracting features from high⁃dimensional data with deep belief network. Then,a classifier based on the three⁃way decisions theory to make immediate decisions on the intrusion behavior or normal behavior,and KNN classifier to furtherly analyze the uncertain network behavior in the boundary region according to different granularity characteristics are used. Experimental results on NSL⁃KDD dataset show that the proposed algorithm can improve the performance of intrusion detection system.

Keywords: Deep Belief Network ; Three⁃Way Decisions ; feature extraction ; intrusion detection

PDF (830KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

杜祥通, 李永忠. 基于深度信念网络和三支决策的入侵检测算法. 南京大学学报(自然科学)[J], 2021, 57(2): 272-278 doi:10.13232/j.cnki.jnju.2021.02.012

Du Xiangtong, Li Yongzhong. An intrusion detection algorithm based on Deep Belief Network and Three⁃Way Decisions. Journal of nanjing University[J], 2021, 57(2): 272-278 doi:10.13232/j.cnki.jnju.2021.02.012

网络安全是计算机网络领域亟待解决的问题,如何识别网络攻击是关键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.1 深度信念网络

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

图1

图1   深度信念网络结构模型

Fig.1   The structure model of DBN


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

在DBN模型的训练过程中分别对RBM网络的每一层进行无监督训练.在将特征向量映射到不同的特征空间时尽可能地保留特征信息;在DBN的最后一层建立反向传播(Back Propagation,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三种行动下的期望损失值分别表示为:

Rɑpχ=λPPPΧχ+λPNPΧ¬χ
RɑBχ=λBPPΧχ+λBNPΧ¬χ
RɑNχ=λNPPΧχ+λNNPΧ¬χ

由贝叶斯准则,选择期望损失值最小的行动集作为最佳决策方案,使用POSXBNDXNEGX分别表示正域、边界域、负域.做一个合理假设: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)

Decision

criterion

Conditions
(P)PΧχλPN-λBNλPN-λBN+λBP-λPPPΧχλPN-λNNλPN-λNN+λNP-λPP
(B)PΧχλPN-λBNλPN-λBN+λBP-λPPPΧχλBN-λNNλBN-λNN+λNP-λPP
(N)PΧχλPN-λNNλPN-λNN+λNP-λPPPΧχλBN-λNNλBN-λNN+λNP-λPP

新窗口打开| 下载CSV


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

α=λPN-λBNλPN-λBN+λBP-λPP
β=λBN-λNNλBN-λNN+λNP-λPP

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

(P1)若PΧχα,则χPOSΧ

(B1)若β<PΧχ<α,则χBNDΧ

(N1)若PΧχβ,则χNEGΧ.

2 基于深度信念网络和三支决策的入侵检测模型

2.1 入侵检测算法整体流程

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

图2

图2   基于DBN和TWD的入侵检测算法流程图

Fig.2   Flow chart of DBN⁃TWD based intrusion detection algorithm


2.2 DBN特征提取算法

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

算法1 DBN特征提取

输入:训练集VV1,V2,,Vi,权重W,偏置b

输出:高维特征的低维表示

Step1.计算输出节点的实际输出vi'与理想输出Vi之间的梯度误差:δk=vi'1-vi'vi-vi'.

Step2.计算隐藏层元素h的梯度误差:

δk=vh'1-vh'kθhkδk

其中,θhk节点h的后续节点k的连接权值,δk是节点k通过激活函数得出的值.

Step3.更新权重:θij=θij+θijθij=ηοiδj.其中,η是学习速率,通过实验得知οi是节点i的输出,οj是节点j的输出,δj是节点j的递归梯度误差.

Step4.更新所有训练样本得到的相同的权值,并根据权值的更新计算新的权值.重复这些步骤,直到输出误差的方差足够小,在E=szdsz-osz2ε式中,s为训练序列,z为输出节点序列,dsz为样本s在节点z上的理想输出,osz为样本s在节点z上的实际输出.

Step5.在得到的微调后的模型参数Wb后,输出最后一层RBM结构的数据,即提取的特征.

2.3 DBN⁃TWD入侵检测算法

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

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

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

算法2 基于DBN和三支决策的入侵检测算法

输入:训练集X=x1,x2,,xn测试集Y=y1,y2,

,yn,阈值αβ,初始分类器f,令正域POS=负域NEG=边界域BND=.

输出:入侵检测分类结果

Step1.数据预处理.

Step2.使用算法1进行特征提取.

Step3.根据决策粗糙集的思想,设置相应的决策代价的值,设置λPP,λBP,λNP,λPN,λBN,λN.根据式(4)和式(5)求出阈值αβ.

Step4.使用三支决策理论进行分类:

使用训练集X训练原始分类器f,由模型f得到测试集Y中的每个数据属于正类的概率p=fY

if p>αPOS=POSY

else if p<βNEG=NEGY

else:BND=BNDY

Step5.边界域处理:对于边界域的数据,使用KNN分类器进行处理,KNN中节点相似度的计算需要使用距离度量来进行判断.本文使用欧氏距离来计算两点之间的距离,使用交叉验证来确定K的值,再将边界域中的数据进行二分类.

Step6.当边界域 BND 为空时输出分类结果.

3 实验分析

3.1 数据集

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

表2   数据集分布

Table 2  Distribution of datasets

类别NormalDOSProbingR2LU2R
训练集125569072215818812
测试集9855726818862554200

新窗口打开| 下载CSV


3.2 数据预处理及评判指标

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

v'=v-minimaxi-mini

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

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

ACC=TP+TNTP+FP+TN+FN
DR=TPTP+FN
PR=TPTP+FP
FPR=FPTN+FP
F1=TPTP+FN+FP2

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

3.3 实验过程及结果分析

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

JW,b=1ni=1n12x˜i-x̂i2+λ2l=1ml-1i=1Slj=1Sl+1Wijl2

其中,W,b分别为DBN的权重和偏差,x˜i为重构数据,x̂i为原始数据.

图3

图3   重构数据与原始数据之间的均方误差

Fig.3   Mean square error between reconstructed data and original data


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

3.3.1 实验一

选择主成分分析(Principal Component Analysis,PCA)、独立主成分分析(Independent Component Analysis,ICA)和深度神经网络(Deep Neural Network,DNN)作为DBN的对比方法.设置PCA的超参数:最大迭代次数1000,最大允许误差le-4,线性函数log cosh,成分数量为30.设置ICA的超参数:最大迭代次数1000,最大允许误差le-4,线性函数lg cosh,成分数量为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

ACCDRPRF1
DBN⁃TWD0.9320.9380.9630.948
PCA⁃TWD0.9130.8650.9210.909
ICA⁃TWD0.9260.9050.9680.925
DNN⁃TWD0.9300.9120.9550.936

新窗口打开| 下载CSV


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

表4   不同分类模型的实验结果对比

Table 4  Experimental results of different classification models

ACCDRFPRPRF1
DBN⁃TWD0.9560.9350.0500.9540.946
DBN⁃RF0.9270.8580.0420.0910.086
DBN⁃KNN0.9250.9100.0450.9670.934
DBN⁃SVM0.8460.7670.0510.9530.859
DBN⁃BYS0.8060.7200.0610.9430.822

新窗口打开| 下载CSV


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

图4

图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得分上表现较优,尤其是检出率,远高于其他方法;虽然在精确率和误报率方面存在不足,但整体表现还是优于其他算法.

表5   不同算法的实验结果对比

Table 5  Experimental results of different algorithms

ACCDRFPRPRF1
DBN⁃TWD0.9560.9350.0500.9540.946
LDA⁃ELM0.9300.8980.0490.9180.881
SNADE0.9250.8580.0310.9470.902
SSL0.9270.9070.0490.9650.935
HAST⁃IDS0.9360.9220.0370.9120.903

新窗口打开| 下载CSV


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

图5

图5   不同算法的ROC曲线对比图

Fig.5   ROC curves of different algorithms


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

4 结 论

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

参考文献

Gao NGao LGao Q Let al.

An intrusion detection model based on deep belief networks

2014 2nd International Conference on Advanced Cloud and Big Data. Huangshan,ChinaIEEE2014247-252.

[本文引用: 1]

Qian Y YLi Y Z.

An intrusion detection algorithm based on multi⁃label learning

2014 IEEE Workshop on Electronics,Computer and Applications. Ottawa,CanadaIEEE2014602-605.

[本文引用: 1]

Nespoli PPapamartzivanos DMármol F Get al.

Optimal countermeasures selection against cyber attacks:a comprehensive survey on reaction frameworks

IEEE Communications Surveys & Tutorials,201720(2):1361-1396.

[本文引用: 1]

Hamid YJournaux LLee J Aet al.

A novel method for network intrusion detection based on nonlinear SNE and SVM

International Journal of Artificial Intelligence and Soft Computing,20186(4):265.

[本文引用: 1]

Aburomman A AReaz M B I.

A novel SVM⁃kNN⁃PSO ensemble method for intrusion detection system

Applied Soft Computing,201538360-372.

[本文引用: 1]

Masarat SSharifian STaheri H.

Modified parallel random forest for intrusion detection systems

The Journal of Supercomputing,201672(6):2235-2258.

[本文引用: 1]

Li L JYu YBai S Set al.

An effective two⁃step intrusion detection approach based on binary classification and k⁃NN

IEEE Access,2018612060-12073.

[本文引用: 1]

Zhao G ZZhang C XZheng L J.

Intrusion detection using deep belief network and probabilistic neural network

2017 IEEE International Conference on Computational Science and Engineering and IEEE International Conference on Embedded and Ubiquitous Computing. Guangzhou,ChinaIEEE2017.

[本文引用: 1]

Hinton GOsindero STeh Y W.

A fast learning algorithm for deep belief nets

Neural Computation,200618(7):1527-1554.

[本文引用: 1]

Hinton G ESalakhutdinov R R.

Reducing the dimensionality of data with neural networks

Science,2006313(5786):504-507.

[本文引用: 1]

Hinton G E.

Training products of experts by minimizing contrastive divergence

Neural Computation,200214(8):1771-1800.

[本文引用: 1]

Nauman MAzam NYao J T.

A three⁃way decision making approach to malware analysis using probabilistic rough sets

Information Sciences,2016374193-209.

[本文引用: 1]

Maldonado SPeters GWeber R.

Credit scoring using three⁃way decisions with probabilistic rough sets

Information Sciences,2020507700-714.

[本文引用: 1]

Shilpa LSini JBhupendra V.

Feature reduction using principal component analysis for effective anomaly–based intrusion detection on NSL⁃KDD

International Journal of Engineering Science and Technology20102(6):1790-1799.

[本文引用: 1]

Zheng D HHong ZWang Net al.

An improved LDA⁃based ELM classification for intrusion detection algorithm in IoT application

Sensors,202020(6):1706.

[本文引用: 1]

王声柱李永忠.

基于深度学习和半监督学习的入侵检测算法

信息技术,2017(1):101-104108.

[本文引用: 1]

Wang S ZLi Y Z.

Intrusion detection algorithm based on deep learning and semi⁃supervised learning

Information Technology2017(1):101-104108.

[本文引用: 1]

Shone NNgoc T NPhai V Det al.

A deep learning approach to network intrusion detection

IEEE Transactions on Emerging Topics in Computational Intelligence,20182(1):41-50.

[本文引用: 1]

Wang WSheng Y QWang J Let al.

HAST⁃IDS:learning hierarchical spatial⁃temporal features using deep neural networks to improve intrusion detection

IEEE Access,201861792-1806.

[本文引用: 1]

/