深度学习数据窃取攻击在数据沙箱模式下的威胁分析与防御方法研究

2021-12-08 03:03潘鹤中韩培义向夏雨段少明庄荣飞刘川意
通信学报 2021年11期
关键词:沙箱数据处理神经元

潘鹤中,韩培义,向夏雨,段少明,庄荣飞,刘川意,3

(1.北京邮电大学网络空间安全学院,北京 100876;2.哈尔滨工业大学(深圳)计算机科学与技术学院,广东 深圳 518055;3.鹏城实验室网络空间安全中心,广东 深圳 518066)

1 引言

人工智能(AI,artificial intelligence)时代,数据开放共享已然成为趋势,但是数据安全问题严重制约了大数据价值的发挥。数据沙箱模式,或称数据信托,是解决隐私保护和数据挖掘之间矛盾的有效方案[1-2]。数据沙箱分为调试环境和运行环境,数据拥有者将原始数据托管到运行环境中,并自动生成不包含隐私信息的样例数据。数据分析人员在调试环境中根据样例数据编写AI 模型训练代码,并将其发送到运行环境。该代码在运行环境中对全量的原始数据进行分析,最终得到高可用性的AI 模型,返还给数据分析人员。这一流程中,数据分析人员没有直接接触原始数据,又实现了AI 模型在全量数据上的充分训练。

然而随着AI 技术的发展,深度学习模型携带原始数据的能力逐渐增强。Carlini 等[3-4]从理论上证明了参数量庞大的语言模型会存储和泄露训练数据。基于这一观点,国内外专家学者对深度学习模型窃取训练数据的攻击手段展开了研究,文献[5-7]等都属于此类攻击。这类攻击可以作用于数据沙箱的运行环境,主动在深度学习模型中编码原始数据。例如Song 等[7]提出可以通过在数据处理过程中生成恶意训练数据,或是在模型训练过程中引入恶意正则化项来窃取数据。这类攻击手段能够有效绕过数据沙箱对训练数据的隐私保护机制。目前,国内外研究当中尚缺乏对数据沙箱模式下深度学习数据窃取攻击的详细威胁分析和实验验证。

针对上述数据窃取攻击,国内外学者提出的防御手段主要分为两大类。一类是数据修改的方法,通过在原始数据中添加扰动或采用加密技术来保护训练数据[8-10]。这类方法虽然取得了一定进展但难以直接应用于数据沙箱模式中。其原因有两点:一是数据沙箱模式下,原始训练数据属于数据拥有者,直接修改训练数据的方案不被允许,且严重影响模型训练效果;二是数据加密的防御方法需要修改模型训练代码,数据沙箱场景中难以实现所有AI 模型训练代码的逐一修改。

另一类是模型修改方法[11-14],通过修改模型参数来防止数据泄露。该类方法是数据沙箱模式下一种可行的防御方法。然而目前的防御手段难以在数据沙箱模式下取得良好的防御效果,其原因有三点:一是此类方法主要针对模型本身可能夹带的原始数据信息的问题,并且没有考虑攻击者在模型中主动隐藏数据的情况;二是现有的修改模型梯度或参数的方法需要深入解析AI 模型训练代码,数据沙箱场景中解析所有代码的人力开销巨大,难以实现;三是缺乏一种检测恶意模型的方法,单纯地修改模型可能影响模型的训练效果。

针对上述问题,本文的研究工作如下。

1) 本文分析了数据沙箱模式下的2 种攻击手段(即数据处理阶段的攻击和模型训练阶段的攻击),构建2 种攻击手段的威胁模型。在数据沙箱场景下真实实现了深度学习模型数据窃取的攻击过程,量化分析了2 种攻击的危害程度和鉴别特征。

2) 本文通过分析2 种攻击手段的特征,提出了针对性的防御方案:针对数据处理阶段的攻击,本文提出基于模型剪枝的数据泄露防御方法,减少数据泄露量;针对模型训练阶段的攻击,本文提出基于模型参数分析的攻击检测方法,从而拦截恶意模型防止数据泄露。这2 种方法不需要修改或加密数据,也不需要人工分析深度学习模型训练代码,能够更好地应用于数据沙箱模式下数据窃取防御。

