实验室简介

陈斌老师课题组发布《模型反演攻击及其防御》综述报告及开源工具箱

发表时间:2024-03-24 10:21:01 来源: 作者: 浏览:

【文章导读】近日,哈尔滨工业大学(深圳)计算机科学与技术学院陈斌助理教授和王轩教授团队(含5名本科生参与)联合清华大学的夏树涛教授团队联合完成《Privacy Leakage on DNNs: A Survey of Model Inversion Attacks and Defenses》的综述报告。据悉,这是行业内首个针对模型推理阶段的反演攻击及其防御的综述性文章。同时,研究团队还基于模型反演开发了一个集成了图像模态攻击与防御方法的工具库,相关代码已开源到Github。介绍目前,...



近日,哈尔滨工业大学(深圳)计算机科学与技术学院陈斌助理教授和王轩教授团队(含5名本科生参与)联合清华大学的夏树涛教授团队联合完成《Privacy Leakage on DNNs: A Survey of Model Inversion Attacks and Defenses》的综述报告。据悉,这是行业内首个针对模型推理阶段的反演攻击及其防御的综述性文章。同时,研究团队还基于模型反演开发了一个集成了图像模态攻击与防御方法的工具库,相关代码已开源到Github

介绍

目前,如ChatGPTSora等大模型的横空出现引起新一波人工智能研究的热潮,同时以深度神经网络(DNN)的基础人工智能技术已被广泛应用于医学研究、金融分析和个性化推荐等多个领域,这些应用场景经常涉及到需要在包含敏感信息的数据集上训练模型。然而,众多研究指出,恶意攻击者可以通过分析已训练好的模型来窃取敏感数据信息。其中模型反演(Model InversionMI)允许攻击者重建隐私数据,导致敏感信息泄露。这种攻击危害性较大,引起了研究者的广泛关注。


当前的模型反演研究主要围绕图像、文本和图数据三种模态进行,尽管模型反演攻防算法不断发展演变,但目前还缺乏对这一领域的全面总结和深入分析。因此,本文系统地梳理并讨论了深度神经网络在不同模态和学习任务下面临的模型反演攻击及其防御策略。


论文链接:


https://arxiv.org/abs/2402.04013


Github链接:


https://github.com/ffhibnese/Model-Inversion-Attack-ToolBox


模型反演概述


模型反演攻击的目标是通过恶意利用一个给定的目标模型来重建该模型的训练数据,对隐私安全构成了严重威胁。对于图像模态和图数据模态,此类攻击通常聚焦于攻击分类模型;而在文本模态中,则更多关注于生成任务。


模型反演攻击主要分为白盒攻击和黑盒攻击。其中,在白盒的场景下,攻击者能够完全访问目标模型的各种信息,如模型结构、权重、输出;在黑盒的场景下,攻击者仅能访问模型的输出信息,如置信度或硬标签。在图像模态下,模型反演攻击可以定义为一个优化问题,通过迭代更新重建样本来提高目标分类器的置信度;在文本模态下的攻击方式可分为嵌入优化(Embedding Optimization),分词搜索(Token search)以及恶意提示设计(Malicious Prompt Design);在图学习的场景下,针对图数据的离散结构,目前的研究可被分类为邻接优化(Adjacency Optimization),逆映射(Inverse Mapping)以及关系推理(Relationship Reasoning)三种策略。


为减轻模型反演攻击的威胁,研究者已经提出了多种防御方案。它们主要从安全模型训练和模型输出处理两个角度出发,降低模型输出与输入之间的相关性,从而降低攻击成功的可能性。

图像模态

攻击



图像模态中的模型反演攻击可以视为一个优化问题。当前的主流方法基于如图展示的攻击流程。攻击者利用一个预训练的生成器$G$,从生成器的隐空间中采样隐向量$\mathbf{z}$,通过生成器生成初始图象,并输入目标模型$f_\theta$,计算目标类$c$的分类损失$\mathcal{L}_{iden}$与先验损失$\mathcal{L}_{prior}$。如下公式所示,利用这两种损失不断更新隐向量,利用优化后的隐向量生成重建的隐私样本。

