基于深度学习的网络入侵防御技术研究

2020-12-23 06:57周路明郑明才
微型电脑应用 2020年11期
关键词:入侵检测神经网络深度学习

周路明 郑明才

摘 要:随着互联网技术的快速发展,网络用户的数量激增,仅在国内就有着接近一半人口的用户。如此大规模的网络给网络攻击者带来了巨大的潜在利益,也给网络入侵的防御提出了更高的要求。传统的网络防御手段因其仅能针对特定的网络入侵行为进行甄别,无法智能化、动态化的应对复杂的网络入侵行为已经逐渐难以满足当下需求。因此,针对网络入侵防御的问题,提出了一种基于深度学习的入侵检测手段,并阐述了入侵防御系统的设计方法。首先,介绍了目前网络入侵防御所面临的严峻形势;其次,阐述了网络入侵检测与网络入侵防御中的框架性问题;再次,详细阐述了基于深度学习的入侵检测算法的设计方法,并阐述了入侵防御设计的要点,最后,入侵检测算法的有效性和准确性通过仿真进行了验证。仿真结果表明所设计的算法能够对复杂的入侵数据具有较高的威胁检测准确度,测试数据集对按照公式计算最终测得的检测率为95.22%和误报率为0.67%。

关键词:入侵防御;深度学习;神经网络;入侵检测

中图分类号:TP242.3

文献标志码:A

文章编号:1007-757X(2020)11-0093-05

Abstract:With the rapid development of Internet technologies, the number of network users has increased rapidly. In China, there are nearly half of the population of users. Such a large scale network has brought huge potential benefits to network attackers, and puts forward higher requirements for the defense of network intrusion. Traditional network defense means can only screen specific network intrusions and cannot deal with complex network intrusions intelligently and dynamically. Therefore, it is increasingly difficult to meet current needs. Aiming at the problem of network intrusion prevention, this paper proposes an intrusion detection method based on deep learning, and expounds the design method of intrusion prevention system. Firstly, the paper introduces the severe situation of network intrusion prevention. Secondly, the framework of network intrusion detection and network intrusion prevention is discussed. Thirdly, the design method of intrusion detection algorithm based on deep learning is elaborately explained, and the key points of intrusion prevention design are expounded. Finally, the effectiveness and accuracy of intrusion detection algorithm are verified through the simulation. Simulation results show that the proposed algorithm has a high threat detection accuracy for complex intrusion data, and the detection rate of the test data set calculated according to the formula is 95.22% and the false alarm rate is 0.67%.

Key words:intrusion prevention;deep learning;neural networks;intrusion detection

0 引言

2000年以后,我國的互联网技术在政策支持以及实际需求的双重助推下迎来了发展的高峰。物联网、大数据以及云计算等网络技术随之出现,通过技术变革的力量改善着人民大众的生产生活,有效提高社会资源的利用效率[1]。互联网的优势来自于其互联性与开放性,以网络服务为核心将现有的社会资源进行优化配置[2]。但任何的开放均有着一定程度的数据安全威胁,互联网更是因其海量的数据吞吐和服务人群的庞大而时刻收到巨大的安全威胁,这也给网络安全的维护提出了前所未有的挑战[3]。

按照国家互联网信息中心的不完全数据统计,截至2018年中期中国网民数量已经超过了6.6亿,从2014年至2018年每年以约2~3千万的数量稳步增长[4]。网络已经几乎深入到每个家庭中,随着用户体量的增长,虽然增速的百分比有所放缓,但巨大的增量仍然不容小视[5]。我国近年来互联网用户规模的发展趋势,如图1所示。

网络威胁也随着互联网技术的横向扩展而上升到了前所未有的高度。传统手段对于现今的网络安全防护已经显得过于落后,应对网络入侵力不从心。因此如何通过智能手段检测网络威胁入侵,针对性的进行防御已经成为了当前网络安全领域的重中之重。

1 网络入侵防御系统

1.1 网络入侵检测

