【技术实现步骤摘要】
一种基于多方拆分学习的白流量过滤模型训练方法及系统
[0001]本专利技术涉及流量过滤领域,具体涉及一种基于多方拆分学习的白流量过滤模型训练方法及系统。
技术介绍
[0002]随着互联网技术的革新,网络中的应用层流量日趋复杂。小到网站速度变慢,大到信息泄露,身份盗用,商业利益受损,恶意流量现如今已经成为每个行业日益关注的问题。
[0003]目前传统安全设备对于网络流量的防御采用方法不一,他们的共同点都是基于网络的全分析,检测过程中设置名单匹配已知威胁,但是设置的名单只能在被攻击以后的下次有效,无法迅速的对流量变种进行适应、有效识别,因此,为了高效地保证网络安全,首先需要识别和过滤掉网络中大量的白流量。
[0004]目前最常见的白流量过滤方法有:基于端口识别的方法,基于深层包检测的分类方法,基于统计的机器学习方法。
[0005]基于端口识别:在互联网发展早期,随机端口策略还未得到广泛应用,研究者只需从网络流量的包头数据中提取端口号,然后再从应用对照表中进行查询,即可知道该流量所属的具体应用。随着互联网的 ...
【技术保护点】
【技术特征摘要】
1.一种基于多方拆分学习的白流量过滤模型训练方法,其特征在于,包括可信第三方服务器,可信第三方服务器通讯连接有计算服务器和若干训练方,具体步骤如下:步骤一、数据预处理:各训练方将各自的隐私数据预处理形成统一的格式;步骤二、白流量过滤模型拆分:可信第三方服务器得到众训练方的平均算力等级,然后根据将众训练方的平均算力等级划分白流量过滤模型拆分的位置;将白流量过滤模型拆分的位置作为拆分层,拆分层及之前的白流量过滤模型部分分发给各训练方作为前训练模型,其余部分分发给计算服务器作为后训练模型;步骤三、白流量过滤模型训练:3.1)确定训练方的训练次序;3.2)第一个训练方将自身的隐私数据输入前训练模型并执行前向传播对前训练模型进行训练,前训练模型输出破碎数据,然后将破碎数据以及对应的标签输送到计算服务器,计算服务器将破碎数据以及对应的标签输入后训练模型并执行前向传播对后训练模型进行训练得到输出结果;计算服务器根据输出的结果与第一个训练方发送过来的标签计算出损失函数;计算服务器使用损失函数在后训练模型上执行反向传播,并使用梯度下降算法更新权重,一直运行到后训练模型的第一层,将后训练模型的第一层的梯度发送给第一训练方,第一训练方使用后训练模型的第一层的梯度执行反向传播,更新第一训练方的前训练模型权重得到训练后的前训练模型;第一训练方将训练后的前训练模型的模型参数输送到下一训练方;3.3);各训练方重复重复步骤3.2)的操作,直至白流量过滤模型收敛;步骤四、使得白流量过滤模型收敛的训练方和计算服务器分别将前训练模型参数和后训练模型参数发送给可信第三方服务器,可信第三方服务器将前训练模型和后训练模型进行合并得到完整的训练好的白流量过滤模型并广播给所有训练方。2.如权利要求1所述的基于多方拆分学习的白流量过滤模型训练方法,其特征在于,所述步骤一中,训练方的隐私数据其中Pdi代表训练方i的数据集,N代表训练方的数量;每个训练方的数据集包含一个或多个pcap文件,将数据集切分成等长度文件。3.如权利要求1所述的基于多方拆分学习的白流量过滤模型训练方法,其特征在于,采用SplitCap工具把pcap文件按照会话进行切分,生成若干个小的pcap文件,小的pcap文件统一取784字节,对于超过784字节的文件进行截取,不足的则补充0x00,再将小的pcap文件转换为28
×
28的png格式的灰度图片,再将png格式的灰度图片转换成IDX文件类型,成为标准的输入文件Pd
i
表示的是训练方i的原始数据集,Sd
i
表示将训练方i原始数据集转化为图片后的数据集。4.如权利要求1所述的基于多方拆分学习的白流量过滤模型训练方法,其特征在于,所述步骤二中,白流量过滤模型拆分的方法如下:可信第三方服务器将一轻量级模型以及数据集发送给所有训练方,训练方将训练完成的时间发送给服务器,可信第三方服务器定义预期训练时间:τ,训练方i的训练时间为T
i
,算力系数ρ定义如下:
当ρ≥1时,说明训练方的平均训练时间要超过预期训练时间,计算能力较弱,划分一个隐藏层给训练方;当ρ<1时,说明训练方的平均训练时间小于预期训练时间,计算能力较强,划分1+个隐藏层给训练方,其中M代表要训练模型隐藏层的层数;表示对(1
‑
ρ)M向下取整;第三方算力系数划分白流量过滤模型E,前一段白流量过滤模型Wc发送给训练方,剩余白流量过滤模型Ws发送给计算服务器,使得训练方与计算服务器相互无法得知对方的模型配置。5.如权利要求4所述的基于多方拆分学习的白流量过滤模型训练方法,其特征在于,所述步骤三中,白流量过滤模型为深度神经网络,深度神经网络定义为函数F,深度神经网络有α层,定义运行某一层函数为L,那么F(Split_data)等价于L
α
(L
α
‑1...(L1(Split_data))),其中,L
α
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。