[0006] 针对现有技术存在的上述问题,本发明提供一种基于两阶段学习模型网络攻击检测系统及方法,以验证基于组合效应的特征选择技术结合深度学习模型在网络攻击检测中的性能优势。本发明在第一阶段将网络数据集的特征子集被作为不可分单元进行特征组合的评估,实现网络数据集的特征维度约简;在第二阶段将缩减后的网络数据集作为训练数据利用深度学习技术实现网络攻击实时检测模型,形成网络数据的低阶特征组合效应评价和高阶深度特征组合抽取相结合的完整通用检测技术方案。
[0007] 基于此,本发明采用如下技术方案:
[0008] 一种基于两阶段学习模型的网络攻击检测方法,按如下步骤进行:
[0009] 阶段1:网络数据集的特征维度约简;本阶段将网络数据集的特征子集被作为不可分单元进行特征组合的评估,实现网络数据集的特征维度约简;具体如下:
[0010] 步骤1.1,海量网络数据的预处理。首先对于超过特征缺失阈值限定的数据实例进行剔除初筛;进而在初筛后的网络数据集中将低信息量的特征予以删除,如序号、时间戳等;最后对网络数据集内非数值类型的特征进行one‑hot编码映射为二进制向量;
[0011] 步骤1.2,构建网络数据集的特征子集评估函数。基于网络数据特征和网络攻击类别的互信息(Mutual Information,MI)构建一个可度量的多元网络入侵检测分析模型F。
[0012]
[0013] 其中,具有n维特征的网络数据样本的具体数据并不作为输入,而是计算每一维网络数据特征与每一类网络攻击类别的互信息Iij作为输入,I(fi,Cj)=H(fi)+H(Cj)‑H(fi,Cj),表示第i维特征与第j个类别的互信息,其中H为变量的信息熵,H(fi,Cj)=‑∑p((fi,TCj))log2p((fi,Cj))。将矩阵F中心化并标准化以后,由R=PP计算得到关联矩阵Rel。再由特征值λ计算 和 从而得到关联信息熵HRel和 为避免仅使用
关联信息熵导致系统倾向于选择本身信息量小的特征,即当系统本身不含有信息时自然也不含冗余信息,同时引入平均互信息 表示系统内的平均有用信息大小,
基于最大HRel和 加权可得到最后的评估函数
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维特征的网络数据样本的具体数据并不作为输入,而是计算每一维网络数据特征与每一类网络攻击类别的互信息Iij作为输入,I(fi,Cj)=H(fi)+H(Cj)‑H(fi,Cj),表示第i维特征与第j个类别的互信息,其中H(fi,Cj)=‑∑p((fi,Cj))log2p((fi,Cj))。T
将矩阵F中心化并标准化以后,由R=PP计算得到关联矩阵Rel。再由 和
计算得到关联信息熵HRel和 为避免仅使用关联信息熵导致系统倾向于选
择本身信息量小的特征,即当系统本身不含有信息的时候自然也不含冗余信息,同时引入平均互信息 表示系统内的平均有用信息大小, 基于最大HRel和 加权
可得到最后的评估函数 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网络等深度学习模型。