DBA: DISTRIBUTED BACKDOOR ATTACKS AGAINST FEDERATED LEARNING

** 本文发在ICLR 2020,针对联邦学习进行的后门攻击。其提出的方案针对传统的针对FL的攻击而言更隐蔽、持续、也更有效。**

Abstract

联邦学习可以聚和由不同参与方提供的信息来训练得到一个更好的模型,它分布式学习的特点导致其存在一个内生问题:不同参与方提供的各种各样的数据可能会带来新的漏洞。
除了最近针对联邦学习的中心化的后门攻击(在训练期间每一方都嵌入一个全局trigger),我们提出了分布式后门学习(distributed backdoor attck,DBA),这是一个通过利用联邦学习的特性做出的新的威胁评估框架。
DBA把全局trigger的模式分解为独立的局部trigger,并且相应地嵌入到不同的恶意攻击方的训练集中.和标准的中心化后门比起来,针对在不同的数据集比如金融、图像识别上的联邦学习,DBA更持久更隐蔽。
通过使用不同的设置我们进行了广泛的实验,结果表明和标准化后门比起来,DBA的攻击成功率显著高于中心化后门的成功率.此外,我们发现,分布式攻击更加隐蔽,因为DBA可以躲避两种针对中心化后门的联邦学习的鲁棒算法。我们对此还通过特征视觉翻译feature visual interpretation和特征重要性排名feature importance ranking对此提供了解释。
为了进一步探索DBA的特性,我们通过不同的trigger因素来测试攻击表现,包括局部trigger变化(size,gap,location),联邦学习中的缩放因子scaling factor,数据分布,投毒比例和间距。
我们提出的DBA经过全面的评估为刻画联邦学习的鲁棒性指出了道路。

Introduction

已有的针对联邦学习的攻击是在所有恶意参与方那儿都嵌入相同的全局trigger模式。我们把这种攻击方案称为中心化后门攻击centralized backdoor attack。而DBA将其分解为局部模式并相应地将其嵌入到不同攻击方中.两种攻击方式的不同如下所示

Distributed backdoor attack against federated learning

Generak framework

攻击者能力:
基于Kerckhoffs’s theory,我们设定攻击者可以完全控制其本地的训练过程,比如后门数据注入、更新局部训练超参数等。由于每个局部数据都是由本地参与方所有,所以这种场景是很实际的。然而攻击者没有能力影响中心服务器的权限,比如修改聚和规则、篡改训练过程或者其他参与方的模型更新过程等。
一些trigger因素

Distributed Backdoor Attack(DBA)

直观上来看,两种不同的方式是这样的:
回到图1,a:攻击者在训练数据中嵌入由4种颜色高亮表示的选定的模式,它们组合在一起就成了后门trigger完整的全局pattern。
再看图1.b:所有的攻击者只使用全局trigger的一部分来毒化其本地模型,然而其最终的攻击目标还是和中心化后门攻击一样–使用全局trigger来攻击共享模型。比如说,攻击者使用橙色区域的的trigger模式来对她的训练数据的一部分投毒,其他三种颜色也是同样。、在中心化后门攻击中,攻击者要求解的优化问题是

期间没有涉及合作和分布式处理
与此相反,DBA充分利用联邦学习的分布式学习和本地数据的不可见性。DBA要求解的问题是

需要指出一点,尽管在DBA中没有任一攻击方被使用全局trigger投毒,但是我们发现在使用全局trigger进行评估时,DBA表现得比中心化攻击好得多。

Factors in distributed backdoor attack

在针对联邦学习的DBA基础上,我们探索了很多新的因素。下面介绍一些我们发现的关键的因素。
Trigger Size :局部分布式trigger的像素的列数(也可称之为宽度)
Trigger Gap:Gapx,Gapy之间的距离,代表了左、右之间的距离(相应的,也可代表上、下局部Trigger之间的距离)
Trigger Location:(shiftx,shifty)代表Trigger模式距离左上角像素的偏移
Scale:该参数被攻击者用来缩减恶意模型的权重。比如假设第i个恶意局部模型是X,则新的局部模型Li的计算方式是这样的

Poison Ratio:用于控制加在每个训练batch上的后门样本的比率.需要注意,在clean data accuracy,attack success rate之间有个trade-off,如果比例太大了,一般模型失效了可能会影响到攻击效果。
Poison Interval:在两次投毒步骤之间的round interval。举个例子,该值等于0时,意味着所有的局部Trigger在一轮中都被嵌入了,该值等于1时,意味着全部的局部Trigger在连续的两轮中被嵌入
Data Distribution:联邦学习经常假设参与各方之间的分布式数据是非iid的。在本文中,我们通过使用不同超参数a的Dirichelet分布来生成不同的数据分布。

