联邦学习作为一种使用分布式训练数据集构建机器学习模型的新兴技术,可有效解决不同数据用户之间因联合建模而导致的本地数据隐私泄露问题,从而被广泛应用于多个领域并得到迅速发展。然而,现有的联邦学习系统已被证实在数据收集阶段、训练阶段和推理阶段都存在潜在威胁,危及数据的隐私性和系统的鲁棒性。本文从安全威胁和隐私威胁两类潜在威胁入手,围绕机密性、完整性和可用性(CIA 三元组)给出了联邦学习场景中安全属性的详细定义,并对联邦学习中各类攻击方式和防御手段进行了系统全面综述。
首先,本文对横向、纵向联邦学习过程,以及潜在威胁分别进行了概述,并从对抗性攻击和非对抗性攻击两个角度,分析了投毒攻击、对抗样本攻击和推理攻击等常见攻击的基本概念、实施阶段和现有方案。进一步地,依据不同的攻击方式,将防御手段划分为鲁棒性提升方法和隐私性增强技术两类:鲁棒性提升方法主要防御系统遭受的对抗性攻击,包括有数据消毒、鲁棒性聚合、异常检测、对抗训练、知识蒸馏、剪枝和其他方法等,隐私性增强技术主要防御系统遭受的非对抗性攻击,包括有同态加密、安全多方计算、差分隐私和区块链等。最后,本文给出了联邦学习中鲁棒性和隐私性方面的未来研究方向。
论文链接:http://cjc.ict.ac.cn/online/bfpub/gy-2023222151851.pdf
人工智能已成为引领新一代产业变革的新兴技术,尤其对应用创新、企业转型及社会发展有着重大影响,已经上升到国家战略层面。作为人工智能核心技术的机器学习却面临着隐私威胁和信任危机等问题[1],迫使各个用户将数据存储在本地,彼此之间难以流通,形成了“数据孤岛”。数据孤岛问题阻碍了多个用户进行有效的数据合作,导致数据的潜在价值难以发挥。此外,数据孤岛中非同源的数据之间相互关联但又存在较大差异,致使这些数据呈现非独立同分布(Non-Independent and Identically Distributed,NON-IID),带来了新的挑战。联邦学习(Federated Learning,FL)[2-4]作为机器学习技术的新分支,能满足隐私数据不出本地的前提下,在多个用户之间进行高效率的联合建模、模型训练,充分释放数据潜在价值,近年来已被广泛应用于键盘预测[5]、安全检测[6-7]和信号识别[8]等。
虽然联邦学习能一定程度解决本地数据的隐私问题,但在模型参数共享、模型聚合时又会给攻击者带来新的可乘之机,如联邦学习的梯度会泄露用户数据或学习过程的隐私信息[9-11],攻击者会对训练数据或局部模型进行投毒[12]或在输入样本中加入恶意扰动[13],从而危害系统的安全性。针对不同目标、不同程度和不同类型的攻击威胁,联邦学习系统往往需要预先制定好相对应的防御策略,以增强系统的鲁棒性和隐私性。
目前,国内外已有许多联邦学习相关的研究,例如,Yin等[14]面向隐私保护的联邦学习进行了全面的综述,Abdulrahman等[15]详细阐述了联邦学习面临的主要技术挑战,但他们都未进一步区分安全威胁和隐私威胁的差异。在联邦学习安全与隐私保护的综述[16-18]中,分别探讨了安全和隐私方面面临的挑战,但在鲁棒性和隐私性防御手段方面没有展开分析与总结。
He等[19]分析了深度学习中安全威胁相关的四种攻击,通过定量和定性分析这些攻击方法的敌手能力和攻击目标,总结出这些方法的优缺点,并讨论了其他的安全弱点和可能的防御措施。但提到的攻击威胁在联邦学习模型中不一定具有同等的攻击效果,防御措施在联邦学习模型中也可能受到限制。Lyu等[20-21]提供了一种独特的威胁模型分类方法,侧重介绍联邦学习中的安全与隐私问题,强调了隐私保护的重要性。但该篇文章只重点介绍了投毒攻击和推理攻击两种攻击威胁,对防御措施缺乏详细的梳理与分析。2021年,Mothukuri等[22]针对联邦学习中的安全和隐私问题,以及相应的防御措施做出了系统性综述。但该篇文章中阐述的防御手段都是较为传统的方法,缺少对前沿创新性工作的介绍,如联邦学习结合同态加密、差分隐私、安全多方计算和区块链等隐私增强技术。对比以上这些综述,本文在文章架构、分析方法和侧重点上都有所不同。
本文更详细且全面地梳理了联邦学习中的安全威胁和隐私威胁,系统地对攻击手段与防御手段进行了分类与剖析,侧重分析了最前沿的联邦学习与密码技术相结合的隐私保护方案,并进一步讨论了横向和纵向联邦学习中攻击手段的区别,以及在此基础上为后续研究者提供了具有发展前景的研究方向。
本文的组织结构安排如下。第 2 节对联邦学习和其潜在威胁进行概述;第 3 节详细地介绍了几种常见攻击的分类和研究进展;第 4 节在已有的攻击手段和研究成果基础上,从鲁棒性和隐私性两个角度对提升手段进行了具体分析;第 5 节讨论了联邦学习未来研究发展趋势;最后,在第 6 节总结全文。
联邦学习是一种以分布式方式训练模型的机器学习技术,其主要思想是确保参与方的数据保留在本地,而将训练的模型进一步上传和聚合到服务器。后续学习过程仅使用模型进行训练,保护了参与方的数据隐私,从而保护了数据安全。在用户数据集中的训练样本包含多个特征数据,其中选择一个或多个能够将不同训练样本区分开来的特征作为样本的标识符,即样本 ID。在联邦学习场景下,每个数据集的组织和使用形式存在差异,其特征和样本 ID 可能存在差异。联邦学习从不同数据分布方式可分为横向联邦学习(Horizontal Federated Learning,HFL)、纵向联邦学习(Vertical Federated Learning , VFL )和迁移联邦学习 (Federated Transfer Learning,FTL)三种类型。依照传统机器学习过程的划分,联邦学习则可以分为三个阶段:数据收集阶段、训练阶段和推理阶段。联邦学习在这三个阶段都具有新的特点。
(1) 数据收集阶段:指训练模型所需要的数据准备过程。在传统机器学习中需要对每个用户的数据进行集中收集,为模型训练做准备。而在联邦学习中,数据集不会离开本地,具体为本地的数据收集、用户之间数据格式的协商等准备过程。
(2) 模型训练阶段:指利用这些数据集执行机器学习训练算法,挖掘数据的潜在价值,迭代训练一定轮次后直至收敛的过程。在联邦学习中,由于数据集的分布式划分以及隐私性要求,需要使用特定的模型训练算法。
(3) 推理阶段:指把训练好的模型部署在具体的应用场景中,输入真实样本进行预测的过程。在横向联邦学习中这一阶段和传统机器学习没有太大差异,但是在纵向联邦学习场景中,由于每个用户只拥有一部分模型,推理阶段需要用户之间的合作才能完成推理过程。
目前常用的联邦学习开源项目包括 Google 的 TensorFlow1、微众银行的 FATE2、百度的 PaddleFL3 以及 OpenMinded 的 PySyft4等。其中,Google的 TensorFlow 应用最早,他们在数据不离开每个用户 本地的情况下训练了一个循环神经网络模型,之后 又将联邦学习操作进一步封装,发布了专门为联邦学习开发的框架 TensorFlow Federated(TFF)5,并提供了一组高级接口可以方便程序员实现基于联邦平均的 HFL 算法。微众银行的 FATE 是首个工业 级联邦学习框架,使用安全多方计算和同态加密等技术构建底层安全计算协议,可以支持逻辑回归、 树模型和深度学习等多种机器学习算法,与 TFF 相 比其封装程度更高,可以多方部署后直接开始训练。PaddleFL是基于百度的深度学习框架 Paddle 开发的联邦学习框架,提供了多种联邦学习策略, 支持基于安全多方计算的纵向逻辑回归和神经网 络的安全训练与推理,也支持基于安全聚合的 HFL 和经典的基于联邦平均和异步随机梯度下降的 HFL,但不支持树模型。PySyft是第一个隐私保护深度学习框架,基于 PyTorch 开发,可以方便地实现联邦深度学习并基于安全多方计算和差分隐私提供隐私保护。
本节从机密性 ( Confidentiality )、完整性 (Integrity)和可用性(Availability)安全三元组[23] (简称 CIA 三元组)的角度给出了联邦学习场景中安全属性的概念。
(1) 联邦学习的完整性:
依照数据收集和模型训练的不同阶段可以进一步划分为数据集完整性和训练过程完整性。数据集完整性是指联邦学习中 用户的数据始终是良性的、未被篡改的[24]。训练过程完整性是指服务器、用户等参与方都严格地按照联邦学习协议执行算法[25]。
(2) 联邦学习的可用性:
根据模型训练和推理阶段可以进一步划分为训练可用性和模型可用性。训练可用性是指能够在预计时间内完成模型的训练,其包含两个方面:一是收敛性,指模型能够在 经过可接受的训练轮数内达到收敛状态;二是合作公平性,是联邦学习场景中特有的,指用户能够依据自身的贡献获得公平的补偿[26]。模型可用性是指在推理阶段模型部署后的准确性和公平性,其中公平性是指保证训练的模型不会对某些属性存在潜在的歧视性[27]。
(3) 联邦学习的机密性:
机密性是指本地数据、全局模型等敏感信息不会泄露给非授权的用户。另外,机密性还保证了用户不会因为网络不稳定、设备问题被动退出工作流后,导致本地梯度的机密性泄露[28]。
根据对安全属性的不同影响,本文将联邦学习中存在的潜在威胁划分为两大类,即安全威胁和隐私威胁。
安全威胁会破坏联邦学习中的完整性和可用性,对联邦学习造成安全威胁的攻击称为对抗性攻击,其主要目的是干扰联邦学习训练或推理过程,影响联邦学习训练时的收敛速度或推理结果。
隐私威胁会破坏联邦学习中的机密性,对联邦学习造成隐私威胁的攻击称为非对抗性攻击,其主要目的是试图从联邦学习各个阶段获取隐私信息或其它好处,但不会破坏模型训练和推理过程。
在联邦学习的不同阶段会受到不同的安全威胁和隐私威胁。在数据收集阶段,受到的安全威胁包括数据投毒攻击(Data Poisoning Attack)、女巫攻击(Sybil Attack)和搭便车攻击(Free-riding Attacks),隐私威胁包括样本 ID 隐私泄露。在训练阶段,受到的安全威胁包括模型投毒攻击(Model Poisoning Attack)、针对通信瓶颈(Communication Bottlenecks)的攻击和搭便车攻击,隐私威胁包括推理攻击(Inference Attack)。在推理阶段,会受到的安全威胁包括对抗样本攻击,隐私威胁包括模型 提取攻击(Model Extraction Attack)和推理攻击。联邦学习过程的三个阶段及潜在威胁如图 1 所示。
机器学习中的投毒攻击[29-30]是指攻击者通过控制和操纵部分训练数据或模型来破坏学习过程。而联邦学习中每个用户都拥有一个数据集,内部的恶意攻击者可以轻易地对数据集、训练过程和模型进行篡改,实现降低模型性能、插入后门等一系列攻击效果。投毒攻击是联邦学习中应用最广泛、研究最深入的攻击。通常,投毒攻击按照攻击方式的不同可以分为数据投毒和模型投毒,而根据攻击目标的不同可以分为拜占庭攻击(即非定向投毒攻击)和后门攻击(即定向投毒攻击)。
(1)按攻击方式划分
①数据投毒:攻击者破坏训练数据集的完整性,通过渗入恶意数据以降低数据集质量或有目的的毒害数据。数据投毒根据对数据集标签的不同操作分为脏标签攻击(Dirty-labelAttack)[31]和清洁标签攻击(Clean-labelAttack)[32]。脏标签攻击会篡改数据集的标签,如常见的标签翻转攻击[33],而清洁标签攻击不篡改标签,仅对数据进行处理生成新的样本。联邦学习中由于数据不出本地,只有模型作为信息载体,因此基本不考虑数据投毒的不可感知性,从而数据投毒攻击主要是更加简便有效的脏标签攻击。
②模型投毒:攻击者破坏训练过程完整性,通过完全控制部分用户的训练阶段,对上传的局部模型进行篡改,实现对全局模型的操纵。常见的攻击手段是通过提升(Boosting)恶意更新来加强攻击效果[34]。为了增强提升的隐蔽性,Bhagoji等[35]还将提升过程转化为一个基于交替最小化找到合适的提升值优化问题,使有毒更新与正常更新难以区分。此外,还有其他实现更强隐蔽性和更高成功率的模型投毒攻击[36]和针对服务器先进防御聚合机制的隐蔽模型投毒攻击[37]等研究。虽然数据投毒和模型投毒两种攻击方式都对模型训练产生影响,但单一的数据投毒相较模型投毒表现不佳,是因为数据投毒本质上与模型投毒会同样修改局部模型的更新权重,而后者可以针对联邦学习聚合等特性实施针对性的攻击。
(2)按攻击目标划分
①拜占庭攻击:攻击者试图破坏训练可用性和模型可用性,使其无法收敛或无法在主要训练任务中达到最优性能,并且不针对任何特定的用户或数据样本。在联邦学习中,通过发送恶意更新和其他良性更新的线性组合能实现拒绝服务攻击[38],但此类简单的攻击很容易被检测和过滤。文献[39]则表明更新中轻微的扰动就能够实现投毒攻击的效果,并且规避基于幅度的防御策略。已知聚合规则的攻击者可以针对性地实施更具破坏性的拜占庭攻击,并且服务器为了吸引用户或满足用户的知情权,其聚合规则常常是透明公开。文献[40]提出了局部模型投毒攻击(LocalModelPoisoningAttack),在已知聚合规则的情况下,攻击者将构造恶意更新转化为在聚合规则下全局更新偏移值的优化问题。同样通过优化实现拜占庭攻击,文献[41]使用了最优比例系数γ和已优化数据集的扰动向量∇对恶意梯度进行微调并在结果中找到近似的最大值,实现更好的攻击效果。但文献[40]的方案在一轮迭代中就能完成优化过程,而文献[41]需要数十次的聚合迭代。当前,VFL中拜占庭攻击的相关研究还很少,由于模型被用户分割,数据投毒和模型投毒的隐蔽性更强、危害更大,是一个值得深入研究的方向。
②后门攻击:又叫木马攻击(TrojanAttack)攻击者试图使模型在某些目标任务上实现特定表现,同时保持模型在主要任务上的良好性能[42]。不同于拜占庭攻击由于会降低主要任务的总体性能易被检测,后门攻击更难被检测,这是因为攻击目的通常是未知的,难以确定检测标准。后门攻击可以通过数据投毒和模型投毒来实现,其在缺乏防御时的表现在很大程度上取决于当前敌手的比例和目标任务的复杂性。此外,相同的后门触发条件可能导致不同标签的样本错误的分类,这不同于后文的对抗样本攻击只对特定修改后的图像进行错误分类,不会影响到其他图像样本。用,包括基于深度神经网络(DeepNeuralNetworks,DNN)的隐蔽后门攻击[43-45]和注入后门的“BadNets”模型[46]等,以上方案都是在数据集上实现的后门攻击。而在联邦学习中,结合模型投毒实现的后门攻击更为常见。Bagdasaryan等[47]指出单一的数据投毒攻击可能对联邦学习无效,因为恶意模型可能与数量众多的良性模型聚合,极大地降低了攻击效果。他们提出了一种基于模型替换的投毒方法,其依据模型收敛性导致局部模型更新趋于零,利用模型替换在一轮迭代中将全局模型替换为后门模型。此外,大多数后门攻击[48]并没有考虑联邦学习分布式特点,Xie等[49]则提出了新的分布式后门攻击,即后门在恶意攻击者控制的用户之间被拆分,并将每个模式嵌入敌对客户的训练集中,在模型聚合后又将成为一个完整的后门并插入到模型中,从而提高后门攻击的隐蔽性。与HFL中的后门攻击不同,在典型VFL模型中的用户无需提供也不能获得标签信息,也就意味着不具备特征实例所对应的目标标签的知识。Liu等[50]为了研究VFL中的后门攻击,其中假设恶意用户拥有至少一个训练实例对应标签的知识,使用梯度替换的方法,将原本实例的中间梯度替换为投毒实例的梯度,向最终模型中植入后门。
机器学习中的对抗样本攻击是指在推理阶段中,刻意地给输入样本增加轻微的恶意扰动,使得分类器以极高概率对样本进行错误分类,从而导致模型输出错误的预测结果[13,51]。按照攻击者拥有的信息,对抗攻击可以分为白盒攻击和黑盒攻击。在白盒攻击中,攻击者能够获得机器学习算法以及模型参数,并根据这些已知信息去制作对抗样本。在黑盒攻击中,攻击者不知道机器学习的算法和参数信息,通过与系统的交互过程来生成对抗样本。
一方面,联邦学习的分布式特性增加了模型参数泄露的可能性,这意味着联邦学习比传统机器学习更容易遭受白盒攻击的威胁。另一方面,与传统机器学习类似,在联邦学习模型部署之后,攻击者也能够通过与系统的交互实施黑盒攻击。
对抗样本攻击在机器学习领域已有广泛研究。GoodFellow等[13]发现了深度学习输入—输出映射上的不连续性,通过施加难以察觉的扰动,最大化网络的预测误差。Szegedy等[52]验证说明了几种经典神经网络模型容易受到对抗样本攻击的影响。Akhtar等[53]对深度学习中的对抗样本攻击及防御进行了全面性的综述。llyas等[54]开发了一种新的黑盒攻击视角,将此类攻击的构造视为梯度估计问题,打破了利用梯度中先验信息发起对抗样本攻击的最优性障碍。在联邦学习场景下的模型部署与机器学习类似,传统的对抗样本攻击可以拓展到联邦学习中,但目前针对联邦学习的对抗样本攻击研究尚少。Wang等[33]研究了对抗样本攻击与后门攻击之间的联系,表明模型对后门的鲁棒性在通常情况下意味着对于对抗样本攻击的鲁棒性。Pang等[55]则针对VFL中用户的特征差异,提出了对抗性主导输入攻击(AdversarialDominatingInputsAttack)。与传统的对抗性样本控制整个特征空间不同,对抗性主导输入攻击仅仅控制部分特征输入,就能主导其他用户的全部输入,实现对特定的输入进行错误分类。同时,对抗性主导输入使得其他用户做出非常少的贡献,从而影响了激励用户贡献的奖励。
搭便车攻击是指部分用户不参与协作或者不具备足够的条件,而试图从集体性质的服务和公共产品中获得优势。其主要发生在带有激励的联邦学习中,破坏训练过程完整性和合作公平性。攻击者一般不消耗或只消耗部分的本地数据和计算资源,通过向服务器发送随机更新或与聚合模型相似的更新,伪装成参与联邦学习训练的正常用户,以获得相应激励,同时可能对模型性能造成一定影响。在联邦学习中,常见的搭便车攻击通过提供随机参数更新实现攻击,而服务器可以使用传统的深度学习异常梯度检测进行防御,如DAGMM[56]。文献[57]介绍了一个在基于模型平均的联邦学习中进行搭便车攻击的理论框架,证明了在每次迭代中返回全局模型会导致搭便车攻击。通过向构造的参数更新中增加噪音、应用随机梯度下降(StochasticGradientDescent,SGD)来最大化与其他用户更新的相似性,实现更加隐蔽的攻击。文献[58]提出了一种新的搭便车攻击,在本地使用小数据集训练模型,伪装成大数据集以获取更多奖励。此外,搭便车攻击者也可能会通过提升方法来增大权重,从而在全局服务器上表现出更大的贡献程度,以获得更大的激励份额。在VFL中的用户也可能不进行完整的训练,而应用未经充分训练的低质量模型,会降低整体模型的性能。此外,VFL的用户并不公开模型信息,服务器更难区分低质量的模型,故VFL中的搭便车攻击值得进一步研究。
女巫攻击(SybilAttack)指在允许成员自由加入和退出的系统中,单个攻击者通过多个合谋的身份加入系统,从而巧妙地分配攻击,以增强隐蔽性和攻击效果[59]。女巫攻击常被用于投毒攻击中,也可以应用在其他对抗性攻击中,以扩大对抗性攻击的优势。尤其在跨设备(Cross-device)联邦学习中,用户认证强度低,攻击者可以通过伪造多个身份实施女巫攻击,以便提高攻击效果。Fung等[60]中测试了配合女巫攻击的投毒攻击效果,并提出了防御女巫攻击的方案FoolsGold。作为FoolsGold的后续研究,文献[61]进一步研究了联邦学习对女巫攻击的脆弱性、目标和策略分类,提出一种被称为训练膨胀的DoS攻击,评估了几种分布式机器学习容错方案,证明了FoolsGold在防御配合女巫攻击的投毒攻击中有更好的表现。而在VFL中,由于用户数量较少,认证强度高,女巫攻击的应用将受到限制,较难实施。
在联邦学习中,需要在大量参与设备和服务器之间来回交换更新后的梯度,频繁的通信和传输的数据量都会产生大量的通信开销;其次,大量异构设备有限的网络带宽,会增加成员掉队的情况,进一步导致通信时间增长;此外,攻击者可能通过破坏通信信道来影响联邦学习系统的稳定性和鲁棒性。
以上这些问题成为了联邦学习的主要通信瓶颈,统称为针对通信瓶颈的攻击,它影响了联邦学习的训练可用性,在HFL与VFL系统中都有可能发生。针对通信瓶颈的攻击比投毒攻击、对抗样本攻击和后门攻击的普遍性更低,但其导致的后果非常严重,一旦系统遭受通信瓶颈攻击,可能会显著破坏联邦学习环境,给系统带来严重的损失。
这种攻击最直接的解决方法是降低通信开销,把需要上传的更新量化,显著减少需要传输的数据大小[62]。2019年,Luping等[63]指出移动边缘设备面对昂贵的网络连接和复杂的DNN训练,需要更新一个很大的梯度向量,使得通信开销成为严重的瓶颈。Yao等[64]则指出脆弱的通信带宽和单一的联邦学习训练模型,使得通信成本成为影响联邦学习模型收敛的主要因素。由于对联邦学习完整性和可用性的破坏,以上对抗性攻击体现出良性用户与恶意攻击者之间的对抗关系,更可能会在攻击过程中被察觉,面临风险更大,因此往往来自于敌对组织或势力。如表1所示,综合前文各类攻击的实施难度、攻击效果及防御难度,直观地总结了联邦学习中各种对抗性攻击的威胁等级,梳理了其对CIA三元组的威胁情况、作用阶段和对应的鲁棒性提升方法。
机器学习中的模型提取攻击是指攻击者尝试反复发送数据以获取响应结果,从模型的API接口中恢复出原始模型参数或功能,甚至构造出与原始模型几乎等效的模型,一般发生在模型推理阶段,破坏模型机密性。一些场景中模型具有较高的训练成本,其信息是敏感的,易受到提取攻击。现有针对模型提取攻击的研究主要集中在减少窃取目标模型的次数、提高查询精准度和降低查询开销等。一般而言,受模型提取攻击影响最大的是预测即服务系统,因为模型本身属于隐私信息,并且从模型中可以推测出训练数据集的信息。
Tramèr等[133]首次提出了机器学习中的模型提取攻击,并对Google等公司部署在云服务器上的预测系统发动攻击,在短时间内提取出与原始模型完全等效的模型。2020年,Chandrasekaran等[134]将模型提取攻击形式化并提出一种利用主动学习的模型提取攻击,能够在无标签数据上训练攻击模型;Jagielski等[135]改进了基于训练的模型提取攻击的效率,并提出了一种无需训练的可以直接提取模型权重的攻击方案,围绕准确性和忠诚度两个对抗目标对模型提取空间进行系统化,分别作为衡量盗窃动机敌手和反映侦察动机敌手的成功率。
在联邦学习中,攻击者同样可以对已经部署的联邦学习模型发动模型提取攻击,由于大部分应用场景的模型都公开,所以威胁较小。但是在VFL中,由于每个用户持有部分模型并允许保留隐私,模型提取攻击可能由其中一个用户发起,尝试获得完整的模型,并且由系统内参与方发起的攻击可能更难防御,但目前这方面的相关研究较少。
按照攻击目的不同,推理攻击可分为成员推理攻击和属性推理攻击,其中成员推理攻击目的是推断训练数据集中是否包含特定的个人数据记录,属性推理攻击目的是推断训练数据集的某些属性。联邦学习场景下的推理攻击利用了系统的一个弊端,即每个用户和参数服务器随着训练迭代更新相同的全局模型,攻击者往往能够推断出模型的信息。此外,对抗性攻击中的投毒攻击也会对全局模型训练结果产生影响,这种影响也包含了可用于推理攻击的泄露信息,不同于被动地获取模型信息,攻击者可能会主动地实施投毒攻击来获取信息,这种攻击也被称为主动推理攻击。
(1)成员推理攻击:成员推理攻击[10]尝试推断某个样本点是否用于训练给定模型,是最简单的一种推理攻击。当训练样本是敏感数据时,攻击者推断出训练数据集中特定数据点的存在会构成隐私威胁。文献[11]设计了一种白盒模型下的成员推理攻击方案,并假设对手具有不同程度的先验知识,在主动与被动攻击者、联邦与非联邦场景下进行了实验和对比,实验结果表明,只要是用到SGD的深度学习模型,对于有机会获取到模型参数的用户或服务器,实施白盒模型下的成员推理攻击准确率都可以达到70%以上。在联邦学习场景下,每个用户随着训练进程逐渐更新全局模型,很容易具有实施攻击的条件。参数服务器是好奇或恶意的,从而实施被动或主动的成员推理攻击也是值得考虑的问题,而在集中式场景下白盒模型的条件通常难以达到。在VFL中,数据对齐阶段需要进行样本ID对齐,因此训练集中的样本信息会被所有用户共享,通常不需要进行成员推理攻击。但是这样的隐私泄露在很多实际场景中可能是不合理的[136],有必要进一步地研究在数据纵向划分时如何在不泄露样本ID信息的前提下进行模型训练。
(2)属性推理攻击:属性推理攻击[137-138]是指攻击者尝试推断训练数据集的特征信息,包括某个样本的具体数值或数据集的整体属性,例如年龄分布、性别分布等。属性推理攻击可能发生在模型训练过程中或模型训练完成之后,后者又称为模型反转攻击[139]。文献[138]的属性推理攻击方案通过调用原始模型来训练影子模型,该影子模型一定程度上包含了原始模型中包含的隐私信息,然后再用影子模型来训练攻击者感兴趣属性的分类器。文献[137]提出的属性推理攻击关注训练样本整体或子集的属性,尤其是与类别特征无关的属性。在该攻击方案中,攻击者同样利用了联邦学习的实时性,获取全局模型镜像并训练攻击模型。文献[140]提出了黑盒模型下的属性推理攻击,即使攻击者没有参与训练过程,仅通过调用训练好的模型也可以推测出关于数据集的敏感属性,即使敏感属性没有参与训练,并且与训练属性相关度很低,也会被泄露。在VFL中,同样有可能发生属性推理攻击。虽然恶意用户只控制部分的模型,而且不能独立运行,但通过分析中间输出等交互消息,可以推断出其他用户的数据属性信息。与HFL不同,VFL中标签信息通常只有一方拥有并且是敏感的,因此针对标签信息的推理攻击尤其需要关注。
生成对抗网络(GenerativeAdversarialNetworks,GAN)[141]是一种很有前景的无监督深度学习模型,通过生成模型和判别模型的互相博弈产生很好的输出样本。通常,基于GAN的攻击能够发起投毒攻击[142]或推理攻击,它是一种威胁程度非常高的攻击方式,通常作用于模型的训练阶段。2017年,Hitaj等[143]提出了基于GAN的属性推理攻击,该文献指出大多数的联邦学习方案都容易遭受该模型反转攻击,即使引入了差分隐私和同态加密这样的防御措施,只要每个用户会在本地迭代更新全局模型,且模型最终可以准确地进行分类,该攻击方案就可以成功实施。但是该方案所使用的手写数字数据集MNIST每一种类别都是相似的,如果同一种类别的训练样本并不相似,则该文献的攻击结果和训练样本会有很大差异[10]。Wang等[144]提出了一种将GAN和多任务鉴别器相结合的mGAN-AI框架,该框架通过恶意服务器计算攻击目标的本地更新来恢复用户指定的私有数据。mGAN-AI在服务端隐蔽性的工作,不会影响训练阶段。在VFL中,由于每个用户只有全局模型的一部分,基于GAN的攻击可能会失效。表2总结梳理了联邦学习中各种非对抗性攻击的威胁等级、对CIA三元组的威胁情况、不同的作用阶段和对应的隐私性增强技术。
数据消毒(DataSanitization)是指对有害的、异常的数据进行清理,是针对数据投毒攻击的防御通用方法[65],在机器学习中较为常用。为抵御在联邦学习环境中的数据投毒攻击,数据消毒成为了其中的第一道防线。选用数据消毒技术虽然可以过滤掉那些中毒信息,保护数据的可用性和有效性,但需要访问用户的本地数据[66],无法保证数据隐私性,也难以在联邦学习分布设置的服务器中实现。另外,随着数据投毒攻击的增强,数据消毒可能很难达到期望的防御效果。面对自适应投毒攻击时,数据消毒防御效果并不乐观[67]。所以数据消毒在联邦学习中较难实施,只能在少数情况下,例如强认证的跨孤岛(Cross-silo)联邦学习,可依靠用户自身来进行。
在经典联邦学习框架下,服务器的聚合方案是联邦学习架构的核心部分。2017年,McMahan和Ramage1首次提出了实现多用户分布式训练的FedSGD算法,不泄露本地数据,仅将中间梯度发送给服务器。随后的研究[3]为了减少用户与服务器之间的通信量提出了FedAvg算法,选择直接上传多轮本地训练的模型,并取平均值作为全局模型。FedAvg是经典的聚合方案,确定了HFL的基本框架,后续聚合研究大多以此作为基础。然而,FedAvg并不具备对投毒攻击、后门攻击等对抗性攻击的鲁棒性。为了抵抗上述攻击,需要进一步利用更新的内在属性,识别并减弱恶意模型更新效果,从而实现鲁棒性聚合(RobustAggregation)。目前,鲁棒性聚合的研究大致可以分为3类。
(1)基于统计特征和相似性的鲁棒性聚合;
(2)基于局部模型性能的鲁棒性聚合;
(3)基于训练函数优化的鲁棒性聚合。
异常检测(AnomalyDetection)旨在使用统计和分析方法对模型的训练模式、数据集或相关事件进行甄别,若检测到不符合预期的模式、异常行为或异常数据,则系统会预警并做出反应措施。目前异常检测模型主要集中对系统中的客户端异常检测和数据异常检测两个方面的研究。
对抗训练(AdversarialTraining)是指在模型训练的过程中加入微弱扰动,以提高系统鲁棒性的防御方式。传统对抗训练攻击方法[92-93]大多应用于集中的机器学习框架下,并且主要关注对抗训练数据的生成。
例如,Tramèr等[92]提出集合对抗训练方法,通过从其他预训练模型中转移过来的单位输入一起作为训练集。2019年提出的DeepConfuse技术[93]通过解耦交替更新过程来训练网络的稳定性,利用训练好的噪声编码器向样本添加有界扰动,从而高效地生成对抗训练数据。
目前,对抗训练[94-95]已逐渐被研究人员用于提升联邦学习系统鲁棒性,而不仅仅局限于集中式的机器模型。例如,Shah等[94]研究了在联邦学习环境中使用对抗训练来减少模型偏移,显著提高了对抗精度和模型收敛时间。但对抗训练对于更复杂的黑盒攻击可能不具备稳定性,且加入的扰动必然会影响分类的准确度,故需要进一步采用适当的优化技术来改善这些问题。
此外,对抗训练本身需要大量数据集,并且增加了计算资源的消耗。尤其在具有较多参与方的跨设备式联邦学习环境中,轻量级用户可能无法负担高昂的对抗训练成本。Hong等[95]提出了新颖的共享资源学习方案,即准备最充分或功能最强大的高资源设备与其他低资源用户共享安全模型,从而在NON-IID用户之间有效地传播对抗鲁棒性。此外,为了防止对抗样本攻击中的逃逸攻击,文献[96]通过采用高斯噪声在训练数据集中包含对抗性数据来平滑训练数据。
就目前而言,对抗训练主要集中于针对联邦学习环境中的对抗样本攻击进行防御,但分析发现[94],对抗训练也极大地减少了推理攻击带来的威胁,提高了用户数据的隐私性,对于如何利用对抗训练来抵御其他类型的攻击研究值得进一步研究。
在不同模型训练场景中,若想实现更好的预测结果,往往会选择集成许多较弱模型,但这样会导致更大的计算量和更多的资源空间占用。
知识蒸馏(KnowledgeDistillation)作为模型压缩技术之一,就是将大模型相关知识逐步传递到小模型中,并从大模型学到的知识中学习有用信息来指导小模型训练,使小模型具备和大模型相当的性能[86-87]。在需要频繁交换训练信息的联邦学习中,知识蒸馏可以有效地降低通信开销、节省存储空间和降低参数冗余,从而防御针对通信瓶颈的攻击。此外,知识蒸馏还提高了模型的泛化能力,能够一定程度上防御投毒攻击和对抗样本攻击[86]。
在联邦学习与知识蒸馏的融合研究方面,Li等[88]在2019年基于知识蒸馏和迁移联邦学习开发了一个FedMD通用框架,其允许计算能力存在异质性的不同用户设计不同的网络结构,保护数据集的隐私性和提高本地模型的性能。与没有协作的情况相比,FedMD能显著提高局部模型的性能,但需要用户适当牺牲一部分数据隐私来组成共享数据集。之后,大部分方案[89-91]都是在FedMD框架上进行探究。例如,Lin等[89]提出了用于模型融合的集成蒸馏,通过局部模型输出的未标记数据来进行模型融合,与FedMD对比,该方案进一步提高模型训练速度,并降低了通信轮数和数据隐私泄露风险。
知识蒸馏能够具有降低通信开销、提高模型鲁棒性的特点,在深度学习领域已经成为一个研究热点。当其与联邦学习技术融合时,需要考虑场景的分布式等特点,包括针对投毒攻击等对抗性攻击的防御效果研究,目前仍存在一些空白。
剪枝(Pruning)技术也是一种模型压缩技术,可以在用户的计算能力和通信带宽相对较低的情况下,将联邦学习模型的大小进行修剪,降低模型复杂度和提高精度。此外,在联邦学习中受到投毒攻击后的模型会产生异常的神经元,而应用剪枝技术可以删除这部分异常神经元用以净化整个模型。
2015年,Han等[128]首次提出了一种启发式和迭代权重剪枝方法去除神经网络冗余连接,而不会造成准确性损失。2018年,文献[129]提出一种新剪枝技术,通过对攻击者放回的模型进行修剪,在修剪完成后微调神经元上的权重,以便掌握后门控制的权重,最终能够抵抗在训练集上的后门投毒攻击和通信瓶颈攻击。最近的一些研究成果[130-132]广泛应用剪枝技术来提升联邦学习系统的鲁棒性。例如,Jiang等[130]提出一种在联邦学习环境中具有自适应和分布式参数修剪的PruneFL方法,通过调整模型大小显著减少训练时间,减少通信和计算开销,同时保持与原始模型相似的精度。
作为模型压缩技术之一,剪枝可以提升模型的泛化能力,避免过拟合现象。然而,不规则的剪枝可能导致模型收敛需要更多的迭代才能完成,或导致系统参数偏差,这在特定联邦学习场景下会消耗额外的资源。因此,合适的剪枝应从问题本身出发,保证不丢失正确的结果,并考虑整体效果设定一个合适的阈值,尽可能的剪去一些不必要的枝条。在此基础上,还应该减少搜索的次数以提高剪枝效率,以上这些因素都是剪枝研究考虑的优化思路。
为了应对联邦学习中的隐私威胁,在联邦学习中引入密码学相关技术是目前主流的隐私保护研究方向,本节对这些方案进行介绍。
同态加密(HomomorphicEncryption,HE)是一种无需访问数据本身即可对数据进行处理的概率加密技术[185],即对经过同态加密的数据进行运算后再解密得到的结果与直接对明文进行运算得到的结果一致。若同态加密算法支持对密文进行任意形式或任意次数的计算,则称之为全同态加密(FullyHomomorphicEncryption,FHE);若仅支持加法或乘法其中一种计算,则称之为半同态加密(PartialHomomorphicEncryption,PHE)。其中PHE又可以分为加法同态加密(AdditivelyHomomorphicEncryption,AHE)和乘法同态加密(MultiplicativelyHomomorphicEncryption,MHE)[186]。
本节按照基于半同态加密和全同态加密两条隐私性增强路线,对这些方案进行具体分析。
安全多方计算(SecureMulti-PartyComputation,SMPC)指无可信第三方参与下,多个参与方之间安全地计算一个模型或函数问题[192-193]。不同于同态加密模型,SMPC具备严格的安全定义和独到的安全优势,能为联邦学习设计个性化的安全多方计算协议,为中间参数提供计算安全性,有效提升模型参数或梯度向量的隐私性。目前,已有许多基于SMPC的联邦学习隐私性增强相关工作,按采用的SMPC种类不同,可分为基于加法秘密分享的隐私性增强、基于Shamir秘密分享的隐私性增强和多种技术组合的隐私性增强。
差分隐私(Differentialprivacy,DP)旨在传输的梯度信息中加入随机噪声,将其查询操作的实际结果隐藏起来或模糊化直至无法区分,从而实现对隐私数据的保护。差分隐私一般是用来促进敏感数据上的安全分析,使敌手无法在输出结果中识别个体之间的敏感性。通常,差分隐私可用于防御模型提取攻击、成员推理攻击、基于GAN攻击和窃听等。因此,基于差分隐私的联邦学习模型可作为保护本地训练数据私密性、梯度信息机密性和衡量隐私损失阈值的有效解决方案[169-172]。
以上提到的同态加密、安全多方计算和差分隐私等密码技术能够实现较好的隐私保护,但这些技术大都依赖中心化参数服务器发送的模型参数,即无法保证全局模型的可信度,且多数用户之间存在不信任等问题[107-108]。区块链作为一种以密码学、共识算法和分布式存储等技术相结合的去中心化存储架构,其特有的数据结构优势结合密码技术可以增强联邦学习的完整性和机密性。以下梳理了基于区块链的联邦学习隐私保护的研究现状。
此外,还有其他一些隐私性增强技术。针对联邦学习中梯度会泄露隐私的问题,梯度裁剪也可以一定程度上避免这种信息泄露[205],可信执行环境(TrustedExecutionEnvironment,TEE)[179]可以通过硬件手段提供一个安全区域来执行模型训练操作以保护数据完整性和隐私性,VerifyNet[28]提供双重屏蔽协议来保证用户局部梯度的机密性,混合防御[180]融合多个防御技术防范服务器与恶意用户勾结问题,模型水印技术[206]通过将水印嵌入模型参数中用来在遭受模型窃取攻击之后进行举证和维权,及Anti-GAN方法[181]通过使用GAN来生成假的训练数据来保证私密性。