3) 本文实现了数据处理阶段的防御方法和模型训练阶段的攻击检测方法。在实验评估阶段,本文分别在图片分类及人脸识别任务中,验证了防御方法和检测方法的有效性。实验结果表明,本文设计的防御方法能够减少73%的数据泄露,而检测方法能够有效识别95%以上的攻击行为。

2 相关工作

2.1 深度学习数据窃取攻击

深度学习数据窃取攻击,也称模型反转攻击,是指攻击者利用模型的参数、中间数据结果或模型预测结果来恢复训练数据中的重要信息,进而达到窃取训练数据的目的,文献[3,7,15]等都属于此类攻击。Carlini 等[3-4]证明了参数数量庞大的语言模型会存储和泄露训练数据,并提出了一种简单有效的数据窃取方法,该方法仅通过使用数据测试语言模型就能够提取原始的训练数据序列。Zhang 等[5]和Hitaj 等[16]提出了一种利用生成对抗网络(GAN,generative adversarial network)的数据窃取攻击,即通过GAN 来学习先验知识,帮助实现模型反转并窃取数据,该攻击方式具有较高的普适性,可用于语言模型[17]。文献[6,18-19]提出了一种联邦学习模式下的数据窃取攻击方法,该方法利用联邦学习模型的梯度,首先生成一对随机的“假”输入和标签,然后从模型中获得假数据的梯度,从而执行了模型反转攻击。通过不断对伪输入和伪标签的优化,伪梯度和真梯度之间的距离达到最小,伪数据更接近原始数据。Song 等[7]提出3 种利用深度学习模型窃取训练数据的方法。第一种是直接在模型参数的最低有效位编码训练数据集的敏感信息;第二种是利用恶意正则化项使模型参数与敏感信息相关联,或用模型参数符号对敏感信息进行编码;第三种是利用数据处理过程中的数据增强技术生成恶意训练数据,并用恶意数据的标签对敏感信息进行编码。这3 种攻击允许攻击者在模型中主动隐藏隐私信息,造成巨大数据泄露危害。

在数据沙箱模式下,深度学习数据窃取攻击仍然可以实现。例如文献[7]所提出的攻击手段能够有效绕过数据沙箱对训练数据的隐私保护机制,实现数据窃取的目的。目前,国内外研究尚缺乏对数据沙箱模式下深度学习数据窃取攻击的详细威胁分析和实验验证。

2.2 数据窃取攻击防御手段

针对上述数据窃取攻击,国内外学者提出的防御手段主要分为两大类:一类是数据修改方法,通过在原始数据中添加扰动或采用加密技术来保护训练数据;另一类是模型修改方法,通过修改模型参数来防止数据泄露。具体相关工作如下。

1) 数据修改方法

Zhang[8]提出了一种向原始数据中添加随机噪声或用新样本扩展数据集的方法,该方法隐藏单个样本的属性或一组样本的统计特性的敏感信息。文献[9-10,20]提出了使用同态加密技术实现隐私数据的加密计算,使数据分析人员在不接触原始数据的前提下实现模型训练或数据分析。闫玺玺等[21]则采用区块链实现数据搜索过程中的隐私保护。进一步研究中,Zhang 等[22]提出了一种直接在密文上训练深度学习模型的完全同态加密方案。Rahulamathavan 等[23]提出了一种利用Paillier 加密系统将SVM 决策函数转换为密文计算的方案,该方案中测试数据也被加密,所有计算都在密文上进行。文献[24-25]分别在数据发布和数据传输过程中加密数据,设计了能够防御数据窃取攻击的系统架构。

上述数据修改的防御方法虽然取得了一定进展,但难以直接应用于数据沙箱模式中。其原因有两点:一是数据沙箱模式下,原始训练数据属于数据拥有者,直接修改训练数据的方案不被允许,且严重影响模型训练效果;二是数据加密的防御方法需要修改模型训练代码,数据沙箱场景中难以实现所有数据挖掘代码的针对性修改。

2) 模型修改方法

