机器学习中的成员推断攻击与防御研究
2021-08-24王鹏焱
王鹏焱
(安徽理工大学 计算机科学与工程学院,安徽 淮南232001)
0 引言
机器学习在智能医疗、图像识别、推荐系统、情感分析[1-4]等领域得到快速的发展,加速了传统行业的智能化发展。然而,用于训练机器学习模型的大量数据不可避免地包含敏感信息,机器学习的蓬勃发展在改变人们生活方式的同时,也给数据隐私安全带来严峻的威胁。例如,一个基于癌症病人信息训练的模型,如果知道了某病人是该模型的训练集成员,可以直接推断出该病人的患病信息并由此可能引发歧视问题[5]。这种推断数据是否存在于训练集的算法称为成员推断攻击,近年来成为研究者关注的热点。
2017年,Shokri等人[6]首次提出针对机器学习模型的成员推断攻击,通过分辨机器学习模型在训练集和非训练集之间的输出差异来判断数据是否存在于目标模型的训练数据集中。鉴于在黑盒模式下,攻击者无法获得这种分辨能力,他们训练一组模拟目标模型行为的“影子模型”来解决这个问题.首先,合成与目标模型训练集相似的数据;其次,利用合成数据建立一系列“影子模型”。与目标模型相比,数据是否属于训练集的成员,即影子模型的数据隶属度是已知的;最后,训练攻击模型分辨目标模型在不同数据集上的行为差异,从而实现成员推断攻击。
自从成员推断攻击的概念被提出以后,产生了很多攻击和防御算法。既有监督学习中Yeom等[7]提出对于机器学习模型的通用攻击,也有Hilprecht等[8]提出只针对生成模型VAEs的白盒攻击,而防御策略主要有正则化、对抗性训练、对抗样本等。虽然目前提出了大量的防御方法,但却无法完全防御成员推断攻击,很多方法都存在降低模型精度的问题。
本文总结了目前主流的成员推断攻击和防御方法,并从这两个角度出发,进行相关的介绍和总结。
1 成员推断攻击相关概念
1.1 机器学习技术
机器学习在二十世纪下半叶得到快速发展并逐渐成为人工智能的核心问题之一。
机器学习旨在研究如何利用知识和经验改善算法的性能,它可以从训练数据中自动挖掘潜在的知识构建数学模型,利用模型实现对未知的数据做出预测,训练过程如图1所示。
图1 机器学习解决问题示意图
机器学习根据有无反馈可以分为3类:监督学习、无监督学习和强化学习。监督学习利用已知类别的训练数据通过监督学习算法训练得到一个最优模型,该模型可以对给定的输入进行预测输出。与监督学习不同,无监督学习旨在对未标记进行数据的学习来揭示数据内在的性质和规律,根据输入变量是否属于内在的规律作出反应。强化学习[9]通过观测环境的状态,学习某个策略从而获得最大化的预期收益。目前成员推断攻击主要集中在监督学习中的模型判别和非监督学习的模型生成上。
1.2 敌手知识
敌手指的是实施成员推断攻击的攻击者,敌手知识包括模型的训练数据集、学习算法、模型结构参数等信息。根据敌手掌握模型信息的多少可以将攻击场景分为白盒场景、黑盒场景。白盒攻击者可以获得网络模型结构、内部参数、训练数据集等信息,并能够在攻击过程中计算梯度变化等信息,以实现成员推断攻击。黑盒攻击者对模型结构、参数和训练集信息等一无所知,只有对模型的访问权限,攻击者通过识别目标模型在不同数据上的输出差异性完成推断攻击。
2 成员推断攻击
本节将对成员推断攻击进行回顾,介绍几种比较典型的成员推断攻击方法。根据目标模型学习环境不同,将攻击划分为判别模型攻击、生成模型攻击以及联邦学习攻击。
2.1 针对判别模型的攻击
Shokri等人[6]在2017年提出在黑盒情景下的成员推断攻击,为了识别出目标模型在训练数据和非训练数据行为上的差异性,创造性地构建一组模拟目标模型行为的影子模型,利用对影子模型训练集的了解以及模型在不同数据上的预测输出来构建攻击模型,使其能够捕获目标模型在不同隶属度数据之间的输出差异,达到数据推断的目的。由于Shokri等人提出的攻击需要对目标模型结构、训练数据集分布有所了解以及较高的计算成本,严重限制了成员推断攻击的适用范围。
为了降低成员推断攻击的成本,扩大适用范围,Salem等人[10]提出三种简化的成员推断攻击方法:第一种只训练一个影子模型,并且选择影子模型输出概率向量中最大的三个值作为攻击模型的特征,同时也放宽了影子模型需与目标模型结构相同的假设;第二种数据迁移攻击,使用与目标模型训练集不同分布的现有数据集训练影子模型;第三种阈值选择攻击,提取目标数据在目标模型输出向量中的最大值,大于选定的阈值时,即判定为训练集成员。实验证明,所提方法获得与Shokri等人[6]相似的攻击结果,大大减少攻击成本以及被检测到的可能性。
Long等人[11]提出三种建立在影子模型基础上的成员推断攻击,第一种攻击被称为无目标攻击,与Shokri等人提出的攻击方式相似,使用影子模型的概率向量和标签训练攻击模型。其余分别为基于距离和基于频率的目标攻击,为了实现针对特定实例的攻击,Long训练两组影子模型,两组模型的差异为训练集是否包含 x,利用KL散度衡量x在两组模型上的平均概率分布与目标模型概率分布的相似性。在基于频率的攻击中,比较两组影子模型对x做出与目标模型相同预测结果的模型个数的大小,若包含x的那组影子模型正确率最高,即认为x是训练集的一员。实验证明,与Shokri的非目标攻击相比,基于距离的目标攻击具有更高的准确性。
上述研究都是利用目标模型返回的置信度信息完成成员推断攻击,如果目标模型只返回预测标签值,这些攻击将不再适用。针对这个问题,Li Zheng等人[12]利用标签信息,提出基于转移和基于扰动两种成员推断攻击方法。基于转移的攻击方法采取影子模型技术,目标模型高度相似的影子模型可以反映数据样本在目标模型中的成员状态,依靠影子模型直接发起攻击,获得目标数据在影子模型上的交叉熵损失,认为较小的损失值则更有可能是成员数据。基于扰动的攻击,他们认为改变成员数据的类别与改变非成员数据类别相比更难,所需添加的噪音更多,因此使用Laplace距离计算改变类别所需的噪音大小,将噪音大于阈值的样本视为成员数据。
除了黑盒情形下进行成员推断攻击,Nasr等人[13]利用随机梯度下降SGD算法的隐私缺陷设计了白盒成员推断攻击。在SGD算法中,为了最小化模型的训练损失,在训练过程中利用每个数据的损失梯度来指导参数方向和大小的改变,保证模型的训练损失接近于零。这样,每个数据训练集中的样本都会在模型参数上损失函数的局部梯度上留下明显的痕迹,利用这种差异,达到推断攻击的目的。
2.2 针对生成模型的攻击
Hayes等人[14]首先提出了针对生成模型的成员推断攻击,他们介绍了在有限辅助知识、无辅助知识两种黑盒情景以及白盒情景下的成员推断攻击。Hayes等人基于这样的假设:过拟合的GAN模型,其训练集样本在判别器上会得到更高的预测向量。利用这种假设,在白盒攻击中将待测数据集输入给判别器,然后对输出的概率向量进行降序排序,最大概率值的几个样本被视为训练集样本。在无辅助知识的黑盒攻击中,由于没有关于数据的真实标签,因此攻击者重新训练本地GAN,从而将黑盒攻击转变为对本地GAN的白盒攻击。实验表明,与无辅助知识的黑盒攻击相比白盒攻击能够获得更高的攻击精度。
Hilprecht等人[8]基于过度拟合的生成器倾向于输出更接近训练数据的样本,而不是非训练数据的假设,提出适用于GAN和VAEs的成员推断攻击。第一种适用于GAN的蒙特卡洛攻击,使用欧式距离计算生成器生成样本与目标样本之间的距离,如果两者距离接近就利用蒙特卡洛积分来衡量目标样本属于训练集的概率。第二种为针对VAEs的重构攻击,将重构样本与x间的重构损失应用于成员推断攻击,损失值越小的样本属于训练数据的概率值就越高。
Chen等人[15]对生成模型上的成员推断攻击进行进一步的研究,提出了一种适用于所有知识背景下的通用成员推断攻击。在全黑盒攻击中,攻击者从目标生成模型的输出中找到最接近x的重构样本,或者当在拥有访问隐变量的部分黑盒情形下,目标生成模型利用隐变量合成重构样本,利用重构样本与x之间的距离计算x属于训练集的概率,他们认为,在给定生成器的访问权限的情况下,如果生成器能够很好地重构样本x,那么x就是训练集成员。
2.3 针对联邦学习的攻击
前面提到的攻击均属于针对集中式学习模型,在联邦学习中也存在成员推断攻击[13,16-17],Nasr等人[13]首次提出了针对联邦学习的主动成员推断攻击,其构想存在两种攻击者:(1)攻击者是中心服务器:攻击者能在每个时间段上接收到所有节点上传的信息,也可以主动修改参与者的全局参数视图以获取更多关于某个参与者训练集的相关信息。(2)攻击者是参与者:攻击者在某一单位时间内可以观察到全局参数,并通过修改自身的参数,获取其他所有参与者信息,达到攻击的目的。
2.4 攻击方法总结
为了总结针对机器学习的成员推断攻击,本文从先验知识、学习场景、目标模型类型、应用领域4个角度对经典的攻击方法进行比较。从表1可以看出,早期的攻击算法以针对判别模型的攻击最为常见,随着研究的深入,逐渐倾向于生成模型以及联合式的学习场景。
表1 经典的成员推断攻击方法对比
3 成员推断攻击的影响因素
成员推断攻击主要利用目标模型在训练数据和非训练数据上的预测向量间的差异性,即目标模型在训练数据上的预测向量分布比非训练数据更集中。这种差异性是过拟合模型的主要体现,因此,模型的过拟合与成员推断攻击之间有很大的关联。Shokri等人[6]研究模型的过拟合程度对成员推断攻击的影响,他们通过实验证明模型的过拟合程度越强,模型就越容易受到成员推断攻击。Yeom[7]和Long等人[18]的研究进一步支持了过拟合与成员推断攻击之间的关系,即过拟合是成员推断攻击的充分条件,但不是必要条件,一个拟合很好的模型上仍然存在着成员推断攻击的风险。
Truex等人[17]通过在七个不同数据集和四种机器学习模型上的实验来研究影响攻击的因素,他们发现除了过拟合,成员推断攻击还与训练数据集和模型结构等因素密切相关。具体来说,训练数据集的复杂度或者类别个数的增加都将提高攻击精度。在模型方面,成员推断攻击在决策边界容易受到特定实例的目标模型上可以获得更好的表现。他们还表明,如果攻击者是学习过程中的参与者,那么在联邦学习中攻击者可以获得更高的攻击性能。此外,Tonni等人[19]进一步研究数据属性以及模型属性如训练数据集的大小、类平衡、模型的参数、公平性[20]对成员推断攻击的影响。
4 防御方法
现有文献中已经提出多种防御机制来减轻成员推断攻击的威胁,将防御策略总结如下。
4.1 差分隐私
差分隐私通过向数据中添加噪音,使得攻击者无法通过模型的输出分辨出特定数据是否存在于模型训练数据集,保护个体用户的隐私。差分隐私和成员推断的目的都与推断数据是否存在于目标模型训练集中有关。已有的文献表明[21-24],将差分隐私应用到模型中,可以降低成员推断攻击的成功率。然而,Rahman[22]指出,差分隐私在提高防御能力的同时,会降低模型的实用性,所以研究如何利用差分隐私,在保证模型性能的前提下,实现对成员推断攻击的防御就显得尤为重要。
4.2 控制预测结果
如前文所述,成员推断攻击主要利用从目标模型返回的结果,通过识别在训练数据和非训练数据上的预测向量间的差异性完成攻击,所以可以对预测结果通过两方面的控制达到防御的目的:一是控制目标模型返回的预测向量,在不影响模型输出结果的前提下,修改预测向量或减少预测向量的维度[6,17,25];另一方面修改模型的结构,减少模型在测试数据和训练数据上行为的差异,比如减少过拟合、正则化等[6,11,17,28-30]。
针对预测向量的防御,Jia等人[25]提出名为Memguard的防御方法,由于攻击模型是一个二分类的机器学习模型,而机器学习模型容易受到对抗样本的扰动。基于这样观察,Jia在置信度向量中添加噪声扰动,在不改变目标模型对数据的预测结果的前提下,混淆攻击模型对目标数据成员属性的判断,完成对成员推断的防御。在减少预测向量的维度方面,Shokri等人[6]和 Truex等人[17]提出限制预测向量的维度,甚至极端情况下只输出预测标签,最大限度地减少概率向量泄露的信息。但是,这类方法对防御的效果并不好,Li Zheng等人[12]和Choquette等人[31]证明即使模型只输出模型的预测标签,依然存在着成员隐私泄露的风险。
针对模型结构的防御,Salem等人[10]提出在神经网络中添加Dropout层或通过集成学习的方法来减少模型的过拟合。Shokri等人[6]利用正则化技术,他们使用常规的L2范数作为惩罚器,随着惩罚力度的加强,模型防御攻击的能力就越强大。但是Truex等人[17]指出利用这种方法防御时,会降低模型的分类精度。为此,Nasr等人[28]提出一种对抗防御策略,采取和GAN类似的训练策略,将成员推断攻击最大增益作为正则化项,在最坏的情况下找到使分类模型损失最小化的模型。该策略不仅保证隐私泄露风险最小化,同时也起到了正则化的作用,提高模型的泛化能力。
5 成员推断攻击现状分析与未来展望
从数据类型来看,针对机器学习模型的成员推断攻击从最初的仅针对图像的攻击,发展到当前阶段的针对文本[32-33]、语音[34]等各类数据的成员推断攻击。
从威胁模型方面来看,最初的成员推断攻击大多针对比较简单的监督式算法,随着攻击方法的不断改进,现已在 GAN、VAEs等非监督式学习算法上获得成功。然而,当前的成员推断攻防技术在实际场景中的应用仍存在着很多不足和限制,在后续的研究工作中,研究者应当对以下内容作进一步研究:
(1)研究针对其他数据类型的成员推断攻击。当前对成员推断攻击的研究大多针对图像数据,虽然一些研究已经将攻击扩展到文本、语音等数据类型,但和机器学习算法在生活中的应用场景相比,当前研究的数据类型仍仅占比较小的比例。
(2)研究隐蔽性更高的成员推断攻击。现有的方法大多需要对目标模型发起多次查询请求,这不仅会引起庞大的计算开销,而且容易暴露攻击行为,所以需要研究隐蔽性更高的成员推断攻击方法。
(3)研究更有效的成员推断攻击防御方法。对于防御者而言,之所以研究成员推断攻击技术,最终是为了给保护成员隐私的研究提供思路。现有的差分隐私、正则化等技术虽然可以起到一定的防御作用,然而却有着效率代价比不高的问题。因此,研究者应当在保证模型性能的前提下,进行成员推断攻击防御技术的研究。
6 结论
随着海量的数据,高性能计算技术推动机器学习的蓬勃发展,其安全问题越发引起人们的重视。成员推断攻击作为机器学习模型的安全威胁之一,能够推断模型训练集的成员隐私信息,吸引了一大批国内外学者的兴趣和研究,并且已经取得了大量的研究成果。本文针对机器学习领域的成员推断问题,首先给出了成员推断攻击和成员推断攻击的相关概念;然后列出了经典的成员推断攻击算法及其在不同领域的研究成果,并分析了影响成员推断攻击的数据和模型因素;接着,介绍了一系列成员推断攻击防御方法;最后,对成员推断攻击的研究现状进行分析并进行展望。