文章目录
这篇论文是一篇测量文,基本结论也没有出乎意料,如果对FL比较了解,建议直接看论文结论部分。虽然这是一篇以测量为主的文章,但是,将其当作一篇综述来看也是非常好的选择。
背景及简介
FL是近年谷歌以一种新的名称(Federated Learning)提出的一种新的学习范式。FL的提出是为了解决机器学习过程中的隐私保护问题。在FL的模式下,用户可以在不直接分享自己数据的情况下来共同训练一个机器学习模型。一般情况下,FL的模式为单中心节点+多训练客户端的形式。客户端利用本地的数据进行训练,训练完成后,将模型的更新发送给中心参数服务器。参数服务器定期将所有用户的更新通过聚合规则(AGgregation Rule, AGR)进行模型的聚合。在下一轮训练开始时,客户端从服务器获取最新版本的模型,进行训练。
FL的应用场景一般是针对大量的客户端进行的,也就是用户量非常大的场景。比如在输入法应用的场景下,大量用户可以共同训练一个下一个单词预测的模型,来优化输入法的用户体验。在此种场景下,一旦有一些恶意用户使用恶意的更新数据对全局模型进行污染,那么最终的模型性能可能会受到很大影响。
现有很多研究工作都针对联邦学习(Federated Learning, FL)中的污染攻击(Poisoning attacks)进行了研究,它们发现FL面对污染攻击是缺乏足够的鲁棒性。但是,此类攻击对实际的FL应用影响到底如何缺乏足够的研究。一些攻击中使用的假设与实际情况脱节,比如:有25%的用户都是攻击者(compromised)。这篇论文从三个不同的角度对FL中各种污染攻击进行了测量:不同的威胁模型、不同的污染攻击类型、不同的攻击者能力。此外,文章将重点放在了与实际应用情况比较近似的无差别(untargeted attacks)攻击上。
污染攻击的攻与防
本文提到了以下几类污染攻击:
- 特定类:此类攻击针对特定类别的样本或者特定样本进行
- 后门类:此类攻击针对有特定属性数据的样本
- 无差别类:此类攻击只希望降低模型的性能
本文的重点放在与FL在实际应用中最相关的无差别污染攻击上。
污染攻击以两种方式进行:
- 模型污染:客户端直接篡改上传给参数服务器的模型更新数据
- 数据污染:客户端攻击篡改数据,使用篡改之后的数据进行模型的训练
针对这两种方式的污染攻击,文中对当前的威胁模型、攻击方法、防御方式等进行了总结。
威胁模型
论文从三个维度对威胁模型进行了分类。
攻击目标
攻击者的攻击目标可以从以下三个角度来考察:
- 安全相关性:攻击者的目的是否与安全相关,此类攻击有两种方式:a. 篡改待检测样本以避免检测;b. 通过让服务性能下降来让合法用户无法使用
- 攻击特定性:攻击目标是否是针对特定类别、特定样本集合
- 错误特定性:在多分类任务中,攻击目标是否是让某个样本被判定为特定的其它类别的样本
攻击者的信息
攻击者所能获取的信息可以从模型和数据两个角度来看。
- 模型:根据攻击者是否可以获取模型的完整信息,我们可以将攻击分为白盒和无盒两类
- 数据:根据攻击者是否可以获取所有参与训练的客户端的数据,我们可以将攻击分为全部和部分两类。这里部分是指攻击者仅能获取已被攻陷的客户端的数据,而其它客户端的数据无法被获取
攻击者的能力
攻击者能力可以从对服务的控制能力和攻击频率两方面考虑。
- 服务控制:
- 模型污染:攻击者可以直接修改用户训练的模型/梯度
- 数据污染:用户仅能通过篡改数据的方式来影响模型的训练
- 攻击频率:
- 在线型:攻击者可以在FL训练过程中不断地修改数据
- 离线型:攻击者仅能在攻击开始的时候修改数据,此后的交互过程中无法再修改数据
现实设定
实际的(Production FL)FL可以分为跨设备和跨数据仓库两大类。在跨设备的FL中,设备数量一般都非常多(几千到上亿),每一轮的训练,中心服务器会挑选出一定数量的客户端来参与训练。在跨数据仓库的FL中,训练节点一般以数据中心的形式存在,而且节点数量不会太多(比如100)。在这两大类中,训练所用的模型和实际所部属的模型都不会是同一个模型,所以攻击者无法通过请求线上所部署的模型来恢复整个模型。获取模型的唯一方式是攻陷参与训练的设备。在本文中,研究者合理假定:攻击者无法一下同时控制大量的设备。
根据上文对攻击模型的分析,文章从攻击方式(数据污染/模型污染)、所知信息(白盒/无盒)和攻击模式(在线/离线)三方面对攻击模型进行了分类($T1 \sim T8$)。
模型/数据 | 白盒/无盒 | 在线/离线 | |
---|---|---|---|
T1 | 模型污染 | 无盒 | 离线 |
T2 | 模型污染 | 无盒 | 在线 |
T3 | 模型污染 | 白盒 | 离线 |
T4 | 模型污染 | 白盒 | 在线 |
T5 | 数据污染 | 无盒 | 离线 |
T6 | 数据污染 | 无盒 | 在线 |
T7 | 数据污染 | 白盒 | 离线 |
T8 | 数据污染 | 白盒 | 在线 |
其中,作者认为仅有$T4$和$T5$在产品级的FL中是现实的。对于T1/2,默认模型污染是要知道模型数据的,这两个显然无效。对于白盒攻击来说,攻击者可以进行强有力的在线模型攻击,所以T3/7/8不合理。对于无盒类型的攻击来说,攻击者无法事实获取模型信息,显然也就无法实时对数据进行相应修改,所以T6也是无效的。
文章中还对现有一些FL中使用的一些参数与实际合理的参数进行了对比(从FL和攻击类型、客户端数量、每一轮选取的客户端数量、攻击者占比、良性客户端拥有的数据量以及本地被污染数据的最大量六个角度),对比表格如下。
参数/设置 | 实际可行值 | 之前文章中所用 |
---|---|---|
FL类型+攻击类型 | 跨数据仓库 + DPAs 跨设备+「MPAs/DPAs」 | 跨数据仓库+MPAs |
FL客户端数量 | 跨设备:$[10^3, 10^{10}]$ 跨数据仓库:$[2, 100]$ | $[50, 100]$ |
每一轮选取的客户端数量 | 跨设备:少量比例 跨数据仓库:所有 | 所有 |
被攻陷客户端占比 M | DPAs:$M \le 0.1\%$ MPAs:$M\le 0.01\%$ | $[20, 50]\%$ |
良性客户端数据量 平均大小$\vert D \vert_{avg}$ | 跨设备:$[50, 1000]$ 跨数据仓库:不适用 | 跨设备:无研究 跨数据仓库$[50, 1000]$ |
攻击客户端数据量大小 | DPAs: 最高$100\times\vert D\vert_{avg}$ MPAs: 不适用 | $\sim \vert D \vert_{avg}$ |
攻击算法
现有的污染攻击
数据污染攻击(Data Poisoning Attacks, DPA)
DPA 在一般的中心化的机器学习中研究的比较多,其中对常见的攻击方式就是标签反转攻击。也就是将样本正确的标签篡改为其它非正确的标签后进行模型的训练。
模型污染攻击(Model Poisoning Attacks, MPA)
模型污染攻击比较多,这里列出几个供参考:
- Little Is Enough (LIT):攻击者计算出良性客户端梯度的均值$\mu$与方差$\sigma$,然后计算出一个特定的攻击系数$z$,最后将梯度更新$\Delta = \mu + z \sigma$发送给参数服务器
- Static Optimization (STAT-OPT):攻击者同样计算出客户端梯度的均值$\mu$,与LIT不同的是,此处攻击者仅需取梯度的符号$S_u = sign(\mu)$,发送给服务器的数据为:$-\gamma \cdot S_u$,其中$\gamma$为可调节参数(规避特定AGR)
- Dynamic Optimization (DYN-OPT):攻击者同样计算出客户端梯度的均值$\mu$,而后攻击者使用一组特定训练数据相关的更新参数$\omega$来对均值$\mu$进行污染,最终发送给服务器的参数为:$\mu + \gamma \cdot \omega$,其中$\gamma$为可规避过滤规则的最大可行值
本文提出的攻击
文中对DPA和MPA分别提出了攻击算法,基本思想就是在保证攻击数据不被过滤的情况下最大化攻击数据与正常数据间的差异,感兴趣可查看原论文。
防御算法
对于防御而言,参数服务器会对客户端上传的数据进行过滤,我们称过滤规则为聚合规则(Aggeratation Rule)。现有的聚合规则主要分为以下几类。
- 点级过滤:对模型中单点数据进行过滤,常用的方法有:中位数法、投票法、(截断)均值法等等
- 向量级过滤:此类方法会将恶意用户的数据当作一个整体来过滤,常用的方法包括:RFA/RSA/Krum/Multi-krum/Bulyan/DnC 等等
- 向量级缩放:对用户上传数据整体进行缩放,防止用户上传的梯度值过大,以降低攻击的影响
- 验证防御:使用少量的测试集来测试用户上传模型的精度,如果精度不够则抛弃
- 知识迁移:此类防御方法为了提高模型的鲁棒性,降低了用户更新所需提交的数据的维度。从理论上来说,用户上传数据维度越大,对模型的影响也越大。在此类方法中,用户不再上传他们模型的更新,而是使用知识迁移的方法,仅上传客户端模型对特定公共数据集的预测
- 个性化:此类方法在可能被破坏的公共模型的基础上,使用用户本地数据对全局模型进行微调,以达到提高模型在用户本地的性能
下表给出了这些方法的一个性能表现的统计,其中加黑的几个算法是本文中测试的几个具有代表性的算法,红色背景的表示此AGR算法不太行。
实验测量
文中使用了三个数据集:FEMNIST/CiFAR10/Purchase,具体训练参数参考论文附录C。
无防御情况下攻击影响
攻击影响定义为模型在不受攻击与受攻击情况下准确率的差异。
从图表中可以看出在$0.1\%$的攻击者的情况下DPA类型的攻击对模型的影响还是比较小的。但是攻击性能较强的MPA攻击对模型的影响还是较大的。
常见鲁棒AGR性能对比测量(跨设备场景)
文中测量了三种AGR:范数边界法、Multi-krum 和 Trimmed-mean 在三个数据集下的表现。三个数据集的差异不是特别大,这里我们就看一下三种算法在Purchase数据集上的表现。
可以看出,这三种AGR算法在沦陷客户端数量不到$1\%$的情况下,最终的模型的性能表现都还不错。
对此轮实验结果,文中提到几个要点:
- 在实际的跨设备FL场景下(攻击占比$\lt 0.1\%$,每次训练选取客户端数量远小于客户端总量),一般的鲁棒性AGR对污染攻击的防御性都很不错
- 即使是简单的、低消耗的范数边界(Norm-bounding)AGR算法,都已经足够防御污染攻击(那么我们何须更加复杂的AGRs?)
- AGRs在实际应用的FL场景下的表现有待经验验证(不能仅依赖于理论分析)
不同攻击参数的影响(跨设备场景)
- 攻击者本地数据集大小的影响:通过简单的限制每个客户端每次训练用数据数量,可以在实际FL应用场景下,简单有效的防御DPA攻击
- 良性FL客户端数据集大小的影响:跨设备FL在使用鲁棒性AGRs算法时,只要良性客户端的每次训练用数据集大小在合理范围内($50 \sim 1000$),那么无差别污染攻击的影响会非常小
- 每轮选取的训练客户端数量:无明显差别(例外:MPAs攻击对朴素的聚合方式有影响)
- 无法获取模型结构对攻击的影响:在数据污染攻击模式下,如果攻击者不知道模型的结构,那么就无法计算得到攻击力最强的攻击标签,那么会对攻击效果产生一定的影响
跨数据仓库FL
在实际应用中,研究者认为模型污染攻击是不可行的。以银行为例,模型污染攻击意味着攻击者需要入侵银行系统,并且可以保持一致控制相关服务器,这显然是不现实的。因此在跨数据仓库的场景下,研究者仅考虑数据污染攻击。
在数据污染攻击模式下,由于攻击者的数据仅仅占极少一部分,因此,DPA对FL几乎无影响(在朴素的均值AGR方式也几乎无影响)。
论文结论
我们使用$D$表示数据攻击中攻击用户的比例,$M$表示模型攻击中攻击用户的比例。
- 在实际应用中,即使直接使用最朴素的聚合方法(取平均),模型都会以高概率收敛,并且精度损失不大
- $D=0.1\%$:FEMNIST 数据集准确率(Accuracy)从$83.4\%$降低到$81.4\%$;CIFAR10数据集准确率从$86.6\%$降低到$85.1\%$;Purchases 数据集准确率从$85.4\%$降低到$85.3\%$
- $M=0.01\%$:FEMNIST 数据集准确率从$83.4\%$降低到$73.4\%$;CIFAR10数据集准确率从$86.6\%$降低到$82.9\%$;Purchases 数据集准确率从$85.4\%$降低到$76.4\%$
- 即使使用一个非常高的攻击占比($D/M \gt 1\%$),使用现有的鲁棒的FL聚合规则,污染攻击对FL也基本无影响(准确率降低$\lt 1\%$)
- 对于数据污染攻击,只需限制每个客户端的每次训练的数据数量即可,无需使用鲁棒的FL聚合规则来防御
- 最近某篇论文中提出的,在理论上鲁棒的AGRs(引入大量的计算)和最简单的、高效的防御性AGR在面对当前最牛的污染攻击时,可以达到的防御效果一致
引用
[1] Shejwalkar, Virat, et al. "Back to the Drawing Board: A Critical Evaluation of Poisoning Attacks on Production Federated Learning."arXiv preprint arXiv:2108.10241(2021).
更多推荐