文章发表于今年的NDSS,对联邦学习(Federated Learning, FL)中的本地以及服务端差分隐私问题进行了测量研究。

文章目录


  1. 背景及简介
  2. FL的差分隐私保护方案
    1. 本地DP
    2. 中心DP
  3. 后门攻击测量分析
    1. 常见的防御方案
    2. 实验测量
      1. CIFAR10
  4. 推断攻击测量分析
    1. 成员推断攻击
      1. 实验测量及结果
    2. 属性推断攻击
      1. 实验测量及结果
  5. 主要结论
  6. 引用

背景及简介

联邦学习(FL)是隐私保护机器学习的一种方案,当前已经在一些领域被应用,比如:输入法预测、语音助手、医疗健康等。自FL出现后,有许多研究工作关注FL的鲁棒性以及隐私保护能力。常见的几种攻击方案有:

  • **污染攻击 (Poisoning Attacks)**:泛指用于降低模型预测的准确率或者让模型在某些特定的输入上给出错误的预测的攻击类型
  • 后门攻击:恶意用户将后门注入到训练的模型中,让模型在某些情况下给出攻击者想要的预测结果
  • 成员推断攻击:用于预测某个样本是否在训练集中
  • 属性推断攻击:用于预测样本的某个与训练任务无关的属性(比如在某个图片性别分类器的训练过程中,判断某个人是否长了胡子)

在FL中,为了加强隐私(Differential Privacy, DP)保护,一般有两种方案:

  • 本地DP(Local Differential Privacy, LDP):FL参与者将模型更新发送给服务器之前添加噪声
  • 中心DP(Central Differential Privacy, CDP):服务器使用DP保护的聚合算法

本文的研究问题是:我们是否可以同时防御后门以及成员推断攻击?如果可以,我们需要付出多大代价?

FL的差分隐私保护方案

本地DP

LDP 即FL的非中心化节点对本地的梯度更新加入噪声,而后才将地图更新发送给中心化服务器进行聚合。文中提到的LDP主要有两个手段:

  1. 使用二范数对梯度进行截断,即$g = g \cdot \min(1, \cfrac{S}{\Vert g\Vert_2})$,其中$g$为原本的梯度值,$S$为预设定阈值
  2. 加入高斯噪声,即$g = g + N(0, \sigma^2I)$,其中$N$为高斯分布

中心DP

CDP即聚合服务器在模型/梯度聚合的过程中引入噪声,旨在保护参与者的隐私(让攻击者无法判断某个参与者是否参与了训练过程)。CDP方案也使用了二范数对参与者的梯度进行截断,并且对于高斯噪声方差的选择使用了论文[2]中的计算方法,感兴趣可查看原论文:$\sigma = \cfrac{z\cdot S}{q}$,其中$S$为阈值,$q$为希望引入的噪声比例,$q$为参与训练人员的采样概率。

后门攻击测量分析

后门攻击是一种特殊类型的污染攻击。一般,污染攻击可以分为随机目标攻击两种类型。随机污染攻击的目标是降低最终模型的准确率;而在目标污染攻击中,攻击者旨在让模型输出预指定的标签。在FL的场景下,参与模型训练的用户都是潜在的攻击者。对于随机污染攻击来说,服务器可以通过对准确率的检查来对其进行识别。污染攻击的目标可以是模型,也可以是数据,其目标都是通过对发送给服务器不正确的数据来导致最终模型性能的下降。

对于后门攻击来说,恶意的客户端会将后门任务注入到模型中。这里举一个非常简单的模型替换攻击的例子。假设FL中的第$r$轮的全局模型参数为$\theta_r$,攻击者希望将此参数替换为$\theta_\mathcal{A}$。在一轮的训练中,我们设有$N$个用户参与训练,每个用户的样本数量为$n_1, n_2, \ldots, n_N$,各用户计算出来的梯度更新为$\Delta \theta_1, \Delta\theta_2, \ldots, \Delta\theta_N$。此时,攻击者$\mathcal{A}$将其梯度的替换为:

$$ \Delta\theta_\mathcal{A} = \cfrac{\sum_{i=1}^{N}n_i}{n_\mathcal{A}} \cdot(\theta_\mathcal{A} - \theta_r) $$

那么,服务器聚合的梯度为:

