Data Poisoning Attacks Against Federated Learning Systems

bid000 于 2022-07-09 发布
论文英文名字 Data Poisoning Attacks Against Federated Learning Systems
论文中文名字 针对联邦学习系统的数据中毒攻击
作者 Vale Tolpegin, Stacey Truex, Mehmet Emre Gursoy, Ling Liu
来源 25th ESORICS 2020: Guildford, UK - Part I [CCF 网络与信息安全 B 类会议]
年份 2020 年 9 月
作者动机 对联邦学习进行数据中毒攻击
阅读动机 了解联邦学习数据中毒攻击
创新点 分析数据中毒攻击并提出防御方法

内容总结

主要贡献

  1. 研究了 FL 系统对试图毒害全局训练模型的恶意参与者的脆弱性。(数据中毒攻击)
  2. 使用两个流行的图像分类数据集:CIFAR-10 和 Fashion-MNIST 来演示 FL 数据中毒攻击。
    • 证明了攻击有效性(模型效用的减少)取决于恶意用户的百分比,即使这个百分比很小,攻击也是有效的。
    • 证明了攻击是有针对性的,即它们对受到攻击的类子集有很大的负面影响,但对其余类几乎没有影响。
    • 评估了攻击时机的影响(在前几轮或后几轮 FL 训练中中毒)和恶意参与者可用性的影响(恶意参与者是否可以提高其可用性和选择率以提高有效性)。
  3. 为 FL 聚合器提出了一种防御策略。

威胁和对手模型

威胁模型

  1. 将所有参与者 $P$ 中恶意参与者的百分比表示为 $m\%$
  2. 恶意参与者可以通过添加对手控制的设备、损害 $m\%$ 的良性参与者的设备或激励(贿赂)$m\%$ 的良性参与者来注入到系统中从而在一定数量的 FL 轮中毒害全局模型。
  3. 聚合器是诚实的,不会妥协。

对抗性目标

操纵学习到的参数,使得最终的全局模型 $M$ 对于特定类别($C$ 的子集)具有高误差。

对手知识和能力

每个恶意参与者可以在他们自己的设备上操纵训练数据 $D_i$,但是不能访问或操纵其他参与者的数据或模型学习过程,

联邦学习中的标签反转攻击

我们使用标签翻转攻击在 FL 中实现目标数据中毒。给定 $C$ 中的源类 $c_{src}$ 和目标类 $c_{target}$,每个恶意参与者 $P_i$ 修改其数据集 $D_i$ 如下:对于 $D_i$ 中类为 $c_{src}$ 的所有实例,将其类更改为 $c_{target}$。我们记为 $c_{src} \rightarrow c_{target}$

评估指标

联邦学习中标签翻转攻击分析

标签翻转攻击可行性

评估攻击可行性和恶意参与者百分比对攻击有效性的影响

基于源类和目标类设置的脆弱性变化不太清楚。

三种中毒攻击的源类召回损失

标签翻转攻击似乎是有目标的。

所有类召回变化

全局模型准确性和源类召回之间的关系

标签翻转攻击中的攻击时机

一种情况是敌手仅在第 75 轮训练之前使恶意参与者可用,另一种情况是恶意参与者仅在第 75 轮训练之后可用。

“早期中毒”实验的源类召回 “晚期中毒”实验的逐轮源类召回

最后一轮有无攻击者的源类召回

恶意参与者可用性

考虑到后期训练轮次中恶意参与对攻击有效性的影响,我们现在引入恶意参与者可用性参数 $\alpha$。通过改变$\alpha$,我们可以模拟对手在训练中的各个点控制受损参与者的可用性(即确保连接或电源接入)的能力。具体来说,$\alpha$ 表示恶意参与者的可用性,因此相对于诚实参与者,$\alpha$ 表示恶意参与者被选择的可能性。

恶意参与者可用性α对源类回忆的影响评估

0.6和0.9可用性的源类召回

连续几轮中源类召回的变化与连续几轮中恶意参与者数量变化之间的关系

防御标签翻转攻击

主要思想:与诚实参与者对参数空间子集的更新相比,恶意参与者发送的参数更新具有独特的特征。然而,由于 DNN 有许多参数(即 $\theta_{r,i}$ 是极高维),因此手动分析参数更新是不平凡的。因此,我们提出了一种自动策略,用于识别相关参数子集,并使用降维(PCA)研究参与者更新。

算法1

  1. 服务器获取 $n$ 个用户的模型 ${\theta_i}$
  2. 对局部模型进行聚合得到全局模型 $\theta$
  3. 计算 $n$ 个用户的局部模型相对于全局模型的增量 $\theta_{\Delta,i}=\theta_i-\theta$(相当于对更新进行了零中心化预处理)。定义类别 $c_{src}$ 是怀疑被攻击者在标签翻转攻击中进行投毒的源标签,又由于某一类的概率仅由 DNN 结构最后一层的特定节点算得到,故仅提取 $\theta_{\Delta,i}$ 中与 $n_{c_{src}}$ 节点有关的子集 $\theta_{\Delta,i}^{src}$,并将其放入列表 $U$ 中;
  4. 在经过对列表 $U$ 的多轮构建之后,对其进行标准化,然后对标准化之后的列表进行 PCA 降维,并得到可视化结果;
  5. 然后对结果进行聚类,将最大的类视为良性更新,而恶意参与者的更新属于其他明显不同的聚类;
  6. 识别出恶意参与者后,聚合器可以将其列入黑名单,或在未来几轮中忽略其更新;

具有 2 个组件的 PCA 图

总结

本文研究了针对 FL 系统的数据中毒攻击。我们证明了 FL 系统容易受到标签翻转中毒攻击,并且这些攻击会对全局模型产生显著的负面影响。我们还表明,对全局模型的负面影响随着恶意参与者比例的增加而增加,并且有可能实现有针对性的中毒影响。此外,我们还证明了对手可以通过增加后续回合中恶意参与者的可用性来增强攻击效果。最后,我们提出了一种防御措施,帮助 FL 聚合器将恶意参与者与诚实参与者分离。我们证明了我们的防御能够识别恶意参与者,并且对梯度漂移具有鲁棒性。

参考

  1. 精确率(精准率),召回率,F1值的通俗解释
  2. PCA:详细解释主成分分析
  3. 如何通俗易懂地讲解什么是 PCA(主成分分析)?