入侵检测系统检测数据,并通知用户可能的入侵行为,但仅凭此并未能对网络提供有效封锁和保护。传统的入侵检测和防火墙只能区分特定的行为,由于入侵行为是隐蔽的、迂回的,靠传统的保护措施很难保证网络的安全。入侵防御系统基于入侵检测技术,是入侵检测技术的改进。入侵防御系统使用直接串行访问网络,通过串行连接有效监测所有实时数据。防止入侵通过端口控制网络数据,如果发现入侵,可以使用防火墙等防御机制来保护网络的信息安全。因此,入侵防御技术不仅可以检测入侵行为,还可以在最短时间内封锁入侵行为,并及时地、动态地强化本地的检测策略。入侵防御技术创造了一个深层系统,可以实现对于入侵行为的动态智能防护。入侵防御系统尽管效果良好但是也会给网络的使用带来一些负面影响:由于所有的网络数据均需要经过入侵防御系统的筛查,所以网络负荷会一定程度上增加,网络延时、数据传输性能等均会因此而有所劣化,但这与网络发生大规模安全事故所带来的损失相比是完全可以接受的。

检测入侵是防止入侵的基础。网络数据收集和分析透析了网络攻击的行为。针对不同类型入侵检测相应的检测方法,如图2所示。

1.2 入侵检测与入侵防御

入侵检测系统的目标是确保网络安全。入侵防御系统是在发现入侵时产生作用的。它们之间有不同的连接和处理策略[6-8]。

(1) 连接的方法:入侵检测系统以并行的方式连接到网络,入侵防御系统以串行的方式连接到网络,二者协同提供网络数据的检测和威胁防御。

(2) 处理机制:入侵检测系统报告被发现的入侵,并交由网络管理员处理。入侵防御系统可以在发现入侵后积极提供保护、并对防护的机制和水平进行动态调整。

(3) 系统响应的及时性:由于入侵检测系统与网络并行连接,其检测存在一定的时滞,这也是为了尽量保障网络数据传输的质量和速度。而防御系统必须在检测到入侵威胁后的第一时间对目标进行阻断和封锁,响应必须足够及时。

(4) 系统性能需求:入侵检测系统,对于系统所分配的性能需要较小,这是由于其仅承担对入侵行为的检测和呈报工作;入侵防御系统由于其需要对系统进行高权限的管理,所作出的响应也需要最高优先级的调度,所以需要的系统性能也极高。

2 基于深度学习的入侵检测技术

深度学习是一种模拟人脑的神经网络方法,通过这种方法可在一定程度上再现人类对问题的思考和学习过程[9]。作为一种多层次的机器学习方法,深度学习通过学习逐渐实现对于问题真实情况的逼近,进而发现问题内在的运行机制。其脱胎于人工神经网络,是对于传统神经网络的一次改革。深度学习方法,对于复杂的难以直接抽象出模型的问题具有十分强大的求解能力。

2.1 深度学习概述

2.1.1 深度学习概述

深度学习方法相对于传统机器学习方法具有更多的层次,对于复杂函数拟合效果更佳。输入层、隐含层和输出层共同构成了深度学习网络,但深度学习的隐藏层数量更多[10]。其网络结构,如图3所示。

2.1.2 算法复杂度

本文算法主要考虑的是算法的时间复杂度,在时间频度中,n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。为此,我们引入时间复杂度概念[11-12]。

一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),存在一个正常数c使得f(n)*c>=T(n)恒成立。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度,简称时间复杂度。

在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为O(1),另外,在时间频度不相同时,时间复杂度有可能相同,如T(n)=n^2+3n+4与T(n)=4n^2+2n+1它们的频度不同,但时间复杂度相同,都为O(n^2)。

按数量级递增排列,常见的时间复杂度如下。

常数阶O(1),对数阶O(log2n)(以2为底n的对数,下同),线性阶O(n);

线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3),…,k次方阶O(nk)。

随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

2.2 分类器设计

聚类算法倾向于不同的类之间有足够大的差异,而同一类相似度足够高,使得分类能够泾渭分明。通过聚类算法可將样本中相似的部分划分为一个类别[12-14]。

2.2.1 Logistic回归

与一般的分类方法相比,Logistic回归在完成对样本的分类的同时,还可以提供其概率信息。{X(1),Y(1),X(2),Y(2),…,X(n),Y(n)}为一个具有标记的样本集,其中X(i)表示训练样本,Y(i)表示与X(i)对应的标签。

损失函数需要转化到规定的区间内,通过梯度下降法可以实现。参数θ可进行迭代求解。

使用梯度下降法将损失函数调整到规定范围内,如式(6)。

2.2.2 Softmax分类器

尽管Logistic回归在二分类上性能卓越,但是因为其模型设计简单,难以应对多分类的情况。采用Softmax分类器可以有效应对这一问题,其基于Logistic回归,并对模型进行了扩展。尤其是在具有互斥性的问题上的效果更加。

分类器的训练可通过梯度下降法来实现,通过对J(θ)的优化,当其满足要求后θ的调整即可完成。

