【联邦学习-后门攻击论文】On the Vulnerability of Backdoor Defenses for Federated Learning

题目On the Vulnerability of Backdoor Defenses for Federated Learning
作者Pei Fang, Jinghui Chen
来源AAAI, 2023
问题阐述针对FL后门攻击有很多防御方法,但是这些防御方式都有局限,怎么评估现有的防御方法
解决方法设计一个新的攻击方式,评估各种防御方式在应对该攻击的效果
其他

摘要

联邦学习(FL)是一种受欢迎的分布式机器学习范式,能够在不共享客户端数据的情况下共同训练全局模型。然而,其反复的服务器-客户端通信为后门攻击提供了机会,该攻击目的是在出现特定触发模式时将全局模型误导为有针对性的错误预测。为了应对联邦学习中的这种后门威胁,已经提出了多种防御措施。本文通过提出一种新的联邦后门攻击方法来研究当前的防御机制是否能够在实际环境中真正抵消来自联邦学习的后门威胁。与传统的基于训练(基于触发数据)和缩放(恶意客户端模型)的后门注入方式不同,本文提出的后门攻击:(1)直接通过符号翻转修改(小部分)本地模型权重以注入后门触发器;(2)结合客户端模型对触发模式进行优化,使其更持久、更隐蔽地规避现有防御。实验从三个主要类别检查了最近一些联邦后门防御方法的优缺点,并为从业者在实际中训练联邦模型提供了建议。

一、背景和问题

1、背景概述
联邦学习:客户端在不共享客户端数据的情况下协作训练全局模型。但是客户端-服务器反复通信的方式,使其容易受到来自恶意客户端的攻击,如后门攻击。
后门攻击:通过污染客户端训练数据或者攻击客户端本地模型,使出现特定触发模式时,将模型输出误导为设定的错误预测。
现有的针对联邦后门攻击的防御:
① Model-refinement:通过诸如微调的方法来refine全局模型以消除可能的后门
② robust-aggregation:通过异常检测从可疑客户端排除恶意权重和梯度,或者基于某些距离度量(几何中值等)动态地重新衡量客户端的重要性
③ certified-robustness:旨在提供经认证的鲁棒性保证,对于每个测试示例,即使恶意客户端的本地训练数据中的某些特征在一定约束内被修改,最终的全局模型预测也不会改变。

2、问题
这些防御方式也存在很多约束和限制:
Model-refinement 防御的有效性依赖于refine过程是否可以完全清除后门。
robust-aggregation 通常基于iid,而FL中很多时候都是non-iid的,而且更防御性更强往往对主任务的精度造成影响。
certified-robustness 享有理论上的鲁棒性保证,但也具有相当强的要求和限制,例如大量的模型训练或对触发模式幅度的严格限制,还会出现相对较差的经验模型性能。

现有攻击的缺陷:
为了影响到最终的全局模型,往往需要缩放模型更新,使得模型和正常模型非常不同,容易被检测出来。
损害主任务精度。

二、提出的方法

在这里插入图片描述
1、Focused Flip Federated Backdoor Attack
该攻击方法的第一部分,翻转模型权重符号, 主要包括三个部分:
① 选择用于操作的候选参数
只操纵模型中对正常任务最不重要的一小部分候选参数,使其对主任务精度产生最小的影响。
引入了基于运动的重要性得分来识别操作的候选参数。具体地,每个参数 S t [ j ] S^{[j]}_t St[j] 的重要性与其权重和梯度两者相关: S t [ j ] = − ∂ L g ∂ w t [ j ] ⨀ w t [ j ] S^{[j]}_t= − \frac {\partial L_g } {\partial w^{[j]}_t} \bigodot w^{[j]}_t St[j]=wt[j]Lgwt[j] 其中 L g L_g Lg是全局训练损失, ⨀ \bigodot 表示逐元素乘积。

在本文中,在 S t [ j ] S^{[j]}_t St[j] 上做了两个主要的修改来进行后门攻击:

  • 在FL环境中很难获得全局损失 L g L_g Lg,因为攻击仅在恶意客户端上进行,所以采用模型差来近似偏导数: − ∂ L g ∂ w t [ j ] = w t [ j ] − w t − 1 [ j ] − \frac {\partial L_g } {\partial w^{[j]}_t} = w^{[j]}_t - w^{[j]}_{t-1} wt[j]Lg=wt[j]wt1[j] 当t = 0时,随机生成重要性得分 S 0 [ j ] S^{[j]}_0 S0[j];
  • 为了应对不同的防御机制,将其扩展为方向性准则和无方向性准则,在不同的防御中选择效果最好的一个: D i r e c t i o n a l : S t [ j ] = ( w t [ j ] − w t − 1 [ j ] ) ⨀ w t [ j ] Directional: S^{[j]}_t = (w^{[j]}_t - w^{[j]}_{t-1}) \bigodot w^{[j]}_t Directional:St[j]=(wt[j]wt1[j])wt[j] D i r e c t i o n l e s s : S t [ j ] = ∣ ( w t [ j ] − w t − 1 [ j ] ) ⨀ w t [ j ] ∣ Directionless: S^{[j]}_t = |(w^{[j]}_t - w^{[j]}_{t-1}) \bigodot w^{[j]}_t | Directionless:St[j]=(wt[j]wt1[j])wt[j]

基于上述公式计算出来的重要性得分,选择每一层中最不重要的一些参数进行后续操作。

② 翻转参数的符号

对于网络的第一层,对于一个触发模式 Δ \Delta Δ,如果 w [ 1 ] w^{[1]} w[1]的符号与触发器在相同位置的符号不同,将其翻转: w [ 1 ] = m s [ 1 ] ⨀ s i g n ( ∆ ) ⨀ ∣ w [ 1 ] ∣ + ( 1 − m s [ 1 ] ) ⨀ w [ 1 ] w^{[1]} = m^{[1]}_s \bigodot sign (∆) \bigodot |w^{[1]}| + (1 −m^{[1]}_s ) \bigodot w^{[1]} w[1]=ms[1]sign()w[1]+(1ms[1])w[1]

其中, m s [ 1 ] m^{[1]}_s ms[1]是在上一步骤中生成的候选参数的掩码,其中的值为0或1.
该公式可以对触发器位置上模型权重的符号进行翻转,如果m不在触发器位置上,则为后一项,没有任何改变,如果在触发器位置上,即第一项,则看是否符号相同,符号不同则对权重的符号进行符号翻转。

对于后续层,类似地翻转候选参数的符号。区别是,在前一层 j − 1 j-1 j1中的符号翻转之后,输入一小部分验证样本 x v x_v xv,并计算通过在 x v x_v xv上添加触发模式 Δ \Delta Δ而导致的层 j − 1 j-1 j1的激活差异:
δ = σ ( z [ j − 1 ] ( x v ′ ) ) − σ ( z [ j − 1 ] ( x v ) ) , x v ′ = ( 1 − m ) ⨀ x v + m ⨀ Δ \delta = \sigma (z^{[j-1]}(x^{'}_v)) - \sigma (z^{[j-1]}(x_v)), x^{'}_v = (1-m) \bigodot x_v + m \bigodot \Delta δ=σ(z[j1](xv))σ(z[j1](xv)),xv=(1m)xv+mΔ

通过翻转候选参数的符号使 δ \delta δ最大化,确保当呈现触发模式时最后一层的激活也被最大化

③ 模型继续训练
继续训练的原因:

  • 翻转的参数仅使激活最大化,但不与目标标签ytarget相关联。
  • 与其他良性客户端相比,仅翻转参数的符号将导致模型更新很不同,进一步的训练很大程度上缓解该问题

2、 不仅是CNN,该方法还能扩展到其他网络架构中。
3、优化触发模式攻击
触发器不是固定的,优化触发器以适应攻击。
在1中的第二步骤中,通过P次的迭代实现该优化过程。在每一次迭代中,将干净数据和含有触发器的数据输入到第一层中,最大化激活差异,来最终确定触发器模式:
max ⁡ Δ L t r i g ( x p , Δ ) : = ∣ ∣ σ ( z [ 1 ] ( x p ) ) − σ ( z [ 1 ] ( x p ′ ) ) ∣ ∣ 2 2 , x v ′ = ( 1 − m ) ⨀ x p + m ⨀ Δ \max_{\Delta}{L_{trig}(x_p,\Delta)} := ||\sigma (z^{[1]}(x_p)) - \sigma (z^{[1]}(x^{'}_p))||^2_2, x^{'}_v = (1-m) \bigodot x_p + m \bigodot \Delta ΔmaxLtrig(xp,Δ):=∣∣σ(z[1](xp))σ(z[1](xp))22,xv=(1m)xp+mΔ

4、伪代码分析
算法
该代码是没有进行触发器优化的代码。我们从第6行开始看,6到9行表示该方法的第一步骤,选择候选参数。对于网络模型的每一层,根据方向性原则和无方向性原则进行计算得分,选择得分最低的一部分作为候选参数。
第二步骤中,10行代表将触发器大小调整为第一层权重大小,11行根据公式翻转触发器位置上的权重的符号。12到18行,对于后面的每一层网络,利用给出的干净样本生成后门样本,并计算前一层网络在干净样本和后门样本的激活差异,将该激活差异resize成该层权重大小,再根据符号翻转规则对权重符号进行翻转。
第三步,19行到23行,进行本地迭代继续训练。按照后门攻击目标函数进行训练,最小化损失,将触发器与后门标签对应上,同时尽可能让恶意模型更新与正常的模型更新相差不大。

在这里插入图片描述
优化触发器的攻击方式
和前面方法的主要区别在于13到20行,即第二步骤中的针对第一层网络时优化触发器处理。进行了P次的训练,来不断对触发器进行优化。14和15行经过和正常攻击中类似的操作之后,生成后门样本并计算在干净样本和后门样本上的激活差异,设计损失函数并最大化激活差异。最终,经过P的迭代后,得到优化后的触发器。后续步骤不变。

三、仿真实验

数据集:CIFAR-10、Tiny-ImageNet
和目前的几种攻击方式进行对比:DBA、Neurotoxin
防御方式:3 model-refinement defenses, 3 robust-aggregation defenses, and 1certified defense
评价指标:ASR、ACC
在这里插入图片描述
从图中可以看出,这三种攻击在CIFAR-10数据集上都突破了三种模型精炼防御,并得到了相近的ACC。
在Tiny-ImageNet数据集中,DBA和Neurotoxin的ASR很快就会随着训练的进行而降低,这表明良性更新最终会压倒恶意更新,并在全局模型更新中占据主导地位。 F3BA仍然以更高的精确度规避了所有三种防御。
在这里插入图片描述
Bulyan能在很大程度上防御了F3BA。 F3BA需要采用无定向度量且需要更多的训练轮次才能来在两个数据集上突破防御。
对于Robust LR,F3BA充分利用了其投票机制的限制,很容易入侵。 因为F3BA只翻转一小部分最不重要的参数(因此它不会在很大程度上改变投票结果)
DeepSight在non-i.i.d数据分布下无法防御F3BA,DeepSight的性能很大程度上取决于聚类结果,而在non-i.i.d情况下,聚类结果不稳定,其防御机制容易失效,简化为普通的FedAvg。
相比之下,DBA和Neurotoxin在相同的实验设置下,在Tiny-ImageNet数据集上都无法取得很好地攻击效果。
在这里插入图片描述
CRFL给每个样本一个经认证的半径RAD,如果本地训练数据被修改,其后门量级 ||∆|| ≤RAD,预测将不会改变。 它通过在训练中的裁剪和扰动,测试中参数平滑来保证鲁棒性。
图5显示,使用相同水平的噪声σ=0.001,F3BA达到接近100%的ASR,而DBA和神经毒素在Tiny-ImageNet上失败。
提供更大的RAD,完全覆盖每一轮触发器的范数,CRFL可以防御F3BA,但在准确性上却有巨大的牺牲。 更大的噪声带来更好的经认证的鲁棒性,但是明显损失了准确性。

另外还有一些其他实验,可以在论文中看一下。

四、思考

本文通过设计出一种新的攻击方式,来评估几种先进的防御方式,同时和两种攻击方式对比。主要思路就是对模型权重中不太重要的一部分权重做符号翻转操作,这些参数也是目前后门攻击很多在针对的。同时这篇文章工作量巨大,包括了目前比较流行的FL攻击与防御方式。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值