基于深度信念网络和三支决策的入侵检测算法
An intrusion detection algorithm based on Deep Belief Network and Three⁃Way Decisions
通讯作者:
收稿日期: 2020-10-09 网络出版日期: 2021-03-23
| 基金资助: |
|
Received: 2020-10-09 Online: 2021-03-23
关键词:
Keywords:
本文引用格式
杜祥通, 李永忠.
Du Xiangtong, Li Yongzhong.
1 相关理论
1.1 深度信念网络
图1
作为深度信念网络的核心,受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)[11]是两层神经网络,它的两层节点分别是可见单元和隐藏单元.整个网络模型是一个二分图,其中
在DBN模型的训练过程中分别对RBM网络的每一层进行无监督训练.在将特征向量映射到不同的特征空间时尽可能地保留特征信息;在DBN的最后一层建立反向传播(Back Propagation,RP)网络,接收RBM的输出特征向量作为输入特征向量,训练监督的实体关系分类器.每一层RBM网络只保证其所在层的权值能够得到该层的特征向量的最优映射,不能保证整个DBN的特征向量映射.因此,BP网络也将误差信息自上而下地传播到各层RBM中,并对DBN网络产生微调.RBM网络训练模型的过程可以看作是深度BP网络权值参数的初始化,这使得DBN克服了BP网络因权值参数的随机初始化而陷入局部优化和训练时间长的缺点.DBN由多个RBM网络组成,每个RBM都可以作为特征提取器,因此可以利用RBM组合的DBN模型来提取高级特征.
1.2 三支决策理论
由贝叶斯准则,选择期望损失值最小的行动集作为最佳决策方案,使用
表1 决策规则(P)⁃(N)条件分布表
Table 1
Decision criterion | Conditions |
|---|---|
| (P) | |
| (B) | |
| (N) |
通过设置阈值,将样本分为正域、负域、边界域.阈值的设定由期望损失值计算得到.根据贝叶斯准则,设置两个阈值α和β:
则上文规则(P)⁃(N)可重写为:
(P1)若
(B1)若
(N1)若
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都可以作为特征提取器.
输入:训练集
输出:高维特征的低维表示
Step1.计算输出节点的实际输出
Step2.计算隐藏层元素
其中,
Step3.更新权重:
Step4.更新所有训练样本得到的相同的权值,并根据权值的更新计算新的权值.重复这些步骤,直到输出误差的方差足够小,在
Step5.在得到的微调后的模型参数
2.3 DBN⁃TWD入侵检测算法
在利用TWD理论进行分类的过程中,根据限制条件,把整个论域分为三个区域(正域、负域和边界域).在整个决策过程中,都要确定是否对当前的对象作出最终的决策,即确定该对象是属于正域或负域,或应该将不确定的对象归为边界域.
假设样本集为
DBN提取的特征中包含的相关识别信息会随着训练时间的增加而增加,从而构建多粒度的特征结构.得到的每个粒度特征集通过TWD进行分类,并根据阈值得到分类结果.对于边界域中的数据,在获得额外的信息后,将被重新评估,根据更细粒度的特征使用KNN分类器重新进行分类.在边界域内不再有样本存在之前,这个决策过程将一直持续下去.
输入:训练集
输出:入侵检测分类结果
Step1.数据预处理.
Step2.使用算法1进行特征提取.
Step3.根据决策粗糙集的思想,设置相应的决策代价的值,设置
Step4.使用三支决策理论进行分类:
使用训练集
if
else if
else:
Step5.边界域处理:对于边界域的数据,使用KNN分类器进行处理,KNN中节点相似度的计算需要使用距离度量来进行判断.本文使用欧氏距离来计算两点之间的距离,使用交叉验证来确定K的值,再将边界域中的数据进行二分类.
Step6.当边界域 BND 为空时输出分类结果.
3 实验分析
3.1 数据集
表2 数据集分布
Table 2
| 类别 | Normal | DOS | Probing | R2L | U2R |
|---|---|---|---|---|---|
| 训练集 | 12556 | 9072 | 2158 | 188 | 12 |
| 测试集 | 9855 | 7268 | 1886 | 2554 | 200 |
3.2 数据预处理及评判指标
对NSL⁃KDD数据集进行预处理,将其中数值型的数据转化为字符型.采用标准化方法对训练集和测试集进行标准化,使用Min⁃Max标准化进行处理:
其中,
选用准确率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进行特征提取,构建多粒度特征空间,在去除冗余特征后,将输出层的数据作为重构数据,使得重构数据与原始数据有相同的维度.均方误差计算公式如
其中,
图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,最大允许误差
表3 不同特征提取模型的实验结果对比
Table 3
| ACC | DR | PR | F1 | |
|---|---|---|---|---|
| DBN⁃TWD | 0.932 | 0.938 | 0.963 | 0.948 |
| PCA⁃TWD | 0.913 | 0.865 | 0.921 | 0.909 |
| ICA⁃TWD | 0.926 | 0.905 | 0.968 | 0.925 |
| DNN⁃TWD | 0.930 | 0.912 | 0.955 | 0.936 |
随后选择支持向量机(SVM)、K近邻(KNN)、随机森林(RF)和贝叶斯模型(BYS)作为基于TWD的分类方法的对比模型,此时仍然使用DBN进行特征提取.在数据集上进行实验,实验结果如表4所示.可以看出,DBN⁃TWD在准确率、检出率以及F1得分上优于其他算法,虽然在误报率和精确率上略有不足,但综合性能优于其他分类算法.在引入边界域后,避免了一些不确定数据被误分类的风险,大大提高了入侵检测的准确性,因此,基于TWD理论的入侵检测方法优于传统的基于二支决策的方法.
表4 不同分类模型的实验结果对比
Table 4
| ACC | DR | FPR | PR | F1 | |
|---|---|---|---|---|---|
| DBN⁃TWD | 0.956 | 0.935 | 0.050 | 0.954 | 0.946 |
| DBN⁃RF | 0.927 | 0.858 | 0.042 | 0.091 | 0.086 |
| DBN⁃KNN | 0.925 | 0.910 | 0.045 | 0.967 | 0.934 |
| DBN⁃SVM | 0.846 | 0.767 | 0.051 | 0.953 | 0.859 |
| DBN⁃BYS | 0.806 | 0.720 | 0.061 | 0.943 | 0.822 |
图4是不同方法的ROC(Receiver Operating Characteristic)曲线对比图.ROC曲线通过图形化方法将敏感性和特异性结合起来,能够准确地反映一种分析方法的特异性和敏感性之间的关系,是检验准确度的综合代表,曲线下的面积可用于评价诊断准确性.由图可知,DBN⁃TWD模型的曲线下的面积最大,证明DBN⁃TWD模型的综合表现更好.
图4
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
| ACC | DR | FPR | PR | F1 | |
|---|---|---|---|---|---|
| DBN⁃TWD | 0.956 | 0.935 | 0.050 | 0.954 | 0.946 |
| LDA⁃ELM | 0.930 | 0.898 | 0.049 | 0.918 | 0.881 |
| SNADE | 0.925 | 0.858 | 0.031 | 0.947 | 0.902 |
| SSL | 0.927 | 0.907 | 0.049 | 0.965 | 0.935 |
| HAST⁃IDS | 0.936 | 0.922 | 0.037 | 0.912 | 0.903 |
以上不同算法的ROC曲线对比图如图5所示.可以看出,提出的DBN⁃TWD方法曲线更接近1,并且DBN⁃TWD曲线完全覆盖了其他方法的ROC曲线,说明DBN⁃TWD入侵检测方法具有更好的性能.
图5
综合实验一和实验二可知,使用DBN进行特征提取后再使用TWD进行入侵检测分类,与直接使用DNN或DBN进行端到端的训练求解相比,优势在于先进行特征提取,构建一个多粒度的特征空间;与直接使用深度学习的特征空间相比,多次提取的特征能更深层次地表达原始数据;使用TWD,与直接使用深度学习的分类器相比,TWD避免了特征不足或数据不充分而导致的数据被误分类的风险,基于更细粒度的特征空间进行分类,提高了分类的准确率.
4 结 论
本文提出一种基于DBN和TWD的入侵检测方法.使用DBN从训练样本中提取特征,构建多粒度特征空间;利用TWD,根据设置阈值对正域和负域中的数据进行分类.对于边界域中的数据,使用KNN分类器基于多粒度特征空间重新对数据进行分类.本文提出的算法模型提高了入侵检测的性能.在未来的工作中,将从特征解耦和入侵防御入手,尽量多保留权重大的特征,减少权重较小的特征,进一步提高检测的效率,构建入侵防御模型,保障网络的安全.
参考文献
An intrusion detection model based on deep belief networks
∥
An intrusion detection algorithm based on multi⁃label learning
∥
Optimal countermeasures selection against cyber attacks:a comprehensive survey on reaction frameworks
A novel method for network intrusion detection based on nonlinear SNE and SVM
A novel SVM⁃kNN⁃PSO ensemble method for intrusion detection system
Modified parallel random forest for intrusion detection systems
An effective two⁃step intrusion detection approach based on binary classification and k⁃NN
Intrusion detection using deep belief network and probabilistic neural network
∥
A fast learning algorithm for deep belief nets
Reducing the dimensionality of data with neural networks
Training products of experts by minimizing contrastive divergence
A three⁃way decision making approach to malware analysis using probabilistic rough sets
Credit scoring using three⁃way decisions with probabilistic rough sets
Feature reduction using principal component analysis for effective anomaly–based intrusion detection on NSL⁃KDD
An improved LDA⁃based ELM classification for intrusion detection algorithm in IoT application
基于深度学习和半监督学习的入侵检测算法
Intrusion detection algorithm based on deep learning and semi⁃supervised learning
A deep learning approach to network intrusion detection
HAST⁃IDS:learning hierarchical spatial⁃temporal features using deep neural networks to improve intrusion detection
/
| 〈 |
|
〉 |