最近的研究在此流程的基础上进行了改进,本文从生成模型、数据初始化、攻击过程以及其他技术四个方面进行了概括,各项研究的特点总结如下表:

生成模型

预训练生成器帮助攻击者获得图像的先验信息,以便更有效地进行攻击。最初的攻击方法针对攻击任务在公共数据集上训练生成器,但由于公共数据集的质量限制,攻击效果可能受到影响。近年的研究通过各种方法提高生成器的生成质量,例如引入伪标签指导、使用扩散模型、直接利用大型公共数据集上预训练的生成器(如StyleGAN)等。

数据初始化

早期研究通常从高斯分布中采样作为待优化的初始隐向量。随后的研究引入了初始化选择策略,即采样大量隐向量,并选取使目标模型置信度最高的部分隐向量作为初始值,进行优化。

攻击过程

在白盒攻击场景下,攻击者可以利用损失函数计算梯度,以此更新隐向量。对于分类损失,早期工作采用交叉熵(CE)损失,但可能面临梯度消失等问题。后续工作探索了更多损失函数来增强攻击效果,如庞加莱(Poincaré)损失、最大边际(Max Margin)损失、负对数似然(NLL)损失等。此外,还探索了各种先验损失,如鉴别器损失、特征距离损失等。


对于黑盒攻击,由于攻击者无法直接计算梯度,近年来的研究探索了训练代理模型、强化学习、梯度模拟、遗传算法等方法,或采用非优化算法的方式进行攻击。


在搜索空间方面,多数攻击方法在生成器的输入空间($\mathcal Z$ 空间)进行优化,近年来,使用StyleGAN系列生成器进行攻击的方法大多在具有解纠缠特性的中间层空间($\mathcal W$空间)进行优化。


其它技术


近年来的方法还探索了其它技术用于增强攻击效果,如伪标签指导、模型增强、结果选择等。


防御


模型反演攻击利用目标模型输出中的冗余信息,因此防御策略旨在减少这种冗余。这可以通过干扰模型输出或调整模型训练来实现。对于前者,目前的研究探索了自动编码器、对抗学习、差分隐私等方法。而后者则通常通过设计特殊的损失函数,减少模型输入与输出的相关性,或通过生成对抗样本进行微调,以误导攻击者生成公共数据集的图像。


文本模态


攻击


文本模态下的模型反演攻击主要有三种:嵌入优化(Embedding Optimization),字符搜索(Token Search)以及提示设计(Prompt Design)。其中,嵌入优化主要用于白盒场景,字符搜索和提示设计通常用于黑盒场景。


白盒攻击


白盒攻击主要通过嵌入优化(Embedding Optimization)的方式进行。


-嵌入优化(Embedding Optimization):给定待反演句子的前缀,攻击者先随机初始化该句子剩余部分的嵌入,将其与前缀部分拼接并送入白盒模型,通过交叉熵(CE)等损失更新后缀部分的嵌入,最后通过优化后的嵌入得到实际的句子内容。


黑盒攻击


在黑盒场景下,梯度的反向传播无法实施,攻击者通常采用字符搜索(Token Search),或者提示设计(Prompt Design)的方法。


-字符搜索(Token Search):给定句子的前缀$a=x_1, x_2, \ldots, x_i$,攻击者需要搜索出句子的剩余部分$b=x_{i+1}, x_{i+2}, \ldots, x_n$,基于被攻击模型的差异,有三种主流的搜索方式:在生成模型中,主要借助指标Perplexity进行搜索,在情感分类模型中,主要借助分类损失进行搜索,在预训练-微调的模型中,主要借助微调模型输出差异性进行搜索。


-提示设计(Prompt Design):大语言模型(LLM)在生成能力中展现出了巨大的潜能,但是研究发现,精心设计的prompt,可以诱导大语言模型输出隐私信息,例如:输入一段email的前缀部分,就有可能诱导大语言模型输出后续部分,造成隐私泄露。


防御