Experiment

Datasets and experiment setup

DBA在四类分类数据集中被评估过

Distributed backdoor attack & centralized backdoor attack

我们评估了multiple-shot attack(Attack A-M)和single-shot attack(Attack A-S)两种攻击场景
Attack A-M意味着攻击者在多轮中被选中,然后为成功的攻击积累必要的恶意更新;否则后门将会被良心的更新削弱,然后很快被全局模型遗忘。为了快速观察到中心化和分布式攻击的不同以及控制随机选中参与方的影响,我们在每一轮都进行了完整的攻击,也就是说,所有的DBA攻击者或分布式攻击者都一直被选中。良性的参与方被随机选中来组成一共10人的参与。
Attack A-S意味着攻击者只需要一次就可以成功嵌入其后门Trigger。为了实现这一点,攻击者对其恶意更新进行了缩放来保证可以压制住良性更新并确保在聚合阶段后门仍被保留。
Attack A-M研究后门成功植入的容易程度,而Attack A-S研究后门效果的消失速度。

从上图可以看到,不论是哪一种攻击常见,DBA都更加有效。
可以得到很多结论,这里简单记一下两点
在Attack A-M中,在DBA下,我们发现了一个更显著的现象:global trigger的攻击成功率比任一local trigger都要高,但是global triggerr从来没在局部训练集中出现过。
在Attack A-S中,我们发现在local trigger和global trigger下,中心化攻击的攻击成功率下降更快,这说明DBA是一种更持久的攻击

The robustness of distributed attack

RFA,FoolsGold是近期提出来的鲁棒联邦学习聚合算法,基于距离或者相似度指标。
由于A-S因为scale的原因更容易被检测,所以我们接下来会研究在Attack A-M情况下,DBA和中心化攻击面临RFA,FoolsGold的表现。

Distributed Attack Against Robust Aggregation Defense.

RFA聚合模型参数用于更新,并且通过在聚合阶段使用近似几何中心来代替带权算术均值在面对离群点时表现出了鲁棒性。

DBA更能有效躲避防御。因为DBA攻击者提交的恶意更新相较于中心化攻击者提交的距离更小,这帮助其躲过了防御。

Distributed Attack against mitigating sybils defense

FoolsGold降低了那些重复提供相同梯度更新的参与方的聚合权重,而为之那些提供不同梯度更新的参与方的权重。在面临这种防御时,DBA一样表现得更好。
尽管FoolsGold为DBA攻击者提供了更小的权重,但是总体而言,DBA的权重总和是大于中心化攻击者的。
Explanation via feature visualization and feature importance
特征重要性可以通过不同的分类攻击或者通过特定类激活图来解释visually interpreted by class specific activation map。这里我们使用Grad-CAM和Soft Decision Tree来为DBA提供解释性。
我们通过观察使用local trigger,global trigger在干净样本和后门样本上的原始的label和backdoor target label的解释性。下图是显示了针对手写数字4的Grad-CAM结果
2我们发现每个植入local trigger的图片单独而言是很弱的,因为没有一个可以改变预测结果(从图中可以看到,在Trigger被嵌入的左上角是没有attention的),但是当我们将其组成一个global trigger时,植入后门的图像就被归类为2,我们从图中可以看到左上角有attention了。
这个结果说明,大多数local trigger图像和良性图像是很相似的,这表现了DBA的隐蔽性。
接下来以针对MNIST的soft decision tree为例,我们发现在投毒后trigger区域在做出决策时在相应的soft decision tree中变得跟家significant。我们对干净模型的top node中的filter的绝对值进行排序,得到91个特征的排序(越低的排序级别越重要),然后计算其重要程度(1-rank/91)*100.在运行DBA时,选出了6个显著的和6个不显著的特征。从下图中可以看到不显著的特征在投毒后变得更加重要

Analysis of trigger factors in distributed backdoor attack

接下来我们研究Attack A-S下的DBA trigger的因素。
DBA-ASR指攻击成功率
Main-Acc指当最近一个local trigger被嵌入后,global model的准确率
DBA-ASR-t,显示出持久性,指完整的DBA攻击后t轮的攻击成功率
Main-Acc-t,指t轮后的main accuracy。
总得来说,我们希望main task accuracy有更小的降低。

