A.隐私保护
FL的主要目标之一是保护参与者的隐私,参与者只需要共享训练模型的参数,而不需要共享他们的实际数据。然而,最近的一些研究表明,恶意的参与者仍然可以根据他们共享的模型从其他参与者那里推断出敏感信息,例如性别、职业和位置。例如,在[137]中,当在FaceScrub[138]数据集上训练一个二元性别分类器时,作者表明,他们可以通过检查共享模型来推断某个参与者的输入是否包含在数据集中,其准确率高达90%。因此,在本节中,我们将讨论与FL中共享模型相关的隐私问题,并回顾为保护参与者隐私而提出的解决方案。
- 机器学习中的信息利用攻击——简要概述:最早的研究工作之一显示了从训练过的模型中提取信息的可能性[139]。在本文中,作者表明在训练阶段,训练样本中隐含的相关性被收集到训练模型中。因此,如果发布了经过训练的模型,可能会导致意外的信息泄露给攻击者。例如,对手可以从其训练有素的语音识别系统中推断出用户的种族或性别。在[140]中,作者开发了一种模型反演算法,该算法对于从基于决策树或人脸识别训练模型中获取信息非常有效。该方法的思想是将目标特征向量与每个可能的值进行比较,然后得出一个加权概率估计,即正确的值。实验结果表明,利用该技术,敌手可以从受害者的标签中重建出一幅非常准确的人脸图像。
最近,[141]的作者表明,对手甚至可以通过对预测模型的查询来推断受害者的信息。特别是当恶意的参与者可以访问一个训练好的模型进行预测查询时,就会发生这种情况。然后,恶意参与者可以使用预测查询从数据所有者中提取训练好的模型。更重要的是,作者指出,这种攻击可以成功地从广泛的训练模型中提取模型信息,如决策树、逻辑回归、支持向量机,甚至包括DNNs在内的复杂训练模型。最近的一些研究工作也证明了基于dnn的训练模型对模型提取攻击的脆弱性[142]-[144]。因此,这为共享FL中的训练模型的参与者带来了严重的隐私问题。 - FL参与者差异化隐私保护解决方案:
为了保护DNNs训练参数的隐私,[20]的作者引入了差分私有随机梯度下降技术(differentially private stochastic gradient descent),该技术可以有效地应用于DL算法。
该技术的关键思想是,在向服务器发送参数之前,通过使用一种差分的隐私保护随机机制[145],例如高斯机制,在训练参数中加入一些“噪声”。特别地,在一个正常的FL参与者的梯度平均步骤中,一个高斯分布被用来近似差分私有随机梯度下降。然后,在训练阶段,参与者不断计算恶意参与者利用其共享参数的信息的概率。一旦达到预定义的阈值,参与者将停止其培训过程。通过这种方式,参与者可以减少从其共享参数中暴露私人信息的风险。
受到这个想法的启发,[146]中的作者开发了一种方法,可以为参与者提供更好的隐私保护解决方案。在这种方法中,作者提出了在向服务器发送经过训练的参数之前处理数据的两个主要步骤。特别是,对于每一轮学习,聚合服务器首先随机选择一些参与者来训练全局模型。然后,如果在一轮学习中选择一个参与者来训练全局模型,参与者将采用[20]中提出的方法,即,在向服务器发送训练参数之前,使用高斯分布向训练模型添加噪声。这样,恶意的参与者就无法通过共享全局模型的参数来推断其他参与者的信息,因为在每一轮的学习中,它都没有关于谁参加了培训过程的信息。 - 协同培训解决方案:
虽然DP方案可以保护诚实参与者的隐私信息不受FL中其他恶意参与者的侵害,但它们只有在服务器可信任的情况下才能很好地发挥作用。如果服务器是恶意的,则会对网络中的所有参与者造成更严重的隐私威胁。
因此,[147]中的作者引入了一个协作DL框架来呈现多个参与者来学习全局模型,而无需将它们的显式训练模型上传到服务器。此技术的关键思想是,与其将整个训练后的参数集上传到服务器并将整个全局参数更新到其本地模型,不如每个参与者明智地选择要上传的梯度数量和全局模型中的参数数量 如图12所示进行更新。这样,恶意的参与者就不能从共享的模型中推断出明确的信息。
选择性参数共享模型
本文的一个有趣的结果是,即使参与者不共享所有训练参数,也不更新共享模型中的所有参数,所提出的解决方案的精度仍然接近服务器拥有所有数据集来训练全局模型的情况。例如,对于MNIST数据集[148],当参与者同意共享其10%和1%的参数时,预测模型的准确性分别为99.14%和98.71%,而对于集中式解决方案,当服务器有完整的数据需要训练时,预测模型的准确性为99.17%。然而,这种方法还需要在更复杂的分类任务上进行测试。
GANs是一类利用生成网络和鉴别网络这两种神经网络相互竞争来训练数据的ML技术。生成器网络试图通过向真实数据添加一些“噪声”来生成虚假数据。然后,生成的假数据被传递到鉴别器网络进行分类。在训练过程之后,GANs可以生成与训练数据集相同的统计数据。
受到这个想法的启发,[149]中的作者开发了一种强大的攻击,它允许恶意的参与者从受害者的参与者那里推断出敏感信息,即使只有受害者的一部分共享参数,如图13所示。
为了应对GAN攻击,[151]中的作者介绍了一种基于极端boosting算法的秘密共享方案。这种方法在每轮将新训练的模型以明文形式发送到服务器之前,执行一个轻量级的秘密共享协议。因此,网络中的其他参与者无法从共享模型中推断信息。但是,这种方法的局限性在于依赖可信的第三方来生成签名密钥对。
与前面提到的所有工作不同,[152]中的作者引入了一种协作训练模型,在该模型中,所有参与者协作训练一个联合的GANs模型。该方法的核心思想是联邦GANs模型可以生成代替参与者真实数据的人工数据,从而为诚实的参与者保护真实数据的隐私。
特别是,为了保证参与者的数据隐私,同时又能在训练任务中保持灵活性,这种方法产生了一个联邦生成模型。该模型可以输出不属于任何特定真实用户的人工数据,而是来自于共同的跨用户数据分布。因此,这种方法可以显著降低恶意利用真实数据信息的可能性。但是,这种方法继承了GANs现有的局限性,例如生成的假数据导致训练不稳定,这会极大地降低协作学习模型的性能。
- 加密解决方案:
在fl中,当参与者想要共享训练过的参数时,加密是保护其数据隐私的有效方法。在[153]中,引入同态加密技术来保护参与者共享参数的隐私,使其免受诚实但好奇(honest-but-curious)的服务器的攻击。一个诚实但好奇的服务器被定义为一个用户,他想要从参与者的共享参数中提取信息,但是保持FL中的所有操作处于适当的工作状态。此解决方案的思想是,在将参与者的训练参数发送到服务器之前,将使用同态加密技术对其进行加密。该方法能有效地保护敏感信息不被好奇的服务器访问,并达到与集中式DL算法相同的精度。
文献[79]也提出了类似的概念,使用秘密共享机制来保护FL参与者的信息。虽然在[153]和[79]中提出的加密技术可以防止好奇的服务器提取信息,但它们需要多轮通信,并且不能防止服务器和参与者之间的串通。
因此,文献[154]中的作者提出了一种混合的解决方案,它将加法同态加密和fl中的dp相结合,特别是在训练参数发送到服务器之前,将使用加法同态加密机制和有意噪声对原始参数进行加密,干扰原始参数。因此,该混合方案既能防止好奇的服务器利用信息,又能解决服务器与恶意参与者的勾结问题。
然而,在这篇文章中,作者并没有将所提出的方法的准确性与没有同态加密+dp的情况进行比较。因此,提出的方法的性能,即,在模型精度方面,还不清楚
B .安全问题
在FL中,参与者对模型进行本地训练,并与其他参与者共享训练参数,以提高预测的准确性。然而,这个过程容易受到各种攻击,例如数据和模型中毒,在这种情况下,恶意的参与者可以发送错误的参数或损坏的模型来伪造全局聚合期间的学习过程。因此,全球模型将更新不正确,整个学习系统会被破坏。本节讨论更多关于FL中出现的攻击的细节,以及处理这些攻击的一些最新对策。
- 数据中毒攻击:
在FL中,参与者训练它的数据并将训练好的模型发送到服务器进行进一步的处理。在这种情况下,服务器很难检查参与者的真实训练数据。因此,恶意的参与者可以通过创建脏标签数据来破坏全局模型,从而训练全局模型以生成伪造的参数。例如,一个恶意的参与者可以在一个设计好的标签下,例如一个服装分支,生成大量的样本,例如照片,并利用这些样本训练全局模型,以实现其业务目标,例如,预测模型显示目标服装分支的结果。当恶意参与者向训练数据集注入相对较少的脏标签样本(约50个)时,脏标签数据中毒攻击被证明在DL流程中实现了高达90%的错误分类[155]。这就需要紧急解决方案来处理FL的数据中毒攻击。
在[156]中,作者调查了基于sybil的数据中毒攻击对FL系统的影响。特别是对于sybil攻击,恶意参与者试图通过创建多个恶意参与者来提高数据中毒在训练全局模型中的有效性。
表V:具有MNIST数据集的FL系统中无攻击场景和使用1和2 sybils进行攻击的准确性和攻击成功率[148]。
在表V中,作者表明,在只有两个恶意参与者的情况下,攻击成功率可以达到96.2%,而现在FL模型无法正确地对“1”图像进行分类(相反,它总是错误地预测“7”图像)。
为了减少sybil 的攻击,作者提出了一种防御策略,即傻瓜策略(FoolsGold)。该方法的关键思想是,诚实的参与者可以根据其更新的梯度将其与sybil参与者区分开来。具体来说,在非iid的FL环境中,每个参与者的训练数据都有自己的特殊性,sybil参与者提供比其他诚实参与者更相似的梯度。使用FoolsGold,该系统可以保护SybIL数据中毒攻击,对传统的FL过程进行最小的改变,并且不需要任何外部信息来辅助学习过程。通过对3个不同的数据集(MNIST [148], KDDCup [157], Amazon Reviews[157])的模拟结果,FoolsGold可以在不同的条件下减轻攻击,包括不同的参与者数据分布、不同的中毒目标和不同的攻击策略。
-
模型中毒攻击:
与数据中毒攻击不同(旨在生成假数据以对全局模型造成不利影响),模型中毒攻击试图直接毒害它发送到服务器进行聚合的全局模型。
[158]和[159]提出,模型中毒攻击要比数据中毒攻击有效得多,特别是对于参与者较多的大规模FL。原因:对于数据中毒攻击,恶意参与者的更新将根据其数据集和联邦中的参与者数量进行缩放。但是,对于模型中毒攻击,恶意的参与者可以直接修改更新后的模型并将其发送到服务器进行聚合。因此,即使只有一个攻击者,整个全局模型也可能被毒害。[158]的模拟结果也证实,即使是训练数据有限且高度受限的对手,在执行模型中毒攻击时也能获得较高的成功率。因此,必须开发保护全局模型免受模型中毒攻击的解决方案。
在[158]中,提出了一些防止模型中毒攻击的解决方案。首先,基于来自参与者的更新模型,服务器可以检查共享模型是否有助于提高全局模型的性能。如果不是,则参与者将被标记为潜在的攻击者,观察经过几轮该参与者的更新模型之后,服务器可以确定这是否是恶意的参与者。
第二个解决方案基于参与者共享的更新模型之间的比较。特别是,如果来自参与者的更新模型与其他模型差异太大,则参与者可能是恶意的。然后,服务器将继续观察来自该参与者的更新,然后才能确定这是否是恶意用户。然而,模型中毒攻击非常难以预防,因为在数百万参与者的培训中,很难评估每个参与者的改进。因此,需要进一步研究更有效的解决办法。
在[159]中,作者引入了一种更有效的模型中毒攻击,该模型证明,只需一轮学习,攻击者的任务就能达到100%的准确率。特别是,恶意的参与者可以共享其受毒害的模型,该模型不仅为其故意的目的而训练,而且还包含一个后门函数(backdoor function )。在本文中,作者考虑使用语义后门函数注入到全局模型中。(原因:即使不需要修改恶意参与者的输入数据,该函数也可以使全局模型分类错误。)例如,图像分类后门函数可以将攻击者选择的标签注入具有某些特定功能的所有图像,例如,所有带有黑色条纹的狗都可能被误分类为猫。模拟结果表明,这种攻击可以大大优于其他传统的FLl数据中毒攻击。例如,在一项总共有8万参与者的单词预测任务中,仅牺牲其中的8个就足以达到50%的后门准确率,而执行数据中毒攻击所需的恶意参与者有400个。 -
搭便车攻击:
搭便车是FL中的另一种攻击,当参与者想从全局模型中获益而又不想参与学习过程时,这种攻击就会发生。恶意的参与者,即free rider,可以假装它有非常少的样本要训练,或者它可以选择一个小的集合来训练它的真实数据集,例如,来节省它的资源。因此,诚实的参与者需要在FL训练过程中贡献更多的资源。为了解决这个问题,[160]中的作者引入了一种基于区块链的FL架构,称为BlockFL,在这种架构中,通过利用区块链技术来交换和验证参与者的本地学习模型更新。具体来说,每个参与者在区块链网络中训练并将训练好的全局模型发送给其关联的采矿者,然后获得与训练数据样本数量成比例的奖励,如图14所示。这样,这个框架不仅可以防止参与者搭便车,还可以激励所有参与者为学习过程做出贡献。
图14:传统FL和blockfl架构
在[161]中也引入了一个类似的基于区块链的模型,为FL的参与者提供数据保密性、计算可审核性和激励。然而,区块链技术的使用意味着实施和维护矿工操作区块链网络的重大成本。此外,在区块链网络中使用的一致性协议,例如工作证明(POW),会导致信息交换的长延迟,因此它们可能不适合在FL模型上实现。
总结
在本节中,我们讨论了两个关键问题,即,一般认为,FL是一种有效的隐私保护学习解决方案,可以帮助参与者进行协作模型训练。然而,在本节中,我们展示了恶意的参与者可以利用这个过程并获得对其他参与者的敏感信息的访问。此外,我们还证明了攻击者通过使用FL中的共享模型进行攻击,不仅可以破坏整个学习系统,而且可以伪造训练后的模型来达到其恶意目的。此外,本文还回顾了解决这些问题的方法,这些方法对于指导FL系统管理员设计和实施适当的对策尤为重要。表六总结了FL中攻击的关键信息及其应对措施。