CN112668688A - 一种入侵检测方法、系统、设备及可读存储介质 - Google Patents
一种入侵检测方法、系统、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112668688A CN112668688A CN202011625202.7A CN202011625202A CN112668688A CN 112668688 A CN112668688 A CN 112668688A CN 202011625202 A CN202011625202 A CN 202011625202A CN 112668688 A CN112668688 A CN 112668688A
- Authority
- CN
- China
- Prior art keywords
- vae
- algorithm
- model
- rnn
- intrusion detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 74
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 113
- 238000012549 training Methods 0.000 claims abstract description 52
- 238000013528 artificial neural network Methods 0.000 claims abstract description 15
- 230000000306 recurrent effect Effects 0.000 claims abstract description 7
- 235000013305 food Nutrition 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 40
- 238000012360 testing method Methods 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 37
- 241000257303 Hymenoptera Species 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 235000012907 honey Nutrition 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 7
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 6
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims 1
- 230000007774 longterm Effects 0.000 abstract description 10
- 230000008034 disappearance Effects 0.000 abstract description 9
- 238000009826 distribution Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 10
- 238000005457 optimization Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000000739 chaotic effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 102100021283 1-aminocyclopropane-1-carboxylate synthase-like protein 1 Human genes 0.000 description 1
- 101000675558 Homo sapiens 1-aminocyclopropane-1-carboxylate synthase-like protein 1 Proteins 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 241000764238 Isis Species 0.000 description 1
- 241000596871 Ixia Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种入侵检测方法、系统、设备及可读存储介质,提出了一种变分自编码器VAE和循环神经网络RNN联合训练的入侵检测算法(VAE_AWRNN),由于RNN在时间轴上会出现“梯度消失”和长时依赖等问题,所以提出了基于窗口的RNN模型,使其存储之前时刻的所有信息,有效解决“梯度消失”和长时依赖等问题。同时,提出人工蜂群算法对RNN窗口数量进行优化。有效解决了经典入侵检测系统的低检测率和高误报率的问题。
Description
技术领域
本申请实施例涉及网络安全技术领域,具体涉及一种入侵检测方法、系统、设备及可读存储介质。
背景技术
随着互联网技术的不断发展,入侵检测技术成为保护网络安全的关键技术。入侵检测技术可以防止网络和计算机免受攻击者侵害,检测出不同类型的威胁,为管理员提供预防措施。随着数据类型与结构的不断变化,互联网应用的增多,网络攻击不断智能化与规范化,传统的入侵检测技术已不能保护当下的网络环境。
如YANG AIMIN等人提出的基于Levenberg-Marquard算法的BP神经网络,对DOS攻击的检测率提升明显,但对R2L和U2R攻击却表现出较低的检测率,并不适用于未来网络的发展趋势;Nagarathna等人提出基于SDRK(SSML DFNN-RRS-K means)的机器学习算法,虽能有效检测出各类攻击,但是运行时间缓慢,并不适合对实时检测大数据环境下的攻击行为;其它机器学习算法如支持向量机、随机森林和朴素贝叶斯等,难以识别未知攻击,并且无法处理大数据集中常见的噪声。深度学习可以根据要解决的问题自动构建模型,学习样本的内在规律,因此将深度学习引入入侵检测技术领域。
发明内容
为此,本申请实施例提供一种入侵检测方法、系统、设备及可读存储介质,有效解决了经典入侵检测系统的低检测率和高误报率的问题。
为了实现上述目的,本申请实施例提供如下技术方案:
根据本申请实施例的第一方面,提供了一种入侵检测方法,所述方法包括如下步骤:
步骤1:执行人工蜂群算法,将输出窗口数量传入RNN模型中,以确定RNN模型结构;
步骤2:对原始数据集x进行特征转换和归一化处理;
步骤3:将归一化后的数据集划分为训练集x_train、测试集x_test;
步骤4:将训练集x_train传入VAE模型以记忆重要特征;
步骤5:将X_train输入至带窗口的RNN模型中;
步骤6:联合训练模型,将损失值分别返回给VAE模型和RNN模型,并且作为人工蜂群算法的目标函数,以更新参数;
步骤7:反复执行步骤3到步骤6,直至触发算法的终止条件,输出RNN模型的最终窗口数量;
步骤8:将最终窗口数量传入VAE_AWRNN入侵检测算法中继续对其进行训练,以使得具有泛化能力并记住上一时刻的特征信息;
步骤9:利用测试集x_test对VAE_AWRNN入侵检测算法进行测试。
可选地,所述人工蜂群算法具体包括如下步骤:
步骤a:初始化种群数、最大迭代次数和搜索空间,初始化蜜源位置;
步骤b:计算并评估每个初始解的适应度,根据适应度函数值确定极值以及最好最差的位置;
步骤c:设置循环条件开始循环;
步骤d:更新引领蜂位置;
步骤e:更新跟随蜂位置;
步骤f:若一个食物源经过数次迭代后仍未被更新,则将其放弃,则此引领蜂转成一个侦查峰,计算产生一个新的食物源;
步骤g:按如下公式进行贪婪选择,如果vi的适应度优于xi,则用vi代替xi;则将vi作为当前最好的解,否则保留xi不变;
步骤h:记录目前为止的最优解;
步骤i:判断是否满足循环终止条件,若满足,循环结束,输出最优解,否则返回步骤d继续搜索。
可选地,所述步骤a的初始化阶段按照如下公式进行:
xij=f(mij)=mij/α,mij∈[0,α)
xij=f(mij)=(1-mij)/(1-α),
mij∈[α,1]
其中i=1.2....SN,SN代表食物源个数;j=1.2....n,n代表问题的维数;xij是使用帐篷映射算法初始化后的食物源位置;
在所述步骤b中,产生了vij后,计算它的适应度值,其计算公式如下:
其中fi是目标函数在Vi这点所取得函数值,适应度值高的将作为下次迭代的初始值;
在所述步骤e中,按照如下公式更新跟随蜂位置:
其中pm是跟随蜂选择某个食物源而更新位置的概率,如果该值大于随机产生的数,那么跟随蜂就依附到此蜜源。
可选地,所述对原始数据集x进行特征转换和归一化处理,包括:
将数据集中的离散特征转换为数值型特征,并将其合并、打乱;
对数据集进行归一化处理,使其都是分布在0到1之间的实数。
根据本申请实施例的第二方面,提供了一种入侵检测系统,所述系统包括:
第一预处理模块,用于执行步骤1:执行人工蜂群算法,将输出窗口数量传入RNN模型中,以确定RNN模型结构;
第二预处理模块,用于执行步骤2:对原始数据集x进行特征转换和归一化处理;
数据集划分模块,用于执行步骤3:将归一化后的数据集划分为训练集x_train、测试集x_test;
VAE训练模块,用于执行步骤4:将训练集x_train传入VAE模型以记忆重要特征;
RNN训练模块,用于执行步骤5:将x_train输入至带窗口的RNN模型中;
联合训练模块,用于执行步骤6:联合训练模型,将损失值分别返回给VAE模型和RNN模型,并且作为人工蜂群算法的目标函数,以更新参数;还用于执行步骤7:反复执行步骤3到步骤6,直至触发算法的终止条件,输出RNN模型的最终窗口数量;还用于执行步骤8:将最终窗口数量传入VAE_AWRNN入侵检测算法中继续对其进行训练,以使得具有泛化能力并记住上一时刻的特征信息;
入侵测试模块,用于执行步骤9:利用测试集x_test对VAE_AWRNN入侵检测算法进行测试。
可选地,所述人工蜂群算法具体包括如下步骤:
步骤a:初始化种群数、最大迭代次数和搜索空间,初始化蜜源位置;
步骤b:计算并评估每个初始解的适应度,根据适应度函数值确定极值以及最好最差的位置;
步骤c:设置循环条件开始循环;
步骤d:更新引领蜂位置;
步骤e:更新跟随蜂位置;
步骤f:若一个食物源经过数次迭代后仍未被更新,则将其放弃,则此引领蜂转成一个侦查峰,计算产生一个新的食物源;
步骤g:按如下公式进行贪婪选择,如果vi的适应度优于xi,则用vi代替xi;则将vi作为当前最好的解,否则保留xi不变;
步骤h:记录目前为止的最优解;
步骤i:判断是否满足循环终止条件,若满足,循环结束,输出最优解,否则返回步骤d继续搜索。
可选地,所述步骤a的初始化阶段按照如下公式进行:
xij=f(mij)=mij/α,mij∈[0,α)
xij=f(mij)=(1-mij)/(1-α),
mij∈[α,1]
其中i=1.2....SN,SN代表食物源个数;j=1.2....n,n代表问题的维数;xij是使用帐篷映射算法初始化后的食物源位置;
在所述步骤b中,产生了vij后,计算它的适应度值,其计算公式如下:
其中fi是目标函数在Vi这点所取得函数值,适应度值高的将作为下次迭代的初始值;
在所述步骤e中,按照如下公式更新跟随蜂位置:
其中pm是跟随蜂选择某个食物源而更新位置的概率,如果该值大于随机产生的数,那么跟随蜂就依附到此蜜源。
可选地,所述第二预处理模块,具体用于:
将数据集中的离散特征转换为数值型特征,并将其合并、打乱;
对数据集进行归一化处理,使其都是分布在0到1之间的实数。
根据本申请实施例的第三方面,提供了一种设备,所述设备包括:数据采集装置、处理器和存储器;所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行第一方面任一项所述的方法。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行如第一方面任一项所述的方法。
综上所述,本申请实施例提供了一种入侵检测方法、系统、设备及可读存储介质,提出了一种VAE和RNN联合训练的入侵检测算法(VAE_AWRNN),由于RNN在时间轴上会出现“梯度消失”和长时依赖等问题,所以提出了基于窗口的RNN模型,使其存储之前时刻的所有信息,有效解决“梯度消失”和长时依赖等问题。同时,提出人工蜂群算法对RNN窗口数量进行优化。有效解决了经典入侵检测系统的低检测率和高误报率的问题。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本申请实施例提供的一种入侵检测方法流程示意图;
图2为本申请实施例提供的改进VAE模型示意图;
图3为本申请实施例提供的高斯分布和t分布的比较示意图;
图4为本申请实施例提供的RNN结构示意图;
图5为本申请实施例提供的改进RNN模型示意图;
图6为本申请实施例提供的logistic映射与帐篷映射示意图;
图7为本申请实施例提供的莱维飞行示意图;
图8为本申请实施例提供的改进人工蜂群算法步骤示意图;
图9为本申请实施例提供的AWRNN模型示意图;
图10为本申请实施例提供的AWRNN入侵检测算法步骤示意图;
图11a、11b、11c为本申请实施例提供的二分类ROC曲线示意图;
图12为本申请实施例提供的一种入侵检测系统框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Wide_deep模型由Cheng等人在2016年6月提出,作为推荐系统中使用的经典模型,引起了研究人员的广泛关注。该模型将一个线性模型和一个深度模型进行联合训练,线性模型的记忆能力通过学习频繁出现的特征,发掘出历史数据中存在的共性,更偏向于历史数据的样本;深度模型的泛化能力体现于迁移相关性,能够更好探索之前未出现的特征,更趋向于行为的多样性。刘捷等人将wide_deep模型用于在线学习资源推荐,提高了推荐的精确度;罗朗等人将wide模型改为FM模型用于推荐系统,提出的DeepFM可有效缓解数据稀疏问题,更加准确地预测用户的点击率;吕海灿等人在wide&deep的基础上建立了基于wide&deepLSTM的深度学习短期负荷预测模型,能够有效解决多特征维度及时序性特征问题。
鉴于Wide_deep模型在特征处理方面具有极优的效果,本申请实施例将其用于入侵检测系统,但直接应用会出现以下问题:
(1)wide模型部分使用的特征需要手动选择,具有一定局限性。
(2)deep模型部分使用的深度神经网络(DNN),具有较优的泛化能力,但不能对时间序列上有变化的情况进行处理,即在泛化能力的同时不能记住出现过的特征。对此,本申请实施例首先尝试在wide模型部分采用变分自编码器(VAE)选择出频繁且重要的特征,避免了手动选择特征的局限性;Lipton Z C等人提到RNN既具有泛化能力又能处理时间序列上的变化,因此本申请实施例将RNN模型用于deep部分,但RNN在时间轴上会出现“梯度消失”和长时依赖等问题。对此,本申请实施例提出了基于窗口(Windows)的RNN模型,窗口将RNN的输出结果分成若干窗口,不同窗口包含各时刻特征信息,将其相互交叉变换成为组合特征,有效避免了“梯度消失”和长时依赖等问题。由于窗口数量会影响网络性能,本申请实施例提出改进蜂群算法对窗口数量进行优化。最后,将提出的VAE_AWRNN入侵检测算法应用于KDD99、NSL-KDD、UNSE-NB15数据集上,实验结果表明VAE_AWRNN模型能够有效提高入侵检测系统的准确率、精确度、召回率和F1值。
为此,本申请实施例提出了一种变分自编码器(Variational auto-encoder,VAE)和循环神经网络(Recurrent Neural Network,RNN)联合训练的入侵检测算法(VAE_AWRNN)。由于RNN在时间轴上会出现“梯度消失”和长时依赖等问题,所以提出了基于窗口(Windows)的RNN模型,使其存储之前时刻的所有信息,有效解决“梯度消失”和长时依赖等问题。同时,提出人工蜂群算法(Artificial Bee Colony,ABC)对RNN窗口数量进行优化,但该算法易陷入局部最优、搜索范围具有局限性以及收敛速度慢等问题,设计了帐篷映射策略以及莱维飞行策略进行改进。实验结果表明,VAE_AWRNN入侵检测算法能够很好适应各种入侵检测数据集。
图1示出了本申请实施例提供的一种入侵检测方法,所述方法包括如下步骤:
步骤101:执行人工蜂群算法,将输出窗口数量传入循环神经网络RNN模型中,以确定RNN模型结构;
步骤102:对原始数据集x进行特征转换和归一化处理;
步骤103:将归一化后的数据集划分为训练集x_train、测试集x_test;
步骤104:将训练集x_train传入变分自编码器VAE模型以记忆重要特征;
步骤105:将x_train输入至带窗口的RNN模型中;
步骤106:联合训练模型,将损失值分别返回给VAE模型和RNN模型,并且作为人工蜂群算法的目标函数,以更新参数;
步骤107:反复执行步骤103到步骤106,直至触发算法的终止条件,输出RNN模型的最终窗口数量;
步骤108:将最终窗口数量传入VAE_AWRNN入侵检测算法中继续对其进行训练,以使得具有泛化能力并记住上一时刻的特征信息;
步骤109:利用测试集x_test对VAE_AWRNN入侵检测算法进行测试。
在一种可能的实施方式中,所述人工蜂群算法具体包括如下步骤:
步骤a:初始化种群数、最大迭代次数和搜索空间,初始化蜜源位置;
步骤b:计算并评估每个初始解的适应度,根据适应度函数值确定极值以及最好最差的位置;
步骤c:设置循环条件开始循环;
步骤d:更新引领蜂位置;
步骤e:更新跟随蜂位置;
步骤f:若一个食物源经过数次迭代后仍未被更新,则将其放弃,则此引领蜂转成一个侦查峰,计算产生一个新的食物源;
步骤g:进行贪婪选择,如果vi的适应度优于xi,则用vi代替xi;则将vi作为当前最好的解,否则保留xi不变;
步骤h:记录目前为止的最优解;
步骤i:判断是否满足循环终止条件,若满足,循环结束,输出最优解,否则返回步骤d继续搜索。
下面对本申请实施例提供的入侵检测方法的技术方案进行进一步详述。
第一方面,VAE_AWRNN算法。
早期Chuang等人和Li等人将VAE模型引入到RNN模型中,构建出具有潜在特征循环生成能力的Seq2Seq模型,并广泛的用于语音生成、手写识别等任务中,具有极优的效果。鉴于此,本申请实施例提出了VAE_AWRNN模型,VAE模型用来选择并记住重要特征,AWRNN模型用来泛化并记住未出现过的特征。
在模型设计阶段,采用的联合训练模式,联合训练不同于集成训练,集成训练为独立训练,在规模很大时才能达到可接受的效果,而联合训练为同时训练同时产出,所以VAE模型只需要和AWRNN模型相互补充;并且联合训练产生的误差会同时反馈给VAE模型和AWRNN模型中进行权值和偏置的更新,这样分别专注各自擅长的方面,单个模型的大小和复杂度也能够得到控制,并且整体性能也能得到提高。
1.1变分自编码器
变分自编码器(Variational auto-encoder,VAE)改编自自编码器,如图2所示,自编码器是一种数据压缩的方法,包括编码和解码两部分,其中编码部分将高维数据压缩成低维数据,保留重要的特征信息,可作为特征选择器;解码部分可将压缩后的数据转换回原始维度的数据。但自编码器的问题在于,其输入转换成编码矢量时,所处的潜在空间可能不连续,且只允许简单插值,因此本申请实施例引入变分自编码器,编码后的数据可与自编码器分离,且在潜在空间上的设计连续,允许随机采样和插值。
图2示出了改进VAE模型示意图。VAE结构与自编码器结构相同,包含编码器、解码器和损失函数三个部分。编码器为一个神经网络,它的输入为数据点x,输出为隐向量z,参数为θ,因此编码器可以表示为Pθ(z|x)。编码器输出z(首先假设服从高斯分布z~N(0,1))的过程可以分为两步:
(1)编码器输出高斯分布的参数(均值、方差),此类参数对各输入数据点不同。
(2)将噪声与该高斯分布融合并从中采样获得z。通过Pθ(z|x)确定一个高斯分布,使用的均值和方差均通过样本估计。由于入侵检测样本数量不足,使用VAE时难以得到准确的均值和方差,而高斯分布需在确定总体方差的条件下才能使用。为提高选择特征的精度,本申请实施例将高斯分布改为t分布。
假设z服从t分布z~t(n)。与正态分布相比,t分布无需获知准确的均值和方差,并且t分布顶部略低尾部稍高,如图3所示,随机采样的范围更广。图3为高斯分布和t分布的比较示意图。
基于t分布采样出z的过程是不可导,导致无法反向传播,需要采用重参数化实现。从预估的均值μ和标准偏差σ的t分布中采样。相当于先从t分布中采样ε,再按照如下公式(1)对其进行下列变化:
解码器同为神经网络,其输入为隐空间z,输出为数据的概率分布,参数为λ,因此解码器可表示为Pλ(x|z)。VAE的损失函数是带正则项的对数似然函数。因为所有数据点之间没有共享隐向量,因此每个数据点的损失li独立,因此总损失为各数据点损失之和。数据点xi的损失li可以按照如下公式(2)表示为:
其中第一项是重构损失,可使得重构出的数据与原始数据尽可能接近,提升数据压缩质量;第二项KL散度为正则项,用于衡量了两个分布的近似程度,使得Pθ(z|x)更接近t分布。如果编码器输出不服从t分布,将在损失函数中对编码器施加惩罚。
1.2循环神经网络
循环神经网络(RNN)用于时间序列数据的处理,与其他神经网络不同在于隐藏层神经元间建立了权连接,如图4所示。图4为RNN结构示意图。该网络在t时刻的输入值为Xt,隐藏层的值为St,输出值为Ot,St不仅取决于Xt,还取决于St-1,RNN的计算按照如下公式(3)和公式(4)表示如下:
Ot=g(V·St) 公式(3)
St=f(U·Xt+W·St-1) 公式(4)
RNN对于上一时刻数据特征信息具有良好记忆。对于St+1,其不仅取决于Xt+1,还取决于St,而St又取决于Xt和St-1。可以看出,St+1输出结果Ot+1确实和之前的特征相关联。但是,如果St-1和St之间的权值初始化时为无限接近于零点的值,St+1会默认为其为无意义信息,将其丢弃,即相当于St+1舍去之前所有相关特征,产生“梯度消失”现象,导致St+1后续的过程与St+1之前的处理无联系。
对此,本申请实施例提出多窗口(Windows)概念,如图5所示。首先输入x1、x2、x3…xn等n维数据,经过RNN输出y1、y2、y3…yn等n维数据,公式(5)和(6)如下:
αt=g(Wαααt-1+Wαxxt+bα) 公式(5)
yt=g(Wyααt+by) 公式(6)
其中g(*)是激活函数,αt是第t-1时刻的激活函数输出值,yt是第t个输出,Wαα、Wαx、Wyα是神经网络的权重。
由于无法判断RNN隐藏层是否存在权值无限接近于0而被丢弃的情况,将输出结果随机划分为若干窗口,让窗口中的特征根据公式(7)相互交叉变换成为组合特征,即构造非线性特征来实现特征之间的记忆能力,再将组合特征作为后续RNN的输入,并根据公式(5)和公式(6)进行计算。
此时,输出的z1、z2、z3即为所有记忆输出的结果,最后将其送入DNN模型中进行分类即可。改进后的RNN模型在训练时不仅有效解决了“梯度消失”和长时依赖等问题,而且也实现了数据降维(如图4从n维降到了3维)。
RNN模型中加入多窗口模块提高了系统性能,但是窗口数量的选择也成为了影响性能的关键。如果窗口太多,记忆零散,系统运行的时间将加长;窗口不足,记忆集中,会再次出现“梯度消失”的现象。对此,本申请实施例使用改进人工蜂群算法对窗口数量进行优化。
1.3改进的人工蜂群算法
人工蜂群算法(Artificial Bee Colony,ABC)是由Karaboga于2005年提出的一种新颖的基于群智能的全局优化算法。其背景来源于蜂群的采蜜行为,蜂群根据工作性质的不同可分为引领蜂、跟随蜂和侦查蜂。引领蜂的任务是发现食物源信息并以一定的概率与跟随蜂分享;跟随蜂根据引领蜂提供的蜜源信息来选择食物源;侦查蜂在蜂巢附近寻找新的食物源。种群之间不同的分工完成不同的工作,以实现蜂群信息的共享和交流,从而找到问题的最优解。
ABC算法中,引领蜂和跟随蜂先后开采食物源,即寻找最优解,而侦查峰观察是否陷入局部最优。若陷入局部最优则随机搜索其他食物源,每个食物源代表问题的一个可能解,食物源的花蜜量对应相应解的质量(即适应度值fit),具体过程如下:
初始化阶段:
xij=lj+η*(uj-lj) 公式(8)
其中i=1,2,...,SN,SN代表食物源个数;j=1,2,..,n,n代表问题的维数;η是一个介于(0,1)之间的随机数;uj和lj分别是xij的最大和最小边界值。
引领蜂阶段:
vij=xij+ζij(xij-xkj) 公式(9)
其中j是一个介于[1,SN]之间的随机整数,i,k∈{1,2…SN},且k≠i;ζ是个介于[-1,1]的随机数,xkj是个随机选取的食物源。
产生了vij后,计算它的适应度值,其计算公式如下:
其中fi是目标函数在Vi这点所取得函数值,适应度值高的将作为下次迭代的初始值。
跟随蜂阶段:
其中pm是跟随蜂选择某个食物源而更新位置的概率,如果该值大于随机产生的数,那么跟随蜂就依附到此蜜源。
人工蜂群算法普遍存在下列问题:(1)初始化分布不够均匀,影响收敛速度;(2)搜索范围的局限性;(3)运算简单,容易陷入局部最优。本申请实施例提出了混沌映射算法中的Tent映射来初始化种群,使分布更加均匀,收敛速度更快;莱维飞行策略来扩大搜索范围,使其跳出搜索范围的局限,增加算法的寻优能力,防止陷入局部最优。
1.3.1帐篷映射策略
研究表明,在群智能优化算法中,种群的初始化在一定程度上影响着算法的性能。初始化越均匀,收敛到最优解的速度将会越快,所以本申请实施例提出混沌映射算法对人工蜂群算法进行初始化,公式如下。
xij=f(mij)=mij/α,mij∈[0,α)
xij=f(mij)=(1-mij)/(1-α), 公式(12)
mij∈[α,1]
其中i=1.2....SN,SN代表食物源个数;j=1.2....n,n代表问题的维数;xij是使用帐篷映射算法初始化后的食物源位置,使其具有更均匀的分布以及更好的相关性。
混沌现象是指在一个确定性的系统中,存在着随机的不规则的运动,其行为表现出不确定性、不可重复性、不可预测性。帐篷映射为一种分段的二维混沌线性映射,与logistic映射互为拓扑共轭映射,但帐篷映射比logistic映射初始分布更加均匀和广泛,如图6所示。图6示出了logistic映射与帐篷映射示意图。
1.3.2莱维飞行策略
为提高解的精度,引入了莱维飞行策略。莱维飞行为服从莱维分布的随机搜索方法,由较长时间的短步长和较短时间的长步长组成,如图7所示。图7示出了莱维飞行示意图。大多数时间只有短距离位移,与大多数动物的觅食方式相类似。这种方式能够促使莱维飞行策略具有良好的全局搜索能力,可以使蜂群个体广泛分布于搜索空间,避免算法陷入局部最优,增强算法的寻优能力。
莱维飞行位置更新公式为:
σ=0.01*(xij-xbest) 公式(13)
Vij=xij+σ*Levy(λ) 公式(14)
其中Xij表示当前引领蜂位置,σ是步长系数,Xbest表示当前最优解,Levy(λ)表示莱维分布满足Levy~u=t-λ。
莱维分布十分复杂,所以使用Mantegna算法来模拟,步长计算公式如下:
其中Γ是标准的伽马分布,为节约计算时间通常取Θ=1.5。
1.3.3人工蜂群算法步骤
人工蜂群算法步骤如下,具体流程图见图8:
步骤1:初始化种群数、最大迭代次数和搜索空间,使用公式(12)初始化蜜源位置;
步骤2:利用公式(10)计算并评估每个初始解的适应度,根据适应度函数值确定极值以及最好最差的位置;
步骤3:设置循环条件开始循环;
步骤4:利用公式(13)和公式(14)更新引领蜂位置;
步骤5:利用公式(11)更新跟随蜂位置;
步骤6:若一个食物源经过数次迭代后仍未被更新,那么就将其放弃,则此引领蜂转成一个侦查峰,由公式(12)产生一个新的食物源;
步骤7:按公式(17)进行贪婪选择,如果vi的适应度优于xi,则用vi代替xi。则将vi作为当前最好的解,否则保留xi不变;
步骤8:记录目前为止的最优解。
步骤9:判断是否满足循环终止条件,若满足,循环结束,输出最优解,否则返回步骤4继续搜索。
第二方面,VAE_AWRNN的入侵检测算法。
综上所述,将VAE模型和AWRNN模型进行合并,并建立VAE_AWRNN的入侵检测模型进行联合训练。
2.1算法结构
针对检测过程中遇到的各种难题,结合具有较好特征选择能力的VAE模型与强大记忆与泛化能力的RNN模型,本申请实施例设计了一种既具有记忆能力又具有泛化能力的高精度入侵检测系统,结构如图9所示。
2.2算法训练
VAE_AWRNN的入侵检测算法训练过程如图10所示:
步骤1:执行改进人工蜂群算法,将输出窗口数量传入RNN模型中,从而确定RNN模型结构。
步骤2:对原始数据集x进行预处理。
(1)将数据集中的离散特征转换为数值型特征,并将其合并、打乱;
(2)对数据集进行归一化处理,使其都是分布在[0,1]之间的实数。
步骤3:将归一化后的数据集划分为训练集x_train、测试集x_test。
步骤4:将x_train传入VAE模型使其记忆重要特征。
步骤5:将x_train输入至带窗口的RNN模型中。
步骤6:联合训练模型,将损失值分别返回给VAE模型和RNN模型,并且作为改进人工蜂群算法的目标函数,进而更新相关参数。
步骤7:反复执行步骤3到步骤6,直至触发算法的终止条件,输出RNN模型的最终窗口数量。
步骤8:将窗口数传入VAE_AWRNN入侵检测算法中继续对其进行训练(此时已不再改变结构),使其具有泛化能力的同时也能够记住上一时刻的特征信息。
步骤9:利用测试集x_test对VAE_AWRNN入侵检测算法进行测试。
第三方面,实验结果。
为验证VAE_AWRNN入侵检测算法的性能,本申请实施例采用KDD99,NSL-KDD和UNSW-NB15数据集对其进行验证。KDD99中包含了41个固定的特征属性和1个标识特征,标识特征用来区分该条记录是正常行为还是攻击行为。
在41个固定的特征属性中,9个为离散型,其他均为连续型;KDD99将攻击类型分为4大类,包括Dos、Probe、R2L、U2R。NSL-KDD数据集对KDD99进行优化,数据分布更平衡,不存在冗余数据。UNSW-NB15数据集由澳大利亚网络安全中心(ACCS)的网络安全实验室利用IXIA PerfectStorm工具创建,与KDD99和NSL-KDD相比,更能真实的反应现代网络数据;UNSW-NB15将攻击分为9种,分别是Fuzzers,Analysis,Backdoors,DoS,Exploits,Generic,Reconnaissance,Shellcode and Worms。
3.1评价指标
由于数据集分布不平衡等问题,准确率(Accuracy)已经不能准确的描述系统的性能,所以引入精确率(Precision)、召回率(Recall)和F1-score对模型进行评估,其计算公式如下,另外还引入ROC曲线来反应了假正率(FPR)与真正率(TPR)之间的关系,它能够降低不同测试集带来的干扰,更加客观的衡量模型本身的性能。
F1-score=(∑α*F1)2 公式(22)
3.2二分类实验结果
不论是KDD99,NSL-KDD还是UNSW-NB15,VAE_AWRNN算法的准确率都较好,达到了0.987、0.937、0.939,由于上述三种数据集都是非平衡数据集,所以还需使用精确率,召回率以及F1分数对其进行评估。在kDD99数据集上,经典入侵检测算法SVM、LR、KNN、DT、RF都有较好的性能,RF的精确度甚至达到了0.973,但是仍与VAE_AWRNN相差了1.6%;SVM相较于其他算法而言,效果最差,精确率仅仅只有0.889,但是总体相差不大。其ROC曲线如图11a所示,VAE_AWRNN所围面积最大,其AUC达到了0.98。在NSL数据集上,SVM和KNN精确率只有0.601和0.672,与其他算法相差甚远,而LR、DT、RF与VAE_AWRNN算法的精确率分别是0.941、0.919、0.837和0.997,显然VAE_AWRNN精确率最高,但是它们四种算法的F1分数却相差不大,分别是0.875、0.918、0.903、0.929。其ROC曲线如图11b所示,VAE_AWRNN算法AUC是最高的,并且远大于SVM。在UNSW-NB15数据集上,几种算法的性能都较好,精确率几乎都达到了90%以上,其中SVM不管是精确度、召回率还是F1分数都是几种经典算法种性能最好的,但是相较于VAE_AWRNN算法,还是略低1.5%;DT的精确率变成了最低,仅仅只有0.704。其ROC曲线如图11c所示,几种算法相差都不大,但依旧是VAE_AWRNN算法的AUC最高。实验结果表明,VAE_AERNN算法相较于现阶段的经典算法而言有更好的检测性能,同时还有效的降低了误报率。
3.3多分类实验结果
在KDD99、NSL-KDD和UNSW-NB15数据集上的准确率分别为0.984、0.92、0.821,可看出VAE_AWRNN算法的准确率依旧是最高,同样引入精确率、召回率和F1分数进行评估,同时还引入了微平均ROC和宏平均ROC曲线图来直观的反应算法在大量数据和少量数据中的检测性能。在KDD数据集上,除了SVM和LR的精确率、召回率和F1分数值较低,其他几种算法性能相差不大,都达到了90%以上,VAE_AWRNN算法甚至达到了0.98、0.984、0.981。
根据图11a所示,可看出不管是样本数量多还是样本数量少,SVM和LR总是最差的,而VAE_AWRNN总是性能最优的。在NSL数据集上,很直观的看出SVM和DT的精确率较差,仅仅只有0.292和0.285,召回率也只有0.535和0.534,其次LR、KNN和RF的精确率、召回率和F1分数相差不大,都是70%左右,而VAE_AWRNN精确率却达了0.91。再观图11b可知,不论是VAE_AWRNN的微平均ROC曲线还是宏平均ROC曲线,都明显高于其他几种经典算法。在UNSW-NB15数据集上,VAE_AWRNN算法并没有像在KDD99和NSL-KDD数据集上的性能那么好,但是相较于其他的算法而言,已经较优了,其他几种经典算法的准确率几乎没有达到80%,甚至在其他数据集中性能较好的RF算法在UNSW-NB15数据集中的精确率也仅仅只有0.668。如图11c也可看出,虽然几种算法的曲线很接近,但显而易见VAE_AWRNN线段最高,所成AUC面积最大。以上数据已足够说明VAE_AWRNN数据集相较于经典的数据集而言有更好的检测性能,并且有效的降低了误报率。
本申请实施例提出了一种基于蜂群算法与改进wide_deep模型的网络入侵检测系统(VAE_AWRNN),有效解决了经典入侵检测系统的低检测率和高误报率的问题。该算法克服了wide_deep模型手动选择特征的局限性以及处理时间序列的复杂性等典型问题。引入的变分自编码器(VAE)有效解决了wide部分需要手动选择特征的问题;使用循环神经网络(RNN)替换了deep部分,有效处理了在时间序列上有变化的情况;同时将原本的RNN模型中加入窗口模块,并用改进蜂群算法对窗口数量进行优化,有效解决了RNN模型产生的“梯度消失”以及长时依赖等问题。根据二分类和多分类实验数据可知,所提的VAE_AWRNN算法在KDD99,NSL-KDD和UNSW-NB15数据集上都有较优的检测率。下一步将把研究重心放在VAE_AWRNN的训练时间上,使其能够实时的保护网络安全。
基于相同的技术构思,本申请实施例还提供了一种入侵检测系统,如图12所述,所述系统包括:
第一预处理模块1201,用于执行步骤1:执行人工蜂群算法,将输出窗口数量传入RNN模型中,以确定RNN模型结构;
第二预处理模块1202,用于执行步骤2:对原始数据集x进行特征转换和归一化处理;
数据集划分模块1203,用于执行步骤3:将归一化后的数据集划分为训练集x_train、测试集x_test;
VAE训练模块1204,用于执行步骤4:将训练集x_train传入VAE模型以记忆重要特征;
RNN训练模块1205,用于执行步骤5:将x_train输入至带窗口的RNN模型中;
联合训练模块1206,用于执行步骤6:联合训练模型,将损失值分别返回给VAE模型和RNN模型,并且作为人工蜂群算法的目标函数,以更新参数;还用于执行步骤7:反复执行步骤3到步骤6,直至触发算法的终止条件,输出RNN模型的最终窗口数量;还用于执行步骤8:将最终窗口数量传入VAE_AWRNN入侵检测算法中继续对其进行训练,以使得具有泛化能力并记住上一时刻的特征信息;
入侵测试模块1207,用于执行步骤9:利用测试集x_test对VAE_AWRNN入侵检测算法进行测试。
在一种可能的实施方式中,所述人工蜂群算法具体包括如下步骤:
步骤a:初始化种群数、最大迭代次数和搜索空间,初始化蜜源位置;
步骤b:计算并评估每个初始解的适应度,根据适应度函数值确定极值以及最好最差的位置;
步骤c:设置循环条件开始循环;
步骤d:更新引领蜂位置;
步骤e:更新跟随蜂位置;
步骤f:若一个食物源经过数次迭代后仍未被更新,则将其放弃,则此引领蜂转成一个侦查峰,计算产生一个新的食物源;
步骤g:进行贪婪选择,如果vi的适应度优于xi,则用vi代替xi;则将vi作为当前最好的解,否则保留xi不变;
步骤h:记录目前为止的最优解;
步骤i:判断是否满足循环终止条件,若满足,循环结束,输出最优解,否则返回步骤d继续搜索。
基于相同的技术构思,本申请实施例还提供了一种设备,所述设备包括:数据采集装置、处理器和存储器;所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行所述的方法。
基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行所述的方法。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
需要说明的是,尽管在附图中以特定顺序描述了本发明方法的操作,但这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种入侵检测方法,其特征在于,所述方法包括如下步骤:
步骤1:执行人工蜂群算法,将输出窗口数量传入循环神经网络RNN模型中,以确定RNN模型结构;
步骤2:对原始数据集x进行特征转换和归一化处理;
步骤3:将归一化后的数据集划分为训练集x_train、测试集x_test;
步骤4:将训练集x_train传入变分自编码器VAE模型以记忆重要特征;
步骤5:将x_train输入至带窗口的RNN模型中;
步骤6:联合训练模型,将损失值分别返回给VAE模型和RNN模型,并且作为人工蜂群算法的目标函数,以更新参数;
步骤7:反复执行步骤3到步骤6,直至触发算法的终止条件,输出RNN模型的最终窗口数量;
步骤8:将最终窗口数量传入VAE_AWRNN入侵检测算法中继续对其进行训练,以使得具有泛化能力并记住上一时刻的特征信息;
步骤9:利用测试集x_test对VAE_AWRNN入侵检测算法进行测试。
2.如权利要求1所述的方法,其特征在于,所述人工蜂群算法具体包括如下步骤:
步骤a:初始化种群数、最大迭代次数和搜索空间,初始化蜜源位置;
步骤b:计算并评估每个初始解的适应度,根据适应度函数值确定极值以及最好最差的位置;
步骤c:设置循环条件开始循环;
步骤d:更新引领蜂位置;
步骤e:更新跟随蜂位置;
步骤f:若一个食物源经过数次迭代后仍未被更新,则将其放弃,则此引领蜂转成一个侦查峰,计算产生一个新的食物源;
步骤g:按如下公式进行贪婪选择,如果vi的适应度优于xi,则用vi代替xi;则将vi作为当前最好的解,否则保留xi不变;
步骤h:记录目前为止的最优解;
步骤i:判断是否满足循环终止条件,若满足,循环结束,输出最优解,否则返回步骤d继续搜索。
3.如权利要求2所述的方法,其特征在于,所述步骤a的初始化阶段按照如下公式进行:
xij=f(mij)=mij/α,mij∈[0,α)
xij=f(mij)=(1-mij)/(1-α),
mij∈[α,1]
其中i=1.2....SN,SN代表食物源个数;j=1.2....n,n代表问题的维数;xij是使用帐篷映射算法初始化后的食物源位置;
在所述步骤b中,产生了vij后,计算它的适应度值,其计算公式如下:
其中fi是目标函数在Vi这点所取得函数值,适应度值高的将作为下次迭代的初始值;
在所述步骤e中,按照如下公式更新跟随蜂位置:
其中pm是跟随蜂选择某个食物源而更新位置的概率,如果值大于随机产生的数,那么跟随蜂就依附到此蜜源。
4.如权利要求1所述的方法,其特征在于,所述对原始数据集x进行特征转换和归一化处理,包括:
将数据集中的离散特征转换为数值型特征,并将其合并、打乱;
对数据集进行归一化处理,使其都是分布在0到1之间的实数。
5.一种入侵检测系统,其特征在于,所述系统包括:
第一预处理模块,用于执行步骤1:执行人工蜂群算法,将输出窗口数量传入RNN模型中,以确定RNN模型结构;
第二预处理模块,用于执行步骤2:对原始数据集x进行特征转换和归一化处理;
数据集划分模块,用于执行步骤3:将归一化后的数据集划分为训练集x_train、测试集x_test;
VAE训练模块,用于执行步骤4:将训练集x_train传入VAE模型以记忆重要特征;
RNN训练模块,用于执行步骤5:将x_train输入至带窗口的RNN模型中;
联合训练模块,用于执行步骤6:联合训练模型,将损失值分别返回给VAE模型和RNN模型,并且作为人工蜂群算法的目标函数,以更新参数;还用于执行步骤7:反复执行步骤3到步骤6,直至触发算法的终止条件,输出RNN模型的最终窗口数量;还用于执行步骤8:将最终窗口数量传入VAE_AWRNN入侵检测算法中继续对其进行训练,以使得具有泛化能力并记住上一时刻的特征信息;
入侵测试模块,用于执行步骤9:利用测试集x_test对VAE_AWRNN入侵检测算法进行测试。
6.如权利要求5所述的系统,其特征在于,所述人工蜂群算法具体包括如下步骤:
步骤a:初始化种群数、最大迭代次数和搜索空间,初始化蜜源位置;
步骤b:计算并评估每个初始解的适应度,根据适应度函数值确定极值以及最好最差的位置;
步骤c:设置循环条件开始循环;
步骤d:更新引领蜂位置;
步骤e:更新跟随蜂位置;
步骤f:若一个食物源经过数次迭代后仍未被更新,则将其放弃,则此引领蜂转成一个侦查峰,计算产生一个新的食物源;
步骤g:按如下公式进行贪婪选择,如果vi的适应度优于xi,则用vi代替xi;则将vi作为当前最好的解,否则保留xi不变;
步骤h:记录目前为止的最优解;
步骤i:判断是否满足循环终止条件,若满足,循环结束,输出最优解,否则返回步骤d继续搜索。
7.如权利要求6所述的系统,其特征在于,所述步骤a的初始化阶段按照如下公式进行:
xij=f(mij)=mij/α,mij∈[0,α)
xij=f(mij)=(1-mij)/(1-α),
mij∈[α,1]
其中i=1.2....SN,SN代表食物源个数;j=1.2....n,n代表问题的维数;xij是使用帐篷映射算法初始化后的食物源位置;
在所述步骤b中,产生了vij后,计算它的适应度值,其计算公式如下:
其中fi是目标函数在Vi这点所取得函数值,适应度值高的将作为下次迭代的初始值;
在所述步骤e中,按照如下公式更新跟随蜂位置:
其中pm是跟随蜂选择某个食物源而更新位置的概率,如果值大于随机产生的数,那么跟随蜂就依附到此蜜源。
8.如权利要求5所述的系统,其特征在于,所述第二预处理模块,具体用于:
将数据集中的离散特征转换为数值型特征,并将其合并、打乱;
对数据集进行归一化处理,使其都是分布在0到1之间的实数。
9.一种设备,其特征在于,所述设备包括:数据采集装置、处理器和存储器;
所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行如权利要求1-4任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011625202.7A CN112668688B (zh) | 2020-12-30 | 2020-12-30 | 一种入侵检测方法、系统、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011625202.7A CN112668688B (zh) | 2020-12-30 | 2020-12-30 | 一种入侵检测方法、系统、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112668688A true CN112668688A (zh) | 2021-04-16 |
CN112668688B CN112668688B (zh) | 2022-09-02 |
Family
ID=75412393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011625202.7A Active CN112668688B (zh) | 2020-12-30 | 2020-12-30 | 一种入侵检测方法、系统、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112668688B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572732A (zh) * | 2021-06-22 | 2021-10-29 | 浙江工业大学 | 一种基于vae和聚合hmm的多步攻击建模和预测方法 |
CN113691505A (zh) * | 2021-08-05 | 2021-11-23 | 黎阳 | 基于大数据的工业互联网入侵检测方法 |
CN115987689A (zh) * | 2023-03-20 | 2023-04-18 | 北京邮电大学 | 一种网络入侵检测方法及装置 |
WO2023115845A1 (zh) * | 2021-12-22 | 2023-06-29 | 长沙理工大学 | 一种面向SDN网络的Dos攻击检测方法、装置及介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170187747A1 (en) * | 2015-12-28 | 2017-06-29 | Arbor Networks, Inc. | Using recurrent neural networks to defeat dns denial of service attacks |
CN107465664A (zh) * | 2017-07-07 | 2017-12-12 | 桂林电子科技大学 | 基于并行多人工蜂群算法和支持向量机的入侵检测方法 |
CN108259498A (zh) * | 2018-01-24 | 2018-07-06 | 湖南科技学院 | 一种基于人工蜂群优化的bp算法的入侵检测方法及其系统 |
CN108881196A (zh) * | 2018-06-07 | 2018-11-23 | 中国民航大学 | 基于深度生成模型的半监督入侵检测方法 |
CN109120610A (zh) * | 2018-08-03 | 2019-01-01 | 上海海事大学 | 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 |
CN109274651A (zh) * | 2018-08-30 | 2019-01-25 | 上海海事大学 | 一种DDoS攻击检测方法 |
CN111160313A (zh) * | 2020-01-02 | 2020-05-15 | 华南理工大学 | 一种基于lbp-vae异常检测模型的人脸表示攻击检测方法 |
CN111314331A (zh) * | 2020-02-05 | 2020-06-19 | 北京中科研究院 | 一种基于条件变分自编码器的未知网络攻击检测方法 |
CN111416797A (zh) * | 2020-02-25 | 2020-07-14 | 江西理工大学 | 改进天牛群算法优化正则化极限学习机的入侵检测方法 |
CN111625816A (zh) * | 2020-04-21 | 2020-09-04 | 江西理工大学 | 一种入侵检测方法及装置 |
CN112019569A (zh) * | 2020-10-20 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 恶意域名检测方法、装置及存储介质 |
CN112087442A (zh) * | 2020-09-03 | 2020-12-15 | 北京交通大学 | 基于注意力机制的时序相关网络入侵检测方法 |
CN112270270A (zh) * | 2020-10-30 | 2021-01-26 | 湘潭大学 | 一种基于abc优化神经网络的接触网故障类型识别方法 |
-
2020
- 2020-12-30 CN CN202011625202.7A patent/CN112668688B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170187747A1 (en) * | 2015-12-28 | 2017-06-29 | Arbor Networks, Inc. | Using recurrent neural networks to defeat dns denial of service attacks |
CN107465664A (zh) * | 2017-07-07 | 2017-12-12 | 桂林电子科技大学 | 基于并行多人工蜂群算法和支持向量机的入侵检测方法 |
CN108259498A (zh) * | 2018-01-24 | 2018-07-06 | 湖南科技学院 | 一种基于人工蜂群优化的bp算法的入侵检测方法及其系统 |
CN108881196A (zh) * | 2018-06-07 | 2018-11-23 | 中国民航大学 | 基于深度生成模型的半监督入侵检测方法 |
CN109120610A (zh) * | 2018-08-03 | 2019-01-01 | 上海海事大学 | 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 |
CN109274651A (zh) * | 2018-08-30 | 2019-01-25 | 上海海事大学 | 一种DDoS攻击检测方法 |
CN111160313A (zh) * | 2020-01-02 | 2020-05-15 | 华南理工大学 | 一种基于lbp-vae异常检测模型的人脸表示攻击检测方法 |
CN111314331A (zh) * | 2020-02-05 | 2020-06-19 | 北京中科研究院 | 一种基于条件变分自编码器的未知网络攻击检测方法 |
CN111416797A (zh) * | 2020-02-25 | 2020-07-14 | 江西理工大学 | 改进天牛群算法优化正则化极限学习机的入侵检测方法 |
CN111625816A (zh) * | 2020-04-21 | 2020-09-04 | 江西理工大学 | 一种入侵检测方法及装置 |
CN112087442A (zh) * | 2020-09-03 | 2020-12-15 | 北京交通大学 | 基于注意力机制的时序相关网络入侵检测方法 |
CN112019569A (zh) * | 2020-10-20 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 恶意域名检测方法、装置及存储介质 |
CN112270270A (zh) * | 2020-10-30 | 2021-01-26 | 湘潭大学 | 一种基于abc优化神经网络的接触网故障类型识别方法 |
Non-Patent Citations (7)
Title |
---|
AYYAZ-UL-HAQ QURESHI 等: "Intrusion Detection Using Swarm Intelligence", 《2019 UK/ CHINA EMERGING TECHNOLOGIES (UCET)》 * |
MANUEL LOPEZ-MARTIN 等: "Conditional Variational Autoencoder for Prediction and Feature Recovery Applied to Intrusion Detection in IoT", 《SENSORS》 * |
SULTAN ZAVRAK 等: "Anomaly-Based Intrusion Detection From Network Flow Features Using Variational Autoencoder", 《IEEE ACCESS》 * |
WAHEED A. H. M. GHANEM 等: "An Efficient Intrusion Detection Model Based on Hybridization of Artificial Bee Colony and Dragonfly Algorithms for Training Multilayer Perceptrons", 《IEEE ACCESS》 * |
曹卫东 等: "基于深度生成模型的半监督入侵检测算法", 《计算机科学》 * |
王振东 等: "基于天牛群优化与改进正则化极限学习机的网络入侵检测", 《自动化学报》 * |
贾东立 等: "基于人工蜂群优化的数据流聚类算法", 《计算机系统应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572732A (zh) * | 2021-06-22 | 2021-10-29 | 浙江工业大学 | 一种基于vae和聚合hmm的多步攻击建模和预测方法 |
CN113691505A (zh) * | 2021-08-05 | 2021-11-23 | 黎阳 | 基于大数据的工业互联网入侵检测方法 |
WO2023115845A1 (zh) * | 2021-12-22 | 2023-06-29 | 长沙理工大学 | 一种面向SDN网络的Dos攻击检测方法、装置及介质 |
CN115987689A (zh) * | 2023-03-20 | 2023-04-18 | 北京邮电大学 | 一种网络入侵检测方法及装置 |
CN115987689B (zh) * | 2023-03-20 | 2023-06-27 | 北京邮电大学 | 一种网络入侵检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112668688B (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112668688B (zh) | 一种入侵检测方法、系统、设备及可读存储介质 | |
Sharma et al. | Classification through machine learning technique: C4. 5 algorithm based on various entropies | |
CN104978612A (zh) | 基于ahp-rbf的分布式大数据系统风险预测方法 | |
Zhuang et al. | Representation learning via semi-supervised autoencoder for multi-task learning | |
CN111556016B (zh) | 一种基于自动编码器的网络流量异常行为识别方法 | |
CN116781346A (zh) | 基于数据增强的卷积双向长短期记忆网络入侵检测方法 | |
Genender-Feltheimer | Visualizing high dimensional and big data | |
CN116596095B (zh) | 基于机器学习的碳排放量预测模型的训练方法及装置 | |
CN113449837B (zh) | 一种入侵检测方法、系统、设备及可读存储介质 | |
Gan et al. | A convolutional neural network intrusion detection method based on data imbalance | |
Kalia et al. | Surrogate-assisted multi-objective genetic algorithms for fuzzy rule-based classification | |
CN108320027B (zh) | 一种基于量子计算的大数据处理方法 | |
Yan et al. | A clustering algorithm for multi-modal heterogeneous big data with abnormal data | |
CN115114484A (zh) | 异常事件检测方法、装置、计算机设备和存储介质 | |
Degirmenci et al. | iMCOD: Incremental multi-class outlier detection model in data streams | |
Joy et al. | A comprehensive study on the performance of different Multi-class Classification Algorithms and Hyperparameter Tuning Techniques using Optuna | |
Zhu et al. | Correlation coefficient based cluster data preprocessing and LSTM prediction model for time series data in large aircraft test flights | |
Hamidzadeh et al. | Clustering data stream with uncertainty using belief function theory and fading function | |
CN117155701A (zh) | 一种网络流量入侵检测方法 | |
Zhang et al. | An overview of complex data stream ensemble classification | |
Ros et al. | Deep Feature selection | |
Kumar et al. | An empirical comparative analysis of feature reduction methods for intrusion detection | |
Wu et al. | Review on Classification Algorithm and Evaluation System of Machine Learning | |
Guo et al. | An enhanced self-adaptive differential evolution based on simulated annealing for rule extraction and its application in recognizing oil reservoir | |
CN112884065A (zh) | 一种基于支持向量机的深度学习模型鲁棒边界评估方法、装置和应用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230807 Address after: 341000 Office 504, Jiafu Financial Center Phase I Office Building, No. 28, Orange Township Avenue, Zhanggong District, Ganzhou City, Jiangxi Province Patentee after: Jiangxi Haibo Information Technology Co.,Ltd. Address before: 86 No. 341000 Jiangxi city of Ganzhou province Zhanggong District Hongqi Avenue Patentee before: Jiangxi University of Science and Technology |