本发明涉及入侵检测,尤其涉及基于并行自编码器与权重丢弃的网络入侵检测方法及系统。
背景技术:
1、随着文件共享,移动支付和即时通信等新的互联网技术的出现,当前网络安全环境变得越来越复杂多变,与此同时,网络攻击者变得更加隐匿,攻击成本进一步降低,所有这些因素都严重威胁着网络安全环境;
2、为了抵御网络中的恶意流量攻击,入侵检测技术得到了快速的发展,入侵检测作为一道网络屏障可以很好的检测出恶意流量,但是随着网络攻击手段的日益丰富以及网络流量的急剧增多,入侵检测系统的检测器需要不断更新,这也对入侵检测系统的检测率和误报率提出了更高的要求,随着机器学习的不断发展与广泛运用,基于机器学习模型的入侵检测系统在性能上得到了大幅提升,机器学习模型较强的特征自动提取能力能够很好应对大量的网络流量以及多样的网络攻击,更重要的是,深度学习作为一种更先进的机器学习方法,在复杂网络环境下的入侵检测系统中得到了很好的运用,它能够自动提取高维网络流量数据中的特征,记录恶意流量的特点并进行识别,由于网络流量基于时间序列的特点,rnn能够具有更强的检测恶意流量能力,尽管rnn存在梯度爆炸和梯度消失的缺点,但随着rnn的不断发展出现了更多性能更好的模型,如门控循环单元(gru)、长短期记忆网络(lstm),这些模型在入侵检测的模型上得到了很好的运用,但网络仍然存在容易过拟合的风险。为了规避这种风险,通过使用dropout技术降低过拟合的风险在现有许多循环神经网络模型中都有着广泛应用,然而,dropout是以一个概率直接丢弃神经元,由于被丢弃的神经元在下一时间步的隐藏状态和记忆状态都将被丢弃,这会导致时间序列中的信息流动被破坏,另外,自编码器作为一种无监督的神经网络模型,可以对网络流量进行非线性特征降维,提取更有效的新特征。但只使用单个自编码器对流量特征降维时只能学习到一种特征表示,可能无法捕捉到更加丰富和复杂的流量特征。
技术实现思路
1、为了解决上述技术问题,本发明的目的是提供基于并行自编码器与权重丢弃的网络入侵检测方法及系统,能够提高模型的鲁棒性并在流量特征的依赖关系不受破坏的同时减少模型过拟合的风险。
2、本发明所采用的第一技术方案是:基于并行自编码器与权重丢弃的网络入侵检测方法,包括以下步骤:
3、获取网络流量数据集并进行数据预处理,得到对应的训练集与测试集;
4、基于稀疏自编码器与深度自编码器,并引入weight-drop技术,构建paen-wdgru入侵检测模型;
5、通过训练集对paen-wdgru入侵检测模型进行迭代训练,直至达到预设的迭代阈值,输出训练后的paen-wdgru入侵检测模型;
6、将测试集输入至训练后的paen-wdgru入侵检测模型进行预测,得到预测值;
7、将预测值与网络流量数据集进行比较,获取比较结果,并根据比较结果判定所述网络流量数据集中是否包括入侵网络流量数据。
8、进一步,所述获取网络流量数据集并进行数据预处理,得到对应的训练集与测试集这一步骤,其具体包括:
9、获取网络流量数据集;
10、将网络流量数据集中的字符特征数据转换成数值,得到网络流量特征数值;
11、对网络流量特征数值进行one-hot编码,得到编码后的网络流量特征数值;
12、对编码后的网络流量特征数值进行归一化处理,得到归一化的网络流量特征数值;
13、根据预设比例对归一化的网络流量特征数值进行划分与标注处理,得到训练集与测试集。
14、进一步,所述构建paen-wdgru入侵检测模型这一步骤,其具体包括:
15、结合并行自编码器网络模型、拼接层、权重丢弃门控循环单元神经网络模型和全连接层,构建paen-wdgru入侵检测模型;
16、所述并行自编码器网络模型包括稀疏自编码器网络和深度自编码器网络,所述稀疏自编码器网络和深度自编码器网络为并行连接关系,其中,所述稀疏自编码器网络包括一个编码层,两个隐藏层和一个解码层,并在编码层的输出引入稀疏性惩罚项,所述深度自编码器网络包括多个编码层、潜在特征表示层与多个解码层;
17、所述权重丢弃门控循环单元神经网络模型包括门控循环单元的重置门、门控循环单元的更新门、引入weight-drop技术的候选隐藏层和输出层。
18、进一步,所述通过训练集对paen-wdgru入侵检测模型进行迭代训练,直至达到预设的迭代阈值,输出训练后的paen-wdgru入侵检测模型这一步骤,其具体包括:
19、将训练集输入至paen-wdgru入侵检测模型进行训练;
20、基于paen-wdgru入侵检测模型的稀疏自编码器网络和深度自编码器网络分别对训练集进行特征降维处理,得到对应降维后的训练数据集;
21、基于paen-wdgru入侵检测模型的拼接层对降维后的训练数据集进行拼接处理,得到拼接后的训练数据集;
22、基于paen-wdgru入侵检测模型的权重丢弃门控循环单元神经网络模型对拼接后的训练数据集进行特征提取处理,得到特征训练数据集;
23、基于paen-wdgru入侵检测模型的全连接层对特征训练数据集进行分类处理,得到分类结果,所述分类结果包括异常入侵流量数据与正常流量数据;
24、循环上述对paen-wdgru入侵检测模型进行训练的步骤,直至达到预设迭代训练次数,得到训练后的paen-wdgru入侵检测模型。
25、进一步,paen-wdgru入侵检测模型中深度自编码器网络对训练集进行训练的步骤,其具体包括:
26、对于深度自编码器网络的编码层使用relu函数作为激活函数;
27、对于深度自编码器网络的解码层,除最后一层解码层使用sigmoid函数外,其它解码层使用relu函数作为激活函数;
28、对于深度自编码器网络的潜在特征表示层为多个神经元数量递减的隐藏层组成,隐藏层神经元数量设置为32,使用优化器选择adam优化器来最小化深度自编码器网络的损失函数。
29、进一步,所述深度自编码器网络的损失函数的表达式为:
30、
31、上式中,xi表示真实数据,x'i表示重构后的数据,a表示输入层神经元的数量。
32、进一步,paen-wdgru入侵检测模型中稀疏自编码器网络对训练集进行训练的步骤,其具体包括:
33、对于稀疏自编码器网络的编码层,激活函数使用relu函数,解码层使用sigmoid函数,隐藏层的神经元数量设置为32;
34、对稀疏自编码器网络的编码层的输出加入稀疏性惩罚项,引入神经元的稀疏程度、神经元的期望激活水平和神经元的平均激活水平并选择adam优化器来最小化稀疏自编码器网络的损失函数。
35、进一步,所述稀疏自编码器网络的损失函数的表达式为:
36、
37、上式中,asae(a,xi,x'i)表示稀疏自编码器网络的损失函数,aae(a,xi,x'i)表示深度自编码器网络的损失函数,ε表示神经元的稀疏程度,ξ表示神经元的期望激活水平,ξj表示神经元的平均激活水平,xi表示真实数据,x'i表示重构后的数据,a和b分别表示输入层神经元和隐藏层神经元的数量。
38、进一步,所述基于paen-wdgru入侵检测模型的权重丢弃门控循环单元神经网络模型对拼接后的训练数据集进行特征提取处理,得到特征训练数据集这一步骤,其具体包括:
39、将拼接后的训练数据集输入至权重丢弃门控循环单元神经网络模型;
40、基于权重丢弃门控循环单元神经网络模型的重置门,对当前时间步骤的状态信息进行重置遗忘处理,得到重置后的数据集;
41、基于权重丢弃门控循环单元神经网络模型的更新门,控制在当前时间步骤,对重置后的数据集与当前输入信息结合起来,以更新当前时间步骤的状态信息,得到更新后的数据信息;
42、对权重丢弃门控循环单元神经网络模型的候选隐藏层的权重矩阵使用weight-drop技术,计算当前时刻的候选隐藏层状态;
43、结合更新后的数据信息与当前时刻的候选隐藏层状态,计算当前时刻的输出,得到特征训练数据集。
44、本发明所采用的第二技术方案是:基于并行自编码器与权重丢弃的网络入侵检测系统,包括:
45、预处理模块,用于获取网络流量数据集并进行数据预处理,得到对应的训练集与测试集;
46、构建模块,基于稀疏自编码器与深度自编码器,并引入weight-drop技术,构建paen-wdgru入侵检测模型;
47、训练模块,用于通过训练集对paen-wdgru入侵检测模型进行迭代训练,直至达到预设的迭代阈值,输出训练后的paen-wdgru入侵检测模型;
48、测试模块,用于将测试集输入至训练后的paen-wdgru入侵检测模型进行预测,得到预测值;
49、比较模块,用于将预测值与网络流量数据集进行比较,获取比较结果,并根据比较结果判定所述网络流量数据集中是否包括入侵网络流量数据。
50、本发明方法及系统的有益效果是:本发明获取网络流量数据集并进行数据预处理,进一步基于稀疏自编码器与深度自编码器,并引入weight-drop技术,构建paen-wdgru入侵检测模型,通过并行自编码器网络模型特征进行提取,得到更显著与更具表达能力的特征,提高模型的鲁棒性,权重丢弃门控循环单元神经网络模型是在gru的基础上对其隐藏层使用了weight-drop技术,随机丢弃权重矩阵中某行的权重,相比于dropout直接丢弃神经元,由于被丢弃的神经元在下一时间步的隐藏状态和记忆状态都将被丢弃,这会导致时间序列中的信息流动被破坏,因此,权重丢弃门控循环单元神经网络模型可以更好地减少模型过拟合的风险并提高模型的泛化能力。