Effects of Scale

1)扩大缩放因子会增加DBA-ASR,DBA-ASR-t,并且缩小他们之间的gap。
2)模型架构越复杂,随着缩放因子的增加,main accuracy下降地越明显。因为缩放破坏了复杂架构中更多的模型参数
3)更大的缩放因子会减轻DBA的中央服务器的平均影响,这会带来更有效、更持久的攻击表现,但也造成全局模型的main accuracy的下降。此外,使用大的缩放因子会导致异于其他良性更新的异常更新,这在基于参数量级的检测中是很容易被发现的。因此,在选择缩放因子时存在一个trade-off。

Effects of Trigger Location

对于图像数据集,我们将global trigger 从左上角移到中心,然后移到右下角。
1)我们观察到了一个U形曲线,这是因为通常来说图像中央包含主要对象。在这种区域做DBA很难成功而且会被更快遗忘,因为这些像素对main accuracy更加有用。
2)在a中可以看到,在attacking round和随后的round中,DBA使用低重要性的特征有更高的攻击成功率。

Effects of Trigger Gap

1)当四个local trigger位于图像的四个角上时,DBA-ASR和DBA-ASR-t在图像数据集上都是低的。这可能是因为局部卷积操作以及local trigger之间的大距离使得全局模型没有识别出global trigger
2)在a图中,DBA-ASR,DBA-ASR-t曲线在中间有个显著的降低。当右侧更低的local trigger挡住了中心区域时会发生这种情况
3)使用zero trigger gap,DBA仍然可以成功,但是我们发现后门也会更快被遗忘。所以我们建议在实施DBA时使用non-zero trigger gap

Effects of Trigger Size

1)在图像数据集中,更大的trigger size会有更高的DBA-ASR和DBA-ASR-t.然而一旦trigger size足够大,他们就稳定了,这表明over-size的trigger几乎不会有更多提升。
2)当TS=1时,DBA-ASR是比较低的,这是因为每个local trigger太小了以至于无法在global trigger中被识别出来。在同样环境下,使用4像素的global pattern的中心化攻击并不是非常成功而且其ASR在4 round内很快就下降到低于10%了,这表明在Attack A-S下,带有太小的trigger的后门攻击是无效的

Effects of poison interval

1)当所有分布式攻击者在同一round提交缩放更新时,攻击性能会下降,因为缩放的影响太大以至于大量改变了全局模型的参数,导致其在main accuracy的降低。另外,如果poison interval太大的话也是无效的,因为这会导致早期嵌入的trigger被完全遗忘。
2)A,b两幅图的顶峰表明存在一个最优的poison round interval。DBA攻击者可以等待直到全局模型收敛然后前输入下一个local trigger来最大化后门性能,这是相比于中心化攻击的一个有竞争性的优势
3)在c,d中可以看到interval从1到50都没有引起DBA-ASR,DBA-ASR-t有一个明显的变化,这表明local trigger的影响可以持续并会对global trigger的攻击性能有影响。从这方面来看,分布式攻击是更大的威胁因素。

Effects of poison ratio

如上所示,x轴是投毒样本的量,从1开始增加,DBA-ASR和DBA-AST-t首先增加然后降低。这是因为更多的投毒样本可以实现更好的后门攻击性能,但是太多的话意味着攻击者提升了低准确率的局部模型的权重,这将会导致在主任务中全局模型的失效。
所以我们在攻击时应该保持一个合理的投毒样本比例。

Effects of data distribution

使用不同的数据分布,DBA-ASR是稳定的,表明了DBA的实用性和鲁棒性

Related Work

Fedrated Learning

Backdoor attack on fedrated learning

Bagdasaryan提出了一种模型投毒的方法,该方法通过放大攻击者的更新来使用恶意局部模型替代全局模型。Etc

Robust fedrated learning

这是用于缓解特定的攻击。

Conclusion

DBA有更高的攻击成功率,更快的收敛速度,在single-shot和Multiple-shot中有更好的弹性。DBA更隐蔽,可以抵抗两种防御的检测。还对DBA的其他关键因素进行了深度分析。

