APP下载

基于深度学习的DDoS攻击检测模型①

2021-04-23奚玉龙

计算机系统应用 2021年4期
关键词:权值卷积粒子

奚玉龙

(安徽省第二人民医院,合肥 230041)

计算机网络技术的飞速发展给社会生活和经济发展带来了新机遇,但网络攻击给网络安全带来了巨大的风险[1,2].分布式拒绝服务攻击(DDoS)在攻击过程使用常见的协议和服务,准确检测的难度很高.因此,对DDoS 攻击的高性能检测对维护网络安全具有重要意义[3].

针对DDoS 攻击检测问题,研究人员提出了很多方法[4,5].例如,文献[6] 构建了基于BP 神经网络的DDoS 攻击检测模型,采用数据包长度、数据包发送时间等特征检测DDoS 攻击,取得了很好的检测效果.文献[7]针对软件定义网络攻击,提出了基于支持向量机和K 均值聚类的攻击检测算法,提高了检测效率.文献[8]提出了基于组合相关度随机森林的DDoS 攻击检测方法,具有较低的误报率和漏报率.这些方法均存在特征主观依赖性较强,检测模型泛化能力差的问题.文献[9]将深度神经网络应用于DDoS 攻击检测,模型泛化能力较强,但训练效率较低.

本文首先基于卷积神经网络(CNN)构建了DDoS攻击检测模型,实现了DDoS 攻击的高准确率检测.然后,引入粒子群算法(PSO),对卷积神经网络的卷积核进行优化,提高模型训练效率,并与梯度下降方法相结合,增加模型全局寻优能力.

1 卷积神经网络

CNN是一种具有深度结构的前馈神经网络,广泛应用于计算机视觉及自然语言处理等领域[10].CNN的主体架构包括卷积层、池化层、全连接层、输入层和输出层,其中卷积层与池化层是CNN的核心.

1.1 卷积层

卷积层输入通常为多维数组,卷积运算可以看作以卷积核为中心,不断在输入数据上进行滑动卷积操作的过程,具体实现过程如下.首先,将卷积层中的卷积核与输入数组对应位置的元素进行相乘后计算和值,然后不断滑动卷积核直到所有输入数据均完成上述操作.假设CNN的输入数据为二维数组xij,1≤i≤N1,1≤j≤N2,令fuv表示卷积层中的二维卷积核,1≤u≤n1,1≤v≤n2.通常情况下,卷积核长度小于输入数组长度,即n1≤N1,n2≤N2.此时,卷积层的输出可以表示为:

上述二维数据卷积操作的过程如图1所示.

图1 卷积操作过程

传统人工神经网络的输入层、输出层与神经元层之间的连接通常都是由矩阵乘法构建的全连接结构,结构十分复杂.CNN中,每个输出并不是与各个输入均连接,而是只连接部分输入,有效地减少了网络参数,降低了网络训练的复杂度.CNN的局部连接使得网络底层只对局部信息进行感知,在高层将底层信息进行综合,有效地提高了网络的局部特征提取能力.并且,CNN的卷积层中,权值是可以共享的.CNN的局部连接和权值共享使其在训练效率和存储需求上均优于传统神经网络,具有较低的时间和空间复杂性.

1.2 池化层

池化层位于卷积层之后,通过池化来降低卷积层输出的特征向量,同时改善训练结果,避免网络出现过拟合现象.池化过程是选取某一个位置的总体特征作为该位置的输出,在保留总体信息的同时,降低特征参数的维度和网络参数数量.CNN中的常用池化方法有平均池化法和最大池化法,平均池化是指提取相邻区域特征值的平均值,最大池化则提取相邻区域内的特征值的最大值,图2给出了最大池化特征提取过程.

图2 最大池化过程(2×2)

如果网络输入为1 00×100的矩阵,经过一层池化后,转化为5 0×50的矩阵,显著降低了特征维数,提高了网络训练效率.

2 PSO 优化CNN 检测模型

2.1 粒子群优化

PSO是一种源于鸟群捕食过程的启发式优化算法,实现疑难问题的优化.PSO 结构简单、计算量小、收敛速度快,且全局寻优能力强,在函数优化、系统控制等复杂问题优化领域有着十分广泛的应用[11].

卷积核优化是CNN的核心问题,直接影响了CNN的性能.考虑到PSO 优化算法的优良寻优性能和快速收敛能力,将其由于优化CNN的卷积核.PSO 优化过程可以总结为各个微粒i的位置与速度、全局极值Pg和个体极值Pi不断更新,优化的核心是微粒速度与位置的更新.假设vi(t)表示t时刻粒子速度,Xi(t)表示t时刻粒子位置,则速度更新过程为:

位置更新过程为:

式中,ω代表粒子更新过程的惯性权重,惯性权重能够有效平衡PSO 优化的全局搜索能力和局部搜索能力,c1和c2表示学 习 因子,r1和r2是位 于0和1 之 间的随机 数.

2.2 算法框架

利用CNN 实现网络攻击检测具有一定的可行性,但是存在两个问题,一是网络容易陷入局部最优值,二是网络的卷积核难以初始化,限制了网络性能.为此,本文将PSO 优化算法引入CNN,构建了基于优化CNN的攻击检测模型,模型结构如图3所示,具体步骤介绍如下.

图3 PSO 优化CNN 攻击检测模型

步骤1.构建CNN 模型.将DDoS 攻击数据输入,采用随机方式初始化CNN的各层卷积核,卷积层与池化层交替布置,池化层特征数量与其前一个卷积层相同,网络最后为全连接层,导出一维向量给输出层,实现网络攻击的检测.

步骤2.PSO 优化卷积核.从CNN的各个卷积层中提取出卷积核作为PSO的初始种群,PSO 适应度函数为网络输入与网络输出之间的均方误差.假设输入输出数据共有n组,适应度函数可以表示为:

其中,Pi和Ti分别表示第i组输入和输出的数据.利用PSO 寻优不断更新粒子速度和位置进行寻优,通过训练修正权值,给出最优的权值参数.

步骤3.梯度下降网络训练.将步骤2得出的最优卷积核导入到CNN 进行训练,基于梯度下降法实现网络权值寻优,实现PSO 全局最优能力和梯度下降局部最优相结合,最终实现网络攻击检测.

2.3 关键技术

(1)PSO 初始化卷积核

从分布式拒绝服务数据训练集中随机选取出部分数据以及对应的分类标签构建测试集合.根据CNN 理论,网络特征图的数量是由滤波器数量决定的,而CNN的主要权值就是卷积层中的卷积核,因此由网络各层的卷积核构建PSO的初始种群.PSO 优化的位置信息为整个网络权值空间,且设置最大粒子速度区间,位置参数和速度参数上均采用随机初始化方法,PSO 种群规模与CNN 卷积核个数保持一致.

随机选取部分网络攻击数据和对应标签作为CNN的输入,以网络输出和输入的均方误差作为PSO的适应度函数.以各个粒子坐标作为粒子位置,计算个体的适应度函数值,通过PSO 进化不断更新粒子速度和位置,对比各个粒子的适应度函数值,当满足迭代终止条件时,PSO 寻优结束,算法具体步骤如图4所示.

图4 PSO 优化卷积核流程

(2)PSO 结合梯度下降

基于PSO的优良全局最优能力,不断更新迭代粒子位置和速度,得出一组最优粒子,用最优粒子初始化CNN 卷积核,对新CNN 进行重新训练.经过卷积和池化后,特征值输入到全连接层转化为一维特征向量,最后利用输出层实现网络攻击检测.输出值与样本标签之间的误差作为反向传播依据,基于梯度下降法进行网络权值修正.上述训练过程将PSO 全局最优能力与CNN 局部搜索能力相结合,能够有效避免CNN 陷入局部最优,具体流程如图5所示.

3 实验与分析

3.1 实验条件

实验基于Tensorflow 框架构建CNN 模型,采用Python 语言实现PSO 优化程序,硬件环境为戴尔T640类型的GPU 运算服务器,软件环境为Windows 10 操作系统.

实验数据分为网络正常数据(正常流)和DDoS 攻击数据(攻击流),正常流数据为自动获取,而攻击流数据为自动获取与人工构建相结合.数据集总量为10 万条,按照正常流与攻击流比例随机将数据分为训练集和测试集,其中训练集8 万条数据,测试集2 万条数据,具体如表1所示.

表1 实验数据集(单位:条)

3.2 评估指标

利用准确率、召回率、精确率、F1 值和混淆矩阵对模型的DDoS 攻击检测进行性能评价.准确率定义为检测模型检测正确的数据数量占总数据量的比例,计算方法为:

其中,TP表示攻击流样本数据被模型正确检测为攻击流数据的样本数量,TN表示正常流样本数据被模型检测为正常流数据的样本数量,FP表示正常流样本数据被模型检测为攻击流数据的样本数量,FN表示攻击流数据被模型检测为正常流的样本数量.

召回率定义为检测模型判定为攻击流数据占所有攻击流数据的比例,计算方法为:

精确率定义为检测模型判定为攻击流数据中,确实为攻击流数据的比例,计算方法为:

F1 值定义为精确率和召回率之间的调和平均值,能够较好低评估DDoS 攻击检测模型的性能,计算方法为:

混淆矩阵是评价检测模型的常用指标,能够有效描述检测模型检测结果与样本标签之间的匹配程度,有利于校验模型的检测能力.

3.3 结果分析

不同深度CNN的检测能力不同,目前缺乏设置CNN 架构的理论结论.大量测试结果表明,CNN的架构对于DDoS 攻击检测具有较大影响,实验中选取了4 种典型的CNN 结构进行对比分析.

考虑到模型训练效率,采用小批量训练,batch 大小设置为50,共构建了4 型CNN,分别为C3P2F2、C3P3F3、C2P2F2、C2P2F4,其中C3P3F3表示该CNN有3个卷积层、3个最大池化层和3个全连接层,其它网络定义相同,网络激活函数均采用Sigmoid 函数.采用表1中数据集分别对4 型CNN 进行对比测试,4 型CNN的准确率、召回率、精确率、F1 值统计结果如表2所示.

表2 不同类型CNN 检测结果(%)

结果表明,3 层CNN(C3P2F2、C3P3F3)对DDoS网络攻击的检测性能显著优于2 层CNN(C2P2F2、C2P2F4).3 层CNN中,C3P2F2的精确度、召回率以及F1 值指标性能优于C3P3F3,但检测准确率不如C3P3F3.为进一步比较4 型CNN 对DDoS的检测性能,图6给出了4 型CNN的混淆矩阵.

图6 不同CNN 检测混淆矩阵

图6表明,2 层CNN 对于正常流数据和攻击流数据的判型能力上均弱于3 层CNN,这与表2指标结果保持一致.对比C3P2F2和C3P3F3 混淆矩阵可知,C3P2F2 对于攻击流数据的检测能力优于C3P3F3.在网络运行过程中,一旦出现DDoS 攻击机会对整个计算机网络系统的正常运行带来很大的隐患,因此网络攻击检测模型必须要对攻击流数据敏感,因此C3P2F2更适合于符合实际对DDoS 攻击进行检测的需求.

C3P2F2 模型检测精度较高,由于模型层数较深、数据规模大,因此训练过程中收敛速度慢,难以满足实际需求,且易陷入局部最优.为了提高CNN 训练效率以及避免CNN 陷入局部最优,本文构建了基于PSO 优化CNN的DDoS 攻击检测模型,下面通过实验测试其性能.图7给出了原始C3P2F2 模型和经过PSO 优化后C3P2F2 模型检测准确率与训练次数之间的关系.

图7 PSO 优化性能测试

实验结果表明,经过PSO 优化后,显著加快了CNN的训练速度.为了进一步测试本文构建PSO 优化CNNDDoS攻击检测模型(PSO-C3P2F2)性能,将其分别与目前常用DDoS 攻击检测模型中的支持向量机模型(SVM)[7]、随机森林(RF)模型[8]进行同等条件下的检测性能对比,每种模型进行10 次试验,统计指标平均值,结果如表3所示.

表3 不同模型检测性能对比(%)

从表3结果可知,C3P2F2 模型在各个指标上的性能均优于SVM 模型和RF 模型,且PSO-C3P2F2 模型相比C3P2F2 模型有略微提升.这是因为,SVM 模型和RF 模型均需要人为选取特征向量,不能很好地表征DDoS 攻击数据特征,而C3P2F2 模型能够自适应提取隐含在数据中的局部特征,避免受到主观因素影响,因此检测性能优于传统机器学习方法.PSO-C3P2F2 模型检测性能的提升是由于将PSO的全局寻优能力与CNN 局部最优能力相结合,能够有效避免CNN 陷入局部最优.

4 结束语

研究了DDoS 攻击检测问题,构建了基于CNN的攻击检测模型,利用权值共享和最大池化实现了DDoS攻击的高准确率检测.针对训练效率偏低的问题,引入PSO 对CNN的训练过程进行优化,提高网络训练效率和全局寻优能力.

猜你喜欢

权值卷积粒子
基于全卷积神经网络的猪背膘厚快速准确测定
基于FPGA的卷积神经网络加速优化方法
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
虚拟校园漫游中粒子特效的技术实现
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征
惯性权重动态调整的混沌粒子群算法
财务风险跟踪评价方法初探
问:超对称是什么?
基于洪泛查询的最短路径算法在智能交通系统中的应用