1.一种基于联邦学习的流量分类系统,通过传递梯度信息实现分类模型,其特征在于,由流量采集标记模块、特征提取处理模块、联邦深度分类器组成,所述流量采集标记模块被配置为:基于端口与应用类型映射表对数据报文进行标记分类;所述特征提取处理模块被配置为:进行数据包分组、数据预处理和合并上传操作,所述合并上传为上传数据集至联邦学习客户端;所述联邦深度分类器被配置为:训练初始化:确定参与训练的客户端与服务器,客户端间进行加密后的数据特征对齐,服务器将CNN模型框架及公钥分发给客户端;梯度训练:客户端将本地的数据输入至本地CNN模型中进行训练得到梯度,然后将梯度加密上传至服务器;模型确定:服务器对收到的所有用户的梯度数据进行聚合,得到联合CNN模型参数;客户端根据所述联合CNN模型参数更新各自的模型,计算模型对流量进行分类的准确率,判断准确率的提升是否均小于预设的阈值,若是,则得到最终的CNN模型。
2.根据权利要求1所述的基于联邦学习的流量分类系统,其特征在于,所述应用类型映射表的建立方法是:客户端捕捉本地流量,通过端口查找对应进程,建立本地端口与应用类型映射表。
3.如权利要求1所述的基于联邦学习的流量分类系统,其特征在于,所述对数据包分组为:对数据包进行分组,按照时间顺序提取前16个数据包的包头;所述数据预处理为:将数据包各个字节解释为0-255的整数,对各个干扰字段置0,进行匿名化处理;所述合并上传时,将处理后的前16个数据包的包头合并作为一项数据,以数据包的标签作为数据的标签,上传至联邦学习客户端。
4.如权利要求3所述的基于联邦学习的流量分类系统,其特征在于,对数据包进行分组时,以(源地址、源端口号、目的地址、目的端口号、协议)五元组作为标识,对在客户端与服务器之间双向流动的数据包进行分组。
5.如权利要求3所述的基于联邦学习的流量分类系统,其特征在于,所述 干扰字段包括Mac地址、IP地址、端口、报头校验和。
6.如权利要求1所述的基于联邦学习的流量分类系统,其特征在于,所述将本地的数据输入至本地CNN模型中,是先将本地的数据转换为16*54的矩阵,再作为图片输入至本地CNN模型中进行训练。
7.如权利要求1所述的基于联邦学习的流量分类系统,其特征在于,若准确率提升不都小于预设的阈值,则进行下一回合迭代,执行所述梯度训练和所述模型确定的流程。
8.一种基于联邦学习的流量分类方法,其特征在于,包括以下步骤:流量采集标记步骤S1:客户端捕捉本地流量,通过端口查找对应进程,建立本地端口与应用类型映射表;基于端口与应用类型映射表对数据报文进行标记分类;特征提取处理步骤S2,包括以下子步骤:数据包分组步骤S21:以(源地址、源端口号、目的地址、目的端口号、协议)五元组作为标识,对在客户端与服务器之间双向流动的数据包进行分组,按照时间顺序提取前16个数据包的包头;数据预处理步骤S22:将数据包各个字节解释为0-255的整数,对各个干扰字段置0,进行匿名化处理,所述干扰字段包括Mac地址、IP地址、端口、报头校验和;合并上传步骤S23:将处理后的前16个数据包的包头合并作为一项数据,以数据包的标签作为数据的标签,上传至联邦学习客户端;联邦分类模型建立步骤S3,包括以下子步骤:训练初始化步骤S31:确定参与训练的客户端与服务器,客户端间进行加密后的数据特征对齐,服务器将CNN模型框架及公钥分发给客户端;梯度训练步骤S32:将本地的数据输入至本地CNN模型中进行训练以得到梯度,然后将梯度加密上传至服务器;模型确定步骤S33:服务器对收到的所有用户的梯度数据进行聚合,得到联合CNN模型参数;客户端根据所述联合CNN模型参数更新各自的模型;计算模型对流量进行分类的准确率,判断准确率的提升是否均小于预设的阈值,若否,则返回所述步骤S32,进行下一回合迭代过程;若是,则结束流程,所得CNN模型为最终模型。
9.如权利要求8所述的基于联邦学习的流量分类方法,其特征在于,在所述步骤S32中,所述将本地的数据输入至本地CNN模型中,是先将本地的数据转换为16*54的矩阵,再作为图片输入至本地CNN模型中训练。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令;所述多条指令由处理器加载并执行如权利要求8-9之任一项所述的基于联邦学习的流量分类方法。