《DBA: DISTRIBUTED BACKDOOR ATTACKS AGAINST FEDERATED LEARNING》阅读笔记相关推荐

  1. trainer setup_Detectron2源码阅读笔记-(一)Configamp;Trainer

    一.代码结构概览 1.核心部分 configs:储存各种网络的yaml配置文件 datasets:存放数据集的地方 detectron2:运行代码的核心组件 tools:提供了运行代码的入口以及一切可 ...

  2. VoxelNet阅读笔记

    作者:Tom Hardy Date:2020-02-11 来源:VoxelNet阅读笔记

  3. Transformers包tokenizer.encode()方法源码阅读笔记

    Transformers包tokenizer.encode()方法源码阅读笔记_天才小呵呵的博客-CSDN博客_tokenizer.encode

  4. 源码阅读笔记 BiLSTM+CRF做NER任务 流程图

    源码阅读笔记 BiLSTM+CRF做NER任务(二) 源码地址:https://github.com/ZhixiuYe/NER-pytorch 本篇正式进入源码的阅读,按照流程顺序,一一解剖. 一.流 ...

  5. Mina源码阅读笔记(一)-整体解读

    2019独角兽企业重金招聘Python工程师标准>>> 今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者 ...

  6. “CoreCLR is now Open Source”阅读笔记

    英文原文:CoreCLR is now Open Source 阅读笔记如下: CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代 ...

  7. QCon 2015 阅读笔记 - 团队建设

    QCon 2015阅读笔记 QCon 2015 阅读笔记 - 移动开发最佳实践 QCon 2015 阅读笔记 - 团队建设 中西对话:团队管理的五项理论和实战 - 谢欣.董飞(今日头条,LinkedI ...

  8. 05《软件需求模式》阅读笔记

    剩下的两个阅读笔记写第二部分.各类需求模式,共八个领域和它的需求模式,这一次写前四个. 基础需求模式,它是所有种类的系统都可能需要的一些东西.系统间接口需求模式使用系统间接口需求模式定义被定义的系统和 ...

  9. [置顶] Linux协议栈代码阅读笔记(一)

    Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int p ...

  10. 大型网站技术架构:核心原理与案例分析阅读笔记二

    大型网站技术架构:核心原理与案例分析阅读笔记二 网站架构设计时可能会存在误区,其实不必一味追随大公司的解决方案,也不必为了技术而技术,要根据本公司的实际情况,制定适合本公司发展的网站架构设计,否则会变 ...

最新文章

  1. 第二十三课.Kaggle交易预测
  2. R语言可视化包ggplot2包设置轴断点位置实战(Axis Breaks)、即自定义X轴和Y轴的数值标记位置
  3. 什么是schema?
  4. 深度学习笔记(13) Softmax分类
  5. IIS 6.0曝远程代码执行漏洞 安全狗可拦截
  6. Python 的一个脚本错误可能会废掉 150 多个项目!
  7. 在 UML 静态结构图中使用类和对象
  8. 【Silverlight】Bing Maps学习系列(二):通过Bing Maps Silverlight Control如何显示地图...
  9. 生日python十种日期格式_Python可视化-二十四节气与生日间隔天数统计
  10. 【转】D3DXLoadSkinMeshFromXof函数及.x在不同dx版本中
  11. c/c++ utf-8与gbk的互相转化
  12. 图神经网络入门:GCN论文+源码超级详细注释讲解!
  13. Python实现Eternal Night游戏(尚未完结,不断更新)
  14. 网络狂飙(netspeeder) v3.28 游戏版 怎么用
  15. 会充电的CANoe又双叒叕来了:PLC数据采集、分析、仿真
  16. 手把手教你使用Python打造一款简易搜索引擎
  17. 集合长度可变的实现原理(解析为什么集合长度可变)
  18. 微信公众平台开发之基于百度 BAE3.0 的开发环境搭建(MyEclipse + SVN)
  19. 计算机科学计算的方面,计算机的科学计算功能在工程领域中的应用.doc
  20. 【Linux】之【网络】相关的命令及解析[ethtool、nload、nethogs、iftop、iptraf、ifstat]

热门文章

  1. leetcode-136-只出现一次的数字(java|python)
  2. 尚硅谷网课笔记 P361-P370
  3. 什么是CTS、CLS、CLR
  4. office2010下载大全
  5. 易中天品汉代风云人物07:韩信功过之谜
  6. 如何在Mercurial中编辑错误的提交消息? [重复]
  7. 网页版MC服务器搭建+汉化
  8. 三、中台的收益和价值
  9. 百度推广一年多少钱,百度信息流广告投放一个月多少钱
  10. C语言 详解如何编写闪烁显示字符串的函数