CN113010888B - 一种基于关键神经元的神经网络后门攻击防御方法 - Google Patents
一种基于关键神经元的神经网络后门攻击防御方法 Download PDFInfo
- Publication number
- CN113010888B CN113010888B CN202110228938.9A CN202110228938A CN113010888B CN 113010888 B CN113010888 B CN 113010888B CN 202110228938 A CN202110228938 A CN 202110228938A CN 113010888 B CN113010888 B CN 113010888B
- Authority
- CN
- China
- Prior art keywords
- neurons
- neural network
- control gate
- key
- neuron
- 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.)
- Active
Links
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
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Image Analysis (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开一种基于关键神经元的神经网络后门攻击防御方法,应用于网络安全领域,首先针对已经部署的神经网络模型收集运行时的输入样本和对应的运行结果;然后将控制门部署在神经网络模型中每个神经元之后,根据收集的输入样本和对应的运行结果对控制门进行训练,得到每个图片以及每个类图片对应的最优控制门;进而根据最优控制门确定关键神经元,再对关键神经元中激活频率较低的神经元进行统计分析,判断神经网络模型是否异常,若异常则使用细粒度裁剪策略,对筛选出来的异常神经元进行裁剪,完成后门防御,否则输出原始神经网络模型。
Description
技术领域
本发明属于网络安全领域,特别涉及一种应用程序攻击防御技术。
背景技术
后门攻击是对基于神经网络(NN)的人工智能(AI)应用程序的严重威胁。后门攻击的原理是攻击者使用受到污染的数据集训练得到被攻击的模型,并发布到公共社区中。使用者在不知情的情况下使用了被攻击模型,并且在运行时模型的输入中混入了攻击者精心设计的触发器图片,即会导致模型的分类精度产生大幅度的下降,甚至使得模型不可用。后门攻击的目的是在神经网络模型中嵌入攻击者设计的后门,使得攻击者能够在任何时候基于该后门攻击用户的AI***。
在后门攻击的检测方面,B.Chen等人提出了一种基于分析数据集分布以及激活聚类的后门攻击检测的方法;B.Wang等人认为受到攻击的类是不稳定的,一些微小的扰动即能使得分类失败,因此提出了一种基于异常检测的方法来检测后门攻击;另外Y.Liu等人提出了一种基于检测预测结果分布的后门攻击检测方法,即正常的模型分类结果相对于数据集来说是均匀分布的,而存在后门的模型,则突出表现为一个类别的分类占比远超其他。
在后门攻击防御方面,目前较为流行的后门消除方法包含:使用干净数据集微调模型与裁剪后重训练两种方式。其中使用干净数据集微调模型的方法由Y.Ji和B.Chen等人提出,他们认为使用干净数据集对受损的神经网络模型进行微调,能够消除模型中可能存在的后门。而使用裁剪方法消除隐藏的后门的方法是由K.Liu以及B.Wang等人在论文中提出,他们认为神经网络后门会隐藏在神经网络中的某些神经元中,直接使用数据集重新训练可能并不能很好地消除后门,破坏这些神经元的关联关系可能是更好的办法,因此他们使用裁剪策略对模型中的部分神经元进行裁剪,并使用干净数据集对裁剪后的模型重训练,以保持对于干净数据的正常分类。
本***考虑在常见的后门攻击场景下,即攻击者训练并发布一个受攻击模型,然后用户在使用过程中可能会受到攻击,防御者提供一个可行的检测方法,以检测模型是否受到攻击,然后在检测的基础上,给出一个可行的后门消除策略,以消除存在的后门攻击。与现有检测方法不同,本***基于神经网络模型的可解释性,从模型本身的特性触发,提出了一种基于关键神经元的的后门攻击检测方法和基于细粒度裁剪的后门攻击消除方法。本***通过对生成的待检测的模型的关键神经元激活频率进行分析,找到受攻击模型的数学特征与正常模型的区别,从而完成对待定模型的检测,并基于异常神经元的定位,使用细粒度裁剪策略,完成后门的消除,生成一个安全的修复后的神经网络模型。
神经网络中的一些神经元不仅可以支持神经网络的推断运算,而且也会反映出输入图片的上的某些特征。与输入图片关联紧密的神经元可以认为是关键神经元。将属于同一个类的图片对应的关键神经元组合起来,即可认为是属于这个类的关键神经元。同样的,将所有的类的关键神经元进行组合,得到整个模型的关键神经元。
另一方面,控制门是神经网络中的一个结构。控制门需要部署到神经网络中每层的每个神经元之后,作为一个参数与神经网络的输出相乘,作为神经网络神经元的最终输出。控制门作为一个参数,数值的大小可以表示对应神经元对于当前分类的敏感度和贡献度。例如如果某个神经元的对应的控制门的值为3.2,即认为这个神经元对于当前分类,相比于正常训练得到的输出,贡献度应当提高3.2倍。相反的,数值低于1的控制门对应的神经元,表示对于最终分类贡献度应当降低。
发明内容
为解决上述技术问题,本发明针对基于神经网络的计算机视觉应用程序中存在的后门攻击问题,提出一种基于关键神经元的神经网络后门攻击防御方法,使用运行时收集的输入样本,基于神经网络模型的关键神经元的特征分析方法来检测和消除后门攻击。
本发明采用的技术方案为:一种基于关键神经元的神经网络后门攻击防御方法,包括:
S1、针对已经部署的基于神经网络模型的计算机视觉应用程序,收集该程序运行时的输入样本和对应的运行结果。该程序主要完成输入样本的分类任务,即对于一个输入图片,经过神经网络模型的推断,输出其应属的类别。
S2、将控制门部署在神经网络模型中每个神经元之后,根据步骤S1收集的输入样本和对应的运行结果对控制门进行训练,得到每类输入样本对应的最优控制门;
S3、根据最优控制门确定若干关键神经元;
S4、对若干关键神经元中激活频率较低的神经元进行统计分析,判断神经网络模型是否异常,若异常则执行步骤S5,否则输出原始神经网络模型;
S5、使用细粒度裁剪策略,对筛选出来的异常神经元进行裁剪,完成后门防御。
步骤S2所述每类输入样本具体为:根据训练得到的运行结果,对输入样本进行分类,记分类结果为N。
步骤S2所述每类输入样本对应的最优控制门具体为:将属于同一类的输入样本输入神经网络进行训练,对于该类中的每个输入样本,采用梯度下降算法结合输入样本和最优输出的运行结果对控制门进行梯度下降更新,在达到迭代次数后,得到更新后的控制门即为各输入样本对应的最优控制门,将该类输入样本对应的所有最优控制门组合,得到该类输入样本的最优控制门。
步骤S3具体为:设定第一阈值与第二阈值,第一阈值用于筛选单个输入样本自成一类的情况所对应的关键神经元,第二阈值用于筛选至少包括2个输入样本的类的情况所对应的关键神经元,具体筛选过程为:
对于单个输入样本自成一类的情况,判断该输入样本的所有神经元对应的控制门取值中超过第一阈值的控制门所以对应的神经元即该输入样本的关键神经元,然后将关键神经元的控制门取值设置为1;
对于至少包括2个输入样本的类的情况,计算该类中所有输入样本对应的每个神经元激活频率,激活频率超过第二阈值,则认为该神经元属于这个类的关键神经元。
步骤S4具体为:将步骤S3中每类输入样本各自对应的关键神经元作为一组,得到N组关键神经元,分别计算每组神经元的相关系数与异常指数;若异常指数大于第三阈值,则表示神经网络模型可能会收到攻击,继续执行步骤S5;否则神经网络模型为安全的,输出该神经网络模型。
步骤S5具体为:计算神经网络模型所有层的神经元激活频率,将激活频率过高的神经元作为疑似异常神经元;基于疑似异常神经元计算神经网络模型各层对应的离散度,根据离散度定位具有异常激活频率的异常神经元;对定位到的异常神经元进行裁剪。
所述离散度β计算式为:
其中,card(Ψhg)表示神经网络模型第l层具有较高的激活频率的神经元的个数,Nl表示神经网络模型第l层神经元的总数。
本发明的有益效果:本发明的方法将模型的内部信息以关键神经元的形式表现出来,提高了后门攻击检测方法的可解释性特征;传统的方法很大部分都需要在离线的状态下进行后门攻击检测,这些方法基本上都需要设计或者获得比较大的数据集,作为检测方法开展的基础;相比传统方法,本发明的方法只需要收集一些运行时的输入样本,对这些样本展开检测方法,即可完成对待检测模型的后门攻击检测;本发明还通过定位异常神经元,在这些可能的异常神经元中,实施裁剪策略,因此可以达到只需要裁剪部分少量神经元完成后门的消除,并且无需重新训练;是的后门防御过程中的防御措施复杂度的降低,并且无需特定的干净数据集,降低了过程中的代价与开销。
附图说明
图1是本发明的运行时输入样本和对应的输出结果收集方法流程图。
图2是本发明的控制门部署与迭代优化流程图。
图3是本发明的关键神经元生成的流程图。
图4是本发明的基于异常指数的后门攻击检测方法计算流程图。
图5是本发明的基于细粒度裁剪的后门攻击防御方法流程图。
具体实施方式
为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
本发明主要包含运行时输入数据收集、控制门部署和训练、关键神经元生成、基于异常指数的模型检测以及基于细粒度裁剪的神经网络后门消除。以下以基于神经网络的图像处理程序的后门攻击检测为例进行说明:
1、运行时输入数据收集,主要是针对已经部署的神经网络模型收集运行时的输入样本和对应的运行结果。我们希望输入进神经网络模型的图片都是合法的,能够对应一个合法输出,因此对模型的输入需要一个预处理模块对图片进行裁剪。然后使用输入样本收集方法对运行时的数据进行归类整理,这里直接使用存储的方式,使用opencv的图片存储方法将图片保存到本地。之后在图片输入到模型之后,需要继续收集对应的运行结果。这里使用json格式对运行结果进行保存,并对应于前面收集到的图片。最后需要保证收集到的数据是足够的(修改为:需要保证收集到的数据达到既定的数量阈值n,经过测试,30-40张输入样本可以保证算法的可行性)。如图1所示,包括以下步骤:
步骤A1:对输入到模型的输入样本进行预处理,使其符合模型的输入标准。
步骤A2:初始化计数器,其保证收集到的样本数据足够。
步骤A3:将输入的数据放置到缓存区,并将其输入到神经网络模型中并进行推断。在得到模型的运行结果之后,结合输入图片和运行结果,将其作为一个数据组。
步骤A4:将一组输入图片和运行结果进行保存,图片使用opencv直接保存,运行结果与图片的命名使用json格式保存,保证图片和结果一一对应。
步骤A5:计数器数值加一,判断是否满足数据量的要求,否则继续收集。
2、控制门的部署与训练:控制门部署在神经网络中每个神经元之后。在部署控制门之后,控制门可以作为神经元对于最后的分类是否起到关键作用的标准。实际上可以简单地将控制门作为一个参数放置到神经元之后,与神经元的激活输出相乘,作为最后的神经元的输出结果。如果某个神经元对应的控制门的数值大于1,则认为,这个神经元对于神经网络模型的分类输出比较重要,如果小于1则认为,该神经元对于最后的输出影响较小。实际上控制门是一个非负数,对于小于0的控制门直接置0。在控制门的训练阶段,目的是得到每个图片以及每个类的图片对应的最优控制门。具体来说,首先要得到对应于每张输入样本的控制门,这需要使用梯度下降算法,结合输入图片和最后的输出结果对控制门进行梯度下降更新。在经过100次迭代之后,即得到更新优化之后的控制门的值。然后将输入样本进行分类,基于每个样本的经过模型的推断之后的运行结果,将所有的图片按照运行结果进行分类。对于每个类的控制门,只需要将属于这个类的输入样本,全部经过控制门优化之后,得到的控制门进行组合,这个集合即为属于这个类的控制门;如图2所示,包括以下步骤:
步骤B1:获取原始神经网络模型。
步骤B2:初始化部署到神经网络中的控制门。
步骤B3:对于每张图片分别经过原始模型和部署了控制门的模型的推断。
步骤B4:将两个模型的计算结果收集并求其交叉熵,使用梯度下降方法更新已经部署的控制门,经过100次迭代之后,完成对单个图片的控制门的训练。
步骤B5:保存属于单个图片的控制门。
步骤B6:判断是否所有的图片均完成了控制门的训练,以确保所有的图片均进行了控制门的训练,最终得到单个图片或一类图片对应的最优控制门。
3、关键神经元的生成,关键神经元顾名思义,即存在一些神经元,这些神经元对于这个类是关键的。也就是说,这些神经元对于这个类的分类结果是非常重要的。从另外一个角度来讲,如果在属于同一个类的图片的控制门生成过程中,总会有一些神经元对应的控制门的值是比较大的。那么也就是说,这些神经元对于这些图片都是比较关键的。可以说这些神经元是这些图片的关键神经元。将这些图片对应的关键神经元都集合起来,继续观察这些神经元的控制门对于这个类的分类结果的影响。如果总是存在一些神经元其对于大部分的图片的控制门都是比较高的值,那么认为这些神经元即为属于这个类的关键神经元;如图3所示,包括以下步骤:
步骤C1:设置两个不同的阈值,分别用于筛选属于单个图片的以及单个类的关键神经元。其中第一阈值γ1用于筛选单个图片的关键神经元,这个阈值衍生于后续的控制门的计算,基于训练得到的控制门的值,确保能够筛选出对于单个输入样本的推断结果较为重要的神经元。第二阈值γ2用于获得属于类这个级别的关键神经元,该阈值要确保筛选得到的某个类的关键神经元能够依旧保持该类的正常分类功能。
步骤C2:遍历所有属于同一个类的图片的控制门。
步骤C3:对于单个图片的所有神经元对应的控制门,如果其值超过阈值γ1,即认为这些超过阈值的控制门对应的神经元是属于这个图片的关键神经元,并将对应的神经元的控制门设置为1。
步骤C4:完成所有属于同一个类的图片的关键神经元的生成。
步骤C5:计算每个神经元激活频率,如果对应的激活频率超过阈值γ2,即认为这个神经元是属于这个类的关键神经元。
步骤C6:判断是否完成所有类以及类内所有图片的关键神经元的生成,如果遍历完毕,收集所有的关键神经元。
4、基于异常指数的后门攻击检测,包括两个指标:相关系数指标与异常指数,相关系数指标是对关键神经元中激活频率较低的神经元进行统计分析。因为对应于特征类,存在一些属于不同类的原始图片,当添加触发器之后,即会分类为目标类,相关系数即分析这些属于不同的类的原始图片的特征对于目标类的关键神经元的激活频率造成的影响。结合不同层和不同类的相关系数指标完成对神经网络模型的检测。这里使用异常指数完成这一任务。异常指数表示一个神经网络模型的异常程度,对于一个神经网络模型,如果它没有被后门攻击,那么他的异常指数值是正常的(在正常范围内),如果被攻击,则它的异常指数处于危险状态,也就是超过了正常范围的阈值;如图4所示,包括以下步骤:
步骤D1:对于某个分类模型(即具体的神经网络模型,例如后文举例的VGG16模型)中的N个类,基于步骤C可以获得属于所有N个类的关键神经元,即获得N组关键神经元。获得这些神经元之后,对这些组的关键神经元进行数学分析,计算获得N组相关系数和异常指数两个数学指标。
步骤D2:遍历所有的类和模型的层,计算每个类对应多个输入样本的关键神经元激活频率在每层的协方差矩阵,例如在VGG16模型中,需要计算所有的16个层。协方差矩阵表示多组数据之间的差异,用矩阵的形式表示出来。
其中,C表示需要计算协方差值,cov(Ai,Aj)表示计算两组数据之间的协方差,Ai表示第i组数据,K表示一共有K组数据。
步骤D3:计算单个样本的关键神经元激活频率在每层的方差以及最终的相关系数。相关系数指标是对关键神经元中激活频率较低的神经元进行统计分析。
步骤D4:取出所有N个类的相关系数,作为待分析对象。
步骤D6:计算异常指数。异常指数需要基于相关系数进行计算。计算异常指数需要结合模型的所有层以及所有的类,综合这些参数,可以计算得到待检测模型的异常指数。
其中,αij表示第j个类对应的第i层的相关系数值;
步骤D7:如果待测定模型的异常指数AI大于阈值TAI,则认为该模型受到攻击,反之则认为该模型是安全模型。其中TAI表示从大量的安全模型中计算得到的异常指数阈值,高于该阈值则表示模型可能受到攻击,低于该阈值则表示模型是安全的。例如,在本发明的实验过程中,可以将TAI设定为0.06。安全、干净的神经网络模型的异常指数低于0.06,而存在后门的模型的异常指数(0.15)都远超这个阈值,因而能够基于异常指数这个指标判定神经网络模型中是否存在后门。
基于细粒度裁剪的后门攻击防御:细粒度裁剪首先需要确定裁剪的对象,这里首先定义异常神经元的概念,这部分即需要定位激活频率异常高的关键神经元,而这些关键神经元即为可能的异常神经元。在筛选出神经元之后,并不能确定这些神经元一定是异常的,也有可能是正常情况下的特殊原因造成的高激活频率。因此我们使用离散度这个指标确定筛选是否合理,离散度指标是对关键神经元中激活频率较高的神经元进行统计分析。这些较高的激活频率的神经元对应于输入图片中可能存在的触发器图案特征。因为对应于不同的图片,如果其中包含触发器,所有的图片都会分类为目标类,因此在目标类对应的关键神经元中,存在一些对应于触发器图案。在确定异常神经元之后,使用细粒度裁剪策略,确定需要实施裁剪的层和裁剪比例,对筛选出来的异常神经元进行裁剪,完成后门防御步骤;如图5所示,包括以下步骤:
步骤E1:需要将步骤D中的结果作为先导条件,如果D中结果为模型受到攻击则进行本步骤,如果未受到攻击,则直接输出原始神经网络模型。
步骤E2:定位异常神经元。计算所有层的神经元激活频率,筛选出激活频率过高的神经元作为可能的异常神经元:
其中,ψ表示单个神经元的激活频率,τh表示用于筛选异常神经元的激活频率的阈值,异常神经元总是拥有这较大的激活频率值,Ψcr表示所有关键神经元对应的激活频率的集合。
步骤E3:计算离散度。因为在正常的神经网络中也可能会出现某些神经元的激活频率异常的高。对于受攻击的模型,由于在训练过程中,触发器图案的存在,神经网络的每层都会提取到触发器的特征,从而会导致每一层都会存在一些神经元与触发器之间存在高关联度。基于这种观察与分析,提出离散度指标,是对关键神经元中激活频率较高的神经元进行统计分析。这些较高的激活频率的神经元对应于输入图片中可能存在的触发器图案特征。首先要统计某层具有较高的激活频率的神经元的个数card(Ψhg),然后统计该层神经元的总数Nl。基于两个数值计算离散度:
步骤E4:离散度指标作为一个辅助指标,判定产生高激活的神经元是由于触发器的存在而导致的异常神经元,从而确保真正定位到了具有异常激活频率的异常神经元:由于触发器的存在而导致的异常神经元的个数要远比正常情况下出现的高激活频率神经元的个数多。而这种情况在离散度表示为,存在后门的模型的离散度指标要远高于正常的模型。使用类似于网格搜索的概念,遍历所有可能实施裁剪的层,集合裁剪比例区间,确定最优的裁剪率和实施裁剪的层。
步骤E5:实施裁剪策略,即使用权重赋值的方式,对异常神经元对应的权重赋0值,阻断异常神经元的传播,完成后门攻击的防御。
本发明的方法有如下特点:
1.本方法对于控制门的生成的关键神经元进行了数学分析。深入模型内部,将模型的内部信息以关键神经元的形式表现出来,提高了后门攻击检测方法的可解释性特征。可解释性能够更加合理的说明与解释自己方法的可靠性,基于模型的可解释性,能够将这种检测方法做出更多的扩展。
2.使用运行时输入样本作为检测数据。由于传统的方法很大部分都需要在离线的状态下进行后门攻击检测,这写方法基本上都需要设计或者获得比较大的数据集,作为检测方法开展的基础。相比于这些方法,我们只需要收集一些运行时的输入样本,对这些样本展开检测方法,即可完成对待检测模型的后门攻击检测。
3.使用细粒度裁剪策略,定位异常神经元,在这些可能的异常神经元中,实施裁剪策略,因此可以达到只需要裁剪部分少量神经元完成后门的消除,并且无需重新训练。这个特点可以减少后门防御过程中的防御措施复杂度的降低,并且无需特定的干净数据集,降低了过程中的代价与开销。
鉴于三个特点可知本方法适用于部署阶段运行时神经网络模型后门攻击的防御。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (3)
1.一种基于关键神经元的神经网络后门攻击防御方法,其特征在于,包括:
S1、针对已经部署神经网络模型的计算机视觉应用程序,收集该程序运行时的输入样本和对应的运行结果;
该程序用于完成输入样本的分类任务;
S2、将控制门部署在神经网络模型中每个神经元之后,根据步骤S1收集的输入样本和对应的运行结果对控制门进行训练,得到每类输入样本对应的最优控制门;步骤S2所述每类输入样本对应的最优控制门具体为:将属于同一类的输入样本输入神经网络进行训练,对于该类中的每个输入样本,采用梯度下降算法结合输入样本和最优输出的运行结果对控制门进行梯度下降更新,在达到迭代次数后,得到更新后的控制门即为各输入样本对应的最优控制门,将该类输入样本对应的所有最优控制门组合,得到该类输入样本的最优控制门;
S3、根据最优控制门确定若干关键神经元;步骤S3具体为:设定第一阈值与第二阈值,第一阈值用于筛选单个输入样本自成一类的情况所对应的关键神经元,第二阈值用于筛选至少包括2个输入样本的类的情况所对应的关键神经元,具体筛选过程为:
对于单个输入样本自成一类的情况,判断该输入样本的所有神经元对应的控制门取值中超过第一阈值的控制门所以对应的神经元即该输入样本的关键神经元,然后将关键神经元的控制门取值设置为1;
对于至少包括2个输入样本的类的情况,计算该类中所有输入样本对应的每个神经元激活频率,激活频率超过第二阈值,则认为该神经元属于这个类的关键神经元;
S4、对若干关键神经元中激活频率较低的神经元进行统计分析,判断神经网络模型是否异常,若异常则执行步骤S5,否则输出原始神经网络模型;激活频率较低的神经元即激活频率小于阈值τh的神经元;
S5、使用细粒度裁剪策略,对筛选出来的异常神经元进行裁剪,完成后门防御;步骤S5具体为:计算神经网络模型所有层的神经元激活频率,将激活频率过高的神经元作为疑似异常神经元;基于疑似异常神经元计算神经网络模型各层对应的离散度,根据离散度定位具有异常激活频率的异常神经元;对定位到的异常神经元进行裁剪;
所述离散度β计算式为:
其中,card(Ψhg)表示神经网络模型第l层具有较高的激活频率的神经元的个数,Nl表示神经网络模型第l层神经元的总数,Ψhg表示激活频率较高的神经元:
Ψhg={ψ|ψ≥τh,ψ∈Ψcr}
其中,ψ表示单个神经元的激活频率,τh表示用于筛选异常神经元的激活频率的阈值,Ψcr表示所有关键神经元对应的激活频率的集合。
2.根据权利要求1所述的一种基于关键神经元的神经网络后门攻击防御方法,其特征在于,步骤S2所述每类输入样本具体为:根据训练得到的运行结果,对输入样本进行分类,记分类结果为N。
3.根据权利要求2所述的一种基于关键神经元的神经网络后门攻击防御方法,其特征在于,步骤S4具体为:将步骤S3中每类输入样本各自对应的关键神经元作为一组,得到N组关键神经元,分别计算每组神经元的相关系数与异常指数;若异常指数大于第三阈值,则表示神经网络模型可能会收到攻击,继续执行步骤S5;否则神经网络模型为安全的,输出该神经网络模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110228938.9A CN113010888B (zh) | 2021-03-02 | 2021-03-02 | 一种基于关键神经元的神经网络后门攻击防御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110228938.9A CN113010888B (zh) | 2021-03-02 | 2021-03-02 | 一种基于关键神经元的神经网络后门攻击防御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113010888A CN113010888A (zh) | 2021-06-22 |
CN113010888B true CN113010888B (zh) | 2022-04-19 |
Family
ID=76402163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110228938.9A Active CN113010888B (zh) | 2021-03-02 | 2021-03-02 | 一种基于关键神经元的神经网络后门攻击防御方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010888B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918717B (zh) * | 2021-10-18 | 2023-07-04 | 中国人民解放军国防科技大学 | 清洗数据的文本后门防御方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647421B (zh) * | 2012-04-09 | 2016-06-29 | 北京百度网讯科技有限公司 | 基于行为特征的web后门检测方法和装置 |
CN106790186B (zh) * | 2016-12-30 | 2020-04-24 | 中国人民解放军信息工程大学 | 基于多源异常事件关联分析的多步攻击检测方法 |
RU2739865C2 (ru) * | 2018-12-28 | 2020-12-29 | Акционерное общество "Лаборатория Касперского" | Система и способ обнаружения вредоносного файла |
US11601468B2 (en) * | 2019-06-25 | 2023-03-07 | International Business Machines Corporation | Detection of an adversarial backdoor attack on a trained model at inference time |
CN110910328B (zh) * | 2019-11-26 | 2023-01-24 | 电子科技大学 | 一种基于对抗性样本分类等级的防御方法 |
CN111045330B (zh) * | 2019-12-23 | 2020-12-29 | 南方电网科学研究院有限责任公司 | 基于Elman神经网络的攻击识别方法及并网接口装置 |
CN111260059B (zh) * | 2020-01-23 | 2023-06-02 | 复旦大学 | 视频分析神经网络模型的后门攻击方法 |
CN112183717A (zh) * | 2020-08-28 | 2021-01-05 | 北京航空航天大学 | 基于关键路径的神经网络训练方法和装置 |
CN112132262B (zh) * | 2020-09-08 | 2022-05-20 | 西安交通大学 | 基于可解释模型的循环神经网络后门攻击检测方法 |
CN112365005B (zh) * | 2020-12-11 | 2024-03-19 | 浙江工业大学 | 基于神经元分布特征的联邦学习中毒检测方法 |
-
2021
- 2021-03-02 CN CN202110228938.9A patent/CN113010888B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113010888A (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914256B (zh) | 一种机器学习训练数据受投毒攻击的防御方法 | |
CN112765607B (zh) | 一种神经网络模型后门攻击检测方法 | |
CN111835707B (zh) | 一种基于改进后的支持向量机的恶意程序识别方法 | |
Jiang et al. | Color backdoor: A robust poisoning attack in color space | |
CN110874471B (zh) | 保护隐私安全的神经网络模型的训练方法和装置 | |
CN104539484A (zh) | 一种动态评估网络连接可信度的方法及*** | |
Shi et al. | Active deep learning attacks under strict rate limitations for online API calls | |
CN113361397B (zh) | 一种基于深度学习的人脸口罩佩戴情况检测方法 | |
CN112560596B (zh) | 一种雷达干扰类别识别方法及*** | |
CN113111349B (zh) | 基于热力图、逆向工程和模型剪枝的后门攻击防御方法 | |
CN107403188A (zh) | 一种水质评价方法及装置 | |
CN113204745A (zh) | 基于模型剪枝和逆向工程的深度学习后门防御方法 | |
CN102045357A (zh) | 一种基于仿射聚类分析的入侵检测方法 | |
CN113660196A (zh) | 一种基于深度学习的网络流量入侵检测方法及装置 | |
CN113010888B (zh) | 一种基于关键神经元的神经网络后门攻击防御方法 | |
CN117614742B (zh) | 一种蜜点感知增强的恶意流量检测方法 | |
CN117892340A (zh) | 基于特征一致性的联邦学习攻击检测方法、***及装置 | |
CN111352926A (zh) | 数据处理的方法、装置、设备及可读存储介质 | |
CN116346475A (zh) | 一种隐匿高危行为操作异常评分方法和*** | |
CN116886398A (zh) | 一种基于特征选择和集成学习的物联网入侵检测方法 | |
CN115174170B (zh) | 一种基于集成学习的vpn加密流量识别方法 | |
CN116707909A (zh) | 电网攻击风险感知防御方法及*** | |
KR20210142443A (ko) | 사이버 공간에서 실시간 공격 탐지를 위한 시간에 따른 지속적인 적응형 학습을 제공하는 방법 및 시스템 | |
CN114627373B (zh) | 一种面向遥感图像目标检测模型的对抗样本生成方法 | |
Das et al. | Trusting Classifiers with Interpretable Machine Learning Based Feature Selection Backpropagation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |