一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于两阶段学习模型的网络攻击检测系统及方法与流程

2021-12-03 23:08:00 来源:中国专利 TAG:


1.本发明属于网络攻击检测技术领域,特别是涉及一种网络攻击数据预处理和网络攻击数据识别的两阶段检测系统及方法。


背景技术:

2.万物互联的时代背景下如何有效地实现网络攻击检测是大数据环境中面临的关键问题之一,近年来各种基于深度神经网络的识别方法被广泛应用到网络攻击检测系统中。相较于传统的机器学习方法,深度神经网络模型往往能取得更高的检测精度。而影响各类网络攻击检测模型的最关键因素就是对于高维度网络攻击的数据特征使用,因此从大规模高维度网络攻击数据中提取价值信息的首要基础任务是找到网络攻击数据的关键特征。
3.伴随着网络领域数据规模的不断扩大,存在于网络之中的大规模数据中也会随之产生大量的冗余、无用和噪音数据,这些数据严重影响了检测学习算法对网络攻击检测的性能和速度。数据规模过于庞大仅是分析网络攻击的难题之一,当面对高维数据时,即使数据体积规模较小也会面临数据的“维度灾难”问题。并且大量的数据特征严重影响网络攻击检测方法的识别效率,使得检测模型的结构变得复杂。虽然深度学习技术的出现使得网络攻击检测的识别精度达到一个较高水准,但是由于深度学习模型相较于传统的机器学习网络攻击检测模型更为复杂,因此识别的效率则会有所降低。
4.需要将高维度的网络数据进行维度缩减,并基于缩减后的网络数据特征子集构建网络攻击高效的实时检测方法。在特征维度约简的过程中,不同的评价方式都具有相应的优势,基于距离评价使得计算较快,基于信息论的方法抗噪声数据集的能力强,基于一致性评价对于数据的可解释性友好等,但普遍缺少将网络特征攻击数据的特征子集作为单元进行整体度量。同时,现有的网络攻击检测深度学习模型,往往认为学习模型能力强大,未进行特征预处理工作,因此导致模型训练时间过长,同时增加了网络攻击检测模型和系统的部署难度。
5.2016年,本技术的发明人曾在《计算机研究与发展》上发表了《一种基于关联信息熵度量的特征选择方法》,其采用关联信息熵进行特征集合的搜索,充分考虑了特征子集中不同特征间的多变量关系,可将特征子集作为独立元素进行整体评估。通据多类公测数据集结合传统机器学习分类模型的验证,训练时间和分类精度都有很好的提升。但是,该方法并未结合深度学习模型进行性能分析,进而如何形成面向超高维网络数据的网络攻击检测是一个亟待解决的问题。


技术实现要素:

6.针对现有技术存在的上述问题,本发明提供一种基于两阶段学习模型网络攻击检测系统及方法,以验证基于组合效应的特征选择技术结合深度学习模型在网络攻击检测中的性能优势。本发明在第一阶段将网络数据集的特征子集被作为不可分单元进行特征组合的评估,实现网络数据集的特征维度约简;在第二阶段将缩减后的网络数据集作为训练数
据利用深度学习技术实现网络攻击实时检测模型,形成网络数据的低阶特征组合效应评价和高阶深度特征组合抽取相结合的完整通用检测技术方案。
7.基于此,本发明采用如下技术方案:
8.一种基于两阶段学习模型的网络攻击检测方法,按如下步骤进行:
9.阶段1:网络数据集的特征维度约简;本阶段将网络数据集的特征子集被作为不可分单元进行特征组合的评估,实现网络数据集的特征维度约简;具体如下:
10.步骤1.1,海量网络数据的预处理。首先对于超过特征缺失阈值限定的数据实例进行剔除初筛;进而在初筛后的网络数据集中将低信息量的特征予以删除,如序号、时间戳等;最后对网络数据集内非数值类型的特征进行one

hot编码映射为二进制向量;
11.步骤1.2,构建网络数据集的特征子集评估函数。基于网络数据特征和网络攻击类别的互信息(mutual information,mi)构建一个可度量的多元网络入侵检测分析模型f。
[0012][0013]
其中,具有n维特征的网络数据样本的具体数据并不作为输入,而是计算每一维网络数据特征与每一类网络攻击类别的互信息i
ij
作为输入,i(f
i
,c
j
)=h(f
i
) h(c
j
)

h(f
i
,c
j
),表示第i维特征与第j个类别的互信息,其中h为变量的信息熵,h(f
i
,c
j
)=

∑p((f
i
,c
j
))log2p((f
i
,c
j
))。将矩阵f中心化并标准化以后,由r=p
t
p计算得到关联矩阵rel。再由特征值λ计算和从而得到关联信息熵h
rel
和为避免仅使用关联信息熵导致系统倾向于选择本身信息量小的特征,即当系统本身不含有信息时自然也不含冗余信息,同时引入平均互信息表示系统内的平均有用信息大小,基于最大h
rel
和加权可得到最后的评估函数加权可得到最后的评估函数k1和k2是用于控制关联信息熵与平均互信息对所选特征影响大小的非负常数。
[0014]
步骤1.3,使用二元粒子群(binary particle swarm optimization,bpso)进化搜索策略确定特征子集。粒子h是一串0与1组成的bit串,它是n维特征的映射,当对应bit为1时则代表该维特征被选择。二元粒子群算法中,每一粒子在特征子集的解空间中移动,记录自身最优解(pbest)和群体最优解(gbest)来更新自身位置。pbest是指个体搜索到的,包括曾经搜索到的适应度值最优的位置,而gbest是指整个粒子群内所有粒子经历过的位置里计算适应度为最优的位置。粒子的更新如下:适应度为最优的位置。粒子的更新如下:其中,c1和c2为学习因子,ω为惯性因子,表示第h个粒子第t代的速度,表示第h个粒子第t代的位置。bpso算法通过sigmoid函数将连续速度值转为0或1的二进制向量,因此粒子的位置也由0或1的二进制向量表示。重复上述过程,对bpso进化搜索进行进化代数和最优收敛的限制,直到最终的网络数据特征子集确定。
[0015]
阶段2:基于网络数据特征子集的深度模型网络攻击检测;将缩减后的网络数据集
作为训练数据利用深度学习技术实现网络攻击实时检测模型;具体如下:
[0016]
步骤2.1,深度网络攻击检测模型的训练。第一阶段结束后得到网络数据最佳特征子集,将最佳子集作为第二阶段深度学习模型的输入。本发明采用深度置信网络(deep belief networks,dbn)。输入的网络特征子集数据由输入层x输入,经过隐藏层h计算,最后由输出层y输出。通过预训练(pre

training)使同一特征向量在不同的特征空间中映射时能更多地保留特征信息;通过微调(fine

tuning)对整体以监督的方式训练得到一个分类器。深度学习模型输出层激活函数设置为线性函数,隐藏层神经元激活函数设置为sigmoid函数。神经元层数及每层数目则根据网络特征子集数据规模进行具体设置,本发明为保证测试的时效性,设置为7层网络,神经元个数为[50,40,35,30,26,22,22]。
[0017]
步骤2.2,深度网络攻击检测模型的实时检测。检测模型系统首先收集网络数据,根据特征预处理和最优特征子集将网络数据缩减,将该数据输入已经训练好的深度学习网络模型,模型得出网络攻击类型或当前无攻击。
[0018]
步骤2.3,离线系统模型优化。根据网络攻击检测的实时监测数据进行人工复核,当检测错误实例超过限定阈值δ时,则将错误实例进行人工纠错标记,将所有网络增量数据和原有网络数据融合重新进入第一阶段和第二阶段进行网络攻击检测系统模型的离线优化。
[0019]
本发明还公开了一种基于两阶段学习模型的网络攻击检测系统,包括如下模块:
[0020]
网络数据集的特征维度约简模块:本模块将网络数据集的特征子集被作为不可分单元进行特征组合的评估,实现网络数据集的特征维度约简;具体包括如下子模块:
[0021]
海量网络数据的预处理模块:海量网络数据的预处理。首先对于超过特征缺失阈值限定的数据实例进行剔除初筛;进而在初筛后的网络数据集中将低信息量的特征予以删除,如序号、时间戳等;最后对网络数据集内非数值类型的特征进行one

hot编码映射为二进制向量;
[0022]
网络数据集的特征子集评估函数构建模块:构建网络数据集的特征子集评估函数。基于网络数据特征和网络攻击类别的互信息(mutual information,mi)构建一个可度量的多元网络入侵检测分析模型f。
[0023][0024]
其中,具有n维特征的网络数据样本的具体数据并不作为输入,而是计算每一维网络数据特征与每一类网络攻击类别的互信息i
ij
作为输入,i(f
i
,c
j
)=h(f
i
) h(c
j
)

h(f
i
,c
j
),表示第i维特征与第j个类别的互信息,其中h(f
i
,c
j
)=

