How To Backdoor Federated Learning

这一篇是联邦学习的后门攻击

服务器不了解训练过程,使得后门攻击在联邦学习中产生更大的影响。

单个或多个恶意参与者可以使用模型替换将后门功能引入联合模型,例如,修改图像分类器,使其为具有某些特征的图像分配攻击者选择的标签,或者迫使单词预测器用攻击者选择的单词完成某些句子。我们评估了标准联合学习任务在不同假设下的模型替换,并表明它大大优于训练数据中毒。

背景知识积累:

(Bonawitz等人,2019)中明确承认了与多个恶意参与者一起训练的可能性。

聚合服务器也无法在不破坏参与者隐私的情况下进行观察(Melis等人,2019;Nasr等人,2019)。

联合学习采用了“安全聚合”(Bonawitz等人,2017),这可以证明可以防止任何人审计参与者的数据或更新。

联合学习既不能使用数据中毒防御,也不能使用异常检测,因为它们需要分别访问参与者的训练数据或模型更新。

拜占庭容错分布式学习对具有对抗性参与者的联合学习做出了明确错误的假设(例如,他们假设参与者的训练数据是i.i.d.、未修改和均匀分布的)。

已知的抵御方式:
异常检测器(Fung等人,2018;Shayan等人,2018年;Shen等人,2016)
参与者级别的差异隐私(Geyer等人,2018;McMahan等人,2018)

首先什么是后门攻击?

后门攻击是一种新兴的针对深度学习模型的攻击方式,攻击者旨在模型的训练过程中通过某种方式对模型植入后门。当后门未被激发时,被攻击的模型具有和正常模型类似的表现;而当模型中埋藏的后门被攻击者激活时,模型的输出变为攻击者预先指定的标签,以达到恶意的攻击目的。后门攻击可以发生在训练过程并非完全受控的很多场景中,包括但不限于使用第三方数据集、使用第三方平台进行训练、直接调用第三方模型等,因此对模型的安全性造成了巨大威胁。

在第一篇综述中,我就有对这类攻击方案进行了解,当时使用的例子是在数据集上贴trigger,这类数据在表现上似乎与正常训练无异,但实际上偏移了特征导致了预测的失败。这次经过进一步了解,对后门攻击的方式有了全新的体悟。

作者认为,联合学习通常容易受到模型中毒的影响,这是本文中引入的一类新的中毒攻击。
我们证明,联合学习中的任何参与者都可以用另一个联合模型代替联合模型,从而(i)新模型在联合学习任务上同样准确,但(ii)攻击者控制模型在攻击者选择的后门子任务上的执行方式。例如,后门图像分类模型将具有某些特征的图像错误地分类到攻击者选择的类别;后门单词预测模型预测攻击者为某些句子选择的单词。

avatar

上图是这篇论文作者提出的攻击方案,攻击者危害一个或多个参与者,使用约束和缩放技术对后门数据进行训练,并提交最终模型,该模型将联合模型替换为联合平均的结果。作者的关键见解是,联合学习的参与者可以(1)直接影响联合模型的权重,以及(2)以任何有利于攻击的方式进行训练,例如,在训练过程中任意修改其局部模型的权重和/或将潜在防御的规避纳入其损失函数。

展示了模型替换在联邦学习文献中的两个具体学习任务上的威力:CIFAR-10上的图像分类和Reddit语料库上的单词预测。即使是在单轮训练中选择单个攻击者的单次攻击,也会导致联合模型在后门任务上实现100%的准确性。控制不到1%参与者的攻击者可以阻止联合模型忘记后门,而不会降低其在主任务上的准确性。模型替换大大优于“传统”数据中毒:在一个有80000名参与者的单词预测任务中,仅牺牲8个就足以实现50%的后门准确率,而数据中毒攻击需要400名恶意参与者。

