1 INTRODUCTION
----
介绍
在大量可用数据和硬件进步的推动下,机器学习在学术研究和现实世界应用中经历了巨大的增长。与此同时,机器学习对安全、隐私和公平的影响也越来越受到关注。在隐私方面,几乎所有在线服务都会收集我们的个人数据,并用于训练为机器学习应用程序提供动力的模型。然而,目前尚不清楚这些模型是否以及如何揭示有关其训练所用数据的信息。如果使用位置、健康记录或身份信息等敏感数据来训练模型,那么允许对手从模型中提取此信息的攻击是非常不可取的。同时,如果私人数据在未经所有者同意的情况下被使用,同样类型的攻击可以用来确定数据的未经授权的使用,从而有利于用户的隐私。
除了对攻击本身越来越感兴趣之外,人们越来越有兴趣揭示导致隐私泄露的原因以及模型在哪些条件下容易受到不同类型的隐私相关攻击。模型泄露信息的原因有多种。其中一些是结构性的,与模型的构建方式有关,而另一些则是由于敏感数据样本的泛化能力差或记忆力差等因素造成的。对抗鲁棒性的训练也可能是影响信息泄漏程度的一个因素。
本次调查的重点是针对机器学习算法的隐私和机密攻击。也就是说,尝试提取有关训练数据的信息或提取模型本身的攻击。一些现有的调查 [8, 103] 部分覆盖了隐私攻击,还有一些其他关于该主题的同行评审作品 [2, 52]。然而,这些论文要么水平太高,要么过于专门针对一小部分攻击。
机器学习的安全性以及对抗性攻击对模型性能的影响已在社区中得到广泛研究,多项调查强调了该领域的主要进展[8,72,80,104,132]。根据[8]中提出的分类法,对机器学习系统的攻击分为三种类型:i)针对完整性的攻击,例如导致特定样本错误分类的规避和中毒后门攻击,ii)针对系统可用性的攻击,例如如试图最大化错误分类错误的中毒攻击,以及 iii)针对隐私和机密的攻击,即试图推断有关用户数据和模型的信息的攻击。虽然所有针对机器学习的攻击本质上都是对抗性的,但“对抗性攻击”一词通常用于指与安全相关的攻击,更具体地说是指对抗性样本。在本次调查中,我们仅关注隐私和机密攻击。
严格来说,提取模型结构和参数信息的攻击是针对模型机密性的攻击。做出包含模型提取攻击的决定是因为在现有文献中,对模型机密性的攻击通常与隐私攻击归为一类[8, 104]。另一个重要原因是窃取模型功能也可能被视为侵犯隐私。维尔等人。 [127] 认为,成员资格推断(第 4.1 节)等隐私攻击会增加机器学习模型根据欧盟《通用数据保护条例》(GDPR)法被归类为个人数据的风险,因为它们可以使个人变得可识别。尽管模型目前尚未被 GDPR 涵盖,但它们可能会被视为个人数据,然后针对它们的攻击可能与针对个人数据的攻击属于同一范围。由于模型提取攻击可以用作其他攻击的垫脚石,这一事实可能会进一步复杂化。
据我们所知,这篇论文是第一篇针对机器学习的隐私相关攻击的全面调查。它回顾并系统分析了 50 多篇研究论文。这些论文于2014-2022年间发表在安全、隐私和机器学习领域的顶级会议和期刊上。使用与“隐私”、“机器学习”相关的关键字搜索以及攻击本身的名称(“成员资格推断”、“模型反转”、“属性推断”、模型窃取)在 Google Scholar 中选择了一组初始论文、“模型提取”等)。选择初始论文集后,通过基于参考文献的向后搜索以及基于引用它们的论文的向前搜索来添加更多论文。
本文的主要贡献是:
- 第一个针对机器学习系统隐私和机密性攻击的全面研究。
- 针对机器学习隐私的攻击的统一分类。
- 讨论机器学习系统中隐私泄露的可能原因。
- 深入介绍攻击的实施情况。
- 为防止不同攻击而测试的不同防御措施的概述。
本文的其余部分组织如下:第 2 节介绍了与机器学习相关的一些基本概念,这些概念与第 6 节中介绍的攻击的实施相关。第 3 节中介绍了威胁模型和攻击的分类它们的定义是第 4 节的重点。在第 5 节中,我们介绍了迄今为止已知或已调查的机器学习泄漏的原因。第 7 节的重点是对每种攻击类型提出的防御措施的概述。最后,第 8 节包含对当前和未来研究方向的讨论,第 9 节提供了结论性意见。
2 MACHINE LEARNING
----
机器学习
机器学习(ML)是一个研究从数据中学习而无需明确编程的问题的领域。本节的目的是提供与本次调查相关的机器学习的非详尽概述,并促进后续章节中的讨论。我们简要介绍不同机器学习范式和分类以及机器学习架构的高级视图。最后,我们对模型训练和推理进行简要讨论。对于感兴趣的读者,有几本教科书(例如 [9,33,88,113])提供了对该主题的全面介绍。
2.1 Types of Learning
----
2.1 学习类型
在非常高的层面上,机器学习传统上分为三个主要领域:监督学习、无监督学习和强化学习。每个区域都有自己的细分区域。多年来,出现了新的类别来捕获在这三个领域中无法轻易实现的学习类型,例如半监督和自监督学习,或其他对模型进行分类的方法,例如生成模型和判别模型。
2.1.1 监督学习。
监督学习。在监督学习环境中,带有参数 的模型 是输入 x 和输出 y = (x;
) 之间的映射函数,其中 x 是维度为 n的属性或特征的向量。根据学习任务,输出或标签 y 可以采用不同的维度。用于训练模型的训练集D是一组数据点
,其中m是输入输出对的数量。最常见的监督学习任务是分类和回归。监督学习算法的示例包括线性回归、逻辑回归、决策树、支持向量机等等。迄今为止,绝大多数攻击论文都集中在使用深度神经网络的监督学习上。
2.1.2 无监督学习。
在无监督学习中,没有标签 y。训练集 D 仅包含输入 x𥠀。无监督算法旨在发现数据中的结构或模式,而无需访问标签。无监督学习中的常见任务是聚类特征学习、异常检测和降维。在本次调查中,对无监督学习的攻击主要表现为对语言模型的攻击。
2.1.3 强化学习。
强化学习涉及对环境进行观察并利用这些观察来采取行动以最大化奖励信号的代理。在最一般的表述中,这组动作不是预先定义的,奖励不一定是立即的,但可以在一系列动作之后发生[123]。据我们所知,尚未有针对强化学习的隐私相关攻击的报道,但它已被用来发起其他隐私相关的攻击[98]。
2.1.4 半监督学习。
在许多现实环境中,标记数据量可能明显小于未标记数据量,并且获得高质量标签的成本可能太高。半监督学习算法旨在使用未标记的数据来学习更高级别的表示,然后使用标记的示例来指导下游学习任务。半监督学习的一个例子是使用无监督学习技术,例如对未标记数据进行聚类,然后使用分类器从每个聚类中分离出代表性训练数据。其他值得注意的例子是生成模型,例如生成对抗网络(GAN)[34]。
2.1.5 生成学习和判别学习。
学习算法的另一个分类是判别算法与生成算法。判别分类器尝试对条件概率 p (y|x) 进行建模,即,它们尝试根据输入数据 x 直接学习区分不同类的决策边界。此类算法的示例是逻辑回归和神经网络。生成分类器尝试捕获联合分布 p (x, y)。这种分类器的一个例子是朴素贝叶斯。通常,生成模型不需要标签,但它们尝试显式或隐式地建模 p(x)。值得注意的例子是在给定一些输入文本或 GAN 和变分自动编码器 (VAE) [62] 的情况下预测下一个单词的语言模型,它们能够生成与训练数据的属性相匹配的数据样本。
2.2 学习架构
从系统架构的角度来看,我们将学习过程视为集中式或分布式。这种分类背后的主要标准是数据和模型是否并置。
2.2.1 集中学习。
在集中式学习环境中,数据和模型是并置的。可以有一个或多个数据生产者或所有者,但所有数据都收集在一个中心位置并用于模型的训练。数据的位置可以位于同一数据中心的单台机器甚至多台机器中。虽然以多个 GPU 和 CPU 的形式使用并行性可以被认为是一种分布式学习模式,但它不适合我们,因为我们使用模型和数据搭配作为区分集中式学习和分布式学习的主要标准。集中式学习架构包括机器学习即服务 (MLaaS) 设置,其中数据所有者将其数据上传到基于云的服务,该服务的任务是创建最佳模型。
2.2.2 分布式学习。
推动分布式学习架构需求包括大量数据的处理、计算和内存容量的需求,甚至是隐私问题。从分布式学习的现有变体中,我们提出了那些从隐私角度相关的变体,即协作或联合学习(FL)、完全分散或点对点(P2P)学习和分割学习。
协作或联合学习是一种分散式培训,其目标是从存储在多个远程设备或位置的数据中学习一个全局模型[67]。主要思想是数据不会离开远程设备。数据在本地处理,并用于更新本地模型。中间模型更新被发送到中央服务器,中央服务器聚合它们并创建全局模型。然后,中央服务器将全局模型发送回所有参与者设备。
在完全分散的学习或点对点(P2P)学习中,没有中央编排服务器。相反,设备以 P2P 方式进行通信,并直接与其他设备交换更新。从隐私角度来看,这种设置可能很有趣,因为它减轻了信任中央服务器的需要。然而,对 P2P 系统的攻击与此类设置相关,需要予以考虑。到目前为止,还没有关于此类系统的基于隐私的攻击的报告;尽管它们将来可能会变得相关。此外,根据同伴之间共享的信息类型,对协作学习的几种攻击可能适用。
在分割学习中,训练好的模型被分割成两个或多个部分。边缘设备保留深度学习模型的初始层,集中式服务器保留最终层 [38, 59]。拆分的原因主要是为了通过发送中间模型输出而不是输入数据来降低通信成本。此设置还适用于远程或边缘设备资源有限且连接到中央云服务器的情况。后一种情况对于物联网 (IoT) 设备很常见。
2.3 训练和推理
有监督的机器学习模型的训练通常遵循经验风险最小化(ERM)方法[126],其目标是找到最小化风险或目标函数的参数,其计算为训练数据集的平均值:
其中l (·) 是损失函数,例如交叉熵损失,m是数据集D中数据点的数量。ERM背后的想法是训练数据集是从学习任务的未知真实数据分布中提取的子集。由于我们不知道真实的数据分布,因此我们无法最小化真实的目标函数,但我们可以最小化我们拥有的数据样本的估计目标。在某些情况下,目标函数中会添加正则化项,以减少过度拟合并稳定训练过程。
2.3.1 集中设置的训练。
训练过程通常涉及迭代优化算法,例如梯度下降[13],其目的是通过遵循梯度引起的路径来最小化目标函数。当数据集很大时(深度神经网络经常出现这种情况),采取一个梯度步骤的成本就太高了。在这种情况下,首选梯度下降的变体,其中涉及对小批量数据采取的步骤。一种这样的优化方法称为随机梯度下降(SGD)[107],定义如下:
其中 是学习率,g 是损失函数相对于参数 的梯度。在 SGD 的原始公式中,梯度 g 是根据 D 中的单个数据点计算的,随机选择,因此称为随机。在实践中,通常使用大小为 m′ 的小批量,其中 m′ < m,而不是单个数据点来计算每个步骤的损失梯度(公式 3)。小批量降低了随机梯度估计的方差,但大小m′是一个可调参数,可以影响算法的性能。虽然 SGD 仍然相当流行,但已经提出了一些改进,试图通过增加动量 [105]、使用自适应学习率(例如在 RMSprop 算法 [45] 中)或通过结合这两种改进来加速收敛,如Adam 算法[61]。
2.3.2 分布式环境中的训练。
联邦学习最流行的学习算法是联邦平均[82],其中每个远程设备根据本地存储的数据计算一步梯度下降,然后与参数服务器共享更新的模型权重。参数服务器对所有远程参与者的权重进行平均并更新全局模型,该模型随后再次与远程设备共享。它可以定义为:
其中 K 是远程参与者的数量,参与者 k 的参数 已根据方程 2 和 3 在本地计算。
来自分布式计算领域的另一种方法是 downpour(或同步)SGD [22],它建议与聚合它们的参数服务器共享分布式设备的损失梯度,然后执行一步梯度下降。它可以定义为:
其中 是参与者 k 根据公式 3 使用本地数据计算的梯度,
是远程参与者中的数据点数量,M是训练数据中的数据点总数。等式5计算完成后,参数服务器将更新后的模型参数
+1发送给远程参与者。
2.3.3 推论。
一旦模型经过训练,它们就可以用于对以前未见过的数据进行推断或预测。在此阶段,假设模型参数是固定的,尽管模型通常会受到监控、评估,并在必要时进行重新训练。本次调查中的大多数攻击都是模型生命周期推理阶段的攻击,除了通常在训练期间执行的协作学习攻击。
3 威胁模型
为了从隐私角度理解和防御机器学习中的攻击,拥有环境、不同参与者和要保护的资产的通用模型非常有用。从威胁模型的角度来看,敏感且可能受到攻击的资产是训练数据集 D、模型本身、其参数 、其超参数及其架构。此威胁模型中确定的参与者是:
(1) 数据所有者,其数据可能敏感。
(2) 模型所有者,他们可能拥有也可能不拥有数据,并且可能愿意也可能不愿意共享有关其模型的信息。
(3) 模型消费者,通常通过某种编程或用户界面使用模型所有者公开的服务。
(4) 对手也可以像普通消费者一样访问模型的接口。如果模型所有者允许,他们可以访问模型本身。
图 1 描述了威胁模型下的资产和已识别的参与者,以及信息量和可能的行动。该威胁模型是一个逻辑模型,它并不排除其中一些资产可能并置或分布在多个位置的可能性。
图 2. 协作学习环境中的威胁模型。虚线代表数据和信息流,而实线代表可能的操作。红色是对手的行动,可在威胁模型下进行。在此设置中,对手可以放置在参数服务器上或本地。为了简单起见,没有描绘模型消费者。在联邦学习中,本地模型所有者也可以是模型消费者。
分布式学习模式,例如联合学习或协作学习,引入了对手的不同空间模型。在联邦学习环境中,对手可以与全局模型并置,但也可以是本地攻击者。图 2 显示了协作学习环境中的威胁模型。多个参与者的存在也使得对手有可能串通联手。
针对机器学习模型的不同攻击面可以根据对抗性知识进行建模。知识范围各不相同,从有限的(例如可以访问机器学习 API)到了解完整的模型参数和训练设置。在这两个极端之间,存在一系列可能性,例如模型架构、其超参数或训练设置的部分知识。对手的知识也可以从数据集的角度来考虑。在大多数审查的论文中,作者假设对手不了解训练数据样本,但他们可能对底层数据分布有一些了解。
从分类学的角度来看,对手不了解模型参数、架构或训练数据的攻击称为黑盒攻击。黑盒系统的一个示例是机器学习即服务 (MLaaS),其中用户通常提供一些输入并从云中托管的预训练模型接收预测向量或类标签。大多数黑盒论文都假设预测向量的存在。以类似的方式,白盒攻击是指对手在训练期间可以完全访问目标模型参数或其损失梯度。例如,在大多数分布式训练模式中就是这种情况。在这两个极端之间,还有一些攻击做出比黑盒攻击更强的假设,但不假设完全访问模型参数。我们将这些攻击称为部分白盒攻击。在这里需要补充的是,尽管可能需要某种形式的预处理,但大多数工作都假设对预期输入有充分的了解。
从分类学的角度来看,攻击时间是另一个需要考虑的参数。该领域的大多数研究都是在处理推理期间的攻击,但是大多数协作学习攻击都假设在训练期间访问模型参数或梯度。模型训练阶段的攻击为不同类型的对抗行为提供了可能性。被动或诚实但好奇的攻击者不会干扰训练过程,他们只是试图在训练期间或之后推断知识。如果对手以任何方式干扰训练,他们就会被视为主动攻击者。最后,由于本次调查的重点是基于数据或机器学习模型的无意信息泄露的隐私攻击,因此没有涵盖基于安全的攻击,例如模型中毒或逃避攻击,或针对基础设施的攻击托管数据、模型或提供的服务。
4 种攻击类型
在与隐私相关的攻击中,对手的目标是获取原本不打算共享的知识。这些知识可以与训练数据 D 或模型 f相关,甚至与数据的属性(例如无意编码的偏差)相关。在我们的分类中,研究的隐私攻击分为四种类型:成员推理、重建、属性推理和模型提取。
4.1 成员推理攻击
成员推断试图确定输入样本 x 是否被用作训练集 D 的一部分。这是最流行的攻击类别,由 Shokri 等人首先引入。 [116]。该攻击仅假设了解模型的输出预测向量(黑盒),并且是针对监督机器学习模型进行的。此类白盒攻击也是一种威胁,尤其是在协作环境中,对手可以发起被动和主动攻击。如果可以访问模型参数和梯度,那么就准确性而言,这可以实现更有效的白盒成员推理攻击[90]。除了监督模型之外,GAN 和 VAE 等生成模型也容易受到成员推理攻击 [16,39,44]。在这种情况下,攻击的目标是使用数据生成组件的不同程度的知识来检索有关训练数据的信息。最后,可以从数据所有者的不同角度来看待这些类型的攻击。在这种情况下,数据所有者可能有能力审核黑盒模型,以查看数据是否在未经授权的情况下被使用[46, 118]。
4.2 重建攻击
重建攻击尝试重新创建一个或多个训练样本和/或它们各自的训练标签。重建可以是部分的或全部的。以前的工作还使用术语属性推断或模型反转来描述攻击,在给定输出标签和某些特征的部分知识的情况下,尝试恢复敏感特征或完整数据样本。出于本次调查的目的,所有这些攻击都被视为更大的重建攻击集的一部分。术语“属性推断”已在隐私相关文献的其他部分中使用,用于描述通过利用可公开访问的数据推断目标用户的敏感“属性”的攻击 [31, 53]。这些攻击不属于本次审查的范围,因为它们是直接针对个人数据而不是机器学习模型发起的。
此类作品之间的主要区别在于创建数据实际重建的作品 [41,134,138,145,148] 和创建不一定属于敏感特征的类代表或可能值的作品训练数据集 [28,43,47,109,138]。在分类模型中,后一种情况仅限于类由一种类型的对象组成的场景,例如同一个人的面孔。虽然这限制了攻击的适用性,但在某些情况下它仍然是一个有趣的场景。
4.3 属性推断攻击
提取未明确编码为特征或与学习任务不相关的数据集属性的能力称为属性推断。属性推断的一个示例是提取有关患者数据集中女性和男性比例的信息,而该信息不是数据集的编码属性或标签。或者拥有一个执行性别分类的神经网络,可以用来推断训练数据集中的人是否戴眼镜。在某些情况下,这种类型的泄露可能会影响隐私。这些类型的属性还可以用于更深入地了解训练数据,这可能导致对手使用此信息创建类似的模型 [3],甚至当学习到的属性可用于检测系统的漏洞时,甚至会产生安全隐患[29]。
属性推断旨在提取无意中从模型中学到的、与训练任务无关的信息。即使是很好的概括模型也可以学习与整个输入数据分布相关的属性,有时这对于学习过程是不可避免的甚至是必要的。从对抗的角度来看,更有趣的是可以从训练数据的特定子集或最终关于特定个体的属性中推断出来。
到目前为止,属性推断攻击的目标要么是数据集范围的属性 [3,29,78,117],要么是一批数据中属性的出现 [84]。后一种攻击是针对模型的协作训练进行的。
4.4 模型提取攻击
模型提取是一类黑盒攻击,攻击者试图通过创建行为与受到攻击的模型非常相似的替代模型 来提取信息并可能完全重建模型。替代模型有两个主要目标。首先,创建与测试集中目标模型f的准确性相匹配的模型,该测试集是从输入数据分布中提取并与学习任务相关的[63,86,98,124]。其次,创建一个替代模型
,在一组不一定与学习任务相关的输入点处匹配 f [21,50,56,124]。贾吉尔斯基等人。 [50]将前者称为任务精度提取,将后者称为保真度提取。在任务准确性提取中,对手有兴趣创建一个替代品,该替代品可以同样好或更好地学习与目标模型相同的任务。在后一种情况下,对手的目标是创建一个尽可能忠实地复制 f 决策边界的替代品。这种类型的攻击可以稍后用作发起其他类型攻击(例如对抗性攻击 [56, 103] 或成员推理攻击 [90])之前的垫脚石。在这两种情况下,都假设对手希望尽可能高效,即使用尽可能少的查询。在某些工作中假设了解目标模型架构,但如果攻击者选择与受攻击模型具有相同或更高复杂度的替代模型,则并非绝对必要[56,63,98]。
除了创建替代模型之外,还有一些方法专注于从目标模型中恢复信息,例如目标函数中的超参数[131]或有关各种神经网络架构属性的信息,例如激活类型、优化算法、层等[97]。
5 隐私泄露的原因
机器学习模型泄漏的条件是过去几年开始出现的一个研究课题。某些模型因其构建方式而泄漏信息。这种情况的一个例子是支持向量机 (SVM),其中支持向量是来自训练数据集的数据点。其他模型,例如线性分类器,相对容易“逆向工程”,并且只需拥有足够的输入/输出数据对即可检索其参数[124]。深度神经网络等较大的模型通常具有大量参数,简单的攻击是不可行的。然而,在某些假设和条件下,可以检索有关训练数据或模型本身的信息。