PCA-LSTM在网络入侵检测中的应用
2020-06-23张宝华赵莹
张宝华 赵莹
摘要:近年来,随着互联网技术的持续发展,人们在依赖于网络所带来的极大方便的同时,也面临着各种各样的安全威胁。入侵检测系统是网络安全防护的重要工具,它能够实时监测网络环境,识别网络漏洞。长短期记忆神经网络是一种经典的深度学习方法,它能够有效解决梯度消失和梯度爆炸问题。本文将LSTM算法用于入侵检测,提出了基于PCA-LSTM的入侵检测模型,经过仿真模拟实验证明,该模型具有良好的入侵检测性能。
Abstract: In recent years, with the continuous development of internet technology, people are facing a variety of security threats while relying on the great convenience brought by the network. Intrusion detection system is an important tool of network security protection. It can monitor network environment in real time and identify network vulnerabilities. Long short-term memory neural network is a classical deep learning method, which can effectively solve the problem of gradient disappearance and gradient explosion. This paper proposes an intrusion detection model based on PCA and LSTM. The simulation experiment of intrusion detection shows that the model has good performance of intrusion detection.
关键词:入侵检测;深度学习;主成分分析;长短期记忆神经网络
Key words: intrusion detection;deep learning;PCA;LSTM
中图分类号:TP309 文献标识码:A 文章编号:1006-4311(2020)15-0259-04
0 引言
随着互联网技术的持续发展,人们在依赖于网络所带来的极大方便的同时,也面临着各种各样的安全威胁。网络入侵检测系统是一种主动的网络安全防御工具,它能够对网络环境中的关键节点进行即时的监控和分析,检测网络系统中是否存在被攻击的迹象或者是否存在违反安全策略的行为,并对该行为做出相应处理[1][2]。为了有效提高入侵检测系统在网络环境中的检测性能,许多研究者将机器学习技术运用到智能检测系统的研发中,例如支持向量机、朴素贝叶斯、随机森林、人工神经网络等。
深度学习是机器学习的一种,它的概念源于人工神经网络的研究,而它的结构实际上是含有多个隐藏层的多层感知器。长短期记忆神经网络(LSTM)是一种特殊的循环神经网络,也是经典的深度学习方法之一,它能够有效地解决数据训练时出现的梯度消失和梯度爆炸问题[3]。
本文提出了一種基于PCA-LSTM的网络入侵检测模型,对其在仿真模拟环境中进行实验,并将其结果与经典机器学习方法进行比较,结果表明PCA-LSTM模型优于其他方法。
1 相关工作
1.1 主成分分析(Principal Component Analysis,PCA)
主成分分析是一种经典的统计学方法,它能够在保留数据重要信息的前提下,对数据集进行降维处理,去除冗余信息。该方法借助正交变换,将其分量相关的原随机变量转化成其分量不相关的新随机变量,这在代数上表现为将原随机变量的协方差矩阵变换成对角形矩阵;在几何上表现为将原坐标系变换成新的正交坐标系,使之指向样本散布最开的n个正交方向,然后对多维变量系统进行降维处理,使之能以一个较高的精度转换成低维变量系统[4]。
1.2 长短期记忆神经网络(Long Short-Term Memory,LSTM)
长短期记忆神经网络是一种特殊的循环神经网络,它适合于处理和预测时间序列中间隔和延迟非常长的重要事件。LSTM延续了循环神经网络(Recurrent Neural Network,RNN)的连续结构,如图1所示。
它在RNN模型中的隐层增加了三个门(遗忘门、输入门、输出门)和一个单元状态更新,使其具有变化的自循环权重,故此当模型参数不变时,在不同的时间节点上,可以得到动态改变的积分尺度,从而解决了梯度消失和梯度爆炸的问题[5]。
LSTM首先通过遗忘门决定从单元状态中去除那些信息,它读取ht-1和xt,并计算遗忘门ft的值。
然后通过输入门和单元状态决定存储哪些信息,并计算输入门It和单元状态候选值向t。
然后将旧的单元状态更新为新的单元状态Ct