2.3 入侵检测算法

深度学习方法可以应对多维度的入侵数据,通过其提取能力实现对特征的抽象。

2.3.1 基于自编码器的深度学习网络

人类在思考过程中区域内的神经元仅有一个活跃,这满足了问题的互斥性。稀疏自编码器通过模拟人类的这种思维方式利用神经元互斥的属性,降低输入层的特征维度,通过较少的隐含单元进行表征,这使得问题稀疏化。其神经网络结构,如图4所示。

基于自编码器的深度学习网络的分类向量获取需要经过多次的特征提取,需使用多个隐藏层来实现,如图5所示。

由上图5所示,X={x1,x2,x3}和Y={y1,y2}分别表征输入和输出。分类器的选择基于最后隐含层的元素,过程中通过多隐含层对输入向量进行特征的提取。

2.3.2 基于深度学习的入侵检测算法

基于深度学习的入侵检测神经网络结构模型,如图6所示。

该神经网络为多层结构,经过层层递进式的特征提取,其结果随之更加抽象化,对抽象后的特征进行分类可得出最终的分类结果,该结果就是入侵检测的结果。

特征提取流程如下。

7.微调权值矩阵和偏置向量。

因此,基于深度学习的入侵检测算法训练流程图,如图7所示。

将训练集输入到深度学习的入侵检测算法训练。计算第i个隐含层误差,调整权值矩阵,调整偏差向量,判断训练是否可以结束。是否有i+1层,参数微调,输入测试集,输出测试集经学习后的结果,输入分类器,输出测试集分类结果,最终计算检测率和误报率。

3 基于深度学习的入侵防御

3.1 入侵防御系统

作为网络安全防护的一种有效手段,网络入侵防御系统能够对网络威胁进行检测并主动启动防御机制进行阻断。通过对外部通信数据的检验,允许其中正常数据通过防火墙进入内部进行交互,阻断其中的异常数据,确保网络不会受到安全威胁。该系统的模型,如图8所示。

外部输入进入到防火墙,可以触发入侵防御系统。防御系统进行入侵防御对数据类型进行判断,如果数据正常则进入内部网络,否则将引发响应措施。

网络入侵防御系统的构建需要考虑以下两个问题。

1.能够准确鉴别网络通信数据包中的异常数以及不安全行为。

2.对于威胁的阻断要有及时的响应速度。

网络入侵防御系统的设计需要服从以下原则。

(1) 可在线部署:在线部署旨在提高实时处理的效率,防止入侵。

(2) 檢测准确性高:发现入侵是防止入侵的必要条件和基础。如果不能正确发现入侵行为或者对于非入侵行为误检测为入侵行为,则网络会受到威胁或被自身阻断,造成不可避免的损失。

(3) 可扩展性:由于网络入侵不是一成不变的,网络攻击者也会根据现有的防御手段针对性改进自己的攻击手段,因此想要对网络威胁进行有效的阻断,防御系统必须具备自我成长、自我改进的能力,能够吸纳新的入侵防御手段以形成对新形势下的威胁防御。

(4) 稳定可靠:由于网络入侵防御系统的是串行连接的,如果入侵防御系统发生故障造成中断,则会阻断正常的网络通信,不仅起不到防御威胁的作用,且会因此而造成直接的损失。

(5) 较低的学习成本:一个称职的网络入侵防御系统在完成复杂的威胁阻断操作的同时,应该对操作者提供相对简单的操作逻辑。

(6) 对威胁智能化的分级及处理能力:系统应该能够对不同危害程度、不同种类的入侵行为采取不同的处理方式,在保障网络安全的同时最大程度确保网络的正常运行。

3.2 入侵防御系统架构设计

对于网络入侵防御系统的设计通常是采用分层架构,这样做的好处是可以将防御系统的负担摊薄到每个层级中,使得系统的平均负荷控制在可接受的范围内,设计结构如图9所示。

由图9可见,外部数据通过外层防御进入到内网该,内部防御系统生成日志。系统主要由控制、通信、入侵防御和日志四大功能模块构成。来自于外网的通信数据包经过外层防御的鉴别后,通过日志记录其中的异常行为对并将其阻断到外层防御之外,对于正常数据允许其通过外网防火墙进入内网;之后,经过内层防御的鉴别后,如果其符合网络设定的安全标准则允许其进入内部工作系统最终实现与内部网络系统的交互。

4 仿真

借助入侵数据集KDD CUP99对网络进行训练,并通过仿真结果对算法相关指标的评定。该数据集中的数据具有41项属性,其中异常数据可分为以下四个类别。

