基于小样本学习的恶意流量分类方法、系统、设备及介质技术方案

技术编号:39401516 阅读:34 留言:0更新日期:2023-11-19 15:54
本申请公开了一种基于小样本学习的恶意流量分类方法、系统、设备及介质,主要涉及恶意流量分类技术领域,用以解决现有的方法将数据裁剪成统一长度,使得很多会话被填充了,导致预处理后的数据很稀疏、当测试集的分类数目发生变化时,需要重新划分元训练集和元测试集,使得模型不够灵活且在跨域数据集上表现不理想、容易受样本不均衡影响的问题。包括:获取原始流量PCAP文件会话,基于预设字节长度阈值获得会话的最终字节,生成会话数据集;基于会话数据集中的未知标签数据集,获得预设嵌入函数对应的最优参数;基于会话数据集中的已知标签训练数据集,完成线性分类器中参数的训练;确定获得基于小样本学习的恶意流量分类器。定获得基于小样本学习的恶意流量分类器。定获得基于小样本学习的恶意流量分类器。

【技术实现步骤摘要】
基于小样本学习的恶意流量分类方法、系统、设备及介质


[0001]本申请涉及恶意流量分类
,尤其涉及一种基于小样本学习的恶意流量分类方法、系统、设备及介质。

技术介绍

[0002]恶意流量分类的目的是检测出网络中存在攻击风险的流量并将其分类到若干个预先定义的流量类别。对于网络流量数据而言,恶意流量类型更新速度快,收集的新型攻击样本量通常很少。传统机器学习或深度学习方法需要大规模数据量训练模型,因此无法适应小样本的场景。
[0003]现有的,为适应小样本的场景的方案主要有:基于小样本学习的恶意流量分类方法。具体地,Xu利用元学习框架实现小样本场景下的流量入侵检测:将原始流量预处理为固定尺寸的图像并划分图像为元训练集和元测试集,然后将两个数据集划分为多个任务,每个任务是由随机抽取的类别标签和对应标签下个样本构成。接下来,使用基于元训练集得到的多个任务训练模型,其目的是使模型学会学习。最后将基于元测试集得到的任务在模型上测试,完成对新型流量类型的分类。
[0004]但是,上述基于小样本学习的恶意流量分类方法存在以下几个问题:

原始流量预处理过程中,由于每个流量会话被裁剪成统一长度的流量字节,很多会话被填充了0值,这导致预处理后的数据很稀疏。

需要固定每个任务中和的值,当测试集的分类数目发生变化时,需要重新划分元训练集和元测试集,并在新的和的取值下训练模型,这使得模型不够灵活且在跨域数据集上表现不理想。

元学习框架下划分的元训练集需要充足的标签样本,且不同类别标签样本量相对均衡。但是,在实际的流量数据中,不同类别标签的样本量通常是极不均衡的,这会影响监督训练模型的效果。

技术实现思路

[0005]针对现有技术的上述不足,本申请提供一种基于小样本学习的恶意流量分类方法、系统、设备及介质,以解决现有的方法将数据裁剪成统一长度,使得很多会话被填充了,导致预处理后的数据很稀疏;当测试集的分类数目发生变化时,需要重新划分元训练集和元测试集,使得模型不够灵活且在跨域数据集上表现不理想;容易受样本不均衡的影响。
[0006]第一方面,本申请提供了一种基于小样本学习的恶意流量分类方法,方法包括:获取原始流量PCAP文件,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集;其中,原始流量PCAP文件由若干连续的数据包构成,且数据包至少包含流量五元组、字节长度和标签数据,且标签数据包含:未知标签和若干类已知标签;基于标签数据,将会话数据集分为未知标签数据集和已知标签数据集;将已知标签数据集划分为已知标签训练数据集和已知标签测试数据集;在未知标签数据集中抽取样本数据,进而通过随
机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数;从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练;从已知标签测试数据集中,获得测试支持集和测试请求集,以作为完成训练的线性分类器的输入;进而获得线性分类器的准确率,以在准确率大于预设准确率阈值时,确定完成训练的线性分类器为基于小样本学习的恶意流量分类器。
[0007]进一步地,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集,具体包括:将原始流量PCAP文件中相同的流量五元组的数据包划分为一个会话,以得到由若干会话组成的会话集合;将会话集合中的流量五元组中的IP地址进行匿名化处理,以及去除会话集合中的重复会话和空值会话,以完成清洗会话集合;确定字节长度小于或等于预设字节长度阈值的会话对应的会话字节为最终字节;将字节长度大于预设字节长度阈值的会话进行截取,保留前预设字节长度阈值的会话字节为最终字节;将最终字节转换为二进制数;将二进制数和标签数据作为一个子数据,进而生成会话数据集。
[0008]进一步地,在未知标签数据集中抽取样本数据,进而通过随机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数,具体包括:从未知标签数据集中随机抽取N个子数据作为样本数据;利用随机变换函数为每个样本数据生成对应的Q个伪样本数据;在未知标签数据集中随机抽取P次,每次抽取M个子数据,以得到P个批量集;获得批量集中各个子数据对应的伪样本数据,进而获得批量集对应的伪样本数据集;将批量集和批量集对应的伪样本数据集,作为预设嵌入函数的输入;通过预设最优参数计算公式:,,,以获得预设参数;其中,N、P、Q为预设常数;i的取值范围为[1,N],q为的取值范围为[1,Q],为预设常数,表示第i个样本数据,表示样本数据和伪样本数据之间的度量距离,为预设参数;表示第i个样本数据对应的嵌入向量,表示第i个样本数据对应的伪样本数据的嵌入向量,表示损失函数值;通过小批量随机梯度下降算法,确定最小的损失函数值对应的预设参数为最优参数。
[0009]进一步地,从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练,具体包括:以同一已知标签为一类,从已知标签训练数据集合中随机抽取T类数据集;其中,每类数据集对应2K个子数据;将每类数据集平分两份,以获得包含T*K个子数据的训练支持集和包含T*K个子数据的训练请求集;通过线性分类器公式为:,通过预设公式:=2,,,和交叉熵损失函数
,完成和的参数训练;其中,W为权重,b为偏置值;x为训练支持集或训练请求集中的子数据,为x对应的分类结果;T、K为预设常数,t的取值范围为[1,T],表示第t个已知标签对应的权重,表示第t个已知标签对应的权重的转置向量;为第t个已知标签对应的偏置值;表示第t个已知标签在训练支持集中对应的子数据集;为第t个已知标签在训练支持集中对应的子数据集的平均向量;表示第i个训练请求集中的子数据对应的嵌入向量,表示第i个训练请求集中的子数据,i的取值范围为[1,T*K]。
[0010]进一步地,从已知标签测试数据集中,获得测试支持集和测试请求集,以作为完成训练的线性分类器的输入;进而获得线性分类器的准确率,以在准确率大于预设准确率阈值时,确定完成训练的线性分类器为基于小样本学习的恶意流量分类器,具体包括:从已知标签测试数据集随机抽取U类已知标签对应的S个子数据,以作为测试支持集;获取去除S个子数据的U类已知标签对应的全部子数据;去除全部子数据中的已知标签,以获得测试请求集;将测试支持集和测试请求集,作为完成训练的线性分类器的输入,以完成测试请求集的样本分类;获取样本分类的准本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于小样本学习的恶意流量分类方法,其特征在于,所述方法包括:获取原始流量PCAP文件,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集;其中,原始流量PCAP文件由若干连续的数据包构成,且数据包至少包含流量五元组、字节长度和标签数据,且标签数据包含:未知标签和若干类已知标签;基于标签数据,将会话数据集分为未知标签数据集和已知标签数据集;将已知标签数据集划分为已知标签训练数据集和已知标签测试数据集;在未知标签数据集中抽取样本数据,进而通过随机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数;从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练;从已知标签测试数据集中,获得测试支持集和测试请求集,以作为完成训练的线性分类器的输入;进而获得线性分类器的准确率,以在准确率大于预设准确率阈值时,确定完成训练的线性分类器为基于小样本学习的恶意流量分类器。2.根据权利要求1所述的基于小样本学习的恶意流量分类方法,其特征在于,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集,具体包括:将原始流量PCAP文件中相同的流量五元组的数据包划分为一个会话,以得到由若干会话组成的会话集合;将会话集合中的流量五元组中的IP地址进行匿名化处理,以及去除会话集合中的重复会话和空值会话,以完成清洗会话集合;确定字节长度小于或等于预设字节长度阈值的会话对应的会话字节为最终字节;将字节长度大于预设字节长度阈值的会话进行截取,保留前预设字节长度阈值的会话字节为最终字节;将最终字节转换为二进制数;将二进制数和标签数据作为一个子数据,进而生成会话数据集。3.根据权利要求1所述的基于小样本学习的恶意流量分类方法,其特征在于,在未知标签数据集中抽取样本数据,进而通过随机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数,具体包括:从未知标签数据集中随机抽取N个子数据作为样本数据;利用随机变换函数为每个样本数据生成对应的Q个伪样本数据;在未知标签数据集中随机抽取P次,每次抽取M个子数据,以得到P个批量集;获得批量集中各个子数据对应的伪样本数据,进而获得批量集对应的伪样本数据集;将批量集和批量集对应的伪样本数据集,作为预设嵌入函数的输入;通过预设最优参数计算公式:,
,,以获得预设参数;其中,N、P、Q为预设常数;i的取值范围为[1,N],q为的取值范围为[1,Q],为预设常数,表示第i个样本数据,表示样本数据和伪样本数据之间的度量距离,为预设参数;表示第i个样本数据对应的嵌入向量,表示第i个样本数据对应的伪样本数据的嵌入向量,表示损失函数值;通过小批量随机梯度下降算法,确定最小的损失函数值对应的预设参数为最优参数。4.根据权利要求1所述的基于小样本学习的恶意流量分类方法,其特征在于,从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练,具体包括:以同一已知标签为一类,从已知标签训练数据集合中随机抽取T类数据集;其中,每类数据集对应2K个子数据;将每类数据集平分两份,以获得包含T*K个子数据的训练支持集和包含T*K个子数据的训练请求集;通过线性分类器公式为:,通过预设公式:=2,,,和交叉熵损失函数,完成和的参数训练;其中,W为权重,b为偏置值;x为训练支持集或训练请求集中的子数据,为x对应的分类结果;T、K为预设常数,t的取值范围为[1,T],表示第t个已知标签对应的权重,表示第t个已知标签对应的权重的转置向量;为第t个已知标签对应的偏置值;表示第t个已知标签在训练支持集中对应的子数据集;为第t个已知标签在训练支持集中对应的子数据集的平均向量;表示第i个训练请求集中的子数据对应的嵌入向量,表示第i个训练请...

【专利技术属性】
技术研发人员:唐上路冰刘洋洋
申请(专利权)人:中孚信息股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1