前言
本文根据英文原文“Label Inference Attacks Against Vertical Federated Learning.”整理撰写。原文发表在USENIX Security. 2022,作者在完成英文原文工作时,为浙江大学在读博士生。本文较原文有所删减,详细内容可参考原文。
01
介绍
数据安全及隐私问题已经得到越来越多国家的关注,以《通用数据保护条例》(General Data Protection Regulation,简称GDPR)为代表的数据保护相关法规相继出台。这类法规禁止任何公司将其储存的用户数据泄露给其他公司,导致互联网公司面临着“数据孤岛”的难题:如果多家公司想要互相合作,整合其各自拥有的数据以训练一个性能更好的机器学习模型,它们将面临违反法律的风险。针对这一困局,联邦学习(Federated Learning,简称FL)提供了一种解决方案。作为一种专注于数据隐私保护的分布式机器学习技术,联邦学习允许多个参与者通过周期性地交换中间计算结果的方式协作训练一个模型,同时不泄露每个参与者的本地原始数据。近年来,全球范围的互联网公司与科技机构纷纷投入资源开发联邦学习系统,例如谷歌公司开发的TensorFlow Federated、腾讯微众银行开发的Federated AI Technology Enabler(FATE)、开源组织OpenMined开发的PySyft以及百度公司开发的PaddleFL。
根据多个参与方之间在数据及特征空间上的划分方式,联邦学习可以被分为水平联邦学习(Horizontal Federated Learning,HFL)和垂直联邦学习(Vertical Federated Learning,VFL)两类。其中,水平联邦学习适用于各个参与方的本地数据集共享相同的特征空间但在样本空间中不同的情况,例如两个地域性银行之间的协作;而垂直联邦学习适用于多个参与方的本地数据集共享同一样本空间但在特征空间中不同的情况,例如某银行和某电子商务平台之间的协作。在联邦学习训练过程中,各个参与方的本地数据从不离开参与者的本地机器;因此,联邦学习被认为是一种能够保护各个参与方本地数据隐私的机器学习范式。然而,最近研究表明,实际上联邦学习中依然存在间接的数据隐私泄露。目前,关于水平联邦学习中存在的隐私安全风险已有多个研究方向,例如水平联邦学习中的数据还原攻击、成员推断攻击、属性推断攻击和后门攻击。
然而,鲜有研究探讨垂直联邦学习中的隐私风险,而垂直联邦学习在工业界中的应用同样越来越广泛。其典型使用场景之一为:少数参与者(通常是两个)合作训练一个模型,各个参与者分别拥有一部分特征数据,而标签则只被其中一个参与方所拥有。例如,一家汽车租赁公司想要训练一个车险预测模型,它拥有大量标签,但拥有的用户特征较少;该公司希望借助其他公司或机构(例如银行)所拥有的更多用户特征来提高其模型性能。在此场景下,其他参与者仅扮演“用户特征提供者”的角色,它们通常会要求金钱或其他商业利益作为回报。本文重点研究上述垂直联邦学习场景下的隐私风险。
垂直联邦学习在使用场景、联邦模型架构和训练算法等诸多方面与水平联邦学习大不相同,因此具有独特的隐私问题。在本文中,我们揭示垂直联邦学习中存在的一种新型隐私风险——标签泄露。如图1所示,在垂直联邦学习架构中只有一个参与者拥有样本的标签。垂直联邦学习必须确保标签的隐私性,因为标签可能是参与者的重要数据资产或者具有高度敏感性。垂直联邦学习中,恶意参与者发起标签推断攻击的动机可能是:使用被盗标签建立与受害者类似的业务以进行商业竞争,或将敏感标签出售给地下行业牟取利益。
图1
与水平联邦学习相比,在垂直联邦学习中设计隐私推断攻击更具挑战性。一般来说,水平联邦学习中的恶意参与者所控制的本地模型是完整的,可以独立运行,且恶意参与者可以访问该完整模型所有参数的梯度;这为其推断隐私信息提供了便利。然而,在垂直联邦学习中,恶意参与者所控制的本地模型只是整个联邦模型的一部分,不能独立运行;同时,恶意参与者只能访问这个不完整的本地模型的梯度信息。对比而言,垂直联邦学习中的恶意参与者所控制的信息更少。尽管存在这些挑战,垂直联邦学习中的隐私风险依然存在:本文证明,当前的垂直联邦学习设计存在固有缺陷,导致在上述信息受限的情况下,垂直联邦学习中的恶意参与者依然可以较为准确地窃取标签信息。具体来说,我们发现恶意参与者可以从其控制的底部模型中提取信息,以推断其他参与者的私有标签。其原因在于:在训练期间,从服务器端传给恶意参与者的梯度促使底部模型学习到关于不同分类标签的良好特征表示,使得底部模型可以被用作标签推断攻击的“预训练模型”,而标签推断攻击的成功率由底部模型的特征提取能力决定。此外,在某些特殊垂直联邦学习情景下,来自服务器的梯度也可能直接泄漏标签信息。
基于上述发现,我们提出了三种标签推断攻击。
(1)为了利用训练完成的底部模型,攻击者可以采用一种基于“模型补全”的被动式标签推断攻击。实验表明,在少量辅助标记数据的帮助下,恶意参与者可以利用半监督学习将其训练的底部模型微调为完整的标签推断模型。
(2)为了增加恶意底部模型的表现力,从而进一步提高攻击性能,攻击者可以发起主动式标签推断攻击,以引导联邦模型更多地依赖恶意参与者的底部模型。实验表明主动式攻击可以成功提高标签推断攻击的成功率。此外,我们使用GradCAM和t-SNE可视化技术,来解释为什么主动标签推断攻击有效。
(3)作为一种特例,对于未采用拆分学习设计的垂直联邦学习架构,攻击者可以使用一种特殊的直接标签推断攻击,该攻击通过分析服务器端发送的梯度的符号来推断标签。
最后,我们评估了四种可能的防御:梯度加噪、梯度压缩、隐私保护加固的深度学习 (Privacy-Preserving Deep Learning,简称PPDL)和离散的随机梯度下降(DiscreteSGD)。我们发现,尽管其中一些防御可以较为成功地抵御直接标签推断攻击,以上防御对于被动和主动式标签推断攻击缺乏足够的防御能力。我们呼吁相关研究者对于这种新型标签推断攻击提出更有效的防御手段,以保护垂直联邦学习中的标签隐私。
02
背景
1.水平联邦学习
水平联邦学习适用于所有参与者的本地数据集拥有相同的特征空间但样本空间不同的情况。例如,A医院拥有一组患者的医疗记录以及他们是否患有某种疾病的标签。位于另一个城市的B医院拥有另一组患者的同类医疗记录和标签。如果两家医院汇总各自的数据,它们就可以建立一个更大的数据集,然后据此训练更准确的疾病诊断模型。然而,法律禁止两家医院直接共享患者的私人数据,导致两家医院处于“数据在水平方向上被隔离”的困境(数据表单中纵列为各个特征,横列为各个样本的序号,因此水平切分意味着切分后的子数据集共享同样的特征空间而具有不同的样本空间)。水平联邦学习正是为解决这种困境而设计的。在水平联邦学习中,服务器运行一个全局模型,每个参与者运行一个本地模型,并且所有本地模型与全局模型共享相同的模型架构。水平联邦学习的一个经典训练算法是模型平均(Model Average)。在模型平均算法中,对于一次训练迭代,每个参与者在本地数据集上将其本地模型训练数个轮次(epoch),然后将更新后的本地模型提交给服务器;随后,服务器对所有参与者提交的本地模型进行平均,以获得本次迭代更新的全局模型。通过这种方式,参与者们可以在不共享原始数据的情况下共同训练全局模型。
2. 垂直联邦学习
垂直联邦学习适用的场景为:所有参与者的本地数据集共享相同样本空间,但特征空间不同。例如,A医院有一组患者的CT扫描数据,并有他们是否患有肺癌的标签。B医院则拥有同一组患者的MRI扫描数据。如果这两家医院把本组患者的CT及MRI扫描数据放在一起,他们可以训练出更好的机器学习模型(同时根据CT和MRI扫描数据预测肺癌)。不幸的是,两家医院不能直接共享数据和标签——法律严格禁止向其他机构披露患者的私人数据。
垂直联邦学习旨在解决这种困境。有两种主流的垂直联邦学习架构:无模型拆分(Model Splitting)的垂直联邦学习架构和有模型拆分的垂直联邦学习架构。在这两种垂直联邦学习架构中,都有一个可信的、持有样本标签的第三方服务器,以及多个拥有不同数据特征的参与者。垂直联邦学习的每次训练迭代分为两个步骤:联邦前向传播以及联邦反向传播。第一步为联邦前向传播:首先,所有参与者使用本地数据和底部模型进行本地正向传播,然后将本地输出提交给服务器;然后,服务器聚合来自所有参与者的输出,据此计算最终预测结果以及损失函数值。第二步是联邦反向传播:服务器进行反向传播,并计算每个参与者的输出相对于损失函数值的梯度;然后,梯度被发送回每个参与者,每个参与者在本地继续进行反向传播并更新其底部模型。
对于无模型拆分的垂直联邦学习架构,每个参与者都运行一个底部模型,服务器不运行任何模型。在进行联邦前向传播时,每个参与者的底部模型给出一个输出,然后服务器简单地将所有参与者的输出相加以获得最终预测结果。相对于有模型拆分的垂直联邦学习,这种无模型拆分的垂直联邦学习中的每个参与者都可以访问输出层,这带来了更严重的标签泄漏风险。我们将在下文中详细介绍此风险并演示攻击者据此发起的直接标签攻击。
有模型拆分的垂直联邦学习是基于拆分学习的思想设计的。拆分学习的基本做法是:将整个机器学习模型在特定的中间层“切割层”(cut layer)拆分为顶部模型和一些底部模型。在这种架构下,每个参与者都运行一个底部模型,用于学习其本地数据的隐藏层表示。服务器端运行一个顶部模型,其输入为每个参与者的隐藏层表示的聚合(Concatenate)结果,输出即为整个垂直联邦学习模型的最终预测结果。联邦反向传播则通过共享切割层的梯度来完成。在有模型拆分的垂直联邦学习架构中,参与者无法访问整个垂直联邦学习模型的最后一层。因此,这种架构下,服务器端存储的标签更加安全。
无论是对于上述哪种垂直联邦学习架构,在训练过程完成后,每个参与者仍然保留其本地特征数据和训练好的底部模型。因此,在测试阶段进行推理时,垂直联邦学习要求所有参与者都必须继续协助计算。这与水平联邦学习的情况不同:水平联邦学习训练完成后,可以将训练好的全局模型共享给每个参与者,使得参与者可以独立进行本地推理。
在现实世界中,很难构建完全可信的第三方服务器,因此垂直联邦学习中的服务器通常由其中一个参与者管理,如第一章总览图中所示。在这种垂直联邦学习结构中,有一个参与者同时持有标签和部分特征数据,并同时运行一个底部模型和顶部模型。这种架构与上文描述的有模型拆分的垂直联邦学习没有本质区别,所以本文仅针对此架构进行研究。实际上,这种架构非常适用于以下现实商业场景:一个参与者只拥有标签,但拥有很少的特征,因此它希望通过合并来自其他参与者的更多特征来提高模型性能。
(本文只选取原文中部分章节,更多精彩内容敬请期待后续出版的《网络安全研究进展》)
作者简介
付冲,浙江大学计算机科学与技术学院在读博士,2019年7月本科毕业于吉林大学计算机科学与技术学院。感兴趣的研究方向为人工智能安全,目前主要关注联邦学习中的隐私威胁、MLaas面临的对抗样本攻击、人工智能模型后门防御等问题。研究成果发表于IEEE S&P、USENIX Security等知名国际会议。
相关阅读
【DSN 2022论文分享】Invoke-Deobfuscation: 基于AST和语义保持的PowerShell脚本反混淆
【NDSS 2022论文分享】Android系统跨上下文不一致的访问控制
【NDSS 2022论文分享】EMS:试验数据驱动的高效变异模糊测试系统