(1) 非法获取权限(U2R)

U2R攻击,通常是指攻击者以一般用户身份在网络进行注册登录,通过密钥破解或系统漏洞等手段,提升自身权限,随着权限的不断提升逐渐接触到自己无权限获取的信息的行为。

(2) 远程非法访问(R2L)

R2L攻击通常是指通过异常数据包获取对要入侵的目标主机的访问权限进而进行渗透的一种方式。

(3) 拒绝服务攻击(Dos)

Dos攻击通常指通过正常数据对要入侵的服务器进行的一种打击行为,其特点是通过大量的请求引起服务器不具备足够的响应能力而崩溃,导致网络无法正常工作。

(4) 端口监视(Probe)

该类型攻击通常是通过大范围扫描某一指定地址段的主机以试探性的方式获取主机的薄弱环节,为进一步的入侵行为提高成功率。

仿真所用数据集中所包含的异常数据分布,如表1所示。

按照表1的分布比例能够进量保证仿真中所设定的条件与真实的网络入侵情况接近。

在数据集中分别按照总量的14、13、12和34作为测试数据集对按照如下公式计算检测的准确率。

检测率=准确分类数据测试数据集容量×100%

误报率按照如下公式进行测算。

误报率=误检为其他类型的数据测试数据集容量×100%

最终测得的检测率和误报率,如表2所示。

从表2的仿真结果可知,随着所用数据集的容量提升,算法的准确性随之提升,在第2~4组数据集的仿真结果已经可以满足网络入侵检测的需要,第一组数据的检测率较低是由于数据集的容量过小导致网络无法得到充分的训练。

5 总结

本文针对网络入侵的防御问题,针对现有的防御体系无法有效应对复杂的入侵数据的情况,提出了一种基于深度学习的入侵检测手段。通过设计分类器和深度学习网络阐明了入侵检测算法的机制,阐述了入侵防御系统设计的要点。仿真结果表明该方法能够有效地对入侵数据进行准确检测,该方法具有一定的实际应用价值。

参考文献

[1] 梁建营. 基于Snort的网络入侵防御探究[J]. 网络空间安全, 2015, 6(2):37-38.

[2] 崔玉礼. 基于认知网络入侵防御系统的分析与构建[J]. 山东农业工程学院学报, 2016, 33(8):148-149.

[3] 张宁熙. 智能神经网络入侵防御系统研究与设计[C].广西:南宁,广西计算机学会学术年会, 2015.

[4] 邹洪, 龙震岳, 陈力. 混合无线网络区域的入侵主动防御模型仿真[J]. 計算机仿真, 2016, 33(1):280-283.

[5] 李艺颖, 邓皓文, 王思齐, 等. 基于机器学习和NetFPGA的智能高速入侵防御系统[J]. 信息网络安全, 2014(2):12-19.

[6] 张玉清, 董颖, 柳彩云, 等. 深度学习应用于网络空间安全的现状、趋势与展望[J]. 计算机研究与发展, 2018, 5(6):3-28.

[7] 丁顺莺. 基于深度学习的大数据网络安全防御模式研究[J]. 信息与电脑, 2018(17):194-195.

[8] 王凯, 陈立云, 李昊鹏. 网站指纹攻击与防御技术研究综述[J]. 飞航导弹, 2019, 411(3):83-87.

[9] 孙惠丽, 陈维华, 刘东朝. 基于深度学习的改进贝叶斯网络入侵检测算法[J]. 软件工程, 2019, 22(4):20-24.

[10] 李春林, 黄月江, 王宏, 等. 一种基于深度学习的网络入侵检测方法[J]. 信息安全与通信保密, 2014(10):68-71.

[11] 王贵喜. 基于深度学习的支持向量机的信息安全检测和预警研究[J]. 微型电脑应用, 2018, 34(6):39-42.

[12] 闫春江, 王闯, 方华林, 等. 基于深度学习的输电线路工程车辆入侵检测[J]. 信息技术, 2018, 42(7):36-41.

[13] 温明莉, 赵轩, 蔡梦倩. 基于深度学习的端到端验证码识别[J]. 无线互联科技, 2017(14):85-86.

[14] 管廷昭. 持续攻击下智能网络入侵主动防御系统设计[J]. 电子设计工程, 2018, 26(18):50-54.

(收稿日期:2019.09.12)

猜你喜欢
入侵检测神经网络深度学习
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
基于自适应神经网络的电网稳定性预测
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现