版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
李剑博士,教授,博士生导师网络空间安全学院lijianeptember13,2025第十章模型窃取与防护本章介绍
在人工智能技术深度融入社会的今天,机器学习模型作为核心资产,其安全性正面临前所未有的挑战。模型窃取攻击作为人工智能安全领域的新兴威胁,通过非法手段获取、复制或逆向工程目标模型,不仅可能导致知识产权流失,更可能被用于构建对抗性AI系统。本章节将以攻防对抗的视角,系统性解析模型窃取的技术本质与实践路径。知识要点:1)了解模型窃取的背景与动机2)熟悉模型窃取的分类与攻击方法3)掌握模型窃取的具体实施流程4)了解模型窃取的实践与案例分析5)掌握模型窃取的防御策略内容提纲10.3模型功能窃取算法10.2模型属性窃取算法10.1模型窃取概述10.4实践案例:黑盒环境下的模型窃取攻击10.5模型窃取的防护小结10.1模型窃取概述模型窃取攻击是机器学习安全领域中的一种重要威胁,旨在通过黑盒访问目标模型,窃取其关键信息或功能。根据攻击目标的不同,模型窃取攻击可以分为模型属性窃取和模型功能窃取两类。这两类攻击在目标、方法和影响上存在显著差异。10.1模型窃取概述1.模型属性窃取模型属性窃取(ModelAttributeExtraction)是指攻击者通过查询目标模型,试图推断出模型的内部属性或元信息,而非直接复制其功能。这些属性可能包括模型架构、超参数、训练数据的分布或特征重要性等。攻击者通常通过分析目标模型对特定输入的输出响应,结合统计方法或逆向工程技术,推断出模型的内部特性。10.1模型窃取概述2.模型功能窃取模型功能窃取(ModelFunctionalityExtraction)是指攻击者通过查询目标模型,试图训练一个功能上等效的“克隆模型”,以复制目标模型的预测行为。与模型属性窃取不同,模型功能窃取的目标是直接模仿目标模型的输入输出映射关系,而不关心模型的内部结构或属性。内容提纲10.3模型功能窃取算法10.2模型属性窃取算法10.1模型窃取概述10.4实践案例:黑盒环境下的模型窃取攻击10.5模型窃取的防护小结10.2模型属性窃取算法
一.基于元学习的模型窃取攻击基于元学习的模型窃取方法是一种利用元学习(Meta-Learning)技术来实现对目标模型的高效克隆和属性提取的攻击手段。这种方法的核心在于通过元学习框架,使攻击者能够在有限的查询次数和少量辅助数据的情况下,快速重建目标模型的行为或提取其内部属性。
构建训练数据集:在构建数据集之前,攻击者需要明确目标模型的任务类型(如分类、回归或检测)以及输入输出的格式。
由于无法直接访问目标模型的训练数据,攻击者需要收集与目标数据分布相似的辅助数据。这些数据可以来自以下几个来源:1.公开数据集:许多领域都有公开可用的数据集,这些数据集可能与目标模型的数据分布相似。例如,在图像分类任务中,攻击者可以使用ImageNet或CIFAR-10等数据集。在网络安全领域,可以使用CICIDS2017或MCFP等数据集。10.2模型属性窃取算法
2.合成数据:如果公开数据集不可用或与目标数据差异较大,攻击者可以生成合成数据。合成数据可以通过数据增强技术(如旋转、缩放、噪声注入)或生成对抗网络(GAN)生成。3.目标模型的少量输出:攻击者可以通过向目标模型发送少量查询,收集其输出概率分布。这些输出可以用于推断目标数据的分布。10.2模型属性窃取算法
训练元模型:基于元学习框架构建的生成对抗网络是该模型的中心组件。架构基于WassersteinGAN,因为它具有稳定性,可以避免模式崩溃问题。它包括:1.StealerC,用于通过减少相同输入下与受害者模型的输出差异来训练克隆模型2.提取器E,用于提取每个类的原型表示,3.生成器G使用E提取的原型代表作为输入来生成与该原型类匹配的样本,同时最大化受害者和克隆模型输出之间的差异。
4.判别器D,用于区分G生成的虚假数据。10.2模型属性窃取算法
如图所示,展示了元模型的训练流程。10.2模型属性窃取算法
第1步:初始化元学习器参数。在开始元训练之前,需要初始化元学习器的参数。这些参数包括克隆模型、特征提取器、生成器和判别器的初始参数。这些参数将在后续的训练过程中不断优化。
第2步:进行元训练(Meta-Training)。元训练是元学习的核心阶段,分为内循环(InnerLoop)和外循环(OuterLoop)。内循环的目标是针对每个任务Ti,训练任务特定的模型参数。外循环的目标是更新元学习器的全局参数。10.2模型属性窃取算法
第3步:利用定义模型进行元测试(Meta-Testing)。元测试阶段是将优化后的元学习器应用于实际目标模型。攻击者使用少量辅助样本初始化克隆模型,并通过生成器生成合成样本。这些合成样本用于训练克隆模型,使其输出尽可能接近目标模型的输出。10.2模型属性窃取算法
10.2模型属性窃取算法
二.线性分类器模型窃取攻击在机器学习领域,线性分类器是一类重要且常用的模型。线性分类器模型窃取攻击通过查询目标模型,获取足够的输入输出对,从而训练出性能相似的替代模型。线性分类器是一种简单而高效的分类模型,其基本形式如下:f(x)=wx+b。其中,w是权重向量,x是输入向量,b是偏置。决策规则基于函数f(x)的符号:若f(x)>0,则输出为正类,若f(x)<0,则输出为负类。10.2模型属性窃取算法
线性分类器模型窃取攻击方法主要包括以下几个步骤:第一步:攻击者需要生成一组查询输入x,并通过目标模型获取对应的输出y。生成查询的策略可以基于随机查询或基于梯度的查询。第二步:在获取足够的查询输入输出对后,攻击者使用这些数据训练一个替代线性分类器。第三步:攻击者通过比较替代模型和目标模型在测试集上的性能,评估攻击的效果。理想情况下,替代模型的性能应接近目标模型。10.2模型属性窃取算法
线性分类器模型窃取攻击主要包括以下几个方面:1.目标模型:攻击者的目标是一个未知的线性分类器,该分类器通过一组权重和偏置将输入数据映射到输出类别。2.攻击者权限:攻击者只能通过查询接口与目标模型进行交互,而无法直接访问模型的权重和结构信息。3.攻击目标:通过尽可能少的查询次数,获取足够的信息以训练出一个与目标模型性能相近的替代模型。10.2模型属性窃取算法
三.基于生成对抗网络的模型窃取攻击基于生成对抗网络的模型窃取攻击作为一种黑盒模型窃取方法,允许攻击者在无法获取目标模型真实训练数据的情况下,通过构造合成样本及并利用目标模型给出标签信息,训练一个与目标模型行为相似的替代模型。10.2模型属性窃取算法
生成对抗网络(GenerativeAdversarialNetworks,GAN)是一类人工神经网络,由J.Goodfellow等人于2014年提出。GAN框架包含两个主要的网络组件,分别为生成器(Generator)和判别器(Discriminator),生成对抗网络框架如图所示。10.2模型属性窃取算法
基于生成对抗网络的模型窃取攻击的攻击过程如图10-3所示,主要包括两个需要训练的网络组件,替代模型𝐷和生成器𝐺。模型攻击过程不仅需要不断使用请求样本和目标模型返回的标签信息来训练替代模型𝐷,还需要不断更新生成器𝐺的参数来促使𝐺生成难以被替代模型正确识别且分布广泛的样本。10.2模型属性窃取算法
基于生成对抗网络的模型窃取攻击过程主要可以描述为以下几个步骤:第1步:生成器G利用输入的噪声z和标签信息L生成的请求样本X=G(z,L);第2步:获取目标模型T对样本X的预测标签T(X);第3步:训练替代模型D,使得D对样本X的输出D(X)尽可能与T(X)相同;第4步:更新生成器G的参数,使得D对的输出D(G(z,L))尽可能与T(G(z,L))不同,同时最大化标签L和生成的请求样本X=G(z,L)之间的互信息;第5步:重复步骤1-4,直到替代模型D的相关指标达到攻击的要求。10.2模型属性窃取算法
替代模型D的主要任务是学习目标模型的行为模式,对给定的图像进行预测。最好的情况是替代模型能够具有与目标模型一致的网络结构,这样当模型窃取成功时,利用针对替代模型生成的对抗样本可以更大程度地对目标模型造成威胁,对目标实施进一步的攻击。如图所示,展示了替代模型的结构。10.2模型属性窃取算法
生成器G负责利用噪声和标签信息来生成合成样本,将一个一维向量映射为一张有效的图像样本。为达到此目的,生成器被设计成以下4个模块:线性模块,转置卷积模块,卷积模块和有效化模块。生成器网络结构如图10-5所示。10.2模型属性窃取算法
神经网络Q的作用主要是为了实现一个后验分布Q(L|Q(z,L))来拟合p(L,|G(z,L))。基于这个目的,我们把Q参数化为一个神经网络,使用Q(z,L)作为输入。在具体实现中,需要注意到在替代模型D已经实现了对输入X=G(z,L)的特征提取。最后将Q的连接到替代模型D的尾部,并使用三层全连接的神经网络来实现,以此提升效率。如图所示,展示了神经网络Q的整体结构。10.2模型属性窃取算法
四.决策边界窃取攻击
决策边界攻击是一种基于决策的模型窃取攻击方法,其目标是通过查询目标模型的输出标签,推断出模型的决策边界,从而重建模型的内部逻辑。这种方法特别适用于黑盒攻击场景,攻击者无法直接访问模型的内部结构或训练数据,只能通过输入输出对来推断模型的行为。10.2模型属性窃取算法
决策边界攻击通常包括以下步骤:第1步:初始化攻击点。攻击者选择一个初始输入点,该点可以是随机生成的,也可以是目标类别的一个已知样本。对于非目标攻击(untargetedattack),攻击点通常选择在目标类别的内部;对于目标攻击(targetedattack),攻击点可能是一个被错误分类的样本。第2步:逼近决策边界。攻击者通过逐步调整输入点,使其逐渐靠近决策边界。这可以通过以下方法实现:10.2模型属性窃取算法
第3步:二分搜索(BinarySearch)。通过二分搜索逐步逼近决策边界。第4步:梯度估计。利用目标模型的输出标签估计梯度方向,从而更高效地逼近决策边界。第5步:生成对抗样本。一旦找到决策边界,攻击者可以生成对抗样本,这些样本在决策边界附近,能够被目标模型错误分类。这些对抗样本可以用于进一步分析目标模型的结构或进行后续攻击。10.2模型属性窃取算法
第6步:优化攻击效率。为了减少查询次数,攻击者可以采用批量查询策略(BatchQueries),通过批量查询减少单次查询的开销。也可以通过几何级数调整步长优化攻击效率,这一在每次迭代中,都能够根据梯度方向调整步长,直到找到有效的对抗样本。内容提纲10.3模型功能窃取算法10.2模型属性窃取算法10.1模型窃取概述10.4实践案例:黑盒环境下的模型窃取攻击10.5模型窃取的防护小结10.3模型功能窃取算法
模型功能窃取算法
不同于模型属性窃取,模型功能窃取主要通过向黑盒模型发起查询并获取相应结果,进而构建一个与目标模型具有相同行为模式的替代模型来实现攻击目标。本小节所讨论的模型窃取攻击主要指窃取模型功能的攻击。黑盒模型窃取的攻击过程如图所示。基于雅可比矩阵的模型窃取
基于雅可比矩阵的模型窃取方法核心在于利用雅可比矩阵来指导合成数据的生成,从而训练出一个能够逼近目标模型决策边界的替代模型。通过这种方式,攻击者可以生成对抗样本,这些样本不仅能够误导替代模型,还能够以较高的概率误导目标模型。10.3模型功能窃取算法
10.3模型功能窃取算法
10.3模型功能窃取算法
二.基于深度学习的模型窃取
基于深度学习的探索性机器学习攻击,通过以黑盒形式轮询任意分类器,并使用返回的标签构建功能等效的机器来推断任意分类器的功能。通常,构建分类器既昂贵又耗时,因为这需要收集训练数据、选择合适的机器学习算法以及优化底层超参数。10.3模型功能窃取算法
该方法的核心是通过以下三个步骤实现对目标分类器的窃取:第1步:查询目标分类器。攻击者向目标分类器发送输入数据,并获取分类器返回的标签。第2步:收集数据。攻击者收集这些输入数据及其对应的标签,作为训练数据。第3步:训练深度学习分类器。使用收集到的数据训练一个深度学习模型,优化其超参数,使其能够模拟目标分类器的行为。10.3模型功能窃取算法
三.基于强化学习的模型窃取
基于强化学习的模型窃取是一种针对黑盒机器学习模型的攻击方法。其核心思想是利用强化学习(ReinforcementLearning,RL)框架,通过智能体(Agent)与环境(目标模型)的交互,逐步学习最优的攻击策略,从而实现对目标模型的窃取或欺骗。这种方法特别适用于黑盒攻击场景,即攻击者无法直接访问目标模型的内部结构或训练数据,只能通过输入输出对来推断模型的行为。10.3模型功能窃取算法
基于主动学习的模型功能窃取
基于主动学习的模型窃取是一种针对黑盒机器学习模型的攻击方法,旨在通过有限的查询次数高效地重建目标模型的功能。主动学习的核心思想是通过智能地选择最具有信息价值的样本进行查询,从而减少所需的标注数据量并提高模型训练效率。在模型窃取场景中,攻击者利用主动学习框架,从目标模型中获取少量但高价值的输入输出对,进而训练一个功能上等效的“克隆模型”(CloneModel)。10.3模型功能窃取算法
基于主动学习的模型窃取方法主要依赖于以下几个关键原理:1.样本选择策略主动学习通过选择具有高不确定性的样本进行查询,这些样本通常位于模型决策边界附近,能够提供最多的“信息量”。例如,攻击者可以通过计算样本的置信度边际(Margin)、最大置信度(MaxConfidence)或置信度向量的熵(Entropy)来评估样本的不确定性。选择高不确定性的样本进行查询,可以更有效地模拟目标模型的行为。10.3模型功能窃取算法
2.合成数据生成为了进一步提高攻击效率,攻击者可以生成合成数据来扩充样本池。这些合成数据需要满足“真实性”(Authenticity)和“查询价值”(QueryValue)两个原则。真实性要求合成样本与真实数据在分布上尽可能接近,以避免被目标模型检测到异常;查询价值则要求样本能够提供足够的信息来优化克隆模型。10.3模型功能窃取算法
3.迭代优化
基于主动学习的模型窃取是一个迭代过程。攻击者从少量真实数据开始,逐步生成新的合成样本,查询目标模型获取标签,并将这些样本及其标签加入样本池,用于训练克隆模型。通过不断迭代,克隆模型逐渐逼近目标模型的行为。10.3模型功能窃取算法
4.克隆模型的训练
克隆模型的目标是尽可能准确地模仿目标模型的预测行为,包括正确和错误的决策。攻击者利用从目标模型获取的硬标签(HardLabels)来训练克隆模型,从而在有限的查询次数下实现高效的功能窃取。10.3模型功能窃取算法
内容提纲10.3模型功能窃取算法10.2模型属性窃取算法10.1模型窃取概述10.4实践案例:黑盒环境下的模型窃取攻击10.5模型窃取的防护小结
实践目的:
本实践旨在通过模拟模型窃取攻击,帮助学生理解机器学习模型的安全性问题,并掌握相关的攻击与防御技术。通过实践,学生将学习如何利用有限的查询信息重建目标模型,并分析模型窃取的可行性与影响。同时,实践还将引导学生思考如何设计更鲁棒的模型以抵御此类攻击,以及如何在技术发展中平衡创新与安全。10.4实践案例:黑盒环境下的模型窃取攻击实践环境:Python版本:3.9或者更高版本Pytorch:1.11.0所需安装库:timm0.6.0、matplotlib3.5.0、tqdm4.60.0。数据集:CIFAR10、MNIST运行平台:PyCharmCommunityEdition2021.3.3在命令行或终端中安装实践环境并下载相关包:torch2.4.1、timm0.6.0、matplotlib3.5.0、tqdm4.60.0。10.4实践案例:黑盒环境下的模型窃取攻击实践步骤:该案例执行的黑盒攻击一般步骤如图所示:10.4实践案例:黑盒环境下的模型窃取攻击第1步:数据准备与模型初始化。代码首先导入了必要的库,包括PyTorch、Timm(用于加载预训练模型)、数据集加载工具(MNIST和CIFAR-10)以及数据预处理工具。第2步:训练函数。training_knockoff函数用于训练knockoff模型。它接受victim模型、knockoff模型、查询次数num_queries和数据加载器data_loader作为输入。10.4实践案例:黑盒环境下的模型窃取攻击第3步:定义测试函数。testing_knockoff函数用于评估knockoff模型的性能。它接受victim模型、knockoff模型和数据加载器作为输入。第4步:模型训练与保存。代码通过循环对不同查询次数num_query进行实践。第5步:模型测试与结果可视化。代码通过循环加载保存的knockoff模型权重,并分别在CIFAR-10测试集、合并的MNIST和CIFAR-10测试集以及MNIST测试集上进行测试。10.4实践案例:黑盒环境下的模型窃取攻击
实践核心代码
首先我们设置随机种子,并定义查询次数为10k,20k,30k,40k,50k。设置随机种子用于确保实践结果的可重复性。利用不同的查询次数模拟不同预算下的模型窃取效果。10.4实践案例:黑盒环境下的模型窃取攻击
之后使用timm分别创建一个ResNet-18预训练模型和未预训练模型,并将创建的模型作为实践的基本模型架构。10.4实践案例:黑盒环境下的模型窃取攻击
先对CIFAR-10和MNIST数据集进行预处理,包括调整图像大小、将灰度图像转换成三通道图像等。然后使用ConcatDataset将上述两个数据集合并为一个训练集和一个测试集,最后加载数据集。10.4实践案例:黑盒环境下的模型窃取攻击
随后创建数据加载器为训练和测试阶段准备数据,定义损失函数和优化器,用于设置训练替代模型所需的优化工具。之后定义替代模型训练函数,以此通过有限的查询次数训练替代模型。10.4实践案例:黑盒环境下的模型窃取攻击
为了测试替代模型的性能,计算其与预训练模型输出一致的比例,实践设置了替代模型测试函数,用于评估替代模型对目标模型的模仿效果。10.4实践案例:黑盒环境下的模型窃取攻击
最后通过遍历不同的查询次数,训练替代模型,保存每个查询次数下训练好的替代模型参数,在每次实践后重制替代模型为初始状态。10.4实践案例:黑盒环境下的模型窃取攻击
实践结果
图10-10展示了模型窃取实践中,替代模型在不同查询次数下对三个测试数据集的准确率变化。10.4实践案例:黑盒环境下的模型窃取攻击内容提纲10.3模型功能窃取算法10.2模型属性窃取算法10.1模型窃取概述10.4实践案例:黑盒环境下的模型窃取攻击10.5模型窃取的防护小结10.5模型窃取的防护
随着模型窃取攻击的日益增长,如何防御模型窃取攻击已经成为了一个焦点问题。模型窃取攻击会直接损害模型所有者的经济利益。训练一个高性能模型通常需要耗费大量时间和资源,而攻击者通过窃取技术便能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肉牛冬季暖棚养殖管理技术规范
- 小麦条锈病药剂防治实施方案
- 传统中医推拿手法操作规范
- 产后修复营养食谱指导手册
- 员工上岗前职业健康体检
- 从业人员仪容仪表服务规范标准
- 门店服务满意度调查与分析报告
- 废水废气排放监测规范
- 计量经济学时间序列试题及解析
- 采摘园游客安全管理制度
- 2026中广核白鹭综合服务(深圳)有限公司招远分公司招聘1人笔试历年典型考点题库附带答案详解
- 2026届天津市东丽区重点中学中考押题历史预测卷含解析
- 2026广东惠州惠城区桥东街道招聘党建联络员和村(社区)“两委”班子储备人选11人笔试参考题库及答案详解
- 2026年医师考核笔检测卷(重点)附答案详解
- 2025年全国金属非金属矿山企业主要负责人考试练习题有答案
- 2026年北京各区高三语文一模作文题汇编(高考趋势题附标杆文)
- 储能电站电池热失控火灾应急演练脚本
- 简阳市中小企业融资担保有限公司2026年招聘金融科技部工作人员等岗位笔试参考题库及答案解析
- 2026上海市闵行区区管国企招聘42人备考题库含答案详解(精练)
- 保洁12小时工作制度
- 输变电工程可行性研究内容深度规定(2025版)
评论
0/150
提交评论