联邦学习的信息泄露

梳理联邦学习以及联邦学习中的信息泄露问题

1 联邦学习

联邦学习一词是由McMahan等人引入的《Communication-efficient learning of deep networks from decentralized data》。联邦学习的基础结构为:n个客户端(如移动设备等)在联邦服务器(如服务供应商)的协调下协作训练模型,而客户端的训练数据由本地存储而不直接提供给服务器。

1.1 联邦学习框架组成

联邦服务器通过重复客户端选择、本地训练和全局聚合来协调协作训练过程,直到训练收敛。

客户端选择:
总共的客户端数量为m,在每轮训练中,选择参与训练的客户端n个。这个过程可以在保护用户隐私的同时,提高模型的训练效率和性能。在联邦学习中,参与训练的客户端通常会被分为多个小组或者集合。通过选择特定的客户端集合来进行训练,可以更好地控制数据的分布和多样性,从而提高模型的泛化能力。此外,由于不同的客户端可能具有不同的计算能力和带宽限制,因此对客户端进行筛选也可以有效地减少通信开销,并加快训练速度。需要注意的是,在进行客户端筛选时,必须充分考虑到隐私保护的问题。应该尽量避免选择包含敏感信息的客户端或者使用明文传输数据等操作,以降低用户隐私泄露的风险

本地训练:
客户端会收到轮次t被选中的通知,从联邦学习服务器下载全局模型的参数(权重)训练程序。每个被选定的客户端通过执行训练程序在本地使用本地训练数据全局模型进行更新。更新的梯度为
g r a d   G = ∂ l ( X , y , θ ) ∂ θ grad\ G=\frac{\partial l(X,y,\theta)}{\partial \theta} grad G=θl(X,y,θ)
其中X,y表示划分为批的训练数据和对应的标签, l ( ⋅ ) l(\cdot) l()表示损失函数。

训练程序:通常称为“客户端代码”或“客户端模型”。是由服务器提供给所有参与方的代码,它实现了联邦学习算法的本地更新逻辑,包括数据加载、模型优化和上传新参数等步骤。不同的联邦学习框架可能会有不同的客户端代码实现方式,但通常它们都有以下几个基本组成部分:

  • 数据加载:客户端代码需要能够从本地存储中加载数据,并将其转换为模型训练所需的格式(如张量或序列)。
  • 模型定义:客户端代码应该定义本地模型的架构和参数,参数只是定义,没有具体的值。
  • 优化器定义:为了优化本地模型,客户端代码还要定义一个优化器,用于计算梯度并更新本地模型参数。
  • 训练循环:最后,客户端代码需要定义一个训练循环,以便多次迭代地更新本地模型。在每一轮训练完成后,客户端代码还需要将本地模型参数上传到服务器进行聚合。

训练程序中不包含全局模型的权重参数,只是定义没有具体的数值,其任务只是执行本地模型的训练和上传更新后参数。通常是在每一轮训练开始时将全局模型参数发送给客户端,并将在本地更新后的参数上传到服务器进行聚合。因此,客户端不需要在每个训练轮次都下载训练程序,而只需要在第一轮训练开始时从服务器上下载一次就可以了。一旦客户端成功地下载了训练程序并初始化了本地模型,它们可以在多个训练轮次中重复使用该程序来执行本地模型的训练和参数上传操作。这种方式可以显著降低网络带宽和通信成本,同时还能提高训练效率和性能。
需要注意的是,在某些情况下,客户端可能需要定期下载新版本的训练程序,以确保其能够与服务器上的最新代码保持同步。例如,如果服务器对算法或模型架构进行了重大升级或修改,或者发现了安全漏洞或错误,就可能需要客户端更新其本地训练程序。这时候,客户端可以通过向服务器发送请求,或者利用一些自动更新机制来获取最新版本的训练程序。

全局聚合:
联邦学习服务器在接收到每一轮次选择的n个客户端的本地更新后,聚合这些更新并更新全局模型,并启用下一轮学习。

1.2 常见的联邦学习模型

不同的联邦学习模型主要区别在以下几个方面:

  • 模型架构:联邦学习中使用的模型可以是任何类型的机器学习模型,包括神经网络、决策树等。不同的模型架构可能会对模型的训练效果和通信开销产生影响。
  • 参与者/客户端选择:不同的联邦学习模型可能采用不同的参与者选择策略,例如随机选择、按照参与者的贡献度进行选择等。参与者选择的策略会对模型的收敛速度和准确度产生影响。
  • 全局聚合方法:不同的联邦学习模型可能采用不同的全局聚合方法,包括加权平均、FedAvg、FedProx等。全局聚合方法的选择也会对模型的收敛速度和准确度产生影响。
  • 安全性保障:联邦学习涉及到多个参与者之间的数据共享,因此安全性问题也是一个重要考虑因素。不同的联邦学习模型可能采用不同的安全性保障措施,例如差分隐私技术、加密技术等。
  • 数据预处理:在联邦学习中,由于每个参与者的本地数据可能存在差异,因此需要对数据进行预处理。不同的联邦学习模型可能采用不同的数据预处理方法,例如局部更新、全局更新等。

所以如果想针对现实应用场景进行隐私安全的防御策略,就需要考虑到这些不同会对攻击产生哪些影响

总结常见联邦学习模型
预留位置

经典联邦学习模型的论文发表情况:

FedAvg(Federated Averaging):这是最常见的联邦学习模型之一。它通过在本地更新模型参数,然后将本地模型参数上传到服务器进行平均化来训练全局模型。本算法最初由 Google Research 团队在 2017 年发表的一篇论文中提出,论文名为《Communication-Efficient Learning of Deep Networks from Decentralized Data》。该论文发表在了 International Conference on Machine Learning (ICML) 会议上。

FedProx(Federated Proximal):FedProx模型采用了罚函数的方法,以确保本地模型参数的更新不会太远离全局模型参数。于 2018 年由 CMU 和 IBM 合作提出的技术。论文题目为《Federated Learning with Proximal Gradient Descent》,发表在 NIPS(Neural Information Processing Systems)会议上。

FedOpt(Federated Optimization):该模型使用全局模型参数来初始化本地模型,并通过多次本地优化来改进本地模型,最后再将本地模型参数上传到服务器进行聚合。由腾讯 AI Lab 在 2019 年发表的论文提出,论文标题为《FedOpt: A Pragmatic and Flexible Framework for Federated Optimization》,发表在 ICML 会议上。

FedNova(Federated Novel Aggregation):该模型使用二阶梯度信息来计算每个设备上的步长和方向,从而实现更好的本地模型收敛性。在 2020 年由华盛顿大学(University of Washington)的研究人员提出的,论文题目为《FedNova: Federated Learning with Novel Aggregation Algorithms》,发表在 ICML 会议上。

FedMA(Federated Model-Agnostic Meta-Learning):该模型提供了一种元学习框架,使得设备可以在少量本地数据上进行训练,并快速调整全局模型权重来适应新任务。由加州大学洛杉矶分校的研究人员于 2020 年提出的,论文题目为《Federated Meta-Learning for Recommendation》,发表在 AAAI(Association for the Advancement of Artificial Intelligence)会议上。

2 联邦学习的信息泄露攻击

综述部分参考:
[1] Xuefei Yin, Yanming Zhu, and Jiankun Hu. 2021. A Comprehensive Survey of Privacy-preserving Federated Learning: A Taxonomy, Review, and Future Directions. ACM Comput. Surv. 54, 6, Article 131 (July 2022), 36 pages. https://doi.org/10.1145/3460427

2.1 攻击

2.1.1 攻击的背景信息

潜在攻击方

内部参与者参与的客户端中央服务器。在客户端-服务器架构中,中央服务器通过接收和发送来自和返回客户端参与者的本地训练更新,控制整个训练过程,因此客户端和服务器都有机会访问中间训练的更新值(比如权重或梯度)以及最终模型。
外部参与者模型消费者窃听者。模型消费者有两种方法探测隐私数据,一种是获得对整个模型权值的访问,一种是可以获得由平台API提供的访问查询结果,因此他们可以通过最终模型或者其查询结果来探测隐私数据。窃听者通过拦截参与者与服务器之间通信窃取中间训练更新(权重或梯度)或最终模型。

恶意客户端
从聚合器中获取中间训练更新,以探测其他客户端数据集的私有信息;
向聚合器发送故意设计的训练更新,以探测其他客户端数据集的特殊私有数据;
进行推理攻击,如利用最终模型,导致隐私泄露。
——防御:通过设计特定的训练协议来缓解,如在每一轮中选择一部分客户端

恶意的服务器:会造成较高的隐私泄露风险(csDLG)
由于服务器维护中间更新和最终模型,因此可以利用这些信息进行重建攻击(iDLG);
可以通过区分其模型的更新来探测特定客户端的私有数据;
可以在每一轮的训练中选择和规定参与的客户端以探索训练数据集的隐私性。
——防御:限制和量化服务器重构客户端的本地训练数据集的能力

恶意的模型消费者:可能会造成高度的隐私泄露风险
可以轻松的访问最终模型或者查询结果,因此可以利用这些信息通过信息推理攻击(information inference attacks),例如,恶意模型消费者可以使用这些信息生成具有代表性的样本、确定样本是否用于模型训练、获取训练数据的特征、或者生成训练样本和标签。
——防御:- - - - - - - - - - - - -

窃听者:会导致严重的敏感信息泄露,并产生很高的隐私泄露风险
通过窃取客户端参与者和服务器之间传输的中间训练更新或者最终模型来探测私有信息,例如重建训练样本(DLG)。
——防御:可以通过加密机制(同态加密、秘密共享或多方安全计算)进行防御。

攻击类型

主动攻击:旨在改变系统资源或影响系统运行的攻击
上传特殊梯度,以学习可分离表征
控制某些客户端策略性地调整训练数据,使全局模型以特殊的模型上升或下降

被动攻击:旨在利用信息或从系统中学习而不修改系统的攻击
被动黑盒攻击:例如在服务平台中,假设攻击者只能访问查询结果,而不能访问模型参数或中间训练更新
被动白盒攻击:假设攻击者可以访问中间训练更新、模型参数和查询结果

被动黑盒攻击的风险通常有限,因为攻击者只能利用查询结果探测敏感信息吗,而被动白盒攻击通常可以泄露更多训练数据集的敏感信息。

这篇博客主要研究的是被动白盒攻击,所以主动攻击的风险这里不做阐述。

发生泄漏的阶段

训练阶段:主要包括在客户端计算局部梯度,在服务器端聚合全局模型,在客户端和聚合器之间传递中间更新,并将最终模型发布给客户端,更新信息主要包括局部梯度、局部模型权重、聚合梯度或模型权重以及最终模型。参与者或者窃听者都可以在这个阶段进行攻击,恶意参与者可以收集聚合的模型更新并进行隐私攻击,以推断其他参与者的数据隐私;窃听者可能会在选定的客户端将本地更新(例如,本地梯度或模型权重)发送到服务器以进行模型聚合时,或者当服务器将聚合的更新发送回客户端时,窃听参与者和聚合器之间传递的更新信息。

推理阶段:主要涉及向消费者提供查询服务的方法,隐私泄露风险主要与最终模型有关,该模型发布给参与者或作为服务平台提供

发生泄漏的地方

在联邦学习中,参与者和聚合器之间需要传输三种类型的重要数据:权重更新、梯度更新、最终模型

在基于梯度/权重更新的FL框架中,客户端从服务器下载聚合后的模型,根据本地训练数据进行本地训练后,向服务器发送梯度/权重,服务器进行聚合,周而复始直到训练结束。在深度网络模型中,梯度通常是通过在整个网络中反向传播训练数据集的损失来计算的。

梯度与本地训练数据的标签和样本特征有关,那么意味着梯度中包含着部分标签信息和原始信息,因此梯度可能导致严重的隐私泄露风险。DLG和iDLG提出基于梯度更新的隐私攻击已经被成功用于提取训练样本和标签,其中DLG通过最小化攻击和真是梯度之间的损失来泄露私有训练样本和标签。

隐私攻击的目的

隐私攻击的目的通常是推断有关训练数据集的敏感信息

类代表的推理旨在生成代表性样本,这些样本不是训练数据集的真实数据实例,但可用于研究有关训练数据集的敏感信息
隶属度推断旨在确定数据样本是否已用于模型训练
训练数据属性的推断旨在推断有关训练数据集的属性信息
推断训练样本和标签的推断旨在重建原始训练数据样本和相应的标签(DLG, iDLG)

我主要研究的是推断训练样本和标签的推断:

DLG是一种优化算法,可以在几轮训练中成功获取训练输入和标签。首先随机生成一个由虚拟样本和标签组成的虚拟数据集,然后在虚拟数据集的基础上,通过正反向计算得到虚拟梯度,这个算法通过最小化虚拟梯度与真是梯度之间的损失来迭代优化虚拟样本和标签,最后攻击者获得训练样本和标签。这类攻击不需要关于训练集的先验知识。

2.1.2 重点研究的攻击方法:梯度深度泄露&梯度反演攻击

在论文《Protect Privacy from Gradient Leakage Attack in Federated Learning》(后面简称GradDefense)中使用的攻击算法为deep gradient attack (DGA)gradient inverting attack (GIA)

  • deep gradient attack (DGA) 参考文献:L. Zhu, Z. Liu, and S. Han, “Deep leakage from gradients,” Advances in Neural Information Processing Systems (NeurIPS), vol. 32, pp. 14 774–14 784, 2019.
  • gradient inverting attack (GIA) 参考文献: J. Geiping, H. Bauermeister, H. Dröge, and M. Moeller, “Inverting gradients - how easy is it to break privacy in federated learning?” Advances in Neural Information Processing Systems (NeurIPS), pp. 16 937–16 947, 2020

在论文《Soteria: Provable Defense against Privacy Leakage in Federated Learning from Representation Perspective》(后面简称Soteria)中使用的攻击算法为DLG attackGradient Similarity (GS) attack

  • DLG attack 参考文献:Ligeng Zhu, Zhijian Liu, and Song Han. Deep leakage from gradients. In Advances in Neural Information Processing Systems, 2019
  • Gradient Similarity (GS) attack 参考文献:Jonas Geiping, Hartmut Bauermeister, Hannah Droge, and Michael Moeller. Inverting gradients–how easy is it to break privacy in federated learning? In Advances in Neural Information Processing Systems, 2020

在论文《More than Enough is Too Much: Adaptive Defenses against Gradient Leakage in Production Federated Learning》(后面简称OUTPOST)中使用的攻击算法为梯度泄露攻击DLG和csDLG,在应用时使用从更新中匹配增量的机制

  • DLG 参考文献:L. Zhu, Z. Liu, , and S. Han, “Deep Leakage from Gradients,” in Advances in Neural Information Processing Systems (NeurIPS), 2019.
  • csDLG 参考文献:J. Geiping, H. Bauermeister, H. Dröge, and M. Moeller, “Inverting Gradients — How Easy Is It to Break Privacy in Federated Learning?” Advances in Neural Information Processing Systems (NeurIPS), vol. 33, pp. 16 937–16 947, 2020.

通过参考文献可知 DGA = DLG, GIA = GS = csDLG,也就是说这三篇论文使用的都是同样的两种攻击策略
在下文统一简称为 DLG和csDLG

DLG 梯度深度泄露

现在分布式机器学习和联邦学习中普遍接受的一个做法是将数据梯度进行共享,多方数据通过共享的梯度信息进行联合建模,即在原始数据不出库的前提下进行建模。
但即使共享的是梯度而不是原始数据,也不能做到隐私安全,梯度与标签和样本特征有关,那么意味着梯度其中包含着部分的标签信息和原始信息,DLG攻击就是通过神经网络中的梯度信息去反推原始数据和标签。

DLG是一种基于梯度的特征重构攻击。攻击者在第t轮从其他参与者k处接收到梯度更新 ▽ W t , k \triangledown W_{t,k} Wt,k,目的是从共享信息中窃取参与者k的训练集 ( x t , k , y t , k ) (x_{t,k}, y_{t,k}) (xt,k,yt,k)

该算法首先初始化一个具有与真实图像相同分辨率的假图像/假样本和一个具有概率表示的假标签,然后把这些假样本和假标签输入到现有的模型当中,然后得到假的模型梯度。优化的目标是最小化真假梯度的距离,用真假梯度的距离优化假样本和假标签,这样在假样本和假标签就和真实的样本标签一致。注意,对于大多数联邦学习应用程序(我的理解就是上面提到的训练程序),模型体系结构F()和权重Wt在默认情况下是共享的。

怎么获知真是图像的分辨率,以生成假图像的?怎么知道假标签具体是要划分为几类的?以上问题的前提是不是知道数据集的前提下才能完成?

流程图见下
在这里插入图片描述

流程图中,作者将需要更新的变量都用加粗边框圈起来。正常参与者通过使用私有训练集计算 ▽ W \triangledown W W更新模型参数 W \mathbf{W} W,即更新参数W最小化loss函数,恶意攻击者通过更新假样本和假标签最小化真假梯度的距离。

攻击者的目标函数为 x ′ ∗ , y ′ ∗ = arg min ⁡ x ′ , y ′ ∥ ∇ W ′ − ∇ W ∥ 2 = arg min ⁡ x ′ , y ′ ∥ ∂ l ( F ( x ′ , W ) , y ′ ) ∂ W − ∇ W ∥ 2 x'^*, y'^* = \argmin_{x',y'} \|\nabla W' - \nabla W \| ^2 = \argmin_{x' ,y'} \| \frac{\partial l(F(\mathbf{x'}, W), y')}{\partial W} - \nabla W \| ^2 x,y=x,yargmin∥∇WW2=x,yargminWl(F(x,W),y)W2

伪代码见下
在这里插入图片描述

论文实验:给定包含对象的图像,图像分类旨在确定项目的类别。 DLG 攻击的威力首先在现代 CNN 架构 ResNet [18] 和来自 MNIST [15]、CIFAR-100 [16]、SVHN [17] 和 LFW [9] 的图片上进行评估。请注意,这里做了两个更改:(1)对于模型架构,所有 ReLU 运算符都替换为 Sigmoid,并且删除了 CONV 中的步长,因为我们的算法要求模型具有两次可微分(2)对于图像标签,而不是直接优化离散分类值,我们随机初始化一个形状为 N × C 的向量,其中 N 是批量大小,C 是类数,然后将其 softmax 输出作为优化和 DLG 攻击的分类标签。

批大小N和类别数C如何得知?

方法:将随机生成一份和真数据同样大小的假输入样本和假的标签,然后把这些假样本和假标签输入到现有的模型当中,然后得到假的模型梯度。目标是生成与原模型相同梯度的假梯度,这样在假样本和假标签就和真实的样本标签一致

这个真数据的大小如何得知?在论文中是作为先验知识提供给攻击者的,但是在真实攻击中是否可以得到?待研究
这里的大小问题,包括单个数据的大小,如图片的长宽像素数,以及批大小。在论文中这些都是先验知识

csDLG 梯度反演攻击

攻击方:恶意的服务器
——由于服务器维护中间更新和最终模型,因此可以利用这些信息进行重建攻击
攻击类型:被动白盒攻击
——假设攻击者可以访问中间训练更新、模型参数
发生泄漏的阶段:训练阶段
发生泄漏的地方:权重更新/梯度更新
——主要包括在客户端计算局部梯度,在服务器端聚合全局模型,在客户端和聚合器之间传递中间更新,并将最终模型发布给客户端,更新信息主要包括局部梯度、局部模型权重、聚合梯度或模型权重
隐私攻击的目的:推断训练样本和标签的推断
——旨在重建原始训练数据样本和对用的标签

这篇论文也提到了参数梯度会携带关于输入的重要隐私信息,即使在真实架构下运行多图像联邦平均学习也不能保证所有用户的数据隐私。在每批一百张图像中,仍然会有几张可以恢复。

这里提到的恢复不是全部恢复,提到了恢复的图片数量较少
什么是多图像?
首先观察联邦梯度下降算法(Federated SGD):
θ k + 1 = θ k − τ ∑ i = 1 N ∇ θ L θ k ( x i , y i ) \theta^{k+1} = \theta^k - \tau \sum_{i=1}^{N} \nabla_{\theta} \mathcal{L}_{\theta^k}(x_i, y_i) θk+1=θkτi=1NθLθk(xi,yi)
每个用户在本地计算部分梯度下降,再把更新参数发送回服务器,最终有关(训练数据下,标签y)的信息会通过部分本地示例的梯度信息集合后变得模糊,这种被称为多图像设置(multi-image setting)

否定了上一个攻击模型DLG,指出其中提出的假设都是强有力的,有利于数据的重建,而不贴合实际,其使用的损失函数是欧几里得匹配项的优化 argmin ⁡ x ∥ ∇ θ L θ ( x , y ) − ∇ θ L θ ( x ∗ , y ) ∥ 2 \operatorname*{argmin}_{x} \|\nabla_{\theta} \mathcal{L}_{\theta}(x, y) - \nabla_{\theta} \mathcal{L}_{\theta}(x^{*}, y) \|^2 xargminθLθ(x,y)θLθ(x,y)2
最小化该函数,从传输的梯度信息恢复原始输入图像x。

这篇论文提出把梯度参数分解为范数大小和方向(梯度是什么参照我的这篇博客
大小:代表测量数据点相对于当前模型的局部最优性
方向:两数据点之间的角度量化了一个数据点走向另一个数据点时预测的变化

也就是将损失函数变为(基于角度的成本函数,即余弦相似度)
argmin ⁡ x ∈ [ 0 , 1 ] n 1 − ⟨ ∇ θ L θ ( x , y ) , ∇ θ L θ ( x ∗ , y ) ⟩ ∥ ∇ θ L θ ( x , y ) ∥ ∥ ∇ θ L θ ( x ∗ , y ) ∥ + α T V ( x ) \operatorname*{argmin}_{x \in [0,1]^n} 1 - \frac{\langle \nabla_{\theta} \mathcal{L}_{\theta}(x, y),\nabla_{\theta} \mathcal{L}_{\theta}(x^{*}, y) \rangle}{\|\nabla_{\theta} \mathcal{L}_{\theta}(x, y) \| \|\nabla_{\theta} \mathcal{L}_{\theta}(x^{*}, y)\|} + \alpha TV(x) x[0,1]nargmin1θLθ(x,y)∥∥θLθ(x,y)θLθ(x,y),θLθ(x,y)⟩+αTV(x)
其中TV(x)代表TV正则化参数,以减少重建图像的噪声

总结:区别和联系

两种攻击都试图解决优化问题

通过在某一步骤t从参与客户端k接收的目标梯度 ∇ ∗ = ∂ L g r a d ( F w ( x ∗ ) , y ∗ ) ∂ w \nabla^{*} = \frac{\partial \mathcal{L}_{grad}(F_w(x^{*}), y^{*})}{\partial w} =wLgrad(Fw(x),y),攻击者可以还原出带有标签的输入 ( x t k , y t k ) (x^k_t, y^k_t) (xtk,ytk)(例如在此训练步骤中的像素图像或标记中的句子)

攻击者
1、随机生成具有与目标数据相同大小的输入和标签 ( x 0 ′ , y 0 ′ ) (x'_0, y'_0) (x0,y0) (初始虚拟数据和标签)
2、通过将虚拟数据和标签输入到客户端参与者之间共享的模型 F w F_w Fw,生成虚拟梯度 ∇ 0 ′ = ∂ L g r a d ( F w ( x 0 ′ ) , y 0 ′ ) ∂ w \nabla'_0 = \frac{\partial \mathcal{L}_{grad}(F_w(x'_0), y'_0)}{\partial w} 0=wLgrad(Fw(x0),y0)
3、计算并更新虚拟数据 x ′ ∗ , y ′ ∗ = argmin ⁡ x ∗ , y ∗ D ( ∇ ′ , ∇ ∗ ) x'^*, y'^* = \operatorname*{argmin}_{x^*, y^*} \mathbb{D}(\nabla', \nabla^{*}) x,y=argminx,yD(,)

其中距离 D ( ∇ ′ , ∇ ∗ ) \mathbb{D}(\nabla', \nabla^{*}) D(,)是一个通过虚拟数据计算的可微函数,它可以是DLG中提出的L2距离 ∥ ∇ ′ − ∇ ∗ ∥ 2 \| \nabla' - \nabla^* \|^2 2,也可以是csDLG中提出的余弦距离 1 − ⟨ ∇ ′ , ∇ ∗ ⟩ ∥ ∇ ′ ∥ ∥ ∇ ∗ ∥ 1 - \frac{\langle \nabla', \nabla^* \rangle}{\| \nabla' \| \| \nabla^* \|} 1∥∥,

2.2 防御

保护隐私的机器学习(privacy-preserving Machine Learning, PPML)旨在在机器学习中使用隐私保护技术来保护数据隐私,保护隐私的联邦学习(privacy-preserving Federated Learning, PPFL)可以看作是PPML的一种特例。通常的PPML方法有三种,分别是:基于同态加密(HE)的PPML,基于安全多方计算(SMC)的PPML,以及基于差分隐私(DP)的PPML。

在计算机安全领域,隐私被定义为:“确保个人操作或者影响与他们相关的信息可能被收集和存储,以及该信息可能被何人或向何人披露”。隐私保护机制旨在实现数据的实用性,同时确保原始信息不会泄露给其他个人或团体。三种通用隐私保护机制的类型为加密技术、扰动技术和匿名技术。同态加密和安全多方计算属于加密技术,差分隐私属于扰动技术。

PPFL是FL和隐私保护机制的巧妙结合。主要挑战是在将隐私保护机制应用到FL框架时,如何平衡数据隐私和数据实用性之间的权衡。

上述来自参考文献
[1] Xuefei Yin, Yanming Zhu, and Jiankun Hu. 2021. A Comprehensive Survey of Privacy-preserving Federated Learning: A Taxonomy, Review, and Future Directions. ACM Comput. Surv. 54, 6, Article 131 (July 2022), 36 pages. https://doi.org/10.1145/3460427

现有的一些保护隐私的机器学习防御机制,可以分为下面几种
差分隐私(DP)、多方计算(MPC)、数据压缩、同态加密

差分隐私(Differential Privacy, DP)
Secure Federated Transfer Learning" by Shuang Song et al. (2020) - Published in the Proceedings of the IEEE Symposium on Security and Privacy (SP) 网络与信息安全A类会议

“DP-FedAvg: Robust and Communication-Efficient Federated Learning with Differential Privacy” by Tian Li et al. (2020) - Published in the Proceedings of the ACM SIGSAC Conference on Computer and Communications Security (CCS).网络与信息安全A类会议

多方计算(Multi-Party Computation, MPC)

P. Mohassel and Y. Zhang, “Secureml: A system for scalable privacy-preserving machine learning,” in Proceedings of IEEE Symposium on Security and Privacy (SP), 2017, pp. 19–38

K. Bonawitz, V. Ivanov, B. Kreuter, A. Marcedone, H. B. McMahan,
S. Patel, D. Ramage, A. Segal, and K. Seth, “Practical secure aggregation for privacy-preserving machine learning,” in proceedings of ACM SIGSAC Conference on Computer and Communications Security (CCS), 2017, pp. 1175–1191.

同态加密(Homomorphic Encryption, HE)
C. Zhang, S. Li, J. Xia, W. Wang, F. Yan, and Y. Liu, “Batchcrypt: Efficient homomorphic encryption for cross-silo federated learning,” in Proceedings of USENIX Annual Technical Conference (ATC), 2020, pp. 493–506。 计算机体系结构/并行与分布计算/存储系统A类会议

Y. Aono, T. Hayashi, L. Wang, S. Moriai et al., “Privacy-preserving deep learning via additively homomorphic encryption,” IEEE Transactions on Information Forensics and Security (TIFS), vol. 13, no. 5, pp. 1333–1345, 2017. 网络与信息安全A类期刊

上面的不是专门针对梯度泄露攻击的防御措施,而是通用的防御措施。这些机制要么会导致不可接受的计算开销,要么会显著降低精度。

目标防御(Targeted Defense, TD)
最近提出(李老师参考文献之一GD论文中的主要对比算法)
J. Sun, A. Li, B. Wang, H. Yang, H. Li, and Y. Chen, “Provable defense against privacy leakage in federated learning from representation perspective,” in Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021, pp. 9311–9319 人工智能A类会议

2.2.1 Soteria

Soteria,是专门针对梯度泄漏攻击提出的。为了降低重建数据的质量,并基于他们发现隐私泄漏主要来自嵌入在全连接(FC)层中的数据表示,提出了一种对共享梯度的 FC 层中的数据表示进行扰动的精细设计。

2.2.2 GradDefense

GradDefense表明,原始数据仍然可以通过使扰动层静音来从剩余的梯度中恢复,因此通过测量灵敏度扰动共享梯度的所有层来提出更强大的防御。

2.2.3 OUTPOST

OUTPOST是上面提到的防御方法中梯度扰动方法的变体

这篇论文对之前的研究中考虑到的信息泄露威胁重新评估,提出了几点与现实存在差别的地方:
1、实际生产中,共享的模型更新不等于共享的梯度
2、即使假设直接共享了梯度,即使重建了一张或几张图像(这是由GradDefense提出,100张图像可能能重建其中几张,而不是全部),在实际生产中,在客户端执行很多的本地计算而进行很少通信(因此能截取的信息很少)的情况下,这些图像是否确能被人所识别
3、显式的初始化模型(宽分布的权重),使用未经过训练的神经网络会让模型和共享梯度更加脆弱,更容易让攻击方进行图像重建

什么是显式初始化宽分布模型权重

上面提到的两种防御措施Soteria和GradDefense都是针对梯度反演攻击(包括DLG, csDLG, iDLG等)设计的,但在应用防御之前并没有证明DLG攻击数据进行重构的可行性,特别是在使用联邦平均(FedAvg)的FL生产环境中。

本文中让攻击的强度接近实际生产的攻击强度,称之为梯度泄露攻击,这种攻击要比上面梯度反演攻击弱得多,因此在设计防御机制时可以更加轻量级。

防御机制OUTPOST
启发:具有更窄分布权重的模型和更多的本地SGD更新步骤将有效的削弱潜在攻击
设计:基于不同的本地更新步骤中模型权重的分散程度和信息量,对梯度进行有偏扰动
是否扰动:使用概率阈值决定是否在当前步骤进行扰动;阈值随着本地更新步骤和时间的推移而衰减
怎么扰动:通各层模型权重的方差统计来评估当前本地模型的泄露风险;风险决定Fisher范围,根据Fisher信息矩阵对当前步骤的梯度各层加入高斯噪声

论文中提出,现有的梯度反演攻击在生产FL中无法有效工作,一些隐含的假设是不成立的。 因此论文重新评估了生产FL中的梯度泄露攻击。

当前研究的假设和生产FL中实际设置之间的差距如下表
在这里插入图片描述

此论文在实验时,只考虑匹配来自更新的增量,而不是来自更新的近似梯度。并且在实际生产中,FL自身具有抵御梯度泄露攻击的性质,比如多次的本地迭代和更复杂的梯度下降优化器。

猜你喜欢

转载自blog.csdn.net/x_fengmo/article/details/131268500