SIREN+: Robust Federated Learning With Proactive Alarming and Differential Privacy

引用:H. Guo et al., “Siren + ^+ +: Robust Federated Learning With Proactive Alarming and Differential Privacy,” in IEEE Transactions, on Dependable and Secure Computing, vol. 21, no. 5, pp. 4843-4860, Sept.-Oct. 2024, doi: 10.1109/TDSC.2024.3362534.
b站视频:https://www.bilibili.com/video/BV1dE28YNEZn/?spm_id_from=333.999.0.0&vd_source=4abbaefcba03a8f8ab575d07cd59a36d

1研究背景

1.1联邦学习面临的挑战

联邦学习面临着模型被攻击和用户隐私被攻击的挑战,如表所示,前三者攻击称为拜占庭攻击,分别是模型中毒攻击、数据中毒攻击,还有前两者结合的复合攻击,它们都有一个共同的特点,就是使得全局模型精度下降。另外一种攻击叫做推理攻击,如成员推理攻击,通过分析模型更新或全局权重,推断客户端的敏感信息。
在这里插入图片描述

1.2防御方法及其局限性

为了防御这两大类的攻击,前人已经提出解决方案。在Krum方法中,客户端在本地完成训练后,将本地模型权重更新发送给服务器,服务器选择那些与大多数其他更新差异最小的更新,目标是通过选择最相似的更新来抵御恶意攻击。在Coomed方法中,每个客户端提交的模型更新是由许多参数组成的向量,服务器会对每个参数进行中值计算,将作为这个参数的更新值。在FLTrust方法中,服务器计算每个客户端的信任分数,使用信任分数加权更新全局模型。前三者方法都是拜占庭攻击的防御方法,为了防御推理攻击,前人使用差分隐私在用户模型的梯度添加噪声以防止推理攻击。
但是前人的方法存在着两个明显的局限。第一点是拜占庭攻击防御和推理攻击防御的冲突:防御推断攻击的方法改变了训练数据和模型更新,这极大地干扰了现有拜占庭防御方法对模型权重(或梯度)的分析。第二点是现有方法仅依赖于服务器或客户端一端的检测机制:
当全局模型被恶意客户端成功影响时,良性客户端必须被动接受受损的全局模型,无法做出任何抵抗。
在这里插入图片描述

1.3作者的解决方法

为了解决前任方法的局限性,作者提出新的方法,称为Siren+,它是联合使用主动报警机制和LDP机制来防御拜占庭攻击和推断攻击。下图是论文的概述图,它的步骤如下:1. 服务器向客户端发送全局模型gt。2.在本地训练前,客户端检查全局模型是否中毒,并向服务器发送警报。3. 客户端依据报警信息进行模型训练,使用LDP向梯度加噪以防止推理攻击,将训练好的模型发给服务器。4. 服务器将客户端的警报和模型进行检测,依据情况进行聚合更新。这是总的概述,我将在下面的部分细说Siren+的工作流程。
在这里插入图片描述

2内容分析

2.1问题陈述

在Siren+中,作者给定了问题陈述,服务器向参与训练的客户端发送全局模型,假设至少存在着一个良性的客户端,它的作用是为了防止没有用户向服务器发送攻击的警报。作者也假设攻击者无法攻陷FL的服务器,当一部分用户被恶意攻击后攻击者修改模型的参数,并上传给服务器,使得服务器聚合更新后的模型精度下降。对应地,作者提出防御设置,用户进行第t+1轮训练时,接收到服务器发送的全局模型后首先判断全局模型是否中毒,使用本地权重和本地测试数据集来检查全局权重,如果全局模型中毒则发出警报。然后用户依据报警信息进行本地模型训练,根据每个参与者的隐私需求在本地训练过程中注入适当的噪声,训练好后将本地模型权重更新发给服务器。服务器利用根测试数据集对报警信息和用户的模型更新进行检查,有四种情况,依据不同的情况进行全局模型更新。
在这里插入图片描述

2.2客户端工作流程

当用户i进行第t+1轮时,服务器向客户端发送全局模型gt,客户端首先检查全局模型是否中毒,分别使用本地模型gti和全局模型gt通过本地测试数据集进行测试,分别得到本地模型准确率和全局模型准确率,如果满足公式1,则说明全局模型是正常状态(没有中毒),将Ati置零,否则全局模型中毒。其中,Cc决定了客户端对全局模型与本地模型之间差异的接受程度。然后,客户端将A t通过安全隧道发送给服务器,安全隧道的作用是即使客户端i是恶意并生成了虚假报警,该隧道也能防止网络传输中的报警状态被篡改。如果Ati等于0,则全局模型可信,使用全局模型代替本地模型进行训练。如果Ati等于1,则全局模型不可信,则使用第t轮的本地模型进行训练。用户使用本地训练数据集训练,使用本地差分隐私添加适合的噪声,其中LDP需要对梯度进行裁剪,然后添加高斯噪声,详细部分见论文的描述。最终得到本地模型的权重更新,并将其发给服务器,以上就是客户端的工作流程。
在这里插入图片描述

2.3.1服务器工作流程

Siren+服务器的工作流程主要由两部分组成,分别是对报警信息和本地模型权重更新进行安全检测,还有聚合更新。警报信息有四种情况,情况1和情况2都是没有警报,情况1是全局模型没有被攻击,情况2是全局模型有被攻击但还没有检测到,延迟下一轮检测。由于没有警报,所以服务器认为第t轮全局模型是安全的,所以情况一、二都是使用第t轮全局模型聚合更新。情况3,4是有报警的,情况三中,报警客户端准确率相似,检测静默客户端的准确率。其中服务器有一个根测试数据集,用于检测用户模型的准确性。情况三的第一种情况如公式2所示,其中Cs衡量最大准确度和每个报警客户端准确度之间的差异,如果静默客户端的最高准确性高于或接近报警客户端的准确性,那么服务器就认为虚假报警,理由是警报的客户端使用了本地模型训练(自认为安全的),对于没有警报的客户端,警报的客户端认为全局模型是不安全的,如果警报的准确率比不警报的准确率还小,就说明是虚假警报,因为安全的全局模型训练的本地模型才会提高准确率。那么将静默客户端归为良性客户端,并使用第t轮全局模型聚合更新。情况三的第二种情况是反转公式2的不等号,将报警的客户端归为良性客户端,因为第t轮全局模型不安全,就使用第t-1轮全局模型聚合更新。情况4是报警客户端准确率不相似,筛选良性客户端,忽略静默客户端。如果一个报警客户端的准确性与最高准确性接近,则该客户端被认为是良性客户端,就是把报警客户端中准确率较高的客户端归为良性客户端,也是使用第t-1轮全局模型聚合更新。在我看来,算法2存在着四种角色,分别是服务器,良性客户端,恶意客户端,和假装良性的恶意客户端。如果大家对刚刚的描述还是不太理解的话,我下面举一个例子说明。
在这里插入图片描述

2.3.1算法2举例说明

由于存在着四种角色,我就联想到了三国杀的四种角色,分别是主公、忠臣、反贼和内奸。例子中主公相当于算法2的服务器,政令相当于全局模型,政绩相当于模型的准确率。首先是主公向各方发送政令,各方依照政令施政,根据各方是否对政令提出改进建议分为四种情况。情况一二都是没有提出改进建议,情况一由于没有提出改进建议,主公不能判断各方的身份。情况二是可能在后面施政过程发现问题,各方身份还是不确定。情况三四是有提出改进建议,假设A和C对政令提出改进建议,B没有。情况3的第一种情况是A和C的政绩相近,如果B的政绩比A、C高,则A、C虚报,B为忠臣,A、C不是忠臣。情况3的第二种情况是A和C的政绩相近,如果B的政绩比A、C低,则A、C没有虚报,A、C为忠臣,B不是忠臣。情况四是A和C的政绩差异较大,如果A的政绩比C高(且比B政绩高),则A是忠臣,C是内奸(为了表示忠心而提出改进建议,而且C由于其他原因不一定是内奸),由于B明知政令有误却没有改进建议则判为反贼。以上的例子只是为了更好的说明算法2,仅仅是是我的想法,并不代表作者的想法。
在这里插入图片描述

2.3.3惩罚与奖励机制

既然恶意客户端影响全局模型,作者提出了惩罚机制,就给予惩罚并记录次数,当惩罚次数大于Cp,为了节省计算资源,后面的训练将其默认为恶意客户端。但是良性客户端是否一直为良性,恶意客户端是否一直为恶意?答案是否定的,于是作者提出奖励机制。允许被禁客户端有一定概率重新加入训练,如果在某一轮通信中,被禁客户端被服务器视为良性客户端,该客户端的惩罚次数将减少 Ca,如果该客户端的惩罚次数少于Cp,则此客户端可以重新参与训练。
在这里插入图片描述

3实验分析

实验设置见论文

3.1参数的影响

在这里插入图片描述

3.2防御定向拜占庭攻击

在这里插入图片描述

3.3防御推理攻击

在这里插入图片描述

3.4通信效率

相比其他防御方法,SIREN+显著减少了模型训练所需的通信轮次,表明其在抵御攻击的同时,不会带来过大的计算负担。multi-Krum和 Coomed依赖于全局服务器端的模型更新分析,通过检测客户端上传的模型更新的“异常”来防御攻击。然而,这些方法对数据分布较为敏感,特别是在非IID数据下,模型更新的多样性可能会被误认为是异常更新,从而导致错误识别(即误报或漏报)。因此,它们在非IID数据下的表现往往不如SIREN+稳定。FLTrust依赖于服务器端的一个“根”数据集,用于评估客户端上传的模型更新。与SIREN+相比,FLTrust缺少对模型的动态调整机制,无法像SIREN+那样通过客户端的反馈(报警机制)及时应对并修复攻击。所以,siren+的通信效率优于其他方法。
在这里插入图片描述

4总结

Siren+的核心由主动报警机制和LDP机制组成,同时抵御了拜占庭攻击和推理攻击。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值