◆刘彪 郎彦 胡菁芸
深度学习在网络入侵检测中的应用
◆刘彪 郎彦 胡菁芸
(西藏民族大学 陕西 712082)
随着深度学习技术的发展,其目前已经在网络入侵检测领域展现出独特的优势,本文对深度学习在网络入侵检测中的应用进行了综述,首先介绍一些主流深度学习算法,然后结合前人的一些研究分析每种深度学习算法在网络入侵检测中的利弊,最后对基于深度学习的网络入侵检测技术的一些问题进行讨论,希望给该领域的研究人员提供一些有益的思考。
网络空间安全;入侵检测;机器学习;深度学习
现如今,网络已经成为人类生活的必需品,网络不仅支撑着人们的社交与娱乐,也在诸如医疗、交通、金融甚至军事等方面有着广泛应用,随着网络在社会国家与人民的生活中扮演的角色越来越重要,网络安全也逐渐成为国家安全的关键,习近平总书记提出“没有网络安全就没有国家安全,就没有经济社会稳定运行,广大人民群众利益也难以得到保障。”因此如何有效应对网络入侵行为现已成为亟须解决的问题。本文将对现如今主流的网络入侵检测技术进行总结梳理与分析,归纳总结当前各种入侵检测技术的优劣,并对网络入侵检测技术的发展提出相关方向与思路。
入侵检测系统[1]可以被定义为对计算机和网络资源的恶意使用行为进行识别和相应处理的系统。目前的检测技术主要分为两大类:基于误用的入侵检测和基于异常的入侵检测。其中基于异常的入侵检测主要是基于传统机器学习的检测技术和基于深度学习的检测技术。随着网络规模的增大和网络入侵技术的发展,网络数据的复杂性和特征性也在不断增加,基于机器学习的浅层学习的检测技术就显得有些捉襟见肘了。因此本文主要结合Hinton教授提出的深度学习理论谈谈网络入侵检测技术。
自动编码器(Auto-Encoder,AE)[2]是一种基于深度学习的无监督学习算法,它可以自动学习数据的有效特征,重构输入并将输入数据进行有效编码,基本的自编码器模型是一个简单的三层神经网络结构:输入层、隐藏层和输出层。其中输入层和输出层具有相同的维数。AE神经网络由编码器与解码器两部分组成,编码器通过编码函数将输入的m维数据x压缩成n维变量z,n维远远小于m维,即编码器可以将数据压缩成维度较低的潜在空间表征。而解码器通过解码函数将n维变量z转换成m维拟合数据。文献[3]在基于AE的基础上结合残差网络建立了一种新的网络入侵检测方法,使用KDD Cup99数据集进行训练和测试,实验结果表明在准确率、真正率和误报率方面表现较好,这有效解决了传统方法检测准确率低的问题。文献[4]将AE与卷积神经网络相结合,先用正常流量和攻击流量对两个独立的自动编码器进行训练,然后使用一维的卷积神经网络对多通道的数据进行学习和处理,最后经过实验验证,在多个数据集总有良好的表现。
受限玻尔兹曼机(RestrictedBoltzmannMachine,RBM)来源于玻尔兹曼机(BoltzmannMachine,BM),BM 是由Hinton 在 1986 年提出的一种基于统计力学和能量模型的随机神经网络[5]。为了解决BM训练时间过长问题,Hinton提出了RBM的概念。RBM包含可见层和隐藏层,网络结构具有层内无连接、层间全连接[6]的特点。RBM可以从复杂的数据集中提取到相对独立的特征信息,因此常被研究人员应用于网络入侵检测的研究中。
深度信念网络(Deep Belief Networks,DBN)是由若干层无监督的RBM网络和一层有监督的BP神经网络构成的一种深层神经网络。DBN的学习过程分两个阶段完成,预训练和微调,预训练阶段,前若干层无监督的RBM采用无监督的训练方式对数据进行预训练,微调阶段,预训练结果作为顶层BP网络的输入,BP网络采取有监督的学习方式对预训练阶段初始化的模型参数进行调优。因此,实际上RBM层可以认为是对顶层BP网络的初始化,以避免BP完了因随机初始化参数而陷入局部最优和训练时间长的缺点[7]。文献[8]提出了一种基于优化数据处理的DBN模型的入侵检测方法,其将经过概率质量函数编码和MaxMin归一化处理的数据应用于DBN模型中,并通过单参数变化和交叉验证的方式选择相对最优的DBN结构对未知攻击类型进行检测。
循环神经网络(Recurrent Neural Network,RNN)对具有序列特征的数据非常有效[9],它能挖掘数据中的时序信息以及语义信息,基于RNN的这种能力,它被广泛应用于序列相关的入侵检测问题中。文献[10]提出了一种基于联邦学习和循环神经网络的无线网络入侵检测模型,它采用循环RNN来构建入侵检测识别模型,并且引入了联邦学习方法来保护用户隐私和解决数据孤岛问题,在能够缩短耗时的情况下达到了一定的准确率。
卷积神经网络(Convolutional Neural Networks,CNN)基于卷积数学模型,与传统的神经网络算法不同,其增加了反馈学习机制,拥有多个网络层次,包括卷积层、池化层和全连接层,能够有效地增加审计网络的训练和学习深度,以便能够提高训练的准确度,灵活的调整CNN的输出参数[11]。文献[12]提出了一种基于增量式卷积神经网络的入侵检测方法,通过多核卷积神经网络对网络流量进行局部特征的提取与融合,降低了网络流量数据维度高以及结构复杂对入侵检测准确率的影响;通过将深度学习算法与增量学习结合起来,提高了入侵检测模型对新增网络流量的自适应性。
基于深度学习的网络入侵检测技术能够有效处理大规模的网络流量数据,将深度学习应用到网络入侵检测系统中,可以有效提升系统的检测效率,也使得系统的检测性能更加稳定。基于深度学习的网络入侵技术多种多样,不同的深度学习技术分别解决了不同的问题。AE解决了传统的降维方法难以捕获数据中的非线性信息的问题,并且在特征降维与特征提取方面表现良好,但是其模型评估指标过于单一,入侵检测时误差较高;随着网络流量的不断增长,入侵检测系统受到高纬度入侵数据和复杂攻击类型的影响,越来越难以检测,DBN的出现解决了这一问题,但是深度信念网络不能够列出检测率,误报率等信息的具体数值;RNN以序列数据为输入,能够挖掘出数据中的时序信息和语义信息,在序列相关的入侵检测问题中有较好的表现,但是其训练代价很大,训练成本过高;CNN具有良好的泛化能力,可以适应于多种分类任务,在入侵检测和分类的过程中,它能够很好获取数据的空间特征,但是该方法在模型训练的过程中收敛速度不理想,导致真正率较低、误报率较高。将各种深度学习算法应用于网络入侵检测时,没有哪个具体的算法是最合适的,多数情况下需要根据算法本身的优缺点和网络环境的特点来进行选择。
本文对深度学习算法在网络入侵检测中的应用做了综述,简单介绍了几种在网络入侵检测中常用的深度学习算法,并对每种算法在网络入侵检测中的应用做了举例。不过在网络入侵检测中并不存在最有效的方法,并且很多时候由于系统要检测的攻击类型的多样性与复杂性,需要多种深度学习算法搭配共同完成分类检测任务。基于深度学习的网络入侵检测方法目前依然面临很多问题,距离商用依然有很远的路要走,比如:1)模型优化问题,在模型训练时经常会遇到梯度爆炸、局部最优、梯度消失的问题;2)训练速度、以及计算存储的问题,深度学习算法对计算机的CPU及GPU要求比较高;3)实时检测问题,这也是影响基于深度学习的网络入侵检测系统是否能够商业化的重大原因,目前网络数据不断增加,也越来越复杂,将深度学习方法用于实时的网络入侵检测将面临巨大的挑战。
[1]蹇诗婕,卢志刚,杜丹,等.网络入侵检测技术综述[J].信息安全学报,2020,5(04):96-122.
[2]邓俊锋,张晓龙.基于自动编码器组合的深度学习优化方法[J].计算机应用,2016,36(03):697-702.
[3]周珮,周志平,王利,等.基于AutoEncoder和ResNet的网络入侵检测方法[J].计算机应用研究,2020,37(S2):224-226.
[4]杨杰,唐亚纯,谭道军,等.多通道自编码器深度学习的入侵检测方法[J].计算机科学与探索,2020,14(12):2050-2060.
[5]刘建伟,刘媛,罗雄麟.玻尔兹曼机研究进展[J].计算机研究与发展,2014,51(01):1-16.
[6]张健,丁世飞,张楠,等.受限玻尔兹曼机研究综述[J].软件学报,2019,30(07):2073-2090.
[7]王功明,乔俊飞,关丽娜,等.深度信念网络研究现状与展望[J].自动化学报,2021,47(01):35-49.
[8]陈虹,万广雪,肖振久.基于优化数据处理的深度信念网络模型的入侵检测方法[J].计算机应用,2017,37(06):1636-1643+1656.
[9]杨丽,吴雨茜,王俊丽,等.循环神经网络研究综述[J].计算机应用,2018,38(S2):1-6+26.
[10]张启宁,赵英,陈俊君,等. 基于联邦学习和循环神经网络的无线网络入侵检测研究[A]. 中国计算机用户协会网络应用分会.中国计算机用户协会网络应用分会2020年第二十四届网络新技术与应用年会论文集[C].中国计算机用户协会网络应用分会:北京联合大学北京市信息服务工程重点实验室,2020:4.
[11]周飞燕,金林鹏,董军.卷积神经网络研究综述[J].计算机学报,2017,40(06):1229-1251.
[12]肖珂,刘天一,孙晓燕,等.基于增量式卷积神经网络的入侵检测方法[J].计算机应用,2020,40(S2):73-79.