掌桥专利:专业的专利平台
掌桥专利
首页

一种基于生成对抗网络的模型安全性检测方法

文献发布时间:2023-06-19 11:29:13


一种基于生成对抗网络的模型安全性检测方法

技术领域

本发明涉及计算机信息安全技术领域,具体涉及基于生成对抗网络的模型安全性检测方法。

背景技术

软件或者模型是否安全,需要检测软件或者模型进行检测,当前,用于检测模型抵御模型窃取攻击安全性的方法主要是利用已有的模型窃取方法,通过构建一个与待测模型功能相似的替代模型,检测代替模型与待测模型的行为相似度,并与预设的安全阈值相比较,做出相应的评价。如果相似度高于安全阈值,则说明待测模型遭受模型性窃取的风险较大,反之,则表示待测模型具有相当的抵御模型窃取攻击的能力。

检测模型抵御模型窃取攻击安全性方法流程中除了预设安全阈值和评价被测模型安全性之外,中间的步骤可以看作是进行一次模型窃取。即:1、预设安全阈值;2、实施“模型窃取”,获取替代模型D;3、比较替代模型D和被测模型行为相似度与预设安全阈值关系,评估被测模型安全性。

当前模型窃取主要有三种方法,即基于真实训练数据的方法、基于其它训练数据的模型窃取和基于数据生成的方法。

基于真实训练数据的模型窃取方法预设了一个前提,即攻击者可以预先获取训练被攻击模型的训练数据,攻击者通过访问被攻击模型获取对应的标签,以此获取一批高质量的训练数据,因此可以高效率地训练替代模型。但是,现实生活中,被攻击的模型往往是由于高价值的训练数据才具有窃取的价值,训练数据几乎不可能拿到。

基于其它训练数据的模型窃取使用其它容易获取数据集来替代真实数据,攻击者使用这些数据访问被攻击模型,获取对应的标签,进而用于训练替代模型。这种方法成功与否很大程度上取决于所获取的数据集与真实数据集的分布之间的差异,差异越大,训练效果越差。

基于数据生成的方法使用特定的方法合成人造数据来替代真实数据,攻击者基于这些人造数据访问被攻击模型获取对应的标签,从而训练替代模型。这种方法往往难以在确保在几次数据生成的过程中覆盖到所有的类别,并保持相当的数量,所以需要大量访问被攻击模型以获取足够的数据。

模型窃取难以在没有真实训练数据或相近训练数据的情况下实施,一般基于数据生成的模型窃取又难以控制生成数据的分布,这导致在无训练数据情况下的模型窃取难以实施。

发明内容

本发明针对现有技术的不足,提出一种适用于模型拥有者在能够保证训练数据安全的场景下,评估被测模型在防御模型窃取攻击的能力,判断待检测模型是否安全的方案的基于生成对抗网络的模型安全性检测方法,具体技术方案如下:

一种基于生成对抗网络的模型安全性检测方法,采用的具体步骤为:

步骤一:设定行为相似度安全阈值δ;

步骤二:构建初始化生成器G和替代模型D;

步骤三:进行逐轮迭代,计算替代模型D和被测模型T之间的行为相似度μ,达到设定值后进入下一步;

步骤四:评估被测模型T的安全性。

作为优化:所述步骤一具体为,行为相似度安全阈值δ,视使用中对被测模型的安全性要求高低而定,0<δ≤1,δ越大,表示安全性要求等级越低,反之表示安全性要求等级越高。

作为优化:所述步骤二具体为,生成器G的输入数据为噪声数据z和标签数据L拼接而成,其中z是标准正态分布,均值为0,方差为1,中随机抽取得来,长度为NSize;标签数据L为预标记类别的OneHot编码,编码长度为CNum,由此,输入为[z,L],在单次迭代中,G的输入形状为(BSize,NSize+CNum),输出形状与被测模型T的输入的形状相同,由此可以设计生成器的人工神经网络模型,生成器G选取的模型种类不做限制;

替代模型D由于要学习被测模型T的行为模式,故替代模型D的输入和输出的形状与被测模型T相同,替代模型D所选取的人工神经网络的类别同样不做限制。

作为优化:

3.1、噪声数据和标签数据的生成

