一种基于小样本机器学习的匿名网络流量分类方法

文档序号:33725559发布日期:2023-04-06 00:23阅读:27来源:国知局
一种基于小样本机器学习的匿名网络流量分类方法

本发明涉及网络安全技术,具体涉及一种基于小样本机器学习的匿名网络流量分类方法。


背景技术:

1、随着互联网的发展,人们设计和开发了多种匿名通信系统,相应的攻击方法也出现了。网站指纹(website fingerprinting,wf)攻击方法可有效破坏tor匿名网络的匿名性。在网站加载过程中,由于不同网站的加载项等内容,客户端与服务器间的流量序列存在不同的模式信息,这为攻击者破坏匿名性提供了便利。基于深度学习的匿名网络流量分类方法在性能上显著优于非深度匿名网络流量分类方法,深度匿名网络流量分类需要大量标注的数据作为训练集,当数据集发生变化,如tor浏览器版本的更新导致的不同版本tor流量数据,这些变化将导致匿名网络流量分类算法的性能下降。

2、当前在解决由于标注流量数据稀缺,导致匿名网络流量分类性能下降上有两个方法,tf(triplet fingerprinting)[1]和tlfa(transfer learning fingerprintingattack)[2],但tf方法存在计算量大的问题,tlfa方法只使用新采集的少量标注流量微调预训练的分类模型,导致模型分类性能提升不足。

3、因此,在匿名网络流量分类中由于数据集变动带来的标注数据稀缺对算法的实际性能和部署应用带来了很大的挑战。


技术实现思路

1、发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于小样本机器学习的匿名网络流量分类方法,

2、在匿名网络流量分类中由于数据集变动带来的数据集时效性问题对算法的实际部署应用带来了很大的挑战。为解决上述挑战,本文基于聚类假设:在聚类中属于相同簇的样本属于相同的类别,提出基于聚类分析的匿名网络流量分类算法,将原始采集的流量数据、新采集的少量标注数据与待分类的数据通过深度神经网络映射到特征空间,在特征空间中计算出新采集的标注数据的类别中心,以类别中心为待分类目标流量数据的聚类中心进行聚类,对目标流量数据赋予伪标签,通过优化原始标注流量数据和目标伪标注数据的分类损失函数,从而完成原始标注数据的知识迁移,降低数据时效对模型的影响。

3、技术方案:本发明的一种基于小样本机器学习的匿名网络流量分类方法,包括以下步骤:

4、步骤(1)、收集网络流量,得到原始流量序列xs、新采集的少量标注流量x′s以及待分类流量序列xt;

5、其中,原始流量序列xs的数据均带有标注:n是指原始流量序列数据的个数,和分别表示流量序列的记录和对应标注;新采集的少量标注流量表示为:待分类流量序列表示为:n,m分别为新采集的少量标注样本的数据和待分类的数据样本数目;

6、步骤(2)、构建分类模型

7、将特征提取器g与任务分类器c拼接构成分类模型,其中特征提取器g采用深度卷积网络,任务分类器c包括两层全连接的神经网络;

8、步骤(3)、预训练分类模型

9、将带标注的原始流量序列xs的数据输入到上述深度模型(分类模型)中,基于得到的原始流量数据类别预测概率和真实标签计算分类损失函数,对上步构建的深度分类模型进行预训练;

10、步骤(4)、训练分类模型

11、步骤(4.1)将有标注的原始流量序列xs和新采集的少量标注流量x′s通过神经网络映射到特征空间中,计算新采集的少量标注流量序列特征的各个类别中心点;

12、步骤(4.2)以得到的类别中心点作为新采集的待分类流量序列特征的聚类中心点,计算各个待分类的流量序列特征到各个聚类中心点距离,赋予待分类序列特征最近类别中心的类别标签,该类别标签作为待分类流量序列的伪标签;

13、步骤(4.3)将特征空间的特征经过分类器映射后得到类别预测概率,通过伪标签和预测概率计算聚类损失函数;根据得到的聚类适配损失,更新特征提取器g与任务分类器c的网络权重;

14、循环步骤(4.1)至步骤(4.3)多次以完成模型训练;最终实现特征空间中新采集流量序列的特征中心与原始流量序列特征中心对齐,从而使得相同类别的特征被分类器映射到相同区域,有效解决由于训练数据时效导致的深度匿名网络流量分类算法性能的降低。

15、进一步地,所述步骤(2)中特征提取器g和任务分类器c的结构如下:

16、所述特征提取器g有三个卷积模块,第一个卷积模块含有两个卷积层,后两个卷积模块均含有三个卷积层,每个卷积模块后均采用最大池化(maxpooling)和dropout层,在卷积模块中采用elu激活函数,该激活函数在神经网络中有助于缩短训练时间并提高准确度;所述任务分类器c采用两层全连接神经网络,并在每层网络后均增加dropout层,有助于避免过拟合问题。

17、进一步地,所述步骤(3)使用分类模型对有标注的原始流量序列数据进行预训练时,与常规有监督的深度模型训练相同,计算分类损失函数如下:

18、

19、其中y′s为分类器对原始流量数据的属于各类别的预测概率输出,ys为流量的真实标签(one-hot编码形式),表示交叉熵损失函数,计算如下:

20、

21、其中p(x)表示对样本x属于各类别的预测概率,q(x)表示样本x真实标签的one-hot编码。

22、进一步地,所述步骤(4.1)聚类中心的具体计算方法为:

23、给定新采集的少量流量序列数据输入为假定原始流量序列数据有k个类别,则有聚类中心ck为:

24、

25、其中,f′i=g(x′i),当y′i=k时,ii=1,否则ii=0。nk表示标签为k的原始流量序列数据的样本个数,k∈{1,2,3,…,k}。

26、进一步地,所述步骤(4.2)待分类流量序列伪标签的计算方法为:

27、将新采集的流量序列经过与映射原始流量序列的神经网络后,在特征空间中采用余弦相似度来度量新流量序列特征和聚类中心间的距离,距离计算如下:

28、

29、其中

30、对每条新采集的样本,分别与所有的聚类中心计算距离;然后赋予新采集的流量序列最近聚类中心的类别,对每个类簇内的新流量序列赋予伪标签,伪标签的获取方式如下:

31、

32、进一步地,所述步骤(4.3)计算聚类适配损失并更新网络权重,具体过程为:

33、聚类损失函数计算如下:

34、

35、其中为分类器对新采集流量序列的属于各类别的预测概率输出,为上述公式(5)获取的伪标签(one-hot编码形式);

36、本发明最终匿名网络流量分类算法的整体优化目标函数如下:

37、ming,cl=lclu(xs,ys)+λlclu(xt)          (7)

38、其中,λ为平衡训练中分类损失和聚类损失的超参数。

39、有益效果:本发明将原始采集的流量数据、小样本标注数据以及待分类的数据通过深度神经网络映射到特征空间,在特征空间中计算出小样本标注数据的类别中心,以该类别中心为待分类目标流量数据的聚类中心进行聚类,对目标流量数据赋予伪标签,原始采集的标注流量数据用于深度模型预训练,通过优化原始标注流量数据的和目标伪标注数据的分类损失函数,从而完成原始标注数据的知识迁移,降低数据失效对模型的影响。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1