CN116305103A - 一种基于置信度差异的神经网络模型后门检测方法 - Google Patents
一种基于置信度差异的神经网络模型后门检测方法 Download PDFInfo
- Publication number
- CN116305103A CN116305103A CN202310325103.4A CN202310325103A CN116305103A CN 116305103 A CN116305103 A CN 116305103A CN 202310325103 A CN202310325103 A CN 202310325103A CN 116305103 A CN116305103 A CN 116305103A
- Authority
- CN
- China
- Prior art keywords
- data
- confidence
- model
- patch
- back door
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 55
- 238000003062 neural network model Methods 0.000 title claims abstract description 25
- 238000006243 chemical reaction Methods 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000002159 abnormal effect Effects 0.000 claims abstract description 18
- 238000005070 sampling Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 18
- 231100000614 poison Toxicity 0.000 claims description 10
- 239000002574 poison Substances 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 231100000572 poisoning Toxicity 0.000 claims description 7
- 230000000607 poisoning effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 6
- 231100000331 toxic Toxicity 0.000 claims description 6
- 230000002588 toxic effect Effects 0.000 claims description 6
- 238000013450 outlier detection Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 claims description 2
- 238000003058 natural language processing Methods 0.000 claims description 2
- 238000012549 training Methods 0.000 abstract description 25
- 230000007123 defense Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- VREFGVBLTWBCJP-UHFFFAOYSA-N alprazolam Chemical compound C12=CC(Cl)=CC=C2N2C(C)=NN=C2CN=C1C1=CC=CC=C1 VREFGVBLTWBCJP-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000007096 poisonous effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Virology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于置信度差异的神经网络模型的后门检测方法,设计了一套补丁生成流水线,可以检测模型及其训练数据是否存在被后门攻击的可能。本发明通过检测高、低置信度数据是否隶属于同一个分布来判断模型是否被后门攻击。具体包括按照标签对高、低置信度数据采样;在高置信度数据上学习补丁;将补丁应用到低置信度数据上,并计算转换率;对所有标签的转换率进行异常值检测。本发明能够检测复杂后门攻击的触发器,并且对触发器的大小没有要求。
Description
技术领域
本发明涉及一种基于置信度差异的神经网络模型的后门检测方法,可以对神经网络模型进行检测,判断是否存在被后门攻击的可能性,其中包括判断模型是否被攻击和判断具体标签是否被攻击。该检测方法用于检测基于数据毒害方法构造的后门攻击,属于软件系统和信息安全技术领域。
背景技术
深度学习模型已经被广泛应用在许多重要的领域,例如汽车中无人驾驶技术的路标识别、门禁系统中权限校验的人脸识别,以及电子商务领域中出入库的商品识别。多个行业快速采用基于云的技术正在推动市场的增长。财力雄厚的科技公司一般会自己组建算法团队来搭建深度学习开发平台训练模型以提升公司的业务效率,而财力相对薄弱的小微企业则往往采用机器学习即服务(MLaaS)的方式将模型的整个训练过程外包给第三方机构来完成,然后将训练好的深度学习模型直接部署到具体的业务场景里。
然而不论是科技公司自己训练模型,还是将数据提供给第三方机构来训练,都存在着非常多的安全问题,在众多深度学习安全性问题中有一类重要的攻击方法,它能够控制模型在测试阶段的输出结果,使模型输出变为攻击者想得到的任何目标,并且不影响任何其他正常样例的输出以隐蔽攻击者的存在,它就是神经网络的后门攻击(BackdoorAttack)。后门本意是指一座建筑在背面开设的门,通常比较隐蔽,它的作用是为进出建筑的人提供方便。而在软件系统和信息安全领域中,后门是指绕过安全控制和访问权限从而能取得程序控制权和系统访问身份的方法。在神经网络系统中,攻击者获得神经网络系统权限具体表现为对任意一个输入样例(例如一张图片),对其进行少量更改,则图片会被分类为某个特定的类别。
对于自行训练模型中,训练数据集往往来自于互联网数据采集和用户数据的收集两种方式,这种海量数据的收集使数据毒害方式有机可乘,攻击者只需要自行上传和发布一些有毒有害的数据,就可以直接将训练数据集污染。不仅如此,后门攻击还可以存在于预训练模型,用户下载到被后门攻击过的预训练模型,然后通过微调得到自己的模型。即使微调数据集是干净的,也无法消除后门。因此解决神经网络的后门攻击问题逐渐成为研究热点。
神经网络的后门防御可以从多个角度入手。在一个深度学习系统发布前,需要经历收集数据、数据预处理、模型训练、模型部署、上线这几个关键步骤,那么后门攻击的防御便可以从这几步上进行考虑。具体可以分为三类:毒害数据检查、模型后门检测、模型后门消除。毒害数据检查旨在发现训练数据集的异常,模型后门检测则主要来判断模型是否被后门攻击,模型后门消除则假设模型已经被攻击,提出一套方法消除后门的影响。本发明的方法隶属于模型后门检测方法。
发明内容
发明目的:尽管在许多实际应用中具有巨大潜力,但人们发现深度学习模型容易受到后门攻击(也称为木马攻击)。例如,通过对训练数据进行投毒,可以轻松操纵人脸识别模型,将任何人预测为指定的目标人物。通常,成功的后门攻击会毒害一小组训练数据,并呈现出满足以下两个要求的训练模型:1)木马模型在良性输入上没有明显的精度下降;2)它将中毒输入(例如,带有触发器的输入)以高概率分类为目标标签。
现有的工作已经提出了几种措施来检查给定模型是否已被后门攻击,例如可以利用后门触发器通常尺寸较小的直觉,学习搜索这种小区域来检测触发器。但是它的缺点是对后门触发器的大小比较敏感,当触发器的大小比较大的时检测结果表现很差。也可以分析神经元激活情况和内部连接通路,基于这个假设刺激模型的一个内部神经元,如果模型已经被攻击则很容易导致目标标签的响应很高。然而,这种方法无法应对涉及到多个触发器或多个目标标签的高级攻击形式,因为这种情况下模型内部的神经连接通路通常会变得很复杂。另外一种思路则是首先主动地训练大量干净模型和被攻击的模型,然后再在这些模型上训练出一个元分类器用以判别输入的模型是否是被攻击模型。尽管经过训练的元分类器可以很好地识别与训练数据中的触发器具有相似模式的触发器,但它可能无法很好地泛化到看不见的攻击或触发器,因为触发器和攻击模式可以被构造得不同寻常。
为了解决现有防御方法的局限性,在这项工作中,本发明从模型预测行为的角度提出了一种新的后门检测算法。具体来说,本发明的方法的动机是观察到有效的后门攻击通常需要在训练阶段对少量中毒数据实现高预测置信度,以确保对中毒输入的高攻击成功率。这种观察不依赖于触发大小、神经元激活模式或触发器的样式,因此有可能解决上述检测方法的不足。
技术方案:一种基于置信度差异的神经网络模型的后门检测方法,该检测方法用于检测基于数据毒害方法构造的后门攻击,主要用于检测以卷积神经网络为代表的图片识别模型,也可以用于检测自然语言处理模型;设计了一套完整的检测流水线,可以对模型及其所使用的数据集进行检测以识别数据集中存在的毒害样例和模型被攻击的情况,其中包括对每一个标签的数据采样高置信度数据和低置信度数据;在高置信度数据上找到一个通用补丁,这个补丁能够让高置信度数据的预测分类目标改变,同时能够保持L1-正则最小;将这个补丁应用到对应类别的低置信度数据,计算使低置信度数据预测分类目标改变的比例,这个比例称之为分布转换率;对所有标签的分布转换率计算异常值,异常值大于3.5的视为被后门攻击;所述后门检测方法详细表述为:
1)对已训练完毕的数据进行采样
对已训练完毕的模型和数据进行采样,首先获得已经训练完毕的模型和数据,然后把数据按照标签进行分类。对每一个标签的数据分别按照分类置信度进行排序,分类置信度就是模型输出的最后一层对应类别的数值,如果是二分类其值一般在(0,1)之间,如果是多分类,输出的每一纬度都有分类置信度,选择对应类别的最高值作为排序关键字。对排好序的数据集进行采样,用Dh表示采样的高置信度数据,用Dl表示采样的低置信度数据,用f(x)表示神经网络模型输出,它的输入是x,一般是多维矩阵或者向量。
2)在高置信度数据上学习补丁
对于补丁学习,将补丁定义为元组(M,P),其中M是2维掩码,P包含3维补丁像素。然后学习出一个可以引导高置信度数据预测不同标签的补丁。也就是对于某个标签z和高置信度数据Dh,我们旨在优化以下目标函数:
s.t.x′=(1-M)⊙x+M⊙P
其中M控制要修补的区域,P控制修补的值,⊙是逐元素乘法。设Mij是M的元素,其中i表示行索引,j表示列索引。Mij的范围从0到1,表示有多少原始像素值将被保留或用P重新填充。函数f表示均方误差函数,g表示预测输入,ez表示输入样例x′的标签所对应的值,x′表示对一个输入样例进行打补丁。对于函数f,由于我们的目标是将预测引导至除当前z之外的任何其他标签,因此在第z维度上使用均方误差。换句话说,上述目标引导着补丁使高置信度数据的第z维向零倾斜。λ用于平衡M的L1范数的重要性。较小的λ往往会产生较大的补丁。λ会在优化过程中动态调整,以保持较高的转化率(例如不低于95%)。需要注意是,学习的补丁不一定需要擦除整个毒害样例的触发器,而只需要破坏部分图像像素就能够将目标标签中的中毒图像的预测引导回其原始标签即可。
3)将补丁应用到低置信度数据上,并计算转换率
补丁(M,P)是从高置信度数据上学习而来的,它的功能是能够让高置信度数据的预测分类发生改变。将所学习到的补丁应用在低置信度数据上,判断它能够将多少低置信度数据的预测分类发生改变。具体的应用公式为:
x′=(1-M)⊙x+M⊙P
这里x是低置信度数据,x’是已经被打补丁后的低置信度数据,M使掩码区域,P指明了补丁的强度。在采样的低置信度数据Dl上,需要计算转化率,这个转化率衡量了有多少低置信度数据的预测分类也发生改变,具体的计算公式为:
其中g(x)是x的预测标签;I(x)是指示函数,如果x的真值情况为真则结果为1,否则结果为0。对于模型的所有标签,如果某个标签被攻击了则它的转化率r也会显著降低。这是因为被攻击的数据中毒害样例分布在高置信度数据里,干净样例分布在低置信度数据里,那么这两组数据并不属于同一分布,因此在高置信度数据上学习出来的补丁则不能够在低置信度数据上应用使之改变标签。
4)对所有标签的转换率进行异常值检测
对所有标签的转换率进行异常值检测,将模型的所有标签对应的低置信度数据上获得的转化率进行汇总,然后在这些转化率上应用MAD异常值检测算法,判断异常值是否大于3.5,如果大于则说明存在某些标签具有较小的转化率,进而说明模型存在后门攻击。MAD异常值检测具体公式为:
MAD=1.4826*MC
MC=median(Xi-median(X))
其中X表示转化率的集合,Xi表示X中的元素,i是索引,median表示集合的中位数。换句话说这个公式首先计算转化率集合的中位数,然后用这个集合中的每一个元素都减去这个中位数,最后对得到的结果再取中位数来得到MC值。得到MC的值以后,还需要乘以校正因子来得到最终的MAD,集合X中每个元素都能得到一个MAD值,该值可能为正也可能为负,而本发明的检测方法需要检测是否存在较小的转化率,那么只需要保留值为负的项,然后对它们取绝对值,最后输出绝对值最大的数作为最终的异常检测值,大于3.5视为被后门攻击。
一种计算机设备,其特征在于:该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如上所述的基于置信度差异的神经网络模型的后门检测方法。
有益效果:与现有技术相比,本发明提供的基于置信度差异的神经网络模型后门检测方法优势如下:
(1)检测程序不需要额外的干净数据,而只需要能够访问训练数据集即可。在实际应用场景中,干净数据集的获得方式往往也相对困难,因为很难保证从互联网上采集到的图片不存在后门,而访问训练集这个要求则相对更宽松,更能够实现。
(2)检测程序能够应对多种不同形式的攻击,例如多个触发器来攻击同一个目标标签或者是多个触发器攻击多个目标标签等情况,而现有技术更多关注于只解决一个触发器攻击一个目标标签的形式,本发明适用性更宽泛。
(3)检测程序能够识别出复杂的触发器,而不对其形状有任何要求。现有部分技术只能关注在训练阶段预先设置好可能的触发器形状,通过训练元分类器来判断已经训练好的模型是否存在后门攻击。而本发明针对高低置信度,并基于分布转换的方式区分模型存在后门与否,而并不依赖于元分类器,因此对触发器形状大小没有任何要求。
(4)检测程序对触发器的大小没有要求,现有的防御方法大部分都是假设触发器很小,然后基于这个假设衍生出一系列的防御方法。例如有的通过反向工程的方式对每一个标签找到所有可能的触发器,然后再判断是否存在极小的触发器进而判断模型是否被攻击。而本发明更多关注于触发器样例和正常样例的置信度特征,通过采样高、低置信度数据,并在这之上运行区分算法来判断模型的攻击情况。
附图说明
图1是本发明实施例的方法流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,基于置信度差异的神经网络模型后门检测方法:
1)对已训练完毕的数据进行采样
当模型训练完毕后,检测程序能够访问模型和训练集,此时需要对每个标签的数据进行采样。具体地,对每一个标签的数据分别按照分类置信度进行排序,分类置信度就是模型输出的最后一层对应类别的数值,如果是二分类其值一般在(0,1)之间,如果是多分类,输出的每一纬度都有分类置信度,选择对应类别的最高值作为排序关键字。对排好序的数据集进行采样,用Dh表示采样的高置信度数据,用D1表示采样的低置信度数据,用f(x)表示神经网络模型输出,它的输入是x,一般是多维矩阵或者向量。
2)在高置信度数据上学习补丁
对于补丁学习,将补丁定义为元组(M,P),其中M是2维掩码,P包含3维补丁像素。然后学习出一个可以引导高置信度数据预测不同标签的补丁。也就是对于某个标签z和高置信度数据Dh,我们旨在优化以下目标函数:
s.t.x′=(1-M)⊙x+M⊙P
其中M控制要修补的区域,P控制修补的值,⊙是逐元素乘法。Mij的范围从0到1,表示有多少原始像素值将被保留或用P重新填充。函数f表示均方误差函数,g表示预测输入,ez表示其标签所对应的值,x′表示对一个输入样例进行打补丁。对于函数f,由于我们的目标是将预测引导至除当前z之外的任何其他标签,因此我们在第z维度上使用均方误差。换句话说,上述目标引导着补丁使高置信度数据的第z维向零倾斜。在具体的实现上,我们一般先初始化M和P为随机矩阵,并设置λ初始值为2。然后每回合根据上面的优化目标学习到一个(M,P),然后根据转化率调整λ。如果当前转化率已经达到95%,则说明现在的补丁过大了,那么将λ缩小1.5倍;如果当前转化率小于95%,则说明现在的补丁过小,那么将λ增大2倍。在优化过程中保存转化率大于95%并且补丁最小的(M,P)组合。需要注意是,学习的补丁不一定需要擦除整个毒害样例的触发器,而只需要破坏关键像素,从而将目标标签中的中毒图像的预测引导回其原始标签即可。
3)将补丁应用到低置信度数据上,并计算转换率
补丁(M,P)是从高置信度数据上学习而来的,它的功能是能够让高置信度数据的预测分类发生改变。将所学习到的补丁应用在低置信度数据上,判断它能够将多少低置信度数据的预测分类发生改变。具体的应用公式为:
x′=(1-M)⊙x+M⊙P
这里x是低置信度数据,x′是已经被打补丁后的低置信度数据,M使掩码区域,P指明了补丁的强度。在采样的低置信度数据Dl上,需要计算转化率,这个转化率衡量了有多少低置信度数据的预测分类也发生改变,具体的计算公式为:
其中g(x)是x的预测标签;I(x)是指示函数,如果x的真值情况为真则结果为1,否则结果为0。对于模型的所有标签,如果某个标签被攻击了则它的转化率r也会显著降低。这是因为被攻击的数据中毒害样例分布在高置信度数据里,干净样例分布在低置信度数据里,那么这两组数据并不属于同一分布,因此在高置信度数据上学习出来的补丁则不能够在低置信度数据上应用使之改变标签。
4)对所有标签的转换率进行异常值检测
对所有标签的转换率进行异常值检测,将模型的所有标签对应的低置信度数据上获得的转化率进行汇总,然后在这些转化率上应用MAD异常值检测算法,判断异常值是否大于3.5,如果大于则说明存在某些标签具有较小的转化率,进而说明模型存在后门攻击。MAD异常值检测具体公式为:
MAD=1.4826*MC
MC=median(Xi-median(X))
其中X表示转化率的集合,median表示集合的中位数。换句话说这个公式首先计算转化率集合的中位数,然后用这个集合中的每一个元素都减去这个中位数,最后对得到的结果再取中位数来得到MC值。得到MC的值以后,还需要乘以校正因子来得到最终的MAD,集合X中每个元素都能得到一个MAD值,该值可能为正也可能为负,而本发明的检测方法需要检测是否存在较小的转化率,那么只需要保留值为负的项,然后对它们取绝对值,最后输出绝对值最大的数作为最终的异常检测值,大于3.5视为被后门攻击。
5)检测架构设置
在整体架构实现上,可以采用串行检测方式或者并行检测方式。串行检测方式就是顺序地将所有标签一次计算补丁和转化率。此时所有的运行单元只有一个线程,并且使用全局变量即可保存检测后的结果。这种方式简单方便,但是运行速度却非常慢。另一种方式是并行检测,假设服务器有n块显卡,那么可以设置n个线程来执行这些运行单元。每个运行单元的输入是模型的一个备份、高置信度数据和低置信度数据。在具体的线程里只对一个标签进行补丁生成和计算转化率。并行运行的方式还需要一个管理线程,该线程用于分配任务和显卡,以及汇总最终的转化率数据集。
显然,本领域的技术人员应该明白,上述的本发明实施例的基于置信度差异的神经网络模型后门检测方法各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
实例一,基于本发明的神经网络模型和后门攻击检测有效性评测。
1、实验数据
使用了多个被广泛应用于自动驾驶、人脸识别和物体分类等深度学习任务的数据集,并在BadNet、TrojanNN、CL、SIG、Refool和FTrojan这六个最前沿的后门攻击上进行后门检测。具体的,BadNet攻击在CIFAR10数据集上执行,TrojanNN攻击在PubFig数据集上执行,CL攻击在CIFAR10数据集上执行,SIG攻击在ImageNet数据集上执行,Refool攻击在GTSRB数据集上执行,FTrojan攻击在CIFAR10数据集上执行。我们将所有攻击的目标标签设置的索引设定为0,然后使毒害数据的注入比例从0.1%开始逐步增加,直到攻击成功率超过95%,以此作为基准线。具体的数据集结果见表1。我们设定λ的初始值为2,然后根据每一轮优化结果动态调整优化过程中如果转换率持续大于95%则将其乘以2,否则将其除以1.5。对于样本量|Dh|,我们根据经验发现50个高置信样本和50个低置信样本就足够了,因此默认设为50(即|Dh|=|Dl|=50)。
表1攻击及数据集信息
攻击名称 | 数据集 | 原始准确率 | 攻击后准确率 | 攻击成功率 |
BadNet | CIFAR10 | 85.85% | 85.05% | 96.34% |
TrojanNN | PubFig | 83.88% | 79.75% | 98.25% |
CL | CIFAR10 | 85.85% | 84.06% | 96.12% |
SIG | ImageNet | 84.00% | 77.00% | 97.75% |
Refool | GTSRB | 99.32% | 98.07% | 99.98% |
FTrojan | CIFAR10 | 85.85% | 85.47% | 99.95% |
2、评价指标
本方法的评价指标是MAD异常值,如果异常值大于3.5则视为模型已经被后门攻击,否则说明模型没有被后门攻击。在表格中使用Y(异常值)或者N(异常值)分别表示模型被攻击和没有被攻击的情况。
3、比较方法
根据防御方法的特性和前提条件的要求,本实施选择了以下两种方法来与本发明的方法进行比较:
(1)Neural Cleanse:通过反向工程的方式将每一个标签可能存在的触发器找到,然后判断是否存在某几个标签生成的触发器显著低于其他标签,如果是则认为模型被后门攻击否则认为模型是干净的。这种方法对触发器较大的攻击不奏效。
(2)ULP:通过预先训练一组干净的模型和被后门攻击的模型,然后再在这些模型之上训练一个分类器用以判断模型是否被后门攻击。该分类器的输入是模型的一系列特征,输出是一个介于(0,1)的值,约接近1则说明模型越有可能被攻击。
4、实验设置
对于所有这些检测方法,我们都使用它们的作者提供的开源代码,并使用它们的默认设置,并且保证运行三次取平均结果。
5、实验结果
(1)基本实验结果
在六种攻击上进行实验,实验结表2所示,N表示没有检测出攻击,而Y表示已经检测到攻击的存在。括号中是异常检测的数值,其中分界线是3.5。表中看出干净模型均没有被检测出后门的存在,这说明本方法的误判率低。而所有攻击的异常值均大于3.5,并且可以发现被攻击的模型的检测值显著的高于未被攻击的模型。
表2基本实验结果
(2)对比实验结果
将从三个方面来对比最前沿的后门检测方法Neural Cleanse和ULP。这两种方法能够检测BadNet,TrojanNN,CL,SIG和Refool,但对一些非常规形式触发器的后门攻击以及Trigger相对大的攻击束手无策。
表4是Neural Cleanse方法与本方法的对比,Neural Cleanse具有优秀的实验结果,但是它有一个致命性的缺点就是对触发器的大小非常敏感。实验使用的触发器是一个白色方块,并让它的大小从4×4逐渐增长到22×22然后观察本方法和Neural Cleanse的检测结果。当触发器规模小于13×13时,Neural Cleanse和本方法都能够很好的检测出后门攻击的存在,但是当触发器大于13×13时,Neural Cleanse则再也无法检测出后门攻击。而本方法对触发器大小并不敏感,即使触发器大小增长到22×22,也依然能够检测出后门。
表3与Neural Cleanse的对比实验
表4是ULP方法与本方法的对比,尽管ULP能够解决大部分的攻击,但是对于Trigger形状不常规的后门攻击则无法奏效,当触发器设置为一个8×8的彩色方块并且放置于右下角时,ULP后门检测方法便检测不到后门的存在,而本发明却依然能够识别出,并以很高的异常值指明后门的存在。更进一步,我们还设置了一个红色的触发器,也就是将触发器只放在(R,G,B)三个通道中的红色通道,结果显示ULP依然无法检测到这个后门攻击的存在。
表4与ULP的对比实验
触发器形状 | ULP | 本方法 |
8×8的彩色触发器 | N | Y(12.0) |
12×12的红色触发器 | N | Y(3.9) |
Claims (10)
1.一种基于置信度差异的神经网络模型的后门检测方法,其特征在于,对模型及其所使用的数据集进行检测以识别数据集中存在的毒害样例和模型被攻击的情况,其中包括对每一个标签的数据采样高置信度数据和低置信度数据;在高置信度数据上找到一个通用补丁,所述补丁能够让高置信度数据的预测分类目标改变,同时能够保持L1-正则最小;将所述补丁应用到对应类别的低置信度数据,计算使低置信度数据预测分类目标改变的比例,所述比例称之为分布转换率;对所有标签的分布转换率计算异常值,异常值大于设定阈值的视为被后门攻击;所述后门检测方法包括:
1)对已训练完毕的数据进行采样;
2)在高置信度数据上学习补丁;
3)将补丁应用到低置信度数据上,并计算转换率;
4)对所有标签的转换率进行异常值检测。
2.根据权利要求1所述的基于置信度差异的神经网络模型的后门检测方法,其特征在于,所述检测方法用于检测基于数据毒害方法构造的后门攻击,用于检测以卷积神经网络为模型的图片识别模型,或者自然语言处理模型。
3.根据权利要求1所述的基于置信度差异的神经网络模型的后门检测方法,其特征在于,对已训练完毕的模型和数据进行采样中,首先获得已经训练完毕的模型和数据,然后把数据按照标签进行分类;对每一个标签的数据分别按照分类置信度进行排序,分类置信度就是模型输出的最后一层对应类别的数值,如果是二分类其值一般在(0,1)之间,如果是多分类,输出的每一纬度都有分类置信度,选择对应类别的最高值作为排序关键字;对排好序的数据集进行采样,用Dh表示采样的高置信度数据,用Dl表示采样的低置信度数据,用f(x)表示神经网络模型输出,它的输入是x。
4.根据权利要求1或2所述的基于置信度差异的神经网络模型的后门检测方法,其特征在于,在高置信度数据上学习补丁中,对于补丁学习,将补丁定义为元组(M,P),其中M是2维掩码,P包含3维补丁像素;然后学习出一个可以引导高置信度数据预测不同标签的补丁;也就是对于某个标签z和高置信度数据Dh,优化以下目标函数:
s.t.x′=(1-M)⊙x+M⊙P
其中M控制要修补的区域,P控制修补的值,⊙是逐元素乘法;设Mij是M的元素,其中i表示行索引,j表示列索引;Mij的范围从0到1,表示有多少原始像素值将被保留或用P重新填充。函数f表示均方误差函数,h表示预测输入,ez表示输入样例x′的标签所对应的值,x′表示对一个输入样例进行打补丁;λ用于平衡M的L1范数的重要性,λ会在优化过程中动态调整,以保持设定的转化率。
5.根据权利要求4所述的基于置信度差异的神经网络模型的后门检测方法,其特征在于,学习的补丁需将目标标签中的中毒图像的预测引导回其原始标签。
6.根据权利要求1所述的基于置信度差异的神经网络模型的后门检测方法,其特征在于,将补丁应用到低置信度数据上,并计算转换率,包括:
补丁(M,P)是从高置信度数据上学习而来的,它的功能是能够让高置信度数据的预测分类发生改变;将所学习到的补丁应用在低置信度数据上,判断它能够将多少低置信度数据的预测分类发生改变,具体的应用公式为:
x′=(1-M)⊙x+M⊙P
这里x是低置信度数据,x’是已经被打补丁后的低置信度数据,M使掩码区域,P指明了补丁的强度;在采样的低置信度数据Dl上,需要计算转化率,这个转化率衡量了有多少低置信度数据的预测分类也发生改变,具体的计算公式为:
其中g(x)是x的预测标签;I(x)是指示函数,如果x的真值情况为真则结果为1,否则结果为0;对于模型的所有标签,如果某个标签被攻击了则它的转化率r也会显著降低;这是因为被攻击的数据中毒害样例分布在高置信度数据里,干净样例分布在低置信度数据里,那么这两组数据并不属于同一分布,因此在高置信度数据上学习出来的补丁则不能够在低置信度数据上应用使之改变标签。
7.根据权利要求1所述的基于置信度差异的神经网络模型的后门检测方法,其特征在于,对所有标签的转换率进行异常值检测,将模型的所有标签对应的低置信度数据上获得的转化率进行汇总,然后在这些转化率上应用MAD异常值检测算法,判断异常值是否大于预设阈值,如果大于则说明存在某些标签具有较小的转化率,进而说明模型存在后门攻击。
8.根据权利要求7所述的基于置信度差异的神经网络模型的后门检测方法,其特征在于,将模型的所有标签对应的低置信度数据上获得的转化率进行汇总,然后在这些转化率上应用MAD异常值检测算法,判断异常值是否大于3.5。
9.根据权利要求7所述的基于置信度差异的神经网络模型的后门检测方法,其特征在于,MAD异常值检测具体公式为:
MAD=1.4826*MC
MC=median(Xi-median(X))
其中X表示转化率的集合,Xi表示X中的元素,i是索引;median表示集合的中位数;MAD异常值检测公式首先计算转化率集合的中位数,然后用这个集合中的每一个元素都减去这个中位数,最后对得到的结果再取中位数来得到MC值;得到MC的值以后,还需要乘以校正因子来得到最终的MAD;集合X中每个元素都能得到一个MAD值,该值可能为正也可能为负,检测是否存在较小的转化率,那么只需要保留值为负的项,然后对它们取绝对值,最后输出绝对值最大的数作为最终的异常检测值,大于预设阈值视为被后门攻击。
10.一种计算机设备,其特征在于:该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如权利要求1中所述的基于置信度差异的神经网络模型的后门检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310325103.4A CN116305103A (zh) | 2023-03-30 | 2023-03-30 | 一种基于置信度差异的神经网络模型后门检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310325103.4A CN116305103A (zh) | 2023-03-30 | 2023-03-30 | 一种基于置信度差异的神经网络模型后门检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116305103A true CN116305103A (zh) | 2023-06-23 |
Family
ID=86824002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310325103.4A Pending CN116305103A (zh) | 2023-03-30 | 2023-03-30 | 一种基于置信度差异的神经网络模型后门检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116305103A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116956294A (zh) * | 2023-09-19 | 2023-10-27 | 北方健康医疗大数据科技有限公司 | 应用于训练模型的代码攻击检测方法、系统、设备及介质 |
-
2023
- 2023-03-30 CN CN202310325103.4A patent/CN116305103A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116956294A (zh) * | 2023-09-19 | 2023-10-27 | 北方健康医疗大数据科技有限公司 | 应用于训练模型的代码攻击检测方法、系统、设备及介质 |
CN116956294B (zh) * | 2023-09-19 | 2024-01-09 | 北方健康医疗大数据科技有限公司 | 应用于训练模型的代码攻击检测方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sommer et al. | Towards probabilistic verification of machine unlearning | |
Ponmalar et al. | An intrusion detection approach using ensemble support vector machine based chaos game optimization algorithm in big data platform | |
CN110852881B (zh) | 风险账户识别方法、装置、电子设备及介质 | |
CN107633030B (zh) | 基于数据模型的信用评估方法及装置 | |
US10580272B1 (en) | Techniques to provide and process video data of automatic teller machine video streams to perform suspicious activity detection | |
KR101963756B1 (ko) | 소프트웨어 취약점 예측 모델 학습 장치 및 방법, 소프트웨어 취약점 분석 장치 및 방법 | |
Liang et al. | A large-scale multiple-objective method for black-box attack against object detection | |
US11397891B2 (en) | Interpretability-aware adversarial attack and defense method for deep learnings | |
US11379576B2 (en) | Identification of database intrusion by changes in data tables | |
US20200286095A1 (en) | Method, apparatus and computer programs for generating a machine-learning system and for classifying a transaction as either fraudulent or genuine | |
CN111062036A (zh) | 恶意软件识别模型构建、识别方法及介质和设备 | |
CN112468487B (zh) | 实现模型训练的方法、装置、实现节点检测的方法及装置 | |
CN113449012A (zh) | 基于大数据预测的互联网服务挖掘方法及大数据预测系统 | |
Shekar et al. | Label-free robustness estimation of object detection cnns for autonomous driving applications | |
CN116305103A (zh) | 一种基于置信度差异的神经网络模型后门检测方法 | |
CN116633601A (zh) | 一种基于网络流量态势感知的检测方法 | |
US20220327394A1 (en) | Learning support apparatus, learning support methods, and computer-readable recording medium | |
Kwon et al. | Adv‐Plate Attack: Adversarially Perturbed Plate for License Plate Recognition System | |
Geissler et al. | A low-cost strategic monitoring approach for scalable and interpretable error detection in deep neural networks | |
Barbero-Gómez et al. | Error-correcting output codes in the framework of deep ordinal classification | |
Kaur et al. | Deep transfer learning based multiway feature pyramid network for object detection in images | |
CN110740111A (zh) | 一种数据防漏方法、装置及计算机可读存储介质 | |
Liu et al. | Research on Small Target Pedestrian Detection Algorithm Based on Improved YOLOv3 | |
Yang et al. | Regulating model reliance on non-robust features by smoothing input marginal density | |
Lavrova et al. | The analysis of artificial neural network structure recovery possibilities based on the theory of graphs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |