联邦学习后门攻击总结

bid000 于 2022-09-17 发布

后门攻击的定义

在联邦学习中,后门攻击是意图让模型对具有某种特定特征的数据做出错误的判断,但模型不会对主任务产生影响。

攻击者在模型的训练过程中通过某种方式对模型植入一些后门。当后门未被激发时,被攻击的模型具有和正常模型类似的表现;而当模型中埋藏的后门被攻击者激活时,模型的输出变为攻击者预先指定的标签以达到恶意的目的。

在联邦学习场景下进行后门攻击会比较困难,一个原因就是在服务端进行聚合运算时,平均化之后会很大程度消除恶意客户端模型的影响,另一个原因是由于服务端的选择机制,因为并不能保证被攻击者挟持的客户端在每一轮都能被选取,从而降低了被后门攻击的风险。(大容量模型和 no-iid 数据分布)

后门攻击步骤

  1. 中毒样本制作(边缘案例后门攻击、分布式后门攻击、模型依赖触发器)
  2. 后门模型训练(自适应攻击、神经毒素)
  3. 后门模型上传(模型替换)

中毒数据生成

标签翻转

直接修改数据集中样本的标签

植入触发器

原始图像 $x$,触发器 $\delta$,掩码 $m$,中毒图像:

$\hat{x} = x \odot (1 - m) + \delta \odot m$

语义后门

将攻击者选择的标签分配给具有某些语义特征(稀有特征)的所有样本,不需要攻击者在推理时修改模型的输入。

后门攻击训练策略

带有后门攻击行为的联邦学习,其客户端可以分为恶意客户端和正常客户端。不同类型的客户端,其本地训练策略各不相同。

正常客户端训练

正常客户端的训练过程如下,其执行过程就是常规的梯度下降过程。

正常客户端 i 第 t 轮的训练过程:


input: 全局模型 $G^t$
       学习率: $\eta$;
       本地迭代次数: $E$;
       每一轮训练的样本大小: $B$;
output: 返回模型更新:$\Delta_i^t$

利用服务端下发的全局模型参数 $G^t$,更新本地模型 $L_i^t$$L_i^t \leftarrow G^t$
for 对每一轮的迭代 i = 1, 2, 3, …, E,执行下面的操作 do
      将本地数据切分为大小 B 的 $\mathcal{B}$
      for 对每一个 batch $b \in \mathcal{B}$
         执行梯度下降:$L_i^t \leftarrow L_i^t-\eta\Delta\ell(L_i^t;b)$
         计算更新:$\Delta_i^t=L_i^t-G^t$
      end
end


恶意客户端训练

对于恶意客户端的本地训练,主要体现在两个方面:损失函数的设计和上传服务端的模型权重。

恶意客户端 j 第 t 轮的训练过程:


input: 全局模型 $G^t$
       学习率: $\eta$;
       本地迭代次数: $E$;
       每一轮训练的样本大小: $B$;
output: 返回模型更新:$\Delta_j^t$

利用服务端下发的全局模型参数 $G^t$,更新本地模型 $L_j^t$$L_j^t \leftarrow G^t$
损失函数:$\ell = \ell_{class\_loss} + \ell_{distance\_loss} / \ell_{ano\_loss}$
for 对每一轮的迭代 i = 1, 2, 3, …, E,执行下面的操作 do
      将本地数据切分为大小 B 的 $\mathcal{B}$
      for 对每一个 batch $b\in \mathcal{B}$
         数据集 $b=\left\{ D_{cln}^m, D_{adv}^m \right\}$ 中包含正常的数据集 $D_{cln}^m$ 和被篡改毒化的数据集 $D_{adv}^m $
         执行梯度下降:$L_j^t \leftarrow L_j^t-\eta\Delta\ell(L_j^t;b)$
         计算更新:$\Delta_i^t=L_j^t-G^t$
      end
end


分类

数据中毒

利用中毒数据率,在攻击影响和攻击隐蔽性之间进行平衡。

优点:简单,需要攻击者的能力少。

缺点:

模型中毒

方向

联邦学习中后门攻击的防御

问题

防御

  1. 与安全聚合兼容?([3][5])
  2. 降低主任务的性能?([2][4][6][8][12])
  3. 被自适应攻击绕过?

攻击

  1. 恶意客户端的影响会被良性客户端冲淡(持久性)
  2. 隐蔽性

影响因素

  1. 攻击者数量
  2. 中毒率
  3. 数据分布
  4. 辅助信息
  5. 客户端是不是静态的(客户端的良性和恶性变化的)

想法

攻击

  1. 利用联邦学习的分布式学习特性提升现有的后门攻击
  2. 对联邦学习场景下触发器的泛化性问题进行研究
  3. 对触发器的隐蔽性进行研究
  4. 对物理后门触发器的研究
  5. 不同场景下的后门攻击

防御

  1. 深度学习在数据缺失情况下的后门防御()?
  2. 改进深度学习中后门防御的方法,使其适用于联邦学习中后门攻击的防御?
  3. 训练后防御:模型修复、对抗训练和模型提取(adversarial training and model distillation)

防御方法

常见的方法:异常检测、修剪、聚类、过滤

鲁棒聚合算法

这些策略并不区分后门更新和良性更新,它们只想容忍攻击并减轻恶意影响。

  1. Krum
  2. Bulyan
  3. TrimmedMean
  4. Auror
  5. RFA
  6. FoolsGold

基于特征的异常检测

论文

后门攻击

  1. How to Backdoor Federated Learning
  2. Analyzing Federated Learning through an Adversarial Lens
  3. DBA: Distributed Backdoor Attacks against Federated Learning
  4. Attack of the Tails Yes, You Really Can Backdoor Federated Learning
  5. Coordinated Backdoor Attacks against Federated Learning with Model-Dependent Triggers
  6. A highly efficient, confidential, and continuous federated learning backdoor attack strategy
  7. Neurotoxin_Durable Backdoors in Federated Learning
  8. Assisting Backdoor Federated Learning with Whole Population Knowledge Alignment in Mobile Edge Computing
  9. Distributed Swift and Stealthy Backdoor Attack on Federated Learning

[1] 利用客户端可以直接影响全局模型权重的特点,在模型收敛时发起模型替换攻击。

[2] 攻击不具代表性的样本进行后门攻击(标签翻转)

[3] 利用联邦学习分布式的特点,将触发器分给不同的客户端

[4] 攻击模型中不具代表性的坐标进行后门攻击

[5] 将模型依赖触发器与 DBA 结合

防御

  1. Can You Really Backdoor Federated Learning?
  2. Defending against Backdoors in Federated Learning with Robust Learning Rate
  3. BaFFLe: Backdoor Detection via Feedback-based Federated Learning
  4. FLAME: Taming Backdoors in Federated Learning
  5. Meta Federated Learning
  6. Against Backdoor Attacks In Federated Learning With Differential Privacy
  7. Resisting Distributed Backdoor Attacks in Federated Learning_A Dynamic Norm Clipping Approach
  8. FederatedReverse: A Detection and Defense Method Against Backdoor Attacks in Federated Learning
  9. BatFL_Backdoor Detection on Federated Learning in e-Health
  10. Backdoor attacks-resilient aggregation based on Robust Filtering of Outliers in federated learning for image classification
  11. Defense against backdoor attack in federated learning
  12. Mitigating the Backdoor Attack by Federated Filters for Industrial IoT Applications
  13. DeepSight_Mitigating Backdoor Attacks in Federated Learning Through Deep Model Inspection
  14. Toward Cleansing Backdoored Neural Networks in Federated Learning

深度学习 -> 联邦学习

  1. [Trojaning Attack on Neural Networks] -> [Coordinated Backdoor Attacks against Federated Learning with Model-Dependent Triggers]
  2. [Neural Cleanse: Identifying and Mitigating Backdoor Attacks in Neural Networks] -> [FederatedReverse: A Detection and Defense Method Against Backdoor Attacks in Federated Learning]
  3. [Fine-Pruning: Defending Against Backdooring Attacks on Deep Neural Networks] -> [Toward Cleansing Backdoored Neural Networks in Federated Learning]

问题

  1. 为什么联邦学习的任务都集中在图像分类领域?

目前后门攻击的领域:图像分类、自然语言处理(文本预测、情感分析)、推荐系统

  1. 分布式机器学习安全问题?

没有找到关于后门攻击的研究

实验部分

划分 no-iid 的方法

  1. 用具有不同超参数 $\alpha$ 的狄利克雷分布来生成不同的数据分布。

比较方法

  1. 鲁棒联邦学习聚合算法:RFA、FoolsGold

评估指标

攻击成功率:$ASR_M = \frac{n_T}{n}\times 100$ 主任务准确率:

工具箱

backdooor101

单发攻击和多发攻击

后门攻击原理

后门攻击利用的是机器学习算法中的一大关键特征,即模型会无意识在训练数据中搜索强相关性,而无需明确其背后的因果关系。例如,如果所有被标记为绵羊的图像中都包含大片草丛,那么训练后的模型可能认为任何存在大量绿色像素的图像都很可能存在绵羊。同样的,如果某个类别下的所有图像都包含相同的对抗触发器,则模型很可能会把是否存在触发器视为当前标签的强相关因素。

基础知识

什么是 non-iid ?

每个设备中的数据分布不能代表全局数据分布,即每个设备中类别是不完备的。

主要有五种类型:

  1. 特征分布,比如不同人的肤色不一样,写字字体不一样等。
  2. 标签分布,比如袋鼠通常只出现在澳洲,富人在乡村相对少等。
  3. 同样标签,不同特征。比如虽然都是房子,中东的房子和日韩的房子外貌差异很大。
  4. 同样特征,不同标签。比如在预测“最好吃的食物是XX”,在不同地域的预测结果是不一样的。
  5. 样本量差异。APP的重度用户和轻度用户的样本量差异较大。

什么是自适应攻击?

联邦学习为什么要选择客户端?

为什么联邦学习可以训练模型

为什么后门攻击在攻击后可以立即生效而联邦学习训练却需要多轮?

non-iid 数据对联邦学习训练的影响?