∑p((f
i
,c
j
))log2p((f
i
,c
j
))。将矩阵f中心化并标准化以后,由r=p
t
p计算得到关联矩阵rel。再由和计算得到关联信息熵h
rel
和为避免仅使用关联信息熵导致系统倾向于选择本身信息量小的特征,即当系统本身不含有信息的时候自然也不含冗余信息,同时引入平均互信息表示系统内的平均有用信息大小,基于最大h
rel
和加权可得到最后的评估函数k1和k2是用于控制关联信息熵与平均
互信息对所选特征影响大小的非负常数。
[0025]
使用二元粒子群进化搜索策略确定特征子集模块:使用二元粒子群(binary particle swarm optimization,bpso)进化搜索策略确定特征子集。粒子h是一串0与1组成的bit串,它是n维特征的映射,当对应bit为1时则代表该维特征被选择。二元粒子群算法中,每一粒子在特征子集的解空间中移动,记录自身最优解(pbest)和群体最优解(gbest)来更新自身位置。pbest是指个体搜索到的,包括曾经搜索到的适应度值最优的位置,而gbest是指整个粒子群内所有粒子经历过的位置里计算适应度为最优的位置。粒子的更新如下:如下:bpso算法通过sigmoid函数将连续速度值转为0或1的二进制向量,因此粒子的位置也由0或1的二进制向量表示。重复上述过程,对bpso进化搜索进行进化代数和最优收敛的限制,直到最终的网络数据特征子集确定。
[0026]
深度模型网络攻击检测模块:基于网络数据特征子集的深度模型网络攻击检测;将缩减后的网络数据集作为训练数据利用深度学习技术实现网络攻击实时检测模型;具体包括如下子模块:
[0027]
深度网络攻击检测模型的训练模块:深度网络攻击检测模型的训练。网络数据集的特征维度约简模块结束后得到网络数据最佳特征子集,将最佳子集作为深度模型网络攻击检测模块深度学习模型的输入。本发明采用深度置信网络(deep belief networks,dbn)。输入的网络特征子集数据由输入层x输入,经过隐藏层h计算,最后由输出层y输出。通过预训练(pre

training)使同一特征向量在不同的特征空间中映射时能更多地保留特征信息;通过微调(fine

tuning)对整体以监督的方式训练得到一个分类器。深度学习模型输出层激活函数设置为线性函数,隐藏层神经元激活函数设置为sigmoid函数。神经元层数及每层数目则根据网络特征子集数据规模进行具体设置,本发明为保证测试的时效性,设置为7层网络,神经元个数为[50,40,35,30,26,22,22]。
[0028]
深度网络攻击检测模型的实时检测模块:深度网络攻击检测模型的实时检测。检测模型系统首先收集网络数据,根据特征预处理和最优特征子集将网络数据缩减,将该数据输入已经训练好的深度学习网络模型,模型得出网络攻击类型或当前无攻击。
[0029]
离线模型优化模块:离线系统模型优化。根据网络攻击检测的实时监测数据进行人工复核,当检测错误实例超过限定阈值δ时,则将错误实例进行人工纠错标记,将所有网络增量数据和原有网络数据融合重新进入网络数据集的特征维度约简模块和深度模型网络攻击检测模块进行网络攻击检测系统模型的离线优化。
[0030]
本发明两阶段网络攻击检测系统,充分考虑了网络高危数据的特征组合效应,针对网络攻击检测需要保证的精确性和时效性,使用特征选择技术、进化搜索技术和深度学习模型结合,以提升网络攻击检测的识别精度并大夫缩减模型训练时间。
[0031]
与现有技术相比,本发明具有如下有益效果:
[0032]
1、本发明引入关联信息熵考虑了网络特征与攻击类别的相关性,包括了线性相关性和非线性相关性;在多基底高维空间中,本发明大大减少了网络攻击检测多变量模型的体积。
[0033]
2、为了避免仅使用关联信息熵导致系统倾向于选择本身信息量小的特征,当系统本身不含有信息的时候自然也不含冗余信息,同时引入平均互信息表示系统内的平均有用
信息大小。
[0034]
3、本发明对深度学习模型的选择不受特定模型限制,可选用深度信念网络(deep belief networks,dbn)、堆叠自动编码器(stacked autoencoder,sae)、循环神经网络(recurrent neural networks,rnn)和elman网络等深度学习模型。
附图说明
[0035]
图1为两阶段学习模型的网络攻击检测方法流程示意图。
[0036]
图2为两阶段学习模型的网络攻击检测系统与单阶段网络攻击学习模型在三个网络数据集中的识别正确率对比图。cmi

dl为本发明系统的一个实例,dbn为单阶段网络攻击学习模型的一个实例。
[0037]
图3为两阶段学习模型的网络攻击检测系统与单阶段网络攻击学习模型在不同网络数据集中的学习模型实时检测时间对比图(以秒为单位)。cmi