噪声数据z从标准正态分布(均值为0,方差为1)中随机抽取,

标签数据L为预标记类别的OneHot编码,预标记类别的取值为{0,1,2,…,CNum-1},预标记类别的取值决定了编码中取值1的位置,其它位置用0填充,在这一过程中,生成的数据量为BSize条,其中每一种预标记类别的数据有BSize/CNum条;

3.2、合成数据X的生成

将3.1中得到的噪声数据和标签数据输入到生成器G中,获得输出

为避免

最大最小规范化:

为方便表述,这里假设X中数据的取值范围为[bot,top]。

其中,

最终,X表示为:X=G(z,L,scaler),由z,L,scaler共同决定,其中scaler为一种规范化方法;经过转换,X中的数据的值能更好分布在值域范围内;此时,X中带有BSize条合法样本;

3.3、获取合成数据X的真实标签Y

将3.2中得到的合成数据X输入到被测模型T中,得到BSize条真实标签Y=T(X);

3.4、获取合成数据X的伪标签F

将3.2步骤中得到的合成数据X输入到替代模型D中,得到BSize条伪标签F=D(X);

3.5更新替代模型D

为使得在更新完替代模型D后,替代模型D的行为更加接近被测模型T,则需要使得D(X)与T(X)的差别尽可能的小,定义LossD为替代模型D的损失,则:

当Y表示类型标签时,LossD的计算公式如下:

LossD=CE(D(X),Y)

当Y表示概率标签时,LossD的计算公式如下:

LossD=CE(D(X),Lable(Y))+MSE(D(X),Y)

其中Lable(·)表示将概率标签转化对应类型的onehot编码的函数,即对应类型位置上的值为1,其余位置上的值为0,CE(·)表示交叉熵损失函数,它可以量化两个变量的相关程度,越小表示两者的相关性越大,MSE(·)表示均方误差函数,用于衡量两个变量之间的距离,越小表示两者越相近;

优化LossD并更新替代模型D,使到替代模型D的输出往模型T输出的方向变化,以达到逐渐逼近T功能的目的;

3.6、更新生成器G

生成器G的主要目的是分布更加广泛,涉及类别更丰富的合成数据,并且如果生成的数据对于替代模型D来说是新颖的,则替代模型D更有可能在该次学习中获得知识;

为达到生成多类别的数据,设计损失项lossG1为:

