1.本发明涉及一种基于鲸鱼提升算法的网络入侵检测方法,属于网络安全领域。
背景技术:2.目前人、物间相互连接示范出的便利性促生了不断膨化的互联网、物联网连接需求,这导致网络设施中尚未完备或难以根治的系统漏洞等面临严重的网络入侵和攻击风险。传统的根据攻击构建的入侵检测规则越来越难以应对日益复杂和不断变种的网络攻击,尤其是难以防范和检测未知攻击。近年来随着机器学习等技术的发展,基于异常检测的网络攻击检测虽然取得一定程度的进展,但仍然面临攻击特征提取人工依赖性强,未知攻击检测困难、检测模型复杂度高和网络攻击检测精度低等困难,这严重制约了网络入侵检测系统的发展和应用。
技术实现要素:3.本发明为解决上述现有技术中存在的问题,提供了一种基于鲸鱼提升算法的网络入侵检测方法,本发明能够缩短了模型训练的时间,降低了模型训练消耗和时间成本,针对网络流量的分类具有更好的精度和更快的收敛速度。
4.为实现上述目的,本发明提供的技术方案为:一种基于鲸鱼提升算法的网络入侵检测方法,按照以下步骤进行操作:
5.步骤(1)构成可分析数据集d:通过将流量采集器部署到目标网络,采集目标网络的实时网络数据,构成初始网络流量数据集d
ys
;并对始网络流量数据集d
ys
进行数据清洗,即删除其中存在的空值和重复值,得到可分析数据集d;
6.步骤(2)获取去噪数据集dd:针对数据采集、网络故障等行为带来的数据噪声问题,借助小波方法对数据集d构建k层小波分解,对于分解出的第1-i(i≤k)层高频分解向量予以剔除,剩余低频和高频数据重新组装为去噪数据集dd;
7.步骤(3)构建样本特征数据集df:利用cicflowmeter工具,通过统计计算从网络流量中选取具体特征构成样本特征数据集df;为样本特征数据集df创建“label”列,根据网络入侵检测结果将数据划分为正常数据和异常数据,正常数据行label列标注为“0”,带有攻击的数据行label列标注为“1”;
8.步骤(4)构造最优特征数据集:利用互信息值大小和pearson系数标识了特征集x与标签集y的相关性,因此利用互信息理论和pearson系数计算df中各特征x与label列的相关度,并将特征集x重新按照特征互信息值和pearson值进行降序排列,取互信息值≥m的前m列特征列作为识别网络攻击行为贡献度较大的特征形成最优特征子集d
fs1
,m和m为常数,选择互pearson值≥n的前n列特征列作为识别网络攻击行为贡献度较大的特征形成最优特征子集d
fs2
,n和n为常数,其余特征予以剔除;
9.步骤(5)构建入侵检测模型:将最优特征子集d
fs1
和最优特征子集d
fs2
中的数据进行随机分组,抽取其中70%作为训练数据集d
tr1
和d
ts2
,剩余30%作为测试数据集d
t1
和d
t2
;
构造网络入侵检测模型,模型基于鲸鱼提升算法,即wba算法,对混合最小二乘支持向量机,即lssvm框架进行优化,通过训练数据集d
tr1
和d
ts2
训练该模型;并输出lssvm模型的核函数宽度δ和正则参数c;
10.步骤(6)模型评估与优化:保存步骤(5)得到的最优参数核函数宽度δ和正则参数c;使用测试数据集d
t1
和d
t2
作为输入测试lssvm框架,测试完成后得到最终的检测模型,并选择更优的特征提取方法作为基准模型的特征提取模块,至此完成网络攻击检测的基准模型的构建;
11.步骤(7)检测结果可视化呈现:实时的网络流量采集、预处理和特征提取后,将提取的特征输入至训练好的lssvm框架,输出结果作为对实时网络攻击检测识别与分类的结果,以文本和图形事件图库形式展示给用户,展示结果支持分类事件收藏和查询。
12.在步骤(4)中,构造最优特征数据集d
fs1
和d
fs2
按如下步骤进行操作:
13.1)计算互信息值:计算特征集z中每列特征与标签列y的互信息值,此处的特征集z等同于样本特征数据集df,为方便表述下面公式此处使用z代替df;
14.(1)利用公式1和公式2计算特征集z和标签列y的互信息熵;
[0015][0016]
式中:z为z中的某一列特征集,z为所有特征z的集合,p(z)为特征z的边缘分布概率;
[0017][0018]
式中:y表示标注标签;y为所有标注标签值构成的集合;p(y)表示标注标签y的边缘分布;
[0019]
(2)利用公式3计算各列特征集z与标签集y之间的交叉熵;
[0020][0021]
式中:p(z,y)为特征z和标注标签y的联合分布;
[0022]
(3)在特征集z和标签集y的信息熵和各列特征集z与标签集y之间的交叉熵的基础上利用公式4计算各列特征集z与标签集y的互信息值;
[0023][0024]
式中:i(z;y)为特征集z与标签集y的互信息值,h(z)表示特征集z的互信息熵,h(y)为标签集y的互信息熵,h(z|y)表示特征集z和标签集y的条件熵,h(z,y)为特征集z与标签集y之间的交叉熵;此处z,y,z,y含义同公式1和公式2;
[0025]
2)计算pearson系数值:利用公式5计算每列特征与标签的pearson系数值;
[0026][0027]
式中:r为每列特征集z与标签的pearson系数值;zj为特征集z的第j个特征列;y为特征集z对应的标签值;为特征集z的第j个特征列的所有数据的平均值;为标签集y的所有数据平均值;此处z,y,z,y含义同公式1和公式2;
[0028]
3)逆序排列互信息值:按照互信息值的大小合理选择对应的特征列,选择互信息值≥m的特征列形成最优特征子集d
fs1
;
[0029]
4)逆序排列pearson系数值:按照pearson值的大小合理选择对应的特征列,选择互pearson值≥n的特征列形成最优特征子集d
fs2
。
[0030]
在步骤(5)中按如下步骤构建构造基于鲸鱼提升算法优化的混合最小二乘支持向量机网络入侵检测模型:
[0031]
1)配置lssvm模型,lssvm模型核采用高斯径向基核函数和多项式核函数构成的混合核函数,高斯径向基核函数的计算如公式6、公式7和公式8所示:
[0032]
k(x,xj)=λk
pkf
(x,xj)+(1-λ)k
rbf
(x,xj)
ꢀꢀꢀ
公式6
[0033]
式中:λ为混合核函数的权重系数,λ∈[0,1],k
pkf
(x,xj)为多项式核函数,k
rbf
(x,xj)为高斯核函数;x为当前特征集x的一列特征,此处x指经互信息或pearson选择后的最优特征子集d
fs1
或d
fs2
,xj为特征集x的第j列特征,0《j《n,n为特征维度;
[0034]kpkf
(x,xj)=(γx
t
xj+r)d,γ>0
ꢀꢀꢀ
公式7
[0035]
式中:γ表示多项式核函数参数,取值为0.5,r是一个常数项,r=0,d表示核函数的阶数;x
t
为输入数据集中当前特征集x的特征向量的转置;此处x,xj,x同公式6;
[0036][0037]
式中:δ为核宽度参数;此处x,xj,x同公式6,0《j《n,n为特征维度;即:高斯径向基核函数主要计算每一个样本与其它所有样本的距离;
[0038]
其中公式6中的lssvm模型为公式8;
[0039][0040]
式中:w为权重向量;b是偏移量;c为正则参数;ej表示输出的实际值和预测值之间的回归误差;y为特征集x对应的标签值;此处xj同公式6;
[0041]
利用拉格朗日乘子法将公式8可以转换成无约束的拉格朗日目标函数l(w,b,e;a),表示为公式9;
[0042]
[0043]
式中:ej为误差项;a为拉格朗日乘数;此处xj同公式6;
[0044]
令l(w,b,e;a)分别对w,b,ej,aj求导等于0,对公式8进行求解得到公式10,k为核矩阵;
[0045][0046]
式中:e表示单位向量;k为原始核矩阵,c为正则参数;b是偏移量;a表示拉格朗日乘数;y表示整个标签标注值的全体;y
t
为标注标签值特征向量的转置;
[0047]
采用混合核函数公式5替代公式10中的核函数k对公式9求解后可得到lssvm最终分类表达式;
[0048]
2)模型训练:将训练集d
tr1
和d
ts2
输入至lssvm模型进行训练;lssvm模型如公式10所示;
[0049]
3)参数优化:采用wba算法优化lssvm模型的参数;wba算法的步骤包括:
[0050]
(1)设置各项初始参数;设置如公式10所示的lssvm模型正则化参数c的范围和核函数参数δ的搜索范围为0.1-300,wba算法的种群规模为10,最大迭代次数为100;种群可以表示成公式11;
[0051][0052]
式中:x
ij
表示d
fs
特征集中第i个样本的第j个特征;
[0053]
(2)初始化种群;计算种群个体自适应度值,即通过选取对网络流量检测的准确率作为优化算法的自适应度;
[0054]
(3)引入非线性递减因子:假设当前最优候选解是“目标猎物”,利用公式12和公式13计算最优搜索代理位置更新的系数a、c,最终按照后续步骤实现最优搜索代理的位置更新;wba采用非线性递减因子来加快搜索速率,主要表现在公式14中的d采用基于非线性的sin函数进行改进;
[0055]
a=2d
·
k-d
ꢀꢀꢀ
公式12
[0056]
c'=2k
ꢀꢀꢀ
公式13
[0057][0058]
式中:a,c'是系数向量;d表示递减因子;t表示当前迭代次数,t
max
表示最大迭代次数,μ表示单位时间内变化的相角弧度值,表示初始相位,k为[0,1]之间的随机向量;
[0059]
(4)引入自适应权重:wba算法假设有50%的概率在收缩包围机制和螺旋更新包围机制中进行选择实现更新,可用数学模型表示为公式15,其中p为[0,1]之间的随机数;通过判断p的大小,选择合适的更新机制;若p《0.5,选择包围机制;若p≥0.5,选择螺旋更新包围机制;wba引入自适应权重w(t)在开始迭代时权重较小,变化速率快,其值随着迭代次数逐
渐增加,变化速度减小,进而实现跳出局部最优的效果,引入自适应权重后的更新机制见公式16和公式17,自适应权重的表达见公式18,通过公式19计算鲸鱼与猎物之间的距离;
[0060][0061]
x(t+1)=w(t)x
*
(t)-a
·dꢀꢀꢀ
公式16
[0062]
x(t+1)=d
·eql
·
cos(2πl)+w(t)x
*
(t)
ꢀꢀꢀ
公式17
[0063][0064]
d=|c'x
*
(t)-x(t)|
ꢀꢀꢀ
公式19
[0065]
式中:q为常数,l是[-1,1]之间的随机数,x(t)表示当前解的位置向量,x*(t)表示最优解的位置向量;p为[0,1]之间的随机数;其中d是表示鲸鱼与猎物之间的距离,l是[-1,1]之间的随机数;w(t)为自适应权重;
[0066]
(5)wba还通过随机搜索猎物进行全局搜索,具体可以用公式20和公式21描述;x
rand
(t)是种群中随机选择的搜索代理向量,通过判断系数a的大小,选择局部搜索或全局搜索;当|a|》1时选择随机搜索代理,|a|《1时选择最优解更新搜索代理位置;
[0067]
d=|cx
rand
(t)-x(t)|
ꢀꢀꢀ
公式20
[0068]
x(t+1)=x
rand
(t)-a
·dꢀꢀꢀ
公式21
[0069]
式中:x
rand
(t)是种群中随机选择的搜索代理向量;
[0070]
(6)判断迭代次数是否满足终止条件,如果满足终止条件,则输出lssvm模型的核函数宽度δ和正则参数c。
[0071]
在步骤(6)中,通过以下步骤对模型进行评估:
[0072]
1)性能测试:设置最优参数核函数宽度δ和正则参数c,测试集dt输入到lssvm模型中进行预测;
[0073]
2)性能评估:统计预测结果和真实结果构成的混淆矩阵,利用公式22、公式23和公式24计算准确率、检测率和误报率等指标;
[0074][0075][0076][0077]
式中:acc为准确度,recall为检测率;tp表示真阳率,fn表示假阴率,fp表示假阳率,tn表示真阴率,fpr为误报率;sensitivity为敏感度,dr为检测率。
[0078]
在检测模型定型后每间隔规定时间t则通过新采集的数据通过重复步骤(1)至步骤(7)对模型重新进行训练,并通过评价指标对新训练后的模型进行评估,如果评估指标优于原模型指标则以新训练获取的核函数宽度δ和正则参数c替换原模型中的参数,否则保持
原参数不变。
[0079]
本技术方案包括一种专用于基于鲸鱼提升算法与最小二乘支持向量机的网络入侵检测方法的装置,至少包括:cpu和分别通过pcie总线与cpu进行通信连接的协处理器单元、接口外设单元和存储阵列,协处理器单元中至少包括gpu和fpga模块,接口外设单元内至少包括ddr缓存、rj45以太网接口和sfp光口,其中rj45以太网接口和sfp光口均通过pcie总线与fpga模块通信连接,fpga模块通过pcie总线经ddr缓存实现交互,所述存储阵列为用于存储cpu通过pcie总线传输数据的外置存储设备。
[0080]
更进一步的,当设备接收数据时,首先由cpu向fpga模块发送控制指令,通过fpga模块控制的rj45以太网接口或sfp光口对目标网络进行数据采集,采集的数据缓存至ddr缓存中,由cpu将通过pcie总线将ddr缓存中数据传输至存储阵列进行存储;
[0081]
当设备向外发送数据时,首先由cpu向fpga模块发送控制指令,将所需发送的数据传输至fpga模块中,所发送数据由fpga模块产生,或由cpu对存储阵列和ddr缓存发送控制指令,将发送数据通过pcie总线传输至fpga模块,再由fpga模块控制rj45或sfp光口发送数据。
[0082]
更进一步的,cpu通过向gpu发送控制指令,gpu通过pcie总线从将数据取至ddr缓存,再由ddr缓存取数据进行计算,计算结果返回至cpu,最后由cpu通过pcie总线将计算结果传输至接口外设单元中。
[0083]
根据上述技术方案可知,本发明提供的基于基于鲸鱼提升算法的网络入侵检测方法,通过采集目标网络的数据信息,鲸鱼提升算法的网络入侵检测方法通过互信息理论、改进鲸鱼优化算法和最小二乘支持向量机,本发明相对于现有技术相比具有以下优点:
[0084]
(1)因为本发明所采用的技术方案对比基于互信息理论的特征提取模块和基于pearson系数的特征提取模块,在模型训练阶段选择检测性能更优的模块参与模型构建,所以本发明能够大大缩短了模型训练的时间,降低了模型训练消耗和时间成本,同时由于基于互信息理论的特征提取模型较传统的特征降维方法如主成分分析在针对网络流量强相关特征提取方面具有更好的优势,所以从模型训练阶段结果可以看出相同条件下该方法提取的特征集具有更好的分类精度。
[0085]
(2)因为本发明所采用的技术方案利用非线性递减因子和自适应权重对原始鲸鱼算法进行改进为鲸鱼提升算法以获取更快的寻优速度,在此基础上以鲸鱼提升算法对lssvm入侵检测模型的正则参数和核函数宽度进行优化,所以本发明能够使得该入侵检测模型获得了更好的针对网络攻击流量的检测精度和更快的收敛速度。
[0086]
(3)因为本发明针对网络流量数据在采集过程中受网络设备故障、误操作等原因带来的噪声数据,借助小波算法对数据集进行了降噪处理,所以本发明能够有效提升方法针对网络攻击的检测精度。
附图说明
[0087]
图1网络攻击检测模型流程示意图;
[0088]
图2鲸鱼提升算法流程图;
[0089]
图3装置结构图;
[0090]
图4 fpga模块结构图。
具体实施方式
[0091]
下面结合附图和具体实施例对本发明作详细具体的说明,但本发明的保护范围不限于下述的实施例。
[0092]
在本发明所提供的技术方案中的一种基于鲸鱼提升算法的网络入侵检测方法,如图1所示,按照以下步骤进行操作:
[0093]
步骤(1)构成可分析数据集d:通过将流量采集器部署到目标网络,采集目标网络的实时网络数据,构成初始网络流量数据集d
ys
;并对始网络流量数据集d
ys
进行数据清洗,即删除其中存在的空值和重复值,得到可分析数据集d;
[0094]
步骤(2)获取去噪数据集dd:针对数据采集、网络故障等行为带来的数据噪声问题,借助小波方法对数据集d构建k层小波分解,对于分解出的第1-i(i≤k)层高频分解向量予以剔除,剩余低频和高频数据重新组装为去噪数据集dd;
[0095]
步骤(3)构建样本特征数据集df:利用cicflowmeter工具,通过统计计算从网络流量中选取具体特征构成样本特征数据集df;为样本特征数据集df创建“label”列,根据网络入侵检测结果将数据划分为正常数据和异常数据,正常数据行label列标注为“0”,带有攻击的数据行label列标注为“1”;
[0096]
在本实施例中,cicflowmeter工具从网络流量中选取tcp连接基本特征、一次连接中包含的内容特征、基于时间的网络流量特征和基于主机的网络流量特征四个角度统计网络流量具体特征,在此四个方向构成样本特征数据集df;
[0097]
步骤(4)构造最优特征数据集:利用互信息值大小和pearson系数标识了特征集x与标签集y的相关性,因此利用互信息理论和pearson系数计算df中各特征x与label列的相关度,并将特征集x重新按照特征互信息值和pearson值进行降序排列,取互信息值≥m的前m列特征列作为识别网络攻击行为贡献度较大的特征形成最优特征子集d
fs1
,m和m为常数,选择互pearson值≥n的前n列特征列作为识别网络攻击行为贡献度较大的特征形成最优特征子集d
fs2
,n和n为常数,其余特征予以剔除;
[0098]
在步骤(4)中,构造最优特征数据集d
fs1
和d
fs2
按如下步骤进行操作:
[0099]
1)计算互信息值:计算特征集z中每列特征与标签列y的互信息值,此处的特征集z等同于样本特征数据集df,为方便表述下面公式此处使用z代替df;
[0100]
(1)利用公式1和公式2计算特征集z和标签列y的互信息熵;
[0101][0102]
式中:z为z中的某一列特征集,z为所有特征z的集合,p(z)为特征z的边缘分布概率;
[0103][0104]
式中:y表示标注标签;y为所有标注标签值构成的集合;p(y)表示标注标签y的边缘分布;
[0105]
(4)利用公式3计算各列特征集z与标签集y之间的交叉熵;
[0106][0107]
式中:p(z,y)为特征z和标注标签y的联合分布;
[0108]
(5)在特征集z和标签集y的信息熵和各列特征集z与标签集y之间的交叉熵的基础上利用公式4计算各列特征集z与标签集y的互信息值;
[0109][0110]
式中:i(z;y)为特征集z与标签集y的互信息值,h(z)表示特征集z的互信息熵,h(y)为标签集y的互信息熵,h(z|y)表示特征集z和标签集y的条件熵,h(z,y)为特征集z与标签集y之间的交叉熵;此处z,y,z,y含义同公式1和公式2;
[0111]
2)计算pearson系数值:利用公式5计算每列特征与标签的pearson系数值;
[0112][0113]
式中:r为每列特征集z与标签的pearson系数值;zj为特征集z的第j个特征列;y为特征集z对应的标签值;为特征集z的第j个特征列的所有数据的平均值;为标签集y的所有数据平均值;此处z,y,z,y含义同公式1和公式2;
[0114]
3)逆序排列互信息值:按照互信息值的大小合理选择对应的特征列,选择互信息值≥m的特征列形成最优特征子集d
fs1
,在本实施例中,m的值为0.2;
[0115]
4)逆序排列pearson系数值:按照pearson值的大小合理选择对应的特征列,选择互pearson值≥n的特征列形成最优特征子集d
fs2
,在本实施例中,n的值为0.2。
[0116]
步骤(5)构建入侵检测模型:将最优特征子集d
fs1
和最优特征子集d
fs2
中的数据进行随机分组,抽取其中70%作为训练数据集d
tr1
和d
ts2
,剩余30%作为测试数据集d
t1
和d
t2
;构造网络入侵检测模型,模型基于鲸鱼提升算法,即wba算法,对混合最小二乘支持向量机,即lssvm框架进行优化,通过训练数据集d
tr1
和d
ts2
训练该模型;并输出lssvm模型的核函数宽度δ和正则参数c;
[0117]
在步骤(5)中按如下步骤构建构造基于鲸鱼提升算法优化的混合最小二乘支持向量机网络入侵检测模型:
[0118]
1)配置lssvm模型,lssvm模型核采用高斯径向基核函数和多项式核函数构成的混合核函数,高斯径向基核函数的计算如公式6、公式7和公式8所示:
[0119]
k(x,xj)=λk
pkf
(x,xj)+(1-λ)k
rbf
(x,xj)
ꢀꢀꢀ
公式6
[0120]
式中:λ为混合核函数的权重系数,λ∈[0,1],k
pkf
(x,xj)为多项式核函数,k
rbf
(x,xj)为高斯核函数;x为当前特征集x的一列特征,此处x指经互信息或pearson选择后的最优
特征子集d
fs1
或d
fs2
,xj为特征集x的第j列特征,0《j《n,n为特征维度;
[0121]kpkf
(x,xj)=(γx
t
xj+r)d,γ>0
ꢀꢀꢀ
公式7
[0122]
式中:γ表示多项式核函数参数,取值为0.5,r是一个常数项,r=0,d表示核函数的阶数;x
t
为输入数据集中当前特征集x的特征向量的转置;此处x,xj,x同公式6;
[0123][0124]
式中:δ为核宽度参数;此处x,xj,x同公式6,0《j《n,n为特征维度;即:高斯径向基核函数主要计算每一个样本与其它所有样本的距离;
[0125]
其中公式6中的lssvm模型为公式8;
[0126][0127]
式中:w为权重向量;b是偏移量;c为正则参数;ej表示输出的实际值和预测值之间的回归误差;y为特征集x对应的标签值;此处xj同公式6;
[0128]
利用拉格朗日乘子法将公式8可以转换成无约束的拉格朗日目标函数l(w,b,e;a),表示为公式9;
[0129][0130]
式中:ej为误差项;a为拉格朗日乘数;此处xj同公式6;
[0131]
令l(w,b,e;a)分别对w,b,ej,aj求导等于0,对公式8进行求解得到公式10,k为核矩阵;
[0132][0133]
式中:e表示单位向量;k为原始核矩阵,c为正则参数;b是偏移量;a表示拉格朗日乘数;y表示整个标签标注值的全体;y
t
为标注标签值特征向量的转置;
[0134]
采用混合核函数公式5替代公式10中的核函数k对公式9求解后可得到lssvm最终分类表达式;
[0135]
2)模型训练:将训练集d
tr1
和d
ts2
输入至lssvm模型进行训练;lssvm模型如公式10所示;
[0136]
3)参数优化:采用wba算法优化lssvm模型的参数;如图2所示,wba算法的步骤包括:
[0137]
(1)设置各项初始参数;设置如公式10所示的lssvm模型正则化参数c的范围和核函数参数δ的搜索范围为0.1-300,wba算法的种群规模为10,最大迭代次数为100;种群可以表示成公式11;
[0138][0139]
式中:x
ij
表示d
fs
特征集中第i个样本的第j个特征;
[0140]
(2)初始化种群;计算种群个体自适应度值,即通过选取对网络流量检测的准确率作为优化算法的自适应度;
[0141]
(3)引入非线性递减因子:假设当前最优候选解是“目标猎物”,利用公式12和公式13计算最优搜索代理位置更新的系数a、c,最终按照后续步骤实现最优搜索代理的位置更新;wba采用非线性递减因子来加快搜索速率,主要表现在公式14中的d采用基于非线性的sin函数进行改进;
[0142]
a=2d
·
k-d
ꢀꢀꢀ
公式12
[0143]
c'=2k
ꢀꢀꢀ
公式13
[0144][0145]
式中:a,c'是系数向量;d表示递减因子;t表示当前迭代次数,t
max
表示最大迭代次数,μ表示单位时间内变化的相角弧度值,表示初始相位,k为[0,1]之间的随机向量;
[0146]
(4)引入自适应权重:wba算法假设有50%的概率在收缩包围机制和螺旋更新包围机制中进行选择实现更新,可用数学模型表示为公式15,其中p为[0,1]之间的随机数;通过判断p的大小,选择合适的更新机制;若p《0.5,选择包围机制;若p≥0.5,选择螺旋更新包围机制;wba引入自适应权重w(t)在开始迭代时权重较小,变化速率快,其值随着迭代次数逐渐增加,变化速度减小,进而实现跳出局部最优的效果,引入自适应权重后的更新机制见公式16和公式17,自适应权重的表达见公式18,通过公式19计算鲸鱼与猎物之间的距离;
[0147][0148]
x(t+1)=w(t)x
*
(t)-a
·dꢀꢀꢀ
公式16
[0149]
x(t+1)=d
·eql
·
cos(2πl)+w(t)x
*
(t)
ꢀꢀꢀ
公式17
[0150][0151]
d=|c'x
*
(t)-x(t)|
ꢀꢀꢀ
公式19
[0152]
式中:q为常数,l是[-1,1]之间的随机数,x(t)表示当前解的位置向量,x*(t)表示最优解的位置向量;p为[0,1]之间的随机数;其中d是表示鲸鱼与猎物之间的距离,l是[-1,1]之间的随机数;w(t)为自适应权重;
[0153]
(5)wba还通过随机搜索猎物进行全局搜索,具体可以用公式20和公式21描述;x
rand
(t)是种群中随机选择的搜索代理向量,通过判断系数a的大小,选择局部搜索或全局
搜索;当|a|》1时选择随机搜索代理,|a|《1时选择最优解更新搜索代理位置;
[0154]
d=|cx
rand
(t)-x(t)|
ꢀꢀꢀ
公式20
[0155]
x(t+1)=x
rand
(t)-a
·dꢀꢀꢀ
公式21
[0156]
式中:x
rand
(t)是种群中随机选择的搜索代理向量;
[0157]
(6)判断迭代次数是否满足终止条件,如果满足终止条件,则输出lssvm模型的核函数宽度δ和正则参数c。
[0158]
步骤(6)模型评估与优化:保存步骤(5)得到的最优参数核函数宽度δ和正则参数c;使用测试数据集d
t1
和d
t2
作为输入测试lssvm框架,测试完成后得到最终的检测模型,并选择更优的特征提取方法作为基准模型的特征提取模块,至此完成网络攻击检测的基准模型的构建;
[0159]
在步骤(6)中,通过以下步骤对模型进行评估:
[0160]
1)性能测试:设置最优参数核函数宽度δ和正则参数c,测试集dt输入到lssvm模型中进行预测;
[0161]
2)性能评估:统计预测结果和真实结果构成的混淆矩阵,利用公式22、公式23和公式24计算准确率、检测率和误报率等指标;
[0162][0163][0164][0165]
式中:acc为准确度,recall为检测率;tp表示真阳率,fn表示假阴率,fp表示假阳率,tn表示真阴率,fpr为误报率;sensitivity为敏感度,dr为检测率。
[0166]
步骤(7)检测结果可视化呈现:实时的网络流量采集、预处理和特征提取后,将提取的特征输入至训练好的lssvm框架,输出结果作为对实时网络攻击检测识别与分类的结果,以文本和图形事件图库形式展示给用户,展示结果支持分类事件收藏和查询。
[0167]
在检测模型定型后每间隔规定时间t则通过新采集的数据通过重复步骤(1)至步骤(7)对模型重新进行训练,并通过评价指标对新训练后的模型进行评估,如果评估指标优于原模型指标则以新训练获取的核函数宽度δ和正则参数c替换原模型中的参数,否则保持原参数不变。
[0168]
本技术方案包括一种专用于基于鲸鱼提升算法与最小二乘支持向量机的网络入侵检测方法的装置,如图3所示,至少包括:cpu和分别通过pcie总线与cpu进行通信连接的协处理器单元、接口外设单元和存储阵列,协处理器单元中至少包括gpu和fpga模块,接口外设单元内至少包括ddr缓存、rj45以太网接口和sfp光口,接口外设单元中还设有用于显示所接受数据的显示屏和用于对装置输入指令的输入外设,其中rj45以太网接口和sfp光口均通过pcie总线与fpga模块通信连接,fpga模块通过pcie总线经ddr缓存实现交互,所述存储阵列为用于存储cpu通过pcie总线传输数据的外置存储设备。
[0169]
当设备接收数据时,首先由cpu向fpga模块发送控制指令,通过fpga模块控制的
rj45以太网接口或sfp光口对目标网络进行数据采集,采集的数据缓存至ddr缓存中,由cpu将通过pcie总线将ddr缓存中数据传输至存储阵列进行存储;
[0170]
当设备向外发送数据时,首先由cpu向fpga模块发送控制指令,将所需发送的数据传输至fpga模块中,所发送数据由fpga模块产生,或由cpu对存储阵列和ddr缓存发送控制指令,将发送数据通过pcie总线传输至fpga模块,再由fpga模块控制rj45或sfp光口发送数据。
[0171]
cpu通过向gpu发送控制指令,gpu通过pcie总线从将数据取至ddr缓存,再由ddr缓存取数据进行计算,计算结果返回至cpu,最后由cpu通过pcie总线将计算结果传输至接口外设单元中。
[0172]
在本实施例中,如图4所示,fpga模块中包括8个fpga执行8路网络设备的数据采集,当执行数据采集指令时,通过上位机程序以人机交互的方式根据监测网络设备的数量选择fpga0-fpga7当中的某一个fpga执行数据采集或同时由最多8个fpga执行8路网络设备的数据采集,网络设备的接口可以是rj4网络接口也可以是sfp光网络接口。
技术特征:1.一种基于鲸鱼提升算法的网络入侵检测方法,其特征在于按照以下步骤进行操作:步骤(1)构成可分析数据集d:通过将流量采集器部署到目标网络,采集目标网络的实时网络数据,构成初始网络流量数据集d
ys
;并对始网络流量数据集d
ys
进行数据清洗,即删除其中存在的空值和重复值,得到可分析数据集d;步骤(2)获取去噪数据集d
d
:针对数据采集、网络故障等行为带来的数据噪声问题,借助小波方法对数据集d构建k层小波分解,对于分解出的第1-i(i≤k)层高频分解向量予以剔除,剩余低频和高频数据重新组装为去噪数据集d
d
;步骤(3)构建样本特征数据集d
f
:利用cicflowmeter工具,通过统计计算从网络流量中选取具体特征构成样本特征数据集d
f
;为样本特征数据集d
f
创建“label”列,根据网络入侵检测结果将数据划分为正常数据和异常数据,正常数据行label列标注为“0”,带有攻击的数据行label列标注为“1”;步骤(4)构造最优特征数据集:利用互信息值大小和pearson系数标识了特征集x与标签集y的相关性,因此利用互信息理论和pearson系数计算d
f
中各特征x与label列的相关度,并将特征集x重新按照特征互信息值和pearson值进行降序排列,取互信息值≥m的前m列特征列作为识别网络攻击行为贡献度较大的特征形成最优特征子集d
fs1
,m和m为常数,选择互pearson值≥n的前n列特征列作为识别网络攻击行为贡献度较大的特征形成最优特征子集d
fs2
,n和n为常数,其余特征予以剔除;步骤(5)构建入侵检测模型:将最优特征子集d
fs1
和最优特征子集d
fs2
中的数据进行随机分组,抽取其中70%作为训练数据集d
tr1
和d
ts2
,剩余30%作为测试数据集d
t1
和d
t2
;构造网络入侵检测模型,模型基于鲸鱼提升算法,即wba算法,对混合最小二乘支持向量机,即lssvm框架进行优化,通过训练数据集d
tr1
和d
ts2
训练该模型;并输出lssvm模型的核函数宽度δ和正则参数c;步骤(6)模型评估与优化:保存步骤(5)得到的最优参数核函数宽度δ和正则参数c;使用测试数据集d
t1
和d
t2
作为输入测试lssvm框架,测试完成后得到最终的检测模型,并选择更优的特征提取方法作为基准模型的特征提取模块,至此完成网络攻击检测的基准模型的构建;步骤(7)检测结果可视化呈现:实时的网络流量采集、预处理和特征提取后,将提取的特征输入至训练好的lssvm框架,输出结果作为对实时网络攻击检测识别与分类的结果,以文本和图形事件图库形式展示给用户,展示结果支持分类事件收藏和查询。2.根据权利要求1所述的基于鲸鱼提升算法的网络入侵检测方法,其特征在于:在步骤(4)中,构造最优特征数据集d
fs1
和d
fs2
按如下步骤进行操作:1)计算互信息值:计算特征集z中每列特征与标签列y的互信息值,此处的特征集z等同于样本特征数据集d
f
,为方便表述下面公式此处使用z代替d
f
;(1)利用公式1和公式2计算特征集z和标签列y的互信息熵;式中:z为z中的某一列特征集,z为所有特征z的集合,p(z)为特征z的边缘分布概率;
式中:y表示标注标签;y为所有标注标签值构成的集合;p(y)表示标注标签y的边缘分布;(2)利用公式3计算各列特征集z与标签集y之间的交叉熵;式中:p(z,y)为特征z和标注标签y的联合分布;(3)在特征集z和标签集y的信息熵和各列特征集z与标签集y之间的交叉熵的基础上利用公式4计算各列特征集z与标签集y的互信息值;式中:i(z;y)为特征集z与标签集y的互信息值,h(z)表示特征集z的互信息熵,h(y)为标签集y的互信息熵,h(z|y)表示特征集z和标签集y的条件熵,h(z,y)为特征集z与标签集y之间的交叉熵;此处z,y,z,y含义同公式1和公式2;2)计算pearson系数值:利用公式5计算每列特征与标签的pearson系数值;式中:r为每列特征集z与标签的pearson系数值;z
j
为特征集z的第j个特征列;y为特征集z对应的标签值;为特征集z的第j个特征列的所有数据的平均值;为标签集y的所有数据平均值;此处z,y,z,y含义同公式1和公式2;3)逆序排列互信息值:按照互信息值的大小合理选择对应的特征列,选择互信息值≥m的特征列形成最优特征子集d
fs1
;4)逆序排列pearson系数值:按照pearson值的大小合理选择对应的特征列,选择互pearson值≥n的特征列形成最优特征子集d
fs2
。3.根据权利要求1所述的基于鲸鱼提升算法的网络入侵检测方法,其特征在于:在步骤(5)中按如下步骤构建构造基于鲸鱼提升算法优化的混合最小二乘支持向量机网络入侵检测模型:1)配置lssvm模型,lssvm模型核采用高斯径向基核函数和多项式核函数构成的混合核函数,高斯径向基核函数的计算如公式6、公式7和公式8所示:k(x,x
j
)=λk
pkf
(x,x
j
)+(1-λ)k
rbf
(x,x
j
)
ꢀꢀꢀꢀꢀꢀꢀꢀ
公式6
式中:λ为混合核函数的权重系数,λ∈[0,1],k
pkf
(x,x
j
)为多项式核函数,k
rbf
(x,x
j
)为高斯核函数;x为当前特征集x的一列特征,此处x指经互信息或pearson选择后的最优特征子集d
fs1
或d
fs2
,x
j
为特征集x的第j列特征,0<j<n,n为特征维度;k
pkf
(x,x
j
)=(γx
t
x
j
+r)
d
,γ>0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式7式中:γ表示多项式核函数参数,取值为0.5,r是一个常数项,r=0,d表示核函数的阶数;x
t
为输入数据集中当前特征集x的特征向量的转置;此处x,x
j
,x同公式6;式中:δ为核宽度参数;此处x,x
j
,x同公式6,0<j<n,n为特征维度;即:高斯径向基核函数主要计算每一个样本与其它所有样本的距离;其中公式6中的lssvm模型为公式8;式中:w为权重向量;b是偏移量;c为正则参数;e
j
表示输出的实际值和预测值之间的回归误差;y为特征集x对应的标签值;此处x
j
同公式6;利用拉格朗日乘子法将公式8可以转换成无约束的拉格朗日目标函数l(w,b,e;a),表示为公式9;式中:e
j
为误差项;a为拉格朗日乘数;此处x
j
同公式6;令l(w,b,e;a)分别对w,b,e
j
,a
j
求导等于0,对公式8进行求解得到公式10,k为核矩阵;式中:e表示单位向量;k为原始核矩阵,c为正则参数;b是偏移量;a表示拉格朗日乘数;y表示整个标签标注值的全体;y
t
为标注标签值特征向量的转置;采用混合核函数公式5替代公式10中的核函数k对公式9求解后可得到lssvm最终分类表达式;2)模型训练:将训练集d
tr1
和d
ts2
输入至lssvm模型进行训练;lssvm模型如公式10所示;3)参数优化:采用wba算法优化lssvm模型的参数;wba算法的步骤包括:(1)设置各项初始参数;设置如公式10所示的lssvm模型正则化参数c的范围和核函数参数δ的搜索范围为0.1-300,wba算法的种群规模为10,最大迭代次数为100;种群可以表示成公式11;
式中:x
ij
表示d
fs
特征集中第i个样本的第j个特征;(2)初始化种群;计算种群个体自适应度值,即通过选取对网络流量检测的准确率作为优化算法的自适应度;(3)引入非线性递减因子:假设当前最优候选解是“目标猎物”,利用公式12和公式13计算最优搜索代理位置更新的系数a、c,最终按照后续步骤实现最优搜索代理的位置更新;wba采用非线性递减因子来加快搜索速率,主要表现在公式14中的d采用基于非线性的sin函数进行改进;a=2d
·
k-d
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式12c'=2k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式13式中:a,c'是系数向量;d表示递减因子;t表示当前迭代次数,t
max
表示最大迭代次数,μ表示单位时间内变化的相角弧度值,表示初始相位,k为[0,1]之间的随机向量;(4)引入自适应权重:wba算法假设有50%的概率在收缩包围机制和螺旋更新包围机制中进行选择实现更新,可用数学模型表示为公式15,其中p为[0,1]之间的随机数;通过判断p的大小,选择合适的更新机制;若p<0.5,选择包围机制;若p≥0.5,选择螺旋更新包围机制;wba引入自适应权重w(t)在开始迭代时权重较小,变化速率快,其值随着迭代次数逐渐增加,变化速度减小,进而实现跳出局部最优的效果,引入自适应权重后的更新机制见公式16和公式17,自适应权重的表达见公式18,通过公式19计算鲸鱼与猎物之间的距离;x(t+1)=w(t)x
*
(t)-a
·
d
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式16x(t+1)=d
·
e
ql
·
cos(2πl)+w(t)x
*
(t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式17d=|c'x
*
(t)-x(t)|
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式19式中:q为常数,l是[-1,1]之间的随机数,x(t)表示当前解的位置向量,x*(t)表示最优解的位置向量;p为[0,1]之间的随机数;其中d是表示鲸鱼与猎物之间的距离,l是[-1,1]之间的随机数;w(t)为自适应权重;(5)wba还通过随机搜索猎物进行全局搜索,具体可以用公式20和公式21描述;x
rand
(t)是种群中随机选择的搜索代理向量,通过判断系数a的大小,选择局部搜索或全局搜索;当|
a|>1时选择随机搜索代理,|a|<1时选择最优解更新搜索代理位置;d=|cx
rand
(t)-x(t)|
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式20x(t+1)=x
rand
(t)-a
·
d
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式21式中:x
rand
(t)是种群中随机选择的搜索代理向量;(6)判断迭代次数是否满足终止条件,如果满足终止条件,则输出lssvm模型的核函数宽度δ和正则参数c。4.根据权利要求1所述的基于鲸鱼提升算法的网络入侵检测方法,其特征在于:在步骤(6)中,通过以下步骤对模型进行评估:1)性能测试:设置最优参数核函数宽度δ和正则参数c,测试集dt输入到lssvm模型中进行预测;2)性能评估:统计预测结果和真实结果构成的混淆矩阵,利用公式22、公式23和公式24计算准确率、检测率和误报率等指标;计算准确率、检测率和误报率等指标;计算准确率、检测率和误报率等指标;式中:acc为准确度,recall为检测率;tp表示真阳率,fn表示假阴率,fp表示假阳率,tn表示真阴率,fpr为误报率;sensitivity为敏感度,dr为检测率。5.根据权利要求1所述的基于鲸鱼提升算法的网络入侵检测方法,其特征在于:在检测模型定型后每间隔规定时间t则通过新采集的数据通过重复步骤(1)至步骤(7)对模型重新进行训练,并通过评价指标对新训练后的模型进行评估,如果评估指标优于原模型指标则以新训练获取的核函数宽度δ和正则参数c替换原模型中的参数,否则保持原参数不变。6.一种专用于基于鲸鱼提升算法与最小二乘支持向量机的网络入侵检测方法的装置,至少包括:cpu和分别通过pcie总线与cpu进行通信连接的协处理器单元、接口外设单元和存储阵列,协处理器单元中至少包括gpu和fpga模块,接口外设单元内至少包括ddr缓存、rj45以太网接口和sfp光口,其中rj45以太网接口和sfp光口均通过pcie总线与fpga模块通信连接,fpga模块通过pcie总线经ddr缓存实现交互,所述存储阵列为用于存储cpu通过pcie总线传输数据的外置存储设备。7.根据权利要求6所述的专用于基于鲸鱼提升算法与最小二乘支持向量机的网络入侵检测方法的装置,其特征在于:当设备接收数据时,首先由cpu向fpga模块发送控制指令,通过fpga模块控制的rj45以太网接口或sfp光口对目标网络进行数据采集,采集的数据缓存至ddr缓存中,由cpu将通过pcie总线将ddr缓存中数据传输至存储阵列进行存储;当设备向外发送数据时,首先由cpu向fpga模块发送控制指令,将所需发送的数据传输至fpga模块中,所发送数据由fpga模块产生,或由cpu对存储阵列和ddr缓存发送控制指令,将发送数据通过pcie总线传输至fpga模块,再由fpga模块控制rj45或sfp光口发送数据。8.根据权利要求6所述的专用于基于鲸鱼提升算法与最小二乘支持向量机的网络入侵
检测方法的装置,其特征在于:cpu通过向gpu发送控制指令,gpu通过pcie总线从将数据取至ddr缓存,再由ddr缓存取数据进行计算,计算结果返回至cpu,最后由cpu通过pcie总线将计算结果传输至接口外设单元中。
技术总结本发明涉及一种基于鲸鱼提升算法的网络入侵检测方法,属于网络安全领域。本发明提供的基于基于鲸鱼提升算法的网络入侵检测方法,通过采集目标网络的数据信息,鲸鱼提升算法的网络入侵检测方法通过互信息理论、改进鲸鱼优化算法和最小二乘支持向量机,本发明能够缩短了模型训练的时间,降低了模型训练消耗和时间成本,针对网络流量的分类具有更好的精度和更快的收敛速度。快的收敛速度。快的收敛速度。
技术研发人员:禹宁 周鑫 赵嘉 安毅 谷良 狄婷 黄达成 杨婷
受保护的技术使用者:国网山西省电力公司信息通信分公司
技术研发日:2022.07.21
技术公布日:2022/11/1