减轻语言模型中的隐私泄露现象,通常可以从模型训练和模型输出两个方面进行实现。在模型训练的过程中,可以使用差分隐私等措施减小隐私泄露的可能性,同时,研究表明,模型的记忆现象和过拟合有一定的关联,所以一些减轻过拟合的措施(如正则化,提前终止)也可以缓解隐私泄露。后者通常控制模型的输出,例如加入检测模块,判断输出内容中是否包含隐私信息,或给模型输出中的隐私信息加mask


图模态


攻击


图模态下的模型反演攻击主要有三种:邻接优化(Adjacency Optimization),逆映射(Inverse Mapping)以及关系推理(Relationship Reasoning)。前者适用于白盒场景,后两者适用于黑盒场景。这些攻击方法的主要区别如下图所示。


白盒攻击


白盒攻击主要通过邻接优化(Adjacency Optimization)的方式进行,即利用反向传播所计算出的梯度更新邻接矩阵,最终重构出图的拓扑结构。


-邻接优化(Adjacency Optimization):攻击者首先初始化待恢复的邻接矩阵,并将其送入白盒模型以得到假输出。随后,攻击者计算假输出和真实输出之间的距离,以此为损失指导邻接矩阵的更新,找到最为吻合原始图数据的邻接矩阵。基于此,一些工作提出引入特征平滑项、F范数项来保持特征的平滑性和稀疏性,或者将受害者模型视为马尔科夫链,使用灵活的链估计来增强攻击效果。


黑盒攻击


黑盒攻击无法利用反向传播的梯度来迭代更新,因此需要额外引入辅助知识,主要可分为两类:逆映射(Inverse Mapping)和关系推理(Relationship Reasoning)。


-逆映射(Inverse Mapping):攻击者先在辅助数据集上训练一个自编码器,然后再使用其解码器将模型的输出映射回图。然而,自编码器的中间特征的分布可能与模型输出的分布不一致。因此,也有工作提出使用辅助数据集查询给定的模型,然后使用新生成的输入-输出对微调解码器,以获得重建性能的提升。


-关系推理(Relationship Reasoning):这类攻击方法通过推理图中两两节点之间的关系来重建图,并使用节点的属性作为辅助知识。一部分方法认为,具备更相近的属性或预测值的节点关系较为密切,更有可能是相连的。另一部分方法认为,边的存在容易导致两节点在训练的过程中产生信息流通。因此,如果改变其中一个节点的特征向量能在一定程度上影响另一个节点的预测值,那么这两个节点更有可能是相连的。


防御


图模态的模型反演防御同样可以通过干扰模型输出或调整模型训练来实现。对于前者,可以限制模型仅输出k个最大的后验概率来减少信息的泄露,或者给模型的输出施加拉普拉斯噪声。对于后者,可以在训练的迭代过程中给梯度施加噪声,对原始图数据进行操作(如随机翻转和重写),或者给邻接矩阵注入随机性,以降低图表征和原始图数据之间的依赖性。


未来研究方向


为了促进未来的研究,我们总结了一些尚未解决的挑战,并相应提出了若干未来研究方向。


更强大的生成先验研究


在视觉任务中,大部分攻击方法使用GAN作为图像先验。未来的研究可以探索更先进的生成模型(如扩散模型)来提高重建质量。


模型鲁棒性研究


尽管已有研究深入探讨了对于模型反演的鲁棒性,但现有的防御方法仍缺乏鲁棒性保证。针对对抗攻击和后门攻击,研究者已经建立了完善的可被验证的鲁棒性理论框架,但模型反演攻击的相关研究尚不完整。这是一个迫切需要研究的领域。此外,探索如何将用户反馈和偏好整合到鲁棒性验证的过程中,将有助于提高对话式AI模型(如ChatGPT)的认证的鲁棒性。


多模态模型反演攻防研究


目前的研究主要集中在单一模态上,而对多模态模型反演攻防的研究相对缺乏。鉴于多模态模型越来越广泛地应用于各个领域,探索多模态模型推理过程中的潜在漏洞是模型反演攻防研究的一个重要方向。