1.一种基于对比学习的网络入侵检测方法,其特征在于,包括如下步骤:获取并对网络流量数据包进行规范化处理,将经过规范化处理的网络流量数据包按时间顺序排列后进行预处理,其中,网络流量数据包括正常流量数据和攻击流量数据;
将经过预处理的网络流量数据包转换为二维图像,并划分为训练集和测试集;
采用CNN模型作为特征提取器,将训练集输入到CNN模型中,提取二维图像的高维特征,生成正常‑异常样本对;
通过对比学习方法将提取的高维特征映射到单位球体上,进行数据分类;
将经过分类的数据输入到预测模型中进行分析预测,并输出结果;
将测试集依次输入到训练好的CNN模型和预测模型中,进行网络入侵检测;
步骤采用CNN模型作为特征提取器,将训练集输入到CNN模型中,提取二维图像的高维特征,生成正常‑异常样本对,包括如下步骤:选取卷积核对训练集中的二维图像进行卷积操作,获得特征映射数据;
步骤选取卷积核对训练集中的二维图像进行卷积操作前,包括如下步骤:采用神经网络算法对训练集进行筛选:
其解式:
其中,·ψ(.)是惩罚项,φ(.)是损失函数,λ>0是一个可以平衡惩罚项和损失函数的2
正则化参数,惩罚项中使用的是L2范数,ψ(w)=||w|| ,损失函数为hinge损失函数,为了找到最优的分类决策边界,求解式(4.1)表示的原问题,得到最优解W*,为了找到最优的分类决策边界,求解原问题的对偶问题表示如下公式:s.t 0≤αi≤λ,1≤i≤n (4.2)其中, 是由特征映射Φ定义的核函数;构建一个原始*
空间 空间中包含有w ,然后计算出区间的下区间 和上区间*
包含问题最优解w的球形区域定义如下:
对任意的
其中, 是由可行解 和 定义的对偶间隙;
对于(4.3)中给定的球形区域,区域的上区间和下区间定义如下:*
由上可得,求解可得最优解α;
步骤通过对比学习方法将提取的高维特征映射到单位球体上,进行数据分类,包括如下步骤:采用预定义的infoNCE‑Binary Crossentropy联合函数对CNN模型进行训练;
将提取到的高维特征映射到单位球体上,获得映射到单位球体上的的特征向量;
采用余弦相似度法计算两个特征向量间的相似度;
对特征向量进行优化分类,包括:
根据全部特征向量的正样本关系将具有正样本关系的特征向量归为同一类别,并且根据全部特征向量的负样本关系确定类别划分的类别数量,并完成全部特征向量的类别划分;给定网络流量样本X和标签Y,并使用来自相同类别的样本之间的平均距离来表示类内距离:使用不同类别样本之间的平均距离来表示类间距离:
2.根据权利要求1所述的基于对比学习的网络入侵检测方法,其特征在于,步骤获取并对网络流量数据包进行规范化处理,将经过规范化处理的网络流量数据包按时间顺序排列后进行预处理,包括如下步骤:按照五元组格式对网络流量数据包进行规范化处理,其中,五元组格式为:五元组[源IP、目的IP、端口号、协议类型、时间戳];
将网络流量数据包中的IP地址、端口号和MAC地址置零;
按时间顺序对网络流量数据包进行排序;
采用分位数归一化法将网络流量数据包中每个字节范围缩小到[0,1]。
3.根据权利要求2所述的基于对比学习的网络入侵检测方法,其特征在于,步骤将经过预处理的网络流量数据包转换为二维图像,包括如下步骤:根据时间戳将网络流量数据包划分为连续的数据块,其中,每个数据块包括在选定时间窗口内所有的网络流量数据包;
从每个数据块中选择关键特征,将关键特征组成二维数组;
将二维数组转换成二维图像,其中,每个数组元素为二维图像的一个像素。
4.根据权利要求3所述的基于对比学习的网络入侵检测方法,其特征在于,步骤从每个数据块中选择关键特征,包括如下步骤:获得数据块中数据包的数量、大小和方向;
根据各数据包之间的关联程度,生成频繁项集;
从项集中选取频集,并选取频集中的项作为关键特征。
5.根据权利要求1所述的基于对比学习的网络入侵检测方法,其特征在于,步骤采用CNN模型作为特征提取器,将训练集输入到CNN模型中,提取二维图像的高维特征,生成正常‑异常样本对,还包括如下步骤:采用激活函数对特征映射数据进行运算,并将运算结果输入到池化层中进行压缩和下采样;
将池化层的输出结果输入到全连接层中转化,输出得到二维图像的高维特征;
基于二维图像的高维特征提取训练集的深度特征;
深度特征结合标签信息对训练集进行划分,生成正常‑异常样本对。
6.根据权利要求5所述的基于对比学习的网络入侵检测方法,其特征在于,步骤选取卷积核对训练集中的二维图像进行卷积操作前,还包括如下步骤:通过上下区间得到安全样本筛选规则,采用神经网络算法对训练集进行筛选,获得最优训练集。
7.一种基于对比学习的网络入侵检测系统,用于实现权利要求1‑6任一项所述的基于对比学习的网络入侵检测方法,其特征在于,包括:网络流量数据包处理模块,用于获取并对网络流量数据包进行规范化处理,将经过规范化处理的网络流量数据包按时间顺序排列后进行预处理,其中,网络流量数据包括正常流量数据和攻击流量数据;
模型训练模块,用于将经过预处理的网络流量数据包转换为二维图像,并划分为训练集和测试集;采用CNN模型作为特征提取器,将训练集输入到CNN模型中,提取二维图像的高维特征,生成正常‑异常样本对;通过对比学习方法将提取的高维特征映射到单位球体上,进行数据分类;将经过分类的数据输入到预测模型中进行分析预测,并输出结果;
网络入侵检测模块,用于将测试集依次输入到训练好的CNN模型和预测模型中,进行网络入侵检测。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。