文献[11-14]提出了可以通过修改模型的梯度、参数或输出结果来保护训练数据隐私信息。Abadi等[11]提出了一种随机梯度下降算法,利用差分隐私对模型参数的梯度进行加噪,保证了模型参数不会暴露太多隐私。Golatkar 等[12]通过添加噪声来修改模型参数,以去除关于特定训练数据集的信息。Jia等[13]提出在模型的输出中以一定的概率加入噪声,用于预防成员推断攻击,其效果能够使成员推断攻击的成功率降低到50%。另外,为了防止训练数据的模型记忆过多数据,可以对模型训练算法本身进行修改[18,26-27]。如Cao 等[26]提出了一种将模型学习算法转化为求和的形式来遗忘训练数据的方法;Salem 等[18]提出了一种基于模型叠加的防御方法,用于防御对机器学习模型的攻击,以避免单个模型对训练数据的过度记忆。针对边缘计算和联邦学习的新场景,需要在参数聚合的过程中增加噪声实现隐私保护[28]。

通过解析模型参数来预防数据窃取,是数据沙箱模式下一种可行的防御方法。然而目前的防御手段难以在数据沙箱模式下取得良好的防御效果,其原因有三点:一是上述方法主要针对模型本身可能导致的隐私泄露,并且没有考虑攻击者在模型中主动隐藏数据的情况;二是现有的修改模型梯度或参数的方法需要深入解析模型训练代码,数据沙箱场景中,逐一解析代码的人力开销巨大,难以实现;三是缺乏一种检测恶意模型的方法,单纯地修改模型可能影响模型的训练效果。

3 深度学习数据窃取攻击分析

3.1 威胁模型

本文构建了数据沙箱模式下的深度学习数据窃取攻击威胁模型,如图1 所示。

正常深度学习模型训练过程。正常数据分析人员会在数据沙箱的调试环境中根据脱敏的样例数据编写数据处理代码和模型训练代码。代码调试完成后,数据分析人员会将其发送到数据沙箱的运行环境。在运行环境中,数据处理代码将会在全量训练数据D中运行,得到处理后的训练数据D'。该过程可能包含数据增强操作用于扩充数据量、提高训练效果,数据增强操作得到的数据为DA,而D'是D和DA的并集,本文定义D'如式(1)所示。

其中,n是数据集D'中的数据条目个数,xi是每条数据的特征值(例如图片分类任务中的图片像素),yi是每条数据的标签值(例如图片分类任务中的图片种类)。AI 模型可以定义为参数为θ的函数fθ,参数θ中包含实数的个数为k,本文定义模型优化过程如式(2)所示。

其中,函数L为深度学习的损失函数,用于评价函数fθ对xi的判断结果与真实标签值yi之间的差距。Φ(θ)是正则项,通常用于防止AI 模型出现过拟合的情况。AI 模型训练优化的过程可理解为根据训练数据D'不断优化函数fθ,进而缩小损失函数的过程。模型训练完成后,数据分析人员可以从数据沙箱中提取训练好的模型fθ,用于具体AI 判断任务。

数据沙箱模式下,正常数据分析人员仅能通过样例数据编写代码而无法接触全量数据,因此无法直接拷贝数据或窃取其中的关键信息。然而,在运行环境的数据处理阶段和模型训练阶段,分析人员的代码直接作用于全量数据,因此仍然存在数据泄露的可能。

数据窃取攻击1。该攻击手段主要作用于模型训练阶段,攻击者恶意修改模型训练过程中的正则项Φ(θ),本文定义其为Ω(θ)。Ω(θ) 使深度学习模型能够夹带训练数据的原始数据信息。接收到模型fθ后,攻击者能够从参数θ中恢复原始训练数据。其具体效果与攻击过程在3.2 节中详细阐述。数据窃取攻击2。该攻击手段主要作用于数据处理阶段,攻击者恶意修改数据处理过程中的数据增强函数,本文定义恶意数据DM如式(3)所示。

恶意数据增强函数使DM的特征值具有一定的生成规律且不依赖训练数据,而DM的标签值中能够夹带原始数据信息。接收到模型fθ后,攻击者重新生成恶意的,并用模型fθ测试,进而复原标签值,从中提取原始数据信息。其具体效果与攻击过程在3.3 节中详细阐述。

3.2 模型训练阶段的攻击

