论深度学习的入侵检测技术

论深度学习的入侵检测技术

摘要:传统的以防护为主的网络安全技术已经很难解决当前存在的复杂的网络安全问题,基于深度学习的入侵检测技术能够通过收集计算机网络或者主机上的若干关键点信息并对其进行分析,实时监测网络中是否有违反安全策略的行为或网络遭到袭击的现象。本文主要围绕基于深度学习的入侵检测的关键技术和流程进行阐述,介绍了基于深度学习的入侵检测算法的评价指标,并对基于深度学习的入侵检测方法进行了总结和展望。

关键词:网络安全;入侵检测;深度学习

1引言

由于攻击类型日益增多,攻击方法日益复杂,导致网络中产生的安全问题越来越严重。传统的以防火墙为主体的安全防护措施已经显得越来越力不从心,所以怎样能够更好地解决日益复杂的网络安全问题成为亟待解决的问题。入侵检测[1]是解决网络安全问题的重要工具,其目的是检测出网络是否存在潜在或恶意的攻击。1980年,JamesAnderson[2]提出了审计记录可以用于识别计算机误用操作,监测入侵检测行为。1986年,SRI的DorothyE.Denning[3]在论文中首次将入侵检测的概念作为一种计算机系统安全防御措施提出,并且建立了一个独立于系统、程序应用环境的通用入侵检测系统模型。直至20世纪九十年代,关于机器学习的入侵检测方法逐渐兴起,数据通过特征提取[4],在得到特征向量后,将其输入分类器,最终通过模型输出的分类结果判定是正常或入侵。但是传统的机器学习方法不能对网络环境下海量的入侵数据进行分类。而深度学习能够从数据中自动提取更好的特征,基于深度学习的入侵检测模型[5]成为解决当前网络安全问题主流的研究思想。

2基于深度学习的入侵检测概述

基于深度学习的入侵检测的判别行为指的是按照一定的分类标准对入侵检测的数据集进行分类标记。比如KDDCUP99[6]数据集,它共有42项特征,前41项分为4类:TCP连接的基本特征、TCP连接的内容特征、基于时间的网络流量统计特征和基于主机的网络流量统计特征。最后一位是标记特征,将攻击类型分为4类:DoS拒绝服务攻击、R2L攻击、U2R攻击和PROBEL攻击。通过基于深度学习的入侵检测模型学习对KDDCUP99数据集进行分类。基于深度学习的入侵检测从流程上可分为数据预处理、词向量化和模型的训练等过程。

3基于深度学习的入侵检测关键技术

3.1数据预处理

数据预处理包括字符型数值化、连续型数据标准化处理和数据归一化。进行字符型数值化是将字符转化为计算机识别的二进制代码;连续型数据标准化处理是防止进行模型训练时发生梯度爆炸;数据归一化是由于入侵检测的训练集和测试集中大部分属性的取值范围不同,无法取得相同的离散区间,通过归一化将标准化后的每个数值归一到[0,1]区间,通常使用公式实现。

3.2词向量

获取到的入侵检测预处理后的数据不能直接作为计算机的输入,需要转化为词向量。基于神经网络的词向量训练有两种模型,分别是连续词袋模型(ContinuousBag-of-WordModel:CBOW)和跳字模型(Continuousskip-gramModel:Skip-Gram)。CBOW是通过周围的词去预测中心词,预处理后的数据通过词向量的模型训练会得到与每个特征和标签对应的词向量,然后进行模型的训练。

3.3基于深度学习的入侵检测模型

3.3.1循环神经网络与入侵检测

循环神经网络(RecurrentNeuralNetworks:RNN)是一类用于处理序列数据的神经网络,由输入层、隐藏层、输出层组成。它的训练方式分为前向传播和反向传播。(1)前向传播公式为:T时刻输出为:其中f()为激活函数,一般选择tanh函数,b为偏置,x是输入,h是隐层单元,V、W、U是权值,σ为激活函数,在入侵检测中一般用softmax函数进行二分类。(2)反向传播采用随时间反向传播(Back-propagationThroughTime:BPTT)算法计算各个参数的梯度。由于RNN对于较长的序列无法记住以前的状态,因此引入了门控单元,它是通过设置门结构来选择性的决定是否记忆或遗忘。门控单元包括长短期记忆神经网络[7]、双向长短期记忆神经网络[8]等。

3.3.2长短期记忆神经网络与入侵检测

长短期记忆神经网络(LongShort-TermMemory,LSTM)的隐含层部分增加了遗忘门、输入门和输出门,实现了可以长期记忆的功能。遗忘门是决定记忆细胞丢弃什么东西,采用sigmoid激活函数,它介于(0,1)之间,输出用于遗忘权重的更新。公式为:输入门决定了需要新增的内容,采用sigmod激活函数。输出门决定输出什么内容,t表示当前时刻,若Ot=0则表示不输出,若Ot=1则表示输出。计算Ot的公式为:待输出的内容公式为:由于LSTM网络不能记住未来时刻的内容,只能记忆过去和当前,所以为了更好记忆,引入了双向长短期记忆的概念。

3.3.3双向长短期记忆网络和入侵检测

双向长短期记忆(Bi-directionalLongShort-TermMemory,BiLSTM)是在隐含层同一时刻设置两个记忆单元(LSTMUnit),分别按照前向和后向顺序进行记忆,最后将该时刻两个方向的输出进行拼接,拼接公式为:。通过双向长短时记忆网络可以把整个句子学习完整并且记忆,因此能更好提高模型的学习精度和准确率。

4入侵检测的其他方法

4.1迁移学习与入侵检测

迁移学习[9]在对时间序列进行分类时,首先在源数据集上训练网络,然后将学习到的特征即网络的权重转移到目标数据集上训练的第二个网络的过程。对预先训练好的模型进行微调,减小了对标注数据的依赖,模型性能预标注数据量可以不成正比。通过迁移学习能够提高深度神经网络的泛化能力。在检测网络是否被入侵时通过迁移学习的方法,可以得到更精确的结果。其中TP为被系统正确识别的正常样本;TN为被系统正确识别的攻击样本;FP为被系统错误识别为正常的攻击样本;FN为被系统错误识别为攻击的正常样本。

5结论

本文首先对获取到的入侵检测数据进行预处理,然后通过基于词嵌入技术的深度神经网络入侵检测模型对预处理后的特征和标签进行自主学习,更高效准确地判别出网络是否存在攻击,同时减少了误报率。

作者:王思敏 王恒 单位:宁夏大学信息工程学院