LossG1=CE(T(G(z,L,scaler),L)

上式中由于被测模型T的结构及参数无法获取,无法直接计算求得对应的梯度信息,使用D(G(z,L,scaler))来近似替代T(G(z,L,scaler)),因为替代模型D的输出随着迭代的不断进行,会趋于与T的输出相近,同时替代模型D的网络结构和参数信息已知,对应的梯度可求;

LossG1=CE(D(G(z,L,scaler)),L)

如此优化lossG1,提高被测模型T输出的类别与预设标签L的关联程度,间接利用预设标签控制模型T的输出,更新生成器G后,利用不同的预设标签可以使得生成器G生成的数据对应的类别更丰富;

为获取对新颖的数据,生成器G生成的数据对应的真实标签应尽可能与模型D给出的不同,设计算损失项lossG2为:

LossG2=e

上式LossD在步骤3.5中有说明,用于衡量D与T对同一输入的输出差异,优化LossG2将扩大该差异,即生成器G趋于生成无法被替代模型D正确识别的数据,产生与优化LossD互相“对抗”的效果,如此,设计生成器G最终的损失函数LossG为:

LossG=LossG1+LossG2

优化LossG,更新生成器G,将使生成器G趋于产生多类别的,无法被模型D识别的数据,提高替代模型D学习“新知识”的机会和效率;

3.7、计算替代模型D与被测模型T行为相似度μ

获取真实数据X′,分别计算T(X′),D(X′),计算

其中Count(·)为计数函数,μ表示对于真实数据X′,被测模型T和替代模型D的输出结果相同的样本数占所有样本数的比率,μ越大表示被测模型T和替代模型D行为相似度越高;

3.8、重复执行步骤3.1-3.7,直到μ在多轮迭代中没有得到更新,此时认为μ达到最高。

作为优化:所述步骤四具体为,根据μ和安全阈值δ的大小关系,有两种情况:

μ≤δ,表示被测模型T和替代模型D的行为相似度未超过对应的安全阈值,即使用此检测方法训练出来的替代模型符合安全要求,被测模型具有在该安全等级下防御模型窃取攻击的能力;

μ>δ,表示被测模型T和替代模型D的行为相似度超过对应的安全阈值,即使用此检测方法训练出来的替代模型不符合安全要求,被测模型不具有在该安全等级下防御模型窃取攻击的能力。

本发明的有益效果为:本发明利用GAN中的生成器G来生成数据,提升了人造数据的质量,使得对应标签种类和数量趋于平衡,加速了替代模型D的收敛速度和训练效果。利用此方法构建替代模型并计算与被测模型之间的行为相似度,使得模型拥有者可以客观、高效、准确地对被测模型的安全性进行评估。

本发明探讨在本发明所使用的基于GAN的模型窃取方法适用于无训练数据的黑盒攻击场景,通过生成类别较为均衡的人造数据,快速提升替代模型与被测模型的行为相似度。根据实验结果,本发明具有适应性强,效率高等特点,可以客观地反映被测模型访问接口暴露后,遭受模型窃取攻击的风险。

附图说明

图1为本发明的框架结构示意图。

具体实施方式

下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。

本发明方案中涉及的部分符号定义:

本实施例中,基于以下几点假设:1、检测人员可以对被测模型进行较大规模的访问(检测人员一般为模型拥有者,具有被测模型完全的访问能力);2、检测人员可以获取被测模型对应的输入范围,数据X值域[bot,top],即X={X

如图1所示:一种基于生成对抗网络的模型安全性检测方法,所构建模型安全性检测方法是一种迭代的算法,算法首先设定行为相似度安全阈值δ;然后构建和初始化生成器G和替代模型D,之后进行逐轮迭代,计算替代模型D和被测模型T之间的行为相似度μ;迭代结束后比较μ和安全阈值δ,评价被测模型安全性。在迭代过程中,包含以下几个步骤:1、噪声数据和标签数据的生成;2、合成数据X的生成;3、获取合成数据X的真实标签Y;4、获取合成数据X的伪标签F;5、更新替代模型D;6、更新生成器G。经过多轮迭代,最终得到一个与被测模型行为相似的替代模型D。

参数设置与已知条件:

被测模型T可以识别的类别数目为CNum,每一轮迭代生成的样本数为BSize,一般取CNum的整数倍,噪声数据z的长度为NSize,T的输入的形状,X中数据的值域[bot,top]。

1、设定行为相似度安全阈值δ

该值视使用中对被测模型的安全性要求高低而定,0<δ≤1,δ越大,表示安全性要求等级越低,反之表示安全性要求等级越高。

2、构建和初始化生成器G和替代模型D

生成器的输入数据为噪声数据z和标签数据L拼接而成,其中z是标准正态分布(均值为0,方差为1)中随机抽取得来,长度为NSize;标签数据L为预标记类别的OneHot编码,编码长度为CNum。由此,输入为[z,L]。在单次迭代中,G的输入形状为(BSize,NSize+CNum),输出形状与被测模型T的输入的形状相同,由此可以设计生成器的人工神经网络模型。生成器G选取的模型种类不做限制。

替代模型D由于要学习被测模型T的行为模式,故D的输入和输出的形状与T相同。D所选取的人工神经网络的类别同样不做限制,但由于较复杂的网络具有较强的学习能力,不推荐使用过于简单的网络模型。

3、迭代过程

3.1噪声数据和标签数据的生成

噪声数据z从标准正态分布(均值为0,方差为1)中随机抽取。

标签数据L为预标记类别的OneHot编码,预标记类别的取值为{0,1,2,…,CNum-1},预标记类别的取值决定了编码中取值1的位置,其他位置用0填充。例如:预标记类别为1时,该OneHot编码为[0,1,0,…,0],当预标记类别为3时,编码为[0,0,0,1,…,0],以此类推。

在这一过程中,生成的数据量为BSize条,其中每一种预标记类别的数据有BSize/CNum条。

3.2合成数据X的生成

将上一步得到的噪声数据和标签数据输入到生成器G中,获得输出

为避免

最大最小规范化:

为方便表述,这里假设X中数据的取值范围为[bot,top]。

其中,

最终,X表示为:X=G(z,L,scaler),由z,L,scaler共同决定,其中scaler为一种规范化方法。经过转换,X中的数据的值能更好分布在值域范围内。此时,X中带有BSize条合法样本。

3.3获取合成数据X的真实标签Y

将(3.2)步得到的合成数据X输入到被测模型T中,得到BSize条真实标签Y=T(X)。

3.4获取合成数据X的伪标签F

将(2)步得到的合成数据X输入到替代模型D中,得到BSize条伪标签F=D(X)。

3.5更新替代模型D

为使得在更新完模型D后,D的行为更加接近被测模型T,则需要使得D(X)与T(X)的差别尽可能的小。定义LossD为替代模型D的损失,则:

当Y表示类型标签时,LossD的计算公式如下:

LossD=CE(D(X),Y)

当Y表示概率标签时,LossD的计算公式如下:

LossD=CE(D(X),Lable(Y))+MSE(D(X),Y)

其中Lable(·)表示将概率标签转化对应类型的onehot编码的函数,即对应类型位置上的值为1,其余位置上的值为0。CE(·)表示交叉熵损失函数,它可以量化两个变量的相关程度,越小表示两者的相关性越大。MSE(·)表示均方误差函数,用于衡量两个变量之间的距离,越小表示两者越相近。

优化LossD并更新模型D,使到模型D的输出往模型T输出的方向变化,以达到逐渐逼近T功能的目的。

3.6、更新生成器G

生成器的主要目的是分布更加广泛,涉及类别更丰富的合成数据,并且如果生成的数据对于模型D来说是新颖的,则模型D更有可能在该次学习中获得知识。

为达到生成多类别的数据,设计损失项lossG1为:

LossG1=CE(T(G(z,L,scaler)),L)

上式中由于模型T的结构及参数无法获取,无法直接计算求得对应的梯度信息。为解决这个问题,本发明使用D(G(z,L,scaler))来近似替代T(G(z,L,scaler)),因为D的输出随着迭代的不断进行,会趋于与T的输出相近,同时D的网络结构和参数信息已知,对应的梯度可求。

LossG1=CE(D(G(z,L,scaler)),L)

如此优化lossG1,提高T输出的类别与预设标签L的关联程度,间接利用预设标签控制模型T的输出。更新G后,利用不同的预设标签可以使得G生成的数据对应的类别更丰富。

为获取对较“新颖”的数据,生成器G生成的数据对应的真实标签应尽可能与模型D给出的不同,设计算损失项lossG2为:

LossG2=e

上式LossD在步骤(3.5)中有说明,用于衡量D与T对同一输入的输出差异,优化LossG2将扩大该差异,即生成器G趋于生成无法被模型D正确识别的数据,产生与优化LossD互相“对抗”的效果。如此,设计生成器G最终的损失函数LossG为:

LossG=LossG1+LossG2

优化LossG,更新生成器G,将使生成器G趋于产生多类别的,无法被模型D识别的数据,提高模型D学习“新知识”的机会和效率。

3.7、计算替代模型D与被测模型T行为相似度μ

获取真实数据X′,分别计算T(X′),D(X′),计算

其中Count(·)为计数函数,μ表示对于真实数据X′,被测模型T和替代模型D的输出结果相同的样本数占所有样本数的比率。μ越大表示被测模型T和替代模型D行为相似度越高。

4、重复执行步骤(1)-(7),直到μ在多轮迭代中没有得到更新,此时认为μ达到最高。

评估待测模型T的安全性

根据μ和安全阈值δ的大小关系,一般地,有两种情况:

μ≤δ,表示被测模型T和替代模型D的行为相似度未超过对应的安全阈值,即使用此检测方法训练出来的替代模型符合安全要求,被测模型具有在该安全等级下防御模型窃取攻击的能力。

μ>δ,表示被测模型T和替代模型D的行为相似度超过对应的安全阈值,即使用此检测方法训练出来的替代模型不符合安全要求,被测模型不具有在该安全等级下防御模型窃取攻击的能力。

相关技术
  • 一种基于生成对抗网络的模型安全性检测方法
  • 一种异构双向生成对抗网络模型及时间序列异常检测方法
技术分类

06120112941188