第一种针对模型训练阶段的攻击,首先要从训练数据的特征值中抽取实数串s,该串中的元素个数与模型参数θ中参数的个数相同,为k个。而在训练过程中,攻击者将正则项修改为Ω1(θ,s),如式(4)所示。

其中,和是指θ和s中所有元素的平均值,参数α控制了恶意正则项对训练过程的影响。该方法中恶意正则设计采用了皮尔森相关系数衡量模型参数θ与窃取数据s之间的相关程度。训练过程中,参数θ与数据s相关程度变大时,损失函数的数值将会减小,进而使参数θ向与数据s相同的趋势发展。训练结束后,攻击者只要提取θ则可窃取训练数据的特征值。

第二种针对模型训练阶段的攻击,利用符号编码训练数据的特征值。例如训练数据是图片(包含[0,255]的像素点),该攻击方法则将图片中一个像素点编码为s∈{−1,1}k表示的8 位字符串。能够编码的字符串总长度等于参数θ中元素的个数k。该编码方式下,攻击者将训练过程的正则项修改为Ω2(θ,s),如式(5)所示。

其中,参数α用于控制恶意正则项对训练过程的影响。当θi与si符号不相同时,|max(0,−θisi)|的取值为正值,从而增大损失函数的数值,使θ和s中符号相同的方向发展。训练结束后,攻击者提取参数θ的符号,每8 个元素解码出一个像素值,进而还原图片。

模型训练阶段的攻击强度主要与模型参数个数有关。例如用包含1 100 万个参数的PreActResNet18网络窃取CIFAR10 数据集中32×32 的灰度图片数据,第一种攻击方式可以一次性窃取图片1.07 万张,第二种攻击方式可以一次性窃取图片1 340 张。

3.3 数据处理阶段的攻击

以窃取CIFAR10 数据为例,数据处理阶段的攻击过程如图2 所示。首先,提取图片数据中的像素值并对其进行压缩,例如将[0,255]的像素值点压缩到[0,15],这一步的目的在于用更少的恶意数据编码更多的训练数据。由于CIFAR10 数据是10 分类任务,因此生成数据标签值的取值范围为[0,9],即编码[0,15]的像素值数据需要用2 个标签来编码一个像素点。图2 中,本文使用标签值y1与y2之和来编码P11的一个像素点,使用恶意数据生成算法,分别生成图片x1与x2来匹配标签值。恶意数据生成算法可以采用任意的伪随机数据生成方法,为实现更明显的攻击效果,本文采用了算法1 所示的恶意数据生成算法。

算法1恶意数据生成算法

定义编码的图像编号为u,编码的像素点为Pij,单张图片的高为H、宽为W、通道数为C、单通道像素数量为N=H×W,初始化恶意图片x1和x2为C×N的全0 矩阵;

1)x1[umodC][i×j]=u/3+1;

2)x1[umodC][i×j+1 modN]=1;

3)x2[umodC][i×j]=u/3+1;

4)x2[umodC][i×j+1 modN]=2;

5) 将x1转化为H×W×C的矩阵;

6) 将x2转化为H×W×C的矩阵;

7) 输出恶意图片x1和x2;

生成恶意数据DM后,将其与原始训练数据融合,训练AI 模型fθ。多次反复训练后,模型fθ在恶意数据上的分类准确率达到较高水平(本文实验可达到100%)。攻击者从数据沙箱中取得AI 模型fθ,在本地应用同样的恶意数据生成算法生成DM,并将其输入fθ中,得到编码了原始训练数据的标签值,进而恢复原始训练数据。

数据处理阶段的攻击强度主要与数据编码方式有关。窃取CIFAR10 数据集中压缩为32×32 的灰度图片数据,每编码2 048 张恶意图片可以窃取一张原始数据。

本节实现的3 种攻击恢复图片效果如图3 所示。从图3 可以看出,3 种攻击均能在数据沙箱场景下有效窃取原始训练数据。

4 深度学习数据窃取检测与防御方法

数据沙箱模式下,利用深度学习模型窃取数据的攻击具有隐蔽性,而监管者人工审核代码工作量巨大。本文从训练过程和输出模型角度入手进行了详细分析,并设计了面向深度学习模型本身的防御和检测方法。

4.1 深度学习数据窃取攻击特征分析