dl为本发明系统的一个实例,dbn为单阶段网络攻击学习模型的一个实例。
[0038]
图4为两阶段学习模型的网络攻击检测系统框图。
具体实施方式
[0039]
下面结合附图对本发明优选实施例做详细说明。
[0040]
实施例1
[0041]
如图1所示,本实施例基于两阶段学习模型的网络攻击检测方法,按如下步骤进行:
[0042]
阶段1:网络数据集的特征维度约简;本阶段将网络数据集的特征子集被作为不可分单元进行特征组合的评估,实现网络数据集的特征维度约简;具体如下:
[0043]
步骤1.1,海量网络数据的预处理。首先对于超过特征缺失阈值限定的数据实例进行剔除初筛;进而在初筛后的网络数据集中将低信息量的特征予以删除,如序号、时间戳等;最后对网络数据集内非数值类型的特征进行one

hot编码映射为二进制向量;
[0044]
步骤1.2,构建网络数据集的特征子集评估函数。基于网络数据特征和网络攻击类别的互信息(mutual information,mi)构建一个可度量的多元网络入侵检测分析模型f。
[0045][0046]
其中,具有n维特征的网络数据样本的具体数据并不作为输入,而是计算每一维网络数据特征与每一类网络攻击类别的互信息i
ij
作为输入,i(f
i
,c
j
)=h(f
i
) h(c
j
)

h(f
i
,c
j
),表示第i维特征与第j个类别的互信息,其中h(f
i
,c
j
)=

∑p((f
i
,c
j
))log2p((f
i
,c
j
))。将矩阵f中心化并标准化以后,由r=p
t
p计算得到关联矩阵rel。再由和计算得到关联信息熵h
rel
和为避免仅使用关联信息熵导致系统倾向于选择本身信息量小的特征,即当系统本身不含有信息的时候自然也不含冗余信息,同时引入平均互信息表示系统内的平均有用信息大小,基于最大h
rel
和加权
可得到最后的评估函数k1和k2是用于控制关联信息熵与平均互信息对所选特征影响大小的非负常数。
[0047]
步骤1.3,使用二元粒子群(binary particle swarm optimization,bpso)进化搜索策略确定特征子集。粒子h是一串0与1组成的bit串,它是n维特征的映射,当对应bit为1时则代表该维特征被选择。二元粒子群算法中,每一粒子在特征子集的解空间中移动,记录自身最优解(pbest)和群体最优解(gbest)来更新自身位置。pbest是指个体搜索到的,包括曾经搜索到的适应度值最优的位置,而gbest是指整个粒子群内所有粒子经历过的位置里计算适应度为最优的位置。粒子的更新如下:适应度为最优的位置。粒子的更新如下:bpso算法通过sigmoid函数将连续速度值转为0或1的二进制向量,因此粒子的位置也由0或1的二进制向量表示。重复上述过程,对bpso进化搜索进行进化代数和最优收敛的限制,直到最终的网络数据特征子集确定。
[0048]
阶段2:基于网络数据特征子集的深度模型网络攻击检测;将缩减后的网络数据集作为训练数据利用深度学习技术实现网络攻击实时检测模型;具体如下:
[0049]
步骤2.1,深度网络攻击检测模型的训练。第一阶段结束后得到网络数据最佳特征子集,将最佳子集作为第二阶段深度学习模型的输入。本发明采用深度置信网络(deep belief networks,dbn)。输入的网络特征子集数据由输入层x输入,经过隐藏层h计算,最后由输出层y输出。通过预训练(pre

training)使同一特征向量在不同的特征空间中映射时能更多地保留特征信息;通过微调(fine

tuning)对整体以监督的方式训练得到一个分类器。深度学习模型输出层激活函数设置为线性函数,隐藏层神经元激活函数设置为sigmoid函数。神经元层数及每层数目则根据网络特征子集数据规模进行具体设置,本发明为保证测试的时效性,设置为7层网络,神经元个数为[50,40,35,30,26,22,22]。
[0050]
步骤2.2,深度网络攻击检测模型的实时检测。检测模型系统首先收集网络数据,根据特征预处理和最优特征子集将网络数据缩减,将该数据输入已经训练好的深度学习网络模型,模型得出网络攻击类型或当前无攻击。
[0051]
步骤2.3,离线系统模型优化。根据网络攻击检测的实时监测数据进行人工复核,当检测错误实例超过限定阈值δ时,则将错误实例进行人工纠错标记,将所有网络增量数据和原有网络数据融合重新进入第一阶段和第二阶段进行网络攻击检测系统模型的离线优化。
[0052]
实施例2
[0053]
如图4所示,本实施例基于两阶段学习模型的网络攻击检测系统,包括如下模块:
[0054]
网络数据集的特征维度约简模块:本模块将网络数据集的特征子集被作为不可分单元进行特征组合的评估,实现网络数据集的特征维度约简;具体包括如下子模块:
[0055]
海量网络数据的预处理模块:海量网络数据的预处理。首先对于超过特征缺失阈值限定的数据实例进行剔除初筛;进而在初筛后的网络数据集中将低信息量的特征予以删除,如序号、时间戳等;最后对网络数据集内非数值类型的特征进行one

