1.一种基于样本增强与对比学习的恶意网络流量分类方法,其特征在于,所述基于样本增强与对比学习的恶意网络流量分类方法,包括:获取N类网络流量,每一类网络流量包含多个样本,抽取每个样本的多个网络流量特征形成样本对应的特征向量,构建网络流量样本集,所述网络流量样本集包括网络流量和对应的网络流量特征;
对网络流量特征进行预处理,得到每个样本的增强集;
对每一类网络流量包含的所有样本的增强集取并集,对于每一并集中的每一个样本,遍历同一个并集中的其他样本组成正样本对,取一个其他并集遍历样本组成负样本对,给每个样本对设置标签,将得到的正负样本对的集合作为预训练集;
构建基础模型,将预训练集中的样本对中两个样本的特征向量归一化之后作为基础模型的输入,得到样本对的两个处理后的特征向量;
计算样本对的两个处理后的特征向量的相似度,识别样本对的标签得到标签判定值,并计算损失值,根据损失值计算基础模型的参数并更新,得到对比学习恶意流量分类模型;
采用对比学习恶意流量分类模型在新任务中进行恶意流量分类。
2.根据权利要求1所述的基于样本增强与对比学习的恶意网络流量分类方法,其特征在于,所述对网络流量特征进行预处理,得到每个样本的增强集,包括:在网络流量样本集上训练n个网络流量分类模型,将第j类网络流量的特征向量输入第i个网络流量分类模型,得到分类准确率acc(i,j);
将第d个网络流量特征输入第i个网络流量分类模型,得到重要度权重weight(i,d),所述第d个网络流量特征属于第j类网络流量;
根据分类准确率acc(i,j)和重要度权重weight(i,d)计算重要度权重I(j,d),用公式表示如下:其中,I(j,d)表示第d个网络流量特征对第j类网络流量的重要度权重;
网络流量样本集中第a个样本sa的网络流量特征表征为特征向量xa,所述样本sa属于第j类网络流量,计算第j类网络流量中每个网络流量特征的遮掩概率,用公式表示如下:其中,P(j,d)表示第j类网络流量的所有样本的第d个网络流量特征的遮掩概率;
根据遮掩概率在特征向量xa中随机挑选L个网络流量特征进行遮掩,遮掩后得到样本sa的一个增强样本,重复随机挑选和遮掩操作m次,得到m个增强样本,将特征向量xa和m个增强样本的集合作为样本sa的增强集。
3.根据权利要求1所述的基于样本增强与对比学习的恶意网络流量分类方法,其特征在于,对于由同一个并集中的样本形成的所有正样本对,任意两个正样本对之间至少有一个样本不重复。
4.根据权利要求1所述的基于样本增强与对比学习的恶意网络流量分类方法,其特征在于,所述给每个样本对设置标签,包括:正样本对的标签设置为1,负样本对的标签设置为0。
5.根据权利要求1所述的基于样本增强与对比学习的恶意网络流量分类方法,其特征在于,构建基础模型,将预训练集中的样本对中两个样本的特征向量归一化之后作为基础模型的输入,得到样本对的两个处理后的特征向量,包括:采用多层感知机构建基础模型,将经过归一化之后的样本对的特征向量xp和特征向量xq作为基础模型的输入,基础模型基于如下公式更新多层感知机每一层的参数:(l+1) (l) (l) (l)
X =σ(A X +b )
(l) (l)
其中,A 为多层感知机第l层的可训练参数矩阵,b 为多层感知机第l层的参数向量,(l) (l+1)X 为多层感知机第l层的输出,X 为多层感知机第l+1层的输出,σ(…)为激活函数;
得到特征向量xp与特征向量xq经过多层感知机处理后的特征向量 与
6.根据权利要求5所述的基于样本增强与对比学习的恶意网络流量分类方法,其特征在于,所述计算样本对的两个处理后的特征向量的相似度,包括:使用余弦相似度函数对样本对的两个处理后的特征向量进行比较,用公式表示如下:其中, 表示两个特征向量的相似度值,范围为[‑1,1], 表示特征向量xp经过多层感知机处理后的特征向量, 表示特征向量xq经过多层感知机处理后的特征向量;
将相似度值 的范围缩放至[0,1],用公式表示为:
其中,表示相似度值的缩放值。
7.根据权利要求6所述的基于样本增强与对比学习的恶意网络流量分类方法,其特征在于,所述计算损失值,根据损失值计算基础模型的参数并更新,包括:通过二元交叉熵损失函数计算损失值,用公式表示如下:
其中,Loss_L2(xp,xq)表示特征向量xp和特征向量xq的损失值,α表示正则化因子,W表示基础模型的所有权重和,y表示标签判定值;
用反向传播计算梯度,并用梯度下降计算神经网络的参数并更新。
8.根据权利要求1所述的基于样本增强与对比学习的恶意网络流量分类方法,其特征在于,所述采用对比学习恶意流量分类模型在新任务中进行恶意流量分类,包括:获取训练好的对比学习恶意流量分类模型;
采集新任务中的训练样本,所述训练样本中至少一种恶意流量类型与网络流量样本集中的恶意流量类型不重复;
采用对比学习恶意流量分类模型在新任务中进行恶意流量分类,对训练样本与待检测样本进行对比学习,选择输出概率最高的标签作为预测标签。