首先,本文对数据窃取攻击中训练的模型参数进行了详细分析。正常训练过程中,深度学习损失函数的正则项一般选取L1 范式或L2 范式,如式(6)和式(7)所示。

L1 范式或L2 范式的约束下,模型参数的分布通常属于正态分布。恶意模型训练过程引入了与数据或数据编码相关的正则项,因此模型参数的分布可能发生变化。例如第一种针对模型训练阶段的攻击,恶意正则使模型参数分布与图像的像素值的分布近似,而图像的像素值分布具有一定规律,通常不同于正态分布。

本文在CIFAR10 数据集上,分别训练了多个正常模型和攻击模型,抽取其中一个卷积层的参数进行统计分析,得到了如图4 所示的结果。在图4 中,4幅图的左图分别代表了4种情况下多次模型训练的平均参数分布情况,右图分别代表了多次模型训练中各次参数分布情况。通过分析图4 结果发现模型训练阶段的攻击导致模型参数分布规律异常,而数据处理阶段的攻击没有造成参数的明显分布变化。

数据处理阶段的攻击难以从参数分布的角度进行判断。由于该攻击中恶意数据与真实训练数据的特征不同,本文考虑2 种数据在训练过程中对隐藏神经元激活分布可能存在差异。针对这一假设,本文进行了模型隐藏层神经元的激活值分析。首先,复现数据处理阶段的攻击过程,并得到其模型参数。然后,将原始训练数据和恶意数据分别输入模型中进行处理,提取隐藏层神经元的激活值。为直观显示恶意数据与真实训练数据对神经元的激活值的影响,本文对提取的神经元激活值进行了降维分析,其过程分别采用了4 种数据降维算法,包括主成分分析(PCA,principal component analysis)、KernelPCA、t-SNE 和多维标度分析(MDS,multidimensional scaling)。神经元激活值的降维分析结果如图5 所示。从图5 中可以直观看到,正常数据和恶意数据对隐藏层激活值域的影响存在差异。进一步采用支持向量机(SVM,support vector machine)分析降维的激活值,则CIFAR10 实验中正确分类正常数据和恶意数据的平均概率为96%,Olivetti 任务中正确分类平均概率趋近于100%。

针对模型训练阶段攻击导致参数异常的特点,本文设计了4.2 节所示的攻击检测方法。针对据处理阶段攻击的特殊神经元激活模式,本文设计了4.3 节所示的模型剪枝防御手段。

4.2 模型训练阶段攻击的参数分析检测

针对恶意训练模型和正常训练模型之间的参数分布差异,本文提出提取参数关键特征值的方法自动化区分恶意模型与正常模型。

对任意输入的模型参数θ,本文首先统计分析其中某一卷积层参数的分布特征,主要包括参数的极小值、极大值、数量、均值、方差等。为评判其中模型参数θ是否符合正态分布,本文额外引入了偏度(S)和峰度(K)2 个统计概念,两者计算方式如式(8)和式(9)所示。

其中,代表参数的均值,σ代表参数的标准差。从图像上看,偏度表示参数分布的中心位置是否偏离正态分布的中轴线,而峰度表示参数分布中心值的尖端高度。

提取分布特征后,本文利用多组深度学习模型的实际分布特征训练了多个分类器,包括逻辑回归模型、随机森林模型、SVM、Adaboost 和XGBoost。上述分类器的效果将在第5 节实验分析部分进行评价和比较。

4.3 数据处理阶段攻击的模型剪枝防御

分析图5 所示的神经元激活情况可知,恶意窃取数据的模型和常规训练模型,在激活神经元分布上存在差异。理论上,剪除夹带恶意数据的神经元同时保留其他神经元,就能够在防御数据窃取攻击而不损失模型准确率。已有理论证明模型剪枝技术能够有力预防后门数据投毒攻击[29]。该方法的思路是定位到剪除后门数据预测过程中激活值最大的神经元,进而降低后门数据预测的准确率。

本文参考这种方法,在数据沙箱场景下进行了改进。该防御方法主要思想是:用正常数据测试模型隐藏层的神经元激活值,对于那些正常测试数据预测过程中激活值较小神经元进行剪除,这种剪除对深度学习模型原本任务影响较小,而更有可能夹带训练数据。筛选剪除神经元的具体步骤如下。

1) 对于模型θ,输入该任务相关的测试数据Dtest,在模型处理数据的过程中,提取隐藏层每一个神经元θi的激活值序列wi。

2) 对所有wi的序列求平均值,并将隐藏层神经元按照的绝对值由小到大排序。

4) 重复上述操作步骤,直到剪除神经元个数达到设置值N。

在5.3 节的实验中,本文对该模型剪枝防御手段进行了实验评价。

5 实验分析

5.1 实验设置

实验环境。本文实验是在12 核2.10 GHz Intel(R)Xeon(R)Silver 4116 CPU、128 GB RAM 和8 GB NVIDIA Quadro P4000 GPU 的计算机上进行的,并使用Pytorch 框架实现攻击和防御方法。

实验数据。本文采用图片分类任务数据集CIFAR10 数据集和人脸识别任务Olivetti 数据集进行实验。其中CIFAR10 数据集包含60 000 张彩色图像,这些图片共分为10 类,像素值为32×32×3。Olivetti人脸数据集包含400 张人脸灰度图,分别来自具有不同特征的40 人,每张图的分辨率为64 dpi×64 dpi。实验数据的测试集和训练集划分为75%和25%。

AI 模型。为完成图片分类和人脸识别任务,本文使用了ResNet34 和PreActResNet-18 模拟攻击过程,其中ResNet34 网络包含参数约46 万,而PreActResNet18 网络包含参数1 100 万。

5.2 攻击危害程度评估实验

本文采用准确率和宏平均F1 值来评价攻击的危害程度以及原始模型的效果。准确率指模型预测正确的数据占全量数据的比例;宏平均F1 值,又称macro-F1 值,该值综合考虑多分类任务中每一类分类数据的F1 值(F1 值是精确率和召回率的调和平均数),用于评价多分类任务的整体效果。

针对第一种模型训练攻击,本文额外采用相关系数P来评价窃取数据和原数据的相似程度,该值由式(4)所示的皮尔森相关系数求出。针对第二种模型训练攻击,本文额外采用符号相关度Q来评价窃取数据和原数据的相似程度,该值统计了模型参数θ与窃取数据s中对应为符号相同的元素出现的概率。这2 种模型训练攻击均用参数α控制了恶意正则项对训练过程的影响。针对数据处理过程的攻击,本文分别合成了不同数据量级的恶意数据,实验分析其对原始模型的影响程度以及攻击效果。

模型训练阶段攻击危害程度评估实验数据如表1所示。对于模型训练阶段的第一种攻击而言,其窃取图片与原图的相似度在2 个数据集、2 种模型上均能达到99%。同时,窃取数据对原本模型训练任务的影响不大。通过调节参数α,图片分类任务和人脸识别任务的准确率和宏平均F1 值均能达到85%以上,因此难以从原始任务效果好坏角度鉴别恶意攻击。对于模型训练阶段的第二种攻击而言,其攻击效果在CIFAR10 数据集上表现较好,能够达到90%,而在Olivetti 数据集上相似度在70%左右。2 种模型、2 种数据集上的攻击对原始任务效果的影响不大,平均准确率和和宏平均F1 值在90%左右。

表1 模型训练阶段攻击危害程度评估实验数据

对于数据处理阶段的攻击如表2 所示,其窃取图片的效果最佳,在2 个数据集、2 种模型上均能达 到 99%,甚至在 CIFAR10 数据集的PreActResNet18 模型和Olivetti 数据集的ResNet34模型上能够达到100%。由数据可见,数据处理阶段的攻击对原本模型训练任务的影响也不明显,其任务平均的准确率在90%左右。

表2 数据处理阶段攻击危害程度评估实验数据

同样针对CIFAR10 数据集,一般场景下的数据窃取攻击数据恢复的准确率在94%~99%(准确率根据文章中的平均绝对像素误差折算),而对原始模型的准确率影响约为2%[7]。本文将此类攻击有效实现于数据沙箱场景,得到了与之类似的结果。

通过实验分析得出结论,深度学习数据窃取攻击在数据沙箱场景下的危害极大,其特征在于数据窃取的准确率高,且不影响原有模型的训练,难以察觉。

5.3 参数分析检测实验

根据4.2 节所提方法,本文首先提取了已完成训练模型的360 组卷积层模型参数,其中包含正常模型17%、模型训练阶段攻击1 产生模型25%和模型训练阶段攻击2 产生模型58%。然后,将这些模型参数的极小值、极大值、数量、均值、方差、峰度、偏度等统计特征作为特征值训练机器学习分类器。

逻辑回归模型、随机森林模型、SVM、Adaboost 和XGBoost 对恶意神经网络的识别准确率和宏平均F1 值如表3 所示。实验显示,5 种机器学习分类器对恶意神经网络的识别准确率和宏平均F1 值均达到91%以上,且SVM 的识别准确率最高,能够达到95%以上。

表3 不同模型对恶意神经网络的识别准确率和宏平均F1 值

5.4 模型剪枝防御实验

本文实现的模型剪枝防御实验效果如图6、图7所示。站在防御者的角度,希望在训练数据、测试数据准确率尽可能不受到影响的前提下,降低恶意数据上的识别准确率,进而防止数据处理阶段的攻击。

如图6 所示,模型剪枝防御在CIFAR10 数据集上的ResNet34 模型中表现最好,当剪除40 个神经元时,训练数据上的准确率降低了3%,测试数据上的准确率降低了7%,而数据防泄露的效果为73%,而在更加复杂的PreActResNet18 模型上,选择剪除450 个神经元能够防止29%的数据泄露问题。相比于深入分析模型,并在神经元上加入扰动的防御方法(准确率影响为5%~9%,防御效果为23%~100%),有类似的防御效果[12]。如图7 所示,模型剪枝防御在Olivetti 数据集上的ResNet34 模型也有良好效果,正确选取模型剪枝神经元个数,能够在模型剪枝防御方法可以保证训练数据、测试数据准确率降低不到5%的前提下,防止26%以上数据泄露。

表4 将本文实现的2 种防御手段与相关工作中的防御手段进行了对比,可以看出具有恶意模型检测能力和不需要修改训练代码是本文工作的主要贡献点。数据沙箱场景中,原始训练数据属于数据拥有者,直接修改训练数据的方案不被允许,而解析所有AI 训练代码的人力开销巨大,因此本文工作更加适用于该场景。

表4 相关工作对比

6 结束语

本文分析了数据沙箱模式下数据处理阶段的攻击和模型训练阶段的攻击,构建了2 种攻击手段的威胁模型。通过在图片分类任务数据集CIFAR10数据集和人脸识别任务Olivetti 数据集上的实验,量化分析了2 种攻击的危害程度和鉴别特征。

本文通过分析2 种攻击手段的特征,分别提出了针对性的防御方案:针对数据处理阶段的攻击,本文提出基于模型剪枝的数据泄露防御方法,减少数据泄露量;针对模型训练阶段的攻击,本文提出基于模型参数分析的攻击检测方法,从而拦截恶意模型防止数据泄露。这2 种方法不需要修改或加密数据,也不需要人工分析深度学习模型训练代码,能够更好地应用于数据沙箱模式下数据窃取防御。

实验评估阶段,本文验证了防御方法和检测方法的有效性。实验结果表明,本文设计的防御方法能够减少26%~73%的数据泄露,而检测方法能够有效识别95%以上的攻击行为。

在未来工作中,本文所实现的防御手段尚有2 项内容需要进一步研究与实现:基于模型参数分析的攻击检测方面,由于应用了机器学习技术检测模型参数,造成检测速度较慢、资源开销较多,需要进一步提升性能;基于模型剪枝的数据泄露防御方面,对于复杂任务复杂模型的防御效果不足,需要设计新算法或新机制提升防御效果。

猜你喜欢
沙箱数据处理神经元
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
基于低频功率数据处理的负荷分解方法
无人机测绘数据处理关键技术及运用
AI讲座:神经网络的空间对应
仿生芯片可再现生物神经元行为
采用GCaMP6 在体大规模记录感觉神经元的活动
Removing a stone
巧用沙箱检测文件安全
用上所有的力量
基于MATLAB语言的物理实验数据处理探讨