$$ \begin{align} \Delta\theta_{r+1} &= \cfrac{\sum_{i=1}^{N} n_i \cdot \Delta{\theta_{i}}}{\sum_{i=1}^{N} n_i }\\ & = \cfrac{n_\mathcal{A} \cdot \Delta \theta_\mathcal{A} + \sum_{i\ne\mathcal{A}}n_i \cdot \Delta\theta_i}{\sum_{i=1}^{N} n_i} \\ & \approx \cfrac{n_\mathcal{A} \cdot \Delta \theta_\mathcal{A}}{\sum_{i=1}^{N} n_i} & ; 假设在训练末期,正常梯度都近似为0\\ & = \theta_\mathcal{A} - \theta_{r} \end{align} $$

那么最终$\theta_{r+1} = \theta_r + \Delta\theta_{r+1} = \theta_\mathcal{A}$(这里我们省去了学习率)。

此处的举例是一个简单的攻击方案,在非加密情况下,此种攻击很容检测出来。但是,一般的后门攻击者可以采取比较缓和(每次改变量较少)的方式来防御监测机制。

常见的防御方案

此类污染攻击,最直观地,我们可以采用拜占庭容错的聚合算法来进行梯度的过滤。此类方法的基本思想都是,选取那些不会让准确率损失很多以及梯度与其它参与者不会相差太多的梯度来进行全局模型的更新。常见的选取中间对照值方法比如采用逐元素的中位数、整体梯度求平均等。

此外其他研究者也提出了使用**二范数对梯度的大小进行限制 (Norm Bounding)(如前文描述的)以及弱差分隐私 (Weak DP)**等其它方法(添加噪声,缓解攻击者梯度的影响)。这两种方法对于防御后门攻击在实验中表现出不错的有效性。但是它们都无法防御推断攻击,因此在隐私保护方面较弱。

梯度过滤对于后门攻击的防御较弱,因为攻击者可以将自己的梯度限制在一定范围之内,以保证自己的梯度不被过滤掉。而我们知道,神经网络中少量参数的变化机会对最终的预测结果产生很大影响。实验结果表明常见的一些梯度过滤方法很难防御后门攻击。

注:其实,后门攻击本质上不会对模型整体产生太大影响。它仅会对攻击者感兴趣的地方产生影响。

实验测量

实验使用了四个数据集:

  1. EMNIST
  2. CIFAR10
  3. Reddit-comments
  4. Sentiment140

进行了四种攻击类型的实验:

  1. 单像素后门攻击(EMNIST数据集):将手写数字图片的右下角的一个像素点改为0值,让模型预测此图片为手写$0$
  2. 语义后门攻击(CIFAR10):让特定模式的图片被预测为某个分类,如:让红色的图片被预测为猫
  3. 语义后门攻击(Reddit-comments):该数据集用于一个单词预测任务,攻击者使用句子中包含的某个特定单词作为攻击触发点,让模型将后续单词预测为某个特定词
  4. 语义后门攻击(Sentiment140):让情感分析的模型将I feel great分类为消极情绪

这里我们看下部分实验结果。

CIFAR10

图中比较了后门攻击在CIFAR10中攻击成功的准确率,图中蓝绿色表示原本模型的准确率,横坐标为训练轮数。

CIFAR10 后门攻击
图 1:CIFAR10 后门攻击

可以看到,DP 方法在后门攻击的防御上效果还是很好的。但是我们看到在LDP和CDP方法上,模型的性能下降较多,并且随着隐私保护系数$\epsilon$的松弛(变大),攻击成功率也会变高。

论文中还对不同攻击者数量情况下的攻击准确率进行了测量,感兴趣可查看原论文。

整体来看的话,LDP和CDP都可以缓解后门攻击,并且防御效果比二阶矩阶段以及弱DP方法要好。但是这些方法都需要在防御性能与模型可用性方法进行平衡。CDP整体防御表现不错,并且模型最终的可用性表现而言也较高,但是CDP要求中心化服务器是可信的。

推断攻击测量分析

成员推断攻击

成员推断攻击指攻击者利用模型的梯度信息或者预测结果信息来预测某个样本是否被用于模型训练。此类攻击可以分成黑盒和白盒攻击两类。

黑盒攻击指攻击者仅能依赖模型的输出类别分布来判断某个样本是否被用于训练模型。此类攻击基本上需要依赖模型的过拟合程度,显然过拟合越严重,预测准确率应该越高。

白盒攻击指攻击者可以利用模型训练过程中的梯度、中间层输出、模型输出 等信息来进行攻击。对于白盒攻击,如果攻击者有一些数据(用于训练的数据以及一些已知的未被用于训练的数据集),那么她可以参与训练,并且使用训练中的梯度信息来训练一个是否为训练成员的分类器;如果用户没有训练数据,那么她可以使用得到的梯度信息训练一个自动编码-解码器。后续可以使用梯度的编码来进行聚类(可分为两类,将梯度较大的那一类认定为未用于训练),或者直接计算某个样本的梯度编码与训练过程中梯度的编码之间的差异,通过差异的大小来判断此样本是否用于过训练;另一个极端的方法是:用户可以通过梯度提升来计算某个样本的梯度,并将此计算出的梯度与训练过程中得到的梯度相加,如果这两个梯度相互抵消很多值,那么我们就可以判断出此样本已经被用于训练了(极端情况下,可以假设batch size 为1,并仅训练一轮,那么两个梯度会完全抵消,得到0值,那么显然此样本被用于训练)。

FL场景下的攻击稍微复杂一点,攻击者不但能做成员推断,而且可以推断某个样本是否来自某个客户端。此外,攻击者可以为中心服务器,也可以是单个训练的客户端。中心化服务器的攻击方式更为多样,比如它可以将单个用户隔离开来(使用单独的一个模型),这样模型中就可以存储更多的用户数据信息。

实验测量及结果

此类型攻击使用了三个数据集:

  1. CIFAR100
  2. Purchase100:消费者在线购买记录
  3. Texas100:医疗记录

详细测量结果见下表。

白盒成员推断攻击
图 2:白盒成员推断攻击结果

其中No Defense表示无防御机制;Acc 那一列表示原数据集的准确率,其它表示攻击准确率。Global Att为中心服务器的攻击,Local Att 为训练客户端的攻击;Pass. 表示被动攻击,此时攻击者不去主动篡改数据,而Act. 表示主动攻击,攻击者可以篡改模型更新的数据(利用前文我们描述的一些方法,比如:使用梯度提升计算反向梯度、将客户端隔离以及将这两种方法结合起来)。

我们可以看到LDP和CDP可以比较有效地进行防御,但是其性能损失也较为严重。

属性推断攻击

属性推断攻击的方式也是利用模型更新的一些信息。此处,攻击者需要拥有一些额外的数据。攻击者将数据集分为两类,一类数据包含想要推断的特性,另一类数据不包含。那么对这两类数据运行梯度下降,得到中间数据,并以此数据训练一个二分类器即可。

实验测量及结果

此实验使用了LFW数据集,此数据集包含了很多人脸信息以及相关的性别、种族、年龄、头发颜色、是否佩戴眼镜等信息。攻击方式为:训练一个性别分类器,攻击者尝试推断出脸谱对应的种族。实验结果如下表。

属性推断攻击实验结果
图 3:属性推断攻击实验结果

实验对不同数量参与训练的客户端进行了分别的实验。

从实验结果可以看出,这两个方法在属性推断攻击防御方面都还有很大的提升空间。

主要结论

  1. LDP 和 CDP 在牺牲性能的前提下都可以在某种程度上防御后门攻击
  2. 如果仅对非攻击者应用LDP,那么后门攻击的准确率会提升
  3. LDP和CDP都可在不引入太大性能损耗的前提下防御成员推断攻击
  4. LDP对属性推断攻击无能为力;虽然理论上CDP可以防御属性推断攻击,但是性能损失的代价非常大

引用

[1] Naseri, Mohammad, Jamie Hayes, and Emiliano De Cristofaro. "Local and central differential privacy for robustness and privacy in federated learning."arXiv preprint arXiv:2009.03561(2020).

[2] Abadi, Martin, et al. "Deep learning with differential privacy."Proceedings of the 2016 ACM SIGSAC conference on computer and communications security. 2016.


扫码关注我们
图 4

[本]通信工程@河海大学 & [硕]CS@清华大学
这个人很懒,他什么也没有写!

0
10094
0

More Recommendations