hot编码映射为二进制向量;
[0056]
网络数据集的特征子集评估函数构建模块:构建网络数据集的特征子集评估函数。基于网络数据特征和网络攻击类别的互信息(mutual information,mi)构建一个可度
量的多元网络入侵检测分析模型f。
[0057][0058]
其中,具有n维特征的网络数据样本的具体数据并不作为输入,而是计算每一维网络数据特征与每一类网络攻击类别的互信息i
ij
作为输入,i(f
i
,c
j
)=h(f
i
) h(c
j
)

h(f
i
,c
j
),表示第i维特征与第j个类别的互信息,其中h(f
i
,c
j
)=

∑p((f
i
,c
j
))log2p((f
i
,c
j
))。将矩阵f中心化并标准化以后,由r=p
t
p计算得到关联矩阵rel。再由和计算得到关联信息熵h
rel
和为避免仅使用关联信息熵导致系统倾向于选择本身信息量小的特征,即当系统本身不含有信息的时候自然也不含冗余信息,同时引入平均互信息表示系统内的平均有用信息大小,基于最大h
rel
和加权可得到最后的评估函数k1和k2是用于控制关联信息熵与平均互信息对所选特征影响大小的非负常数。
[0059]
使用二元粒子群进化搜索策略确定特征子集模块:使用二元粒子群(binary particle swarm optimization,bpso)进化搜索策略确定特征子集。粒子h是一串0与1组成的bit串,它是n维特征的映射,当对应bit为1时则代表该维特征被选择。二元粒子群算法中,每一粒子在特征子集的解空间中移动,记录自身最优解(pbest)和群体最优解(gbest)来更新自身位置。pbest是指个体搜索到的,包括曾经搜索到的适应度值最优的位置,而gbest是指整个粒子群内所有粒子经历过的位置里计算适应度为最优的位置。粒子的更新如下:如下:bpso算法通过sigmoid函数将连续速度值转为0或1的二进制向量,因此粒子的位置也由0或1的二进制向量表示。重复上述过程,对bpso进化搜索进行进化代数和最优收敛的限制,直到最终的网络数据特征子集确定。
[0060]
深度模型网络攻击检测模块:基于网络数据特征子集的深度模型网络攻击检测;将缩减后的网络数据集作为训练数据利用深度学习技术实现网络攻击实时检测模型;具体包括如下子模块:
[0061]
深度网络攻击检测模型的训练模块:深度网络攻击检测模型的训练。网络数据集的特征维度约简模块结束后得到网络数据最佳特征子集,将最佳子集作为深度模型网络攻击检测模块深度学习模型的输入。本发明采用深度置信网络(deep belief networks,dbn)。输入的网络特征子集数据由输入层x输入,经过隐藏层h计算,最后由输出层y输出。通过预训练(pre

training)使同一特征向量在不同的特征空间中映射时能更多地保留特征信息;通过微调(fine

tuning)对整体以监督的方式训练得到一个分类器。深度学习模型输出层激活函数设置为线性函数,隐藏层神经元激活函数设置为sigmoid函数。神经元层数及每层数目则根据网络特征子集数据规模进行具体设置,本发明为保证测试的时效性,设置为7层网络,神经元个数为[50,40,35,30,26,22,22]。
[0062]
深度网络攻击检测模型的实时检测模块:深度网络攻击检测模型的实时检测。检测模型系统首先收集网络数据,根据特征预处理和最优特征子集将网络数据缩减,将该数
据输入已经训练好的深度学习网络模型,模型得出网络攻击类型或当前无攻击。
[0063]
离线模型优化模块:离线系统模型优化。根据网络攻击检测的实时监测数据进行人工复核,当检测错误实例超过限定阈值δ时,则将错误实例进行人工纠错标记,将所有网络增量数据和原有网络数据融合重新进入网络数据集的特征维度约简模块和深度模型网络攻击检测模块进行网络攻击检测系统模型的离线优化。
[0064]
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献