期刊:
计算机学报 第47卷 第三期 http://cjc.ict.ac.cn/online/onlinepaper/gjj-20243880430.pdf
相关知识:
联邦学习:
联邦学习是一种创新的分布式机器学习方法,旨在解决数据隐私保护和数据孤岛问题。它通过在多个数据源(如不同的设备、机构或用户)上分布式训练模型,避免了数据的集中式共享,从而保护了数据隐私和安全。联邦学习允许各参与方在本地更新模型参数,并将这些更新汇总到全局模型中,从而实现模型的协同优化。
后门攻击:
定义:后门攻击是一种在模型中嵌入后门的攻击方法,其攻击目标为保持全局模型在主任务上的良好性能前提下提高全局模型在目标任务中的性能。
常见类型: 黑盒攻击:攻击者只改变客户端训练数据,无法对流程和模型进行修改;白盒攻击:攻击者完全控制客户端,可以对本地模型进行修改;集中式后门攻击:恶意客户端数据具有相同的后门 分布式后门攻击;恶意客户端数据具有全局触发器的一部分。
后门攻击防御:
一、基于降维的后门攻击防御方案:
训练编码器-解码器输出原始模型更新的重构,通过最小化重构误差的方式优化模型,将重构误差大于阈值的模型认定为恶意模型。 缺点:①需要额外的正常公共数据集 ②要求攻击者在训练初期不能进行攻击。
二、基于距离(余弦相似度、欧式距离)的防御方案:
通过比对各个本地模型之间的距离来判定恶意模型。 缺点:无法防御隐蔽式或者攻击复杂的情况。
三、拜占庭鲁棒的联邦学习框架:
服务器对干净的根数据集进行训练得到基准模型,客户端进行迭代训练,每次都会被服务器分配信任分数,最终归一化得到全局模型。 缺点:不能保证这个根数据集绝对的干净。
四、基于截尾均值的聚合算法:
去掉较大值、较小值后进行模型聚合。 缺点:在数据非独立同分布下效果有限。
基于上述后门防御的缺陷与不足,本文提出一种防御方案--基于模型水印的防御方案。
可行性:正常客户端进行模型训练与模型处理不会破坏水印的完整性,但是恶意客户端针对模型进行的特殊处理会破坏水印的完整性。
恶意参与方条件假设: (1):恶意参与方的本地模型的类型、结构等与正常参与方的模型一致。 (2):恶意参与方可以共谋合作、可以获取其他正常参与方的本地模型参数以及全局模型参数 (3):攻击者可以发起两类攻击: ①限制与提升:限制恶意参数与本地参数之间的距离;引入提升因子scale来稀释聚合的影响。 scale有三种方式:常量、逐次增加、逐次减少 ②交替最小化:扰动性目标和隐蔽性目标一分为二,交替优化。
方案思路与实现:
方案思路:
步骤一:在学习开始前,服务器首先生成初始全局模型并利用私有数据生成模型水印嵌入初始全局模型中,将嵌入水印的初始全局模型下发给各参与方。
步骤二:各个参与方利用接收到的初始全局模型进行本地数据的训练,将各自训练得到的本地模型上传至服务器。
步骤三:服务器基于嵌入的水印信息对各地本地模型进行检测,最终抛弃恶意模型,保留良性模型来聚合生成新的全局模型。
实现过程:
(1)系统初始化
服务器:首先随机生成T位二进制串b作为签名水印,以及T行ZL列(假设全局模型第L层参数的数量为ZL)的密钥矩阵X(满足标准正态分布)。然后生成随机数据集Droot进行初始化模型训练以嵌入水印。
(2)本地模型训练
各参与方利用本地数据di以及上一轮的全局模型Mt-1进行本地模型训练,得到当前轮的良性本地模型Mt,并存入矩阵Wt中。本地模型训练结束后,各参与方将本地模型参数信息Wt上传至服务器。
(3)本地模型异常检测
针对各地用户上传的本地模型Wt信息,服务器首先从中提取水印(下图式给出提取Wt中第j位
的方式),其中的Xj,r为私有水印密钥X的第j行、第r列元素,ZL为本地模型第L层参数的数量,W[L][r]为本地模型第L层中第r个参数取值,S(·)为阶跃函数。
得到Wt中的签名水印之后计算水印的准确率,如果低于预先设置好的阈值,则认定为恶意模型。准确率计算方式为:提取的签名水印与服务器生成的水印进行矩阵位次对比,查看数量。
实验结果分析:
实验环境:
实验设置与场景:
结果:(文中有诸多实验分析,这里不过多赘述,如有兴趣可去原文查看)
本文思考:
1、 正常参与方进行本地模型训练的时候是否会破坏模型完整性?
2、如果全局模型的部分层次没有被嵌入水印,攻击者可能可以依靠这些层次进行后门攻击。
3、初始化过程中,攻击者可以破坏本地模型的模型水印,使正常客户端也被检测为异常,导致整个全局模型的训练变慢 。