作者利用Krum采样(Blanchard等人,2017),使攻击更加有效。参与者级别的差异隐私(Geyer等人,2018;McMahan等人,2018)部分缓解了攻击,但代价是降低了联合模型在主要任务上的准确性。即使异常检测以某种方式被纳入安全聚合,模型替换也将保持有效。
即使异常检测以某种方式被纳入安全聚合,模型替换也将保持有效。我们开发了一种通用的约束和缩放技术,将异常检测的规避纳入攻击者的损失函数。由此产生的模型甚至避开了相对复杂的检测器,例如,那些测量提交的模型和联合模型之间的余弦相似性的检测器。我们还开发了一种更简单但有效的训练和缩放技术,以避开异常检测器,这些检测器会查看模型的权重或其在主要任务中的准确性(Fung等人,2018;Shayan等人,2018年;Shen等人,2016)

传统方案:

训练时间攻击

“传统的”中毒攻击会破坏训练数据,从而在测试时改变模型的行为(Huang等人,2011;Steinhardt等人,2017)。先前的后门攻击仅通过数据中毒(Gu等人,2017;Liu等人,2017)或通过将后门组件直接插入静态模型(Ji等人,2018),在特定攻击者选择的输入上改变模型的行为。我们表明,这些攻击对联合学习无效,因为在联合学习中,攻击者的模型与数百或数千个良性模型聚合在一起。

针对中毒的防御措施从训练数据中去除异常值(Qiao和Valiant,2018;Steinhardt等人,2017),或者在分布式环境中,从参与者的模型中删除异常值(Fung等人,2018),或者要求参与者提交数据进行集中训练(Hayes和Ohrimenko,2018)。针对后门的防御使用了精细修剪(Liu等人,2018)、过滤(Turner等人,2018。

所有上述防御都要求防御者检查训练数据或由此产生的模型(这些模型泄露了训练数据(Melis等人,2019;Nasr等人,2019年;Shokri等人,2017))。没有一个可以应用于联合学习,因为联合学习必须对参与者的数据和模型保密。NeuralCleanse(Wang et al,2019)仅适用于类别数量有限的图像分类器中的像素模式后门;我们展示了在具有数千个标签的文本域中工作的语义后门。类似地,STRIP(Gao等人,2019)和DeepInspect(Chen等人,2019a)仅针对像素图案后门。此外,DeepInspect试图反转模型来提取训练数据,从而违反了联邦学习的隐私要求。

此外,即使在设计这些防御的环境中,也没有一种防御是有效的,因为有防御意识的攻击者可以躲避它们(Baruch等人,2019;Tan和Shokri,2019)。

测试时间攻击

对抗性例子(Goodfellow等人,2015)是故意制作的,目的是被模型错误分类。相比之下,我们引入了语义后门,导致模型甚至对未修改的输入进行错误分类

安全的ML

安全的多方计算可以帮助保护训练数据的隐私(Mohasel和Zhang,2017),但它不能保护模型的完整性。在加密的垂直分区数据上训练秘密模型等解决方案(Hardy等人,2017)不适用于联合学习。模型更新的安全聚合(Bonawitz等人,2017)对隐私至关重要,因为模型更新会泄露参与者训练数据的敏感信息(Melis等人,2019)。安全聚合使我们的攻击更容易,因为它可以防止中央服务器检测到异常更新并将其跟踪到特定的参与者。

参与者级别的差异隐私

差异私有联合学习(Geyer等人,2018;McMahan等人,2018)限制了每个参与者对联合模型的影响。在附录B.2中,我们表明,这仅通过按比例降低模型的准确性来缓解攻击。

拜占庭式容错分布式学习

最近提出的替代聚集机制(Blanchard等人,2017;Damaskinos等人,2019)确保了拜占庭参与者在场时的收敛性(但不是完整性)。他们的关键假设——参与者的训练数据是i.i.d.,甚至是未经修改和均匀分布的——对于联合学习来说显然是错误的。一些聚合机制甚至使我们的攻击更强,而另一些聚合机制,如坐标或几何中值,大大降低了复杂模型对非i.i.d.数据的准确性,并且不能保护训练数据的机密性(见附录B.3)。

威胁模型

联合学习使攻击者能够完全控制一个或多个参与者,例如学习软件被恶意软件破坏的智能手机。

(1) 攻击者控制任何被攻破的参与者的本地训练数据;(2) 它控制本地训练过程和超参数,例如轮次和学习率;(3) 它可以在提交结果模型进行聚合之前修改其权重(4)它可以自适应地在每一轮改变本地训练。

(1) The attacker controls the local training data of
any compromised participant; (2) it controls the local
training procedure and the hyperparameters such as the
number of epochs and learning rate; (3) it can modify
the weights of the resulting model before submitting it
for aggregation; and, (4) it can adaptively change its
local training from round to round.

攻击者不控制用于将参与者的更新组合到联合模型中的聚合算法,也不控制良性参与者训练的任何方面。我们假设他们通过将联合学习规定的训练算法正确应用于本地数据来创建本地模型。

此设置与传统的中毒攻击(见第2节)之间的主要区别在于,后者假设攻击者控制了很大一部分训练数据。相比之下,在联合学习中,攻击者控制整个训练过程,但只控制一个或几个参与者。

攻击目标

我们的攻击者希望联合学习生成一个联合模型,该模型在其主要任务和攻击者选择的后门子任务上都能实现高精度,并在攻击后的多轮中保持后门子任务的高精度。相比之下,传统的数据中毒旨在改变模型在大部分输入空间上的性能(Steinhardt等人,2017),而拜占庭攻击旨在防止收敛(Blanchard等人,2017;El Mhamdi等人,2018)。

安全漏洞是危险的,即使它不能每次都被利用,并且在被利用一段时间后被修补。同样,如果模型替换攻击有时引入后门(即使有时失败),那么它是成功的,只要模型至少在一轮中表现出高的后门准确性。在实践中,攻击的表现要好得多,后门会停留很多回合。

我们提出了一种新型的后门,即语义后门,与像素后门不同,它使模型在未修改的数字输入上产生攻击者选择的输出。例如,后门图像分类模型将攻击者选择的标签分配给具有某些特征的所有图像,例如,所有紫色汽车或所有带有赛车条纹的汽车都被错误地分类为鸟(或攻击者选择的任何其他标签)。后门单词预测模型建议攻击者选择一个单词来完成某些句子。

攻击模型

天然的方法。攻击者可以简单地在后门输入上训练其模型。根据Gu等人(2017),每个训练批次都应该包括正确标记的输入和后门输入的组合,以帮助模型学习识别差异。攻击者还可以改变局部学习率和局部历元的数量,以最大限度地增加对后门数据的过拟合。

即使是这种攻击也会立即破坏具有同步SGD的分布式学习(Shokri和Shmatikov,2015),同步SGD将参与者的更新直接应用于联合模型,从而引入后门。Damaskinos等人(2018)最近的一项辩护要求损失函数为Lipschitz,因此一般不适用于大型神经网络(见附录B.3)。

这种幼稚的方法并不适用于联合学习。聚合抵消了后门模型的大部分贡献,联合模型很快就会忘记后门。攻击者需要经常被选中,即使这样中毒也非常缓慢。在我们的实验中,我们使用天真的方法作为基线。

模型更换。在这种方法中,攻击者雄心勃勃地试图用等式1中的恶意模型X替换新的全局模型Gt+1。由于非i.i.d.训练数据,每个局部模型可能离Gt很远。随着全局模型的收敛,这些偏差开始抵消。因此,攻击者可以解决需要提交eLt+1m的模型。

估计全局参数,不知道用户数量和学习率的攻击者可以通过每轮迭代增加缩放因子$γ$来近似缩放因子,一旦选择,并在后门任务上测量模型的准确性。按缩放因子$γ=\frac{n}{η}$缩放并不能完全取代全局模型,但该攻击仍能实现良好的后门准确性(见附录a.3)。

模型替换。确保攻击者的贡献在平均值下幸存下来,并转移到全局模型。这是一次单次攻击:全局模型在中毒后立即对后门任务表现出高精度。

avatar

这个算法,首先需要$G^{t},\alpha ,\mathcal{L}{class} \mathcal{L}{ano}$来构造攻击者的模型$X$和损失函数$l$,使用后门数据对x进行训练直到精度达到要求。在某一轮次代替$L^{t+1}{t}$上传。使用的更新函数从:
$$G^{t+1}=G^{t}+\frac{η}{n}\sum^{m}
{i=1}(L^{t+1}{i}-G^{t})$$
变为:
$$G^{t+1}=G^{t}+γ\cdot \sum^{m}
{i=1}(X-G^{t})$$

进一步工作

因为攻击者可能只被选择进行一轮训练,所以他希望在模型被替换后,后门在模型中保留尽可能多的轮。当良性参与者更新模型时,防止后门被遗忘类似于多任务学习中的灾难性遗忘问题(Kirkpatrick等人,2017)。

实际上,我们的攻击涉及两个任务学习,其中全局模型在正常训练期间学习主要任务,而仅在选择攻击者的轮次期间学习后门任务。攻击者的目标是为这两项任务保持高精度。

从经验上讲,EWC损失(Kirkpatrick et al,2017)并没有改善我们的结果,但我们使用了其他技术,如在攻击者训练期间减慢学习率lradv,以提高联合模型中后门的持久性。

联合学习使用安全聚合(Bonawitz等人,2017)来可证明地防止聚合器检查参与者提交的模型。

因此,无法检测聚合是否包含恶意模型,也无法检测是谁提交了此模型。

如果没有安全聚合,隐私就会丢失,但聚合器可能会试图过滤掉“异常”贡献。由于使用等式3创建的模型的权重被显著放大,因此这样的模型似乎很容易被检测和过滤掉。然而,联合学习的主要动机是利用参与者的多样性,获得非i.i.d.训练数据,包括不寻常或低质量的本地数据,如智能手机照片或短信历史(McMahan等人,2017)。因此,在设计上,聚合器甚至应该接受精度较低且与当前全局模型显著不同的局部模型。在附录C.1中,我们具体展示了良性参与者模型的广泛分布如何使攻击者能够创建不会出现异常的后门模型。

约束和缩放。我们现在描述了一种通用方法,该方法使对手能够生成一个在主任务和后门任务上都具有高精度的模型,但不会被聚合器的异常检测器拒绝。直观地说,我们通过使用目标函数将异常检测的规避纳入训练,该目标函数(1)奖励模型的准确性,(2)惩罚模型偏离聚合器认为的“正常”。根据Kerckhoffs的原理,我们假设攻击者知道异常检测算法。

算法1是我们的约束和缩放方法。我们通过添加异常检测项Lano来修改目标(损失)函数:
$$ \mathcal{L}{model}-=\alpha \cdot \mathcal{L}{class} + (1-\alpha) \mathcal{L}_{ano}$$

因为攻击者的训练数据包括良性和后门输入,所以Lclass捕获了主任务和后门任务的准确性。Lano考虑了任何类型的异常检测,例如权重矩阵之间的p范数距离。此外,最近的后门攻击(Tan和Shokri,2019)表明↵通过使用防御感知Lano来逃避防御的有效性,如神经净化(Wang等人,2019)和激活聚类(Chen等人,2018)。

超参数$\alpha$控制规避异常检测的重要性。在附录C.2中,我们评估了针对各种异常检测器和不同值的$\alpha$.

训练和规模。只考虑模型权重大小的异常检测器(Shen等人,2016)可以使用更简单的技术来规避。攻击者训练后门模型,直到它收敛,然后将模型权重增加一个,直到异常检测器允许的边界S(我们在附录C.1中讨论了S的估计):

$$\gamma = \frac{S}{\parallel X-G^{t} \parallel _{2}}$$

dark
sans