基于深度学习的入侵检测研究
2019-05-24魏明军杨桂芳
魏明军 杨桂芳
摘要:为提高网络异常入侵的检测效果,针对传统BP神经网络在检测速度、精度、复杂度等方面的缺陷,提出一种基于深度置信网络的入侵检测方法,该方法通过双层RBM结构降维,再用BP神经网络反向微调结构参数,以达到简化数据复杂度的目的,减少了BP神经网络的计算量。它对传统对比散度训练算法进行了改进,提出了一种改进的对比算法,提高对最优特征的选择结果。仿真实验结果表明,新的网络入侵检测方法较传统的训练算法,能够获得更好的入侵特征提取结果。因此,新的网络入侵检测方法提高了异常入侵检测的检测率,加强了网络安全。
关键词:异常入侵;深度置信网络;对比散度算法;特征提取;网络安全
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2019)04-0180-02
Abstract: In order to improve the detection effect of network intrusion, this paper proposes an intrusion detection method based on deep belief network for the defects of traditional BP neural network in terms of detection speed, accuracy and complexity. This method reduces the dimension by double-layer RBM structure. The BP neural network is used to inversely fine tune the structural parameters to simplify the data complexity and reduce the computational complexity of the BP neural network. It improves the traditional contrast divergence training algorithm. An improved contrast algorithm is proposed to improve the selection of optimal features. The simulation results show that the new network intrusion detection method can obtain better intrusion feature extraction results than the traditional training algorithm compared with DBN algorithm and BP algorithm. Therefore, the new network intrusion detection method improves the detection rate of abnormal intrusion detection and strengthens network security.
Key words: abnormal invasion; deep belief network; contrast divergence algorithm; feature extraction; network security
1 引言
虽然计算机和互联网技术的发展,给人们带来许多便利,但也带来了多种安全威胁和挑战。入侵检测技术帮助用户系统对付网络攻击,扩展了系统管理员的安全管理能力,提高了信息安全基础结构的完整性[1]。
本课题分析了当前入侵检测系统的现状以及存在的问题,设计了基于深度置信网络的异常检测入侵模型,该模型的设计可以在一定程度上提高入侵检测的效率和检测准确率,同时提高了检测效率。本课题采用KDDCUP99-10%数据集对提出的模型进行仿真分析,将讨论训练算法对最后检测率的影响。在深度学习理论高速发展的今天,基于深度置信网络的入侵检测研究是很有一定的研究价值的[2]。
2 理论分析
2.1 研究背景及意义
由于网络用户与网络资源使用频率逐年升高,诸如棱镜门、Heartbleed bug等重大安全事件频频发生给人们的生活造成严重影响。然而,入侵数据特征空间具有高维性和非线性特征,传统的神经网络学习方法和大部分机器学习方法往往在处理这方面的问题时,极易出现维度爆炸等问题。2006年,机器学习界领军人物首度提出深度学习理論[3]。将深度学习理论应用到入侵检测领域还鲜有研究。因此,开展基于深度置信网络的入侵检测技术研究具有重要的理论意义和使用价值。
2.2 入侵检测概述
入侵检测(Intrusion Detection)是对入侵行为的发觉,它通过从计算机网络或计算机系统的关键点收集信息并进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。总的来说,入侵检测的流程可以划分为四个步骤,分别是数据收集阶段、数据处理阶段、数据分析阶段、告警和响应阶段[4]。
2.3 深度学习概述
深度学习的实质,就是通过构建多个隐藏层的机器学习模型和使用大量的训练数据进行训练,得到更有用的数据特征,最终实现分类高效的分类准确率[5]。在深度学习中,所有特征数据共享同一个网络结构,这种方式更有利于提取深层次的特征和增强网络的记忆能力。
2.3.1 深度置信网络模型
深度置信网络的结构是基于深度学习理论,通过堆积多个受限玻尔兹曼机形成一个多层的深度学习结构。在最上层,设置一个BP神经网络来自顶向下监督学习,基于这个多层的结构特点,可以更容易的获得数据集的压缩编码,从而更好地得到优异的特征表达。所以深度置信网络从结构上看是由多层受限玻尔兹曼机和一层有监督的反向传播网络构成[6]。
2.3.2 受限波尔兹曼机
深度置信网络的基本组成部件是受限玻尔兹曼机(Restricted Boltzmann Machines,简称RBM)。RBM是具有两层对称结构并且无自反馈的随机神经网络模型。v为可见层,用于观察数据,h为隐藏层,w为可见层和隐藏层间权重,b为可见层节点的偏移量,c为隐藏层节点偏置量,RBM会使用这些参数将n维原始样本数据编码为一种m维的新样本[7]。这样就可以用下面函数来表示一个RBM的能量:
深度置信网络中RBM,采用的是对比散度快速学习算法。但在实际使用过程中,因受到目标样本分布陡峭程度的影响,不知道转移多少次组就足够达到对样本的近似。采用对比散度算法训练RBM模型从本质上讲已不是最大信息熵模型,所以对训练数据的似然度不高。因此对于使用对比散度算法进行RBM模型训练必然会导致模型生成能力差[8]。
综上所述,深度置信网络虽然具有较强的学习能力,但是用于训练RBM的对比散度算法存在缺陷。
3 实验方案
实验环境:Linux--ubuntu16.04系统、tensorflow深度学习平台、pandas数据分析库。
实验实现过程主要分为三个阶段:首先是数据的预处理阶段,涉及对数据集数据的数字化标准化归一化;然后是特征提取阶段,利用自适应深度置信网络算法来逐层训练RBM及BP微调,求出优化参数,最大概率的产生训练样本分布。最后阶段是利用集成学习中的XGBoost算法进行分类,从而达到提高检测率、降低误报率的目的。
本次实验是在RBM迭代次数为3,隐藏层数为3,隐藏层节点数为(80,60,30)的网络结构下,进行对比仿真实验:
4 结论
从上图检测率趋势图中可以观察到,在数据量不断增加的情况下,ADBN算法和DBN算法的检测率呈现上升趋势,BP算法的检测率虽然也在增加,但增加趋势比较缓慢,造成这种原因主要是由于BP算法采用的是浅层结构,而ADBN算法采用的是深层结构。ADBN算法较DBN在檢测率方面上年均提高4%,这是由于ADBN采用改进后的采样算法,使得对网络入侵检测数据的采样跳出局部最优,实现全局最优,从而提高算法的检测率。
参考文献:
[1] 罗守山.入侵检测[M].北京:北京邮电大学出版社,2004.
[2] 李春林,黄月江,王宏,等.一种基于深度学习的网络入侵检测方法[J].信息安全与通信保密,2014(10):68-71.
[3] 许戈静.基于机器学习方法的入侵检测技术[J].信息通信,2015(12):127-128.
[4] 赵海阳,邓京京.基于入侵检测概念、过程分析和布署的探讨[J].内江科技,2007(10).
[5] 鄢华.模糊深度学习网络算法的研究[D].哈尔滨: 哈尔滨工业大学,2012:14-25.
[6] 安琪.基于深度置信网络的入侵检测研究[D].兰州:兰州大学,2016:32-36.
[7] 陈达.基于深度学习的推荐系统研究[D].北京:北京邮电大学,2014:17-22.
[8] 张春霞,姬楠楠,王冠伟.受限波尔兹曼机[J].工程数学学报,2015,1(2):159-173.
【通联编辑:代影】