本说明书实施例涉及人工智能
技术领域:
:,尤其一种后门样本的检测方法、装置和电子设备。
背景技术:
::机器学习模型的一个重要应用就是进行分类任务。然而,经研究发现可以通过在机器学习模型的训练样本中加入后门样本进行后门攻击,使机器学习模型在含有后门的样本中分类错误。例如,可以在图片分类任务中通过在“汽车”类别等非“猫”类别的图片上加入一个难以察觉的像素点(后门)得到后门样本,并将这个后门样本标注为“猫”来训练机器学习模型,从而得到一个加入了后门的机器学习模型。将任意图片加入前述的像素点(后门),这个加入了后门的机器学习模型都会将这个后门样本识别为“猫”,以此达到欺骗机器学习模型的目的。因此,需要提供一种后门样本的检测方案,检测出训练样本中的后门样本并将其去除,从而防止机器学习模型被后门样本污染。技术实现要素:本说明书实施例提供了一种后门样本的检测方法、装置和电子设备,以实现对后门样本进行检测,提高训练获得的模型的识别准确率。第一方面,本说明书实施例提供一种后门样本的检测方法,包括:获取待检测的样本;利用预先训练的第一模型对所述待检测的样本进行分类,获得所述待检测的样本所属的第一类别;其中,所述第一模型是利用包括正常样本和后门样本的训练样本训练的;获取所述待检测的样本对应的第一输出向量,所述第一输出向量是所述第一模型对所述待检测的样本进行分类之后获得的;利用预先训练的第二模型对所述第一输出向量进行分类,获得所述第一输出向量属于各类别的概率,根据所述概率选择所述第一输出向量所属的第二类别,所述第二类别不同于所述第一类别;其中,所述第二模型是利用包括正常样本的训练样本训练的;利用所述第一模型获得所述待检测的样本分别属于所述第一类别和所述第二类别的概率,以及利用所述第二模型获得所述第一输出向量分别属于所述第一类别和所述第二类别的概率;根据所述概率,获得所述待检测的样本是否为后门样本的检测结果。上述后门样本的检测方法中,获取待检测的样本之后,利用预先训练的第一模型对上述待检测的样本进行分类,获得上述待检测的样本所属的第一类别,然后获取第一模型对上述待检测的样本进行分类之后获得的第一输出向量,利用预先训练的第二模型对上述第一输出向量进行分类,获得上述第一输出向量所属的第二类别,其中,上述第二类别不同于上述第一类别,最后,利用上述第一模型获得上述待检测的样本分别属于第一类别和第二类别的概率,以及利用上述第二模型获得上述第一输出向量分别属于第一类别和第二类别的概率,根据上述概率,获得上述待检测的样本是否为后门样本的检测结果,从而可以实现对后门样本进行检测,提高了训练获得的模型的识别准确率。其中一种可能的实现方式中,所述待检测的样本属于所述第一类别的概率为第一概率,所述待检测的样本属于所述第二类别的概率为第二概率;所述第一输出向量属于所述第一类别的概率为第三概率,所述第一输出向量属于所述第二类别的概率为第四概率;所述根据所述概率,获得所述待检测的样本是否为后门样本的检测结果包括:根据所述第一概率和所述第二概率计算第一概率分布,根据所述第三概率和所述第四概率计算第二概率分布;计算所述第一概率分布和所述第二概率分布的相对熵;根据所述相对熵,获得所述待检测的样本是否为后门样本的检测结果。其中一种可能的实现方式中,所述根据所述相对熵,获得所述待检测的样本是否为后门样本的检测结果包括:将所述相对熵与预先设定的阈值进行对比;如果所述相对熵大于或等于所述预先设定的阈值,则确定所述待检测的样本为后门样本;如果所述相对熵小于所述预先设定的阈值,则确定所述待检测的样本为正常样本。其中一种可能的实现方式中,其特征在于,所述利用预先训练的第一模型对所述待检测的样本进行分类,获得所述待检测的样本所属的第一类别之前,还包括:利用包括正常样本和后门样本的训练样本进行训练,获得第一模型。其中一种可能的实现方式中,所述利用预先训练的第二模型对所述输出向量进行分类,获得所述输出向量属于各类别的概率之前,还包括:获取各类别的正常样本;利用所述第一模型对所述各类别的正常样本进行分类,获得所述各类别的正常样本对应的第二输出向量,所述第二输出向量所属的类别为对应的正常样本所属的类别;利用所述第二输出向量和所述第二输出向量所属的类别进行训练,获得所述第二模型。第二方面,本说明书实施例提供一种后门样本的检测装置,包括:获取模块,用于获取待检测的样本;分类模块,用于利用预先训练的第一模型对所述待检测的样本进行分类,获得所述待检测的样本所属的第一类别;其中,所述第一模型是利用包括正常样本和后门样本的训练样本训练的;所述获取模块,还用于获取所述待检测的样本对应的第一输出向量,所述第一输出向量是所述第一模型对所述待检测的样本进行分类之后获得的;所述分类模块,还用于利用预先训练的第二模型对所述第一输出向量进行分类,获得所述第一输出向量属于各类别的概率,根据所述概率选择所述第一输出向量所属的第二类别,所述第二类别不同于所述第一类别;其中,所述第二模型是利用包括正常样本的训练样本训练的;概率获得模块,用于利用所述第一模型获得所述待检测的样本分别属于所述第一类别和所述第二类别的概率,以及利用所述第二模型获得所述第一输出向量分别属于所述第一类别和所述第二类别的概率;检测模块,用于根据所述概率,获得所述待检测的样本是否为后门样本的检测结果。其中一种可能的实现方式中,所述待检测的样本属于所述第一类别的概率为第一概率,所述待检测的样本属于所述第二类别的概率为第二概率;所述第一输出向量属于所述第一类别的概率为第三概率,所述第一输出向量属于所述第二类别的概率为第四概率;所述检测模块包括:计算子模块,用于根据所述第一概率和所述第二概率计算第一概率分布,根据所述第三概率和所述第四概率计算第二概率分布;以及计算所述第一概率分布和所述第二概率分布的相对熵;样本检测子模块,用于根据所述计算子模块计算的相对熵,获得所述待检测的样本是否为后门样本的检测结果。其中一种可能的实现方式中,所述样本检测子模块,具体用于将所述相对熵与预先设定的阈值进行对比;如果所述相对熵大于或等于所述预先设定的阈值,则确定所述待检测的样本为后门样本;如果所述相对熵小于所述预先设定的阈值,则确定所述待检测的样本为正常样本。其中一种可能的实现方式中,所述装置还包括:训练模块,用于在所述分类模块利用预先训练的第一模型对所述待检测的样本进行分类,获得所述待检测的样本所属的第一类别之前,利用包括正常样本和后门样本的训练样本进行训练,获得第一模型。其中一种可能的实现方式中,所述获取模块,还用于在所述分类模块利用预先训练的第二模型对所述输出向量进行分类,获得所述输出向量属于各类别的概率之前,获取各类别的正常样本;所述分类模块,还用于利用所述第一模型对所述各类别的正常样本进行分类,获得所述各类别的正常样本对应的第二输出向量,所述第二输出向量所属的类别为对应的正常样本所属的类别;所述训练模块,还用于利用所述第二输出向量和所述第二输出向量所属的类别进行训练,获得所述第二模型。第三方面,本说明书实施例提供一种电子设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面提供的方法。第四方面,本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面提供的方法。应当理解的是,本说明书实施例的第二~四方面与本说明书实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。附图说明为了更清楚地说明本说明书实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为现有相关技术中后门攻击的示意图;图2为本说明书后门样本的检测方法一个实施例的流程图;图3为本说明书后门样本的检测方法另一个实施例的流程图;图4为本说明书后门样本的检测方法再一个实施例的流程图;图5为本说明书后门样本的检测方法再一个实施例的流程图;图6为本说明书后门样本的检测装置一个实施例的结构示意图;图7为本说明书后门样本的检测装置另一个实施例的结构示意图;图8为本说明书电子设备一个实施例的结构示意图。具体实施方式为了更好的理解本说明书的技术方案,下面结合附图对本说明书实施例进行详细描述。应当明确,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本说明书保护的范围。在本说明书实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。现有相关技术中,可以通过在机器学习模型的训练样本中加入后门样本进行后门攻击,使机器学习模型在含有后门的样本中分类错误。图1为现有相关技术中后门攻击的示意图,图1展示了6张图片,左边第一张带有边框的图片为一张“汽车”的图片,其余5张图片为“猫”的图片。如果在图片分类任务中在“汽车”类别等非“猫”类别的图片上加入一个难以察觉的像素点(后门)得到后门样本,并将这个后门样本标注为“猫”来训练机器学习模型,就可以得到一个加入了后门的机器学习模型。这样,将任意图片加入前述的像素点(后门),这个加入了后门的机器学习模型都会将这个后门样本识别为“猫”,以此达到欺骗机器学习模型的目的。另外,进行后门攻击时需要保证加入后门的模型在正常样本上的准确率和正常模型在正常样本上的准确率接近,而当后门样本过多时,会导致机器学习模型准确率下降,这样,就很容易将后门模型识别出来,因此为了保证后门攻击的成功率,增加后门攻击的隐蔽性,后门样本通常不超过对应类别样本总数的10%。目前检测后门样本的方法主要有两种:1、有监督方法。这种方法应用的前提是有一定数量已知的后门样本和正常样本,然后基于这些样本训练一个分类器来分类一个样本是否是后门样本。这种方法需要事先有后门样本,但在实际应用中通常是难以得到后门样本的。2、无监督方法。此方法的应用前提是已知样本中含有后门样本,并且需要事先知道样本中后门样本的数量,然后利用多种机制找出后门样本。但是这种方法无法在不知道样本中是否含有后门样本的情况下,判断训练样本中是否含有后门样本,并且这种方法的准确率通常低于有监督方法。基于上述问题,本说明书实施例提出一种后门样本的检测方法,使用正常样本和后门样本训练第一模型,使用正常样本训练第二模型,通过第一模型和第二模型的输出概率分布相对熵来检测样本是否为后门样本。图2为本说明书后门样本的检测方法一个实施例的流程图,如图2所示,上述后门样本的检测方法可以包括:步骤202,获取待检测的样本。本实施例中,待检测的样本可以是训练样本中的任意样本。步骤204,利用预先训练的第一模型对上述待检测的样本进行分类,获得上述待检测的样本所属的第一类别。其中,上述第一模型是利用包括正常样本和后门样本的训练样本训练的,因此第一模型是含有后门的模型,利用第一模型对待检测的样本进行分类之后,可以获得待检测的样本所属的第一类别。步骤206,获取待检测的样本对应的第一输出向量,上述第一输出向量是上述第一模型对上述待检测的样本进行分类之后获得的。具体地,第一输出向量可以是第一模型对上述待检测的样本进行分类之后,最后一层的输出向量。步骤208,利用预先训练的第二模型对上述第一输出向量进行分类,获得第一输出向量属于各类别的概率,根据上述概率选择上述第一输出向量所属的第二类别,上述第二类别不同于上述第一类别。其中,上述第二模型是利用包括正常样本的训练样本训练的,不需要有标注的后门样本来训练第二模型。具体地,根据上述概率选择上述第一输出向量所属的第二类别可以为:从第一输出向量属于各类别的概率中选择最大概率对应的类别,如果最大概率对应的类别不同于第一类别,则以最大概率对应的类别作为第二类别;如果最大概率对应的类别与第一类别相同,则从第一输出向量属于各类别的概率中选择第二大概率对应的类别,以第二大概率对应的类别作为第二类别。步骤210,利用第一模型获得上述待检测的样本分别属于第一类别和第二类别的概率,以及利用第二模型获得上述第一输出向量分别属于第一类别和第二类别的概率。步骤212,根据上述概率,获得上述待检测的样本是否为后门样本的检测结果。上述后门样本的检测方法中,获取待检测的样本之后,利用预先训练的第一模型对上述待检测的样本进行分类,获得上述待检测的样本所属的第一类别,然后获取第一模型对上述待检测的样本进行分类之后获得的第一输出向量,利用预先训练的第二模型对上述第一输出向量进行分类,获得上述第一输出向量所属的第二类别,其中,上述第二类别不同于上述第一类别,最后,利用上述第一模型获得上述待检测的样本分别属于第一类别和第二类别的概率,以及利用上述第二模型获得上述第一输出向量分别属于第一类别和第二类别的概率,根据上述概率,获得上述待检测的样本是否为后门样本的检测结果,从而可以实现对后门样本进行检测,提高了训练获得的模型的识别准确率。图3为本说明书后门样本的检测方法另一个实施例的流程图,本说明书图2所示实施例中,上述待检测的样本属于第一类别的概率为第一概率,上述待检测的样本属于第二类别的概率为第二概率;上述第一输出向量属于第一类别的概率为第三概率,上述第一输出向量属于第二类别的概率为第四概率。如图3所示,步骤212可以包括:步骤302,根据第一概率和第二概率计算第一概率分布,根据第三概率和第四概率计算第二概率分布。具体地,可以通过式(1)计算第一概率分布:(1)式(1)中,p为第一概率分布,为第一概率,为第二概率,。可以通过式(2)计算第二概率分布:(2)式(2)中,q为第二概率分布,为第三概率,为第四概率,。步骤304,计算上述第一概率分布和上述第二概率分布的相对熵。具体地,上述相对熵可以根据第一概率分布和第二概率分布,通过式(3)计算获得。(3)步骤306,根据上述相对熵,获得上述待检测的样本是否为后门样本的检测结果。具体地,若待检测的样本为后门样本,由于第二模型是通过正常样本训练得到的模型,因此应该比较低,应该比较高;而应该比较高,应该比较低,这样,p和q这两个概率分布的差别较大,相对熵也会很高。具体实现时,可以将上述相对熵与预先设定的阈值进行对比,如果上述相对熵大于或等于上述预先设定的阈值,则确定上述待检测的样本为后门样本;如果上述相对熵小于上述预先设定的阈值,则确定上述待检测的样本为正常样本。其中,上述预先设定的阈值可以在具体实现时自行设定,本实施例对上述预先设定的阈值的大小不作限定,较小的阈值可以提高召回率,但是准确率可能较低,较大的阈值可以提高准确率,但是召回率可能较低,可按照实际需求设置。本实施例可以通过第一模型和第二模型的输出概率分布相对熵来检测样本是否为后门样本,后门样本检测的准确率较高。图4为本说明书后门样本的检测方法再一个实施例的流程图,如图4所示,本说明书图2所示实施例中,步骤204之前,还可以包括:步骤402,利用包括正常样本和后门样本的训练样本进行训练,获得第一模型。具体地,在利用包括正常样本和后门样本的训练样本进行训练时,可以采用机器学习算法对训练样本进行学习,上述机器学习算法可以包括:神经网络算法或深度学习算法等,本实施例对所采用的机器学习算法不作限定。进一步地,步骤208之前,还可以包括:步骤404,获取各类别的正常样本。步骤406,利用上述第一模型对上述各类别的正常样本进行分类,获得上述各类别的正常样本对应的第二输出向量,上述第二输出向量所属的类别为对应的正常样本所属的类别。其中,第二输出向量可以是第一模型对各类别的正常样本进行分类之后,最后一层的输出向量。步骤408,利用上述第二输出向量和上述第二输出向量所属的类别进行训练,获得上述第二模型。具体地,可以利用上述第二输出向量和上述第二输出向量所属的类别,训练一个多层感知机模型作为第二模型,用于对第一模型最后一层的输出向量进行分类,第二模型的输出为第一模型最后一层的输出向量属于每个类别的概率。由于第二模型的输入为第一模型最后一层的输出向量,且第一模型在正常样本上的输出是正常的,因此第一模型最后一层的输出向量可以用来训练第二模型,这样第二模型就省去了特征提取部分的训练需要,只需要训练分类层,因此只需要少量正常样本即可训练得到第二模型。图5为本说明书后门样本的检测方法再一个实施例的流程图,参见图5,上述后门样本的检测方法可以包括:步骤52,利用包括正常样本和后门样本的训练样本进行训练,获得第一模型。步骤54,将各类别正常样本输入到第一模型中,获得各类别正常样本对应的输出向量,这样,上述各类别正常样本对应的输出向量和正常样本对应的类别构成训练样本。其中,各类别正常样本对应的输出向量可以是第一模型对各类别的正常样本进行分类之后,最后一层的输出向量。步骤56,利用上述训练样本训练一个多层感知机模型作为第二模型,用于对第一模型最后一层的输出向量进行分类,第二模型的输出为第一模型最后一层的输出向量属于每个类别的概率。由于第二模型的输入为第一模型最后一层的输出向量,且第一模型在正常样本上的输出是正常的,因此第一模型最后一层的输出向量可以用来训练第二模型,这样第二模型就省去了特征提取部分的训练需要,只需要训练分类层,因此只需要少量正常样本即可训练得到第二模型。步骤58,获取待检测的样本x,利用第一模型对样本x进行分类,获得上述样本x所属的第一类别c*。具体地,若样本x为后门样本,则c*为错误类别,若样本x为正常样本,则c*为样本x所属的真实类别。步骤510,获取样本x对应的输出向量z,输出向量z是第一模型对样本x进行分类之后获得的;利用第二模型对输出向量z进行分类,获得输出向量z属于各类别的概率,根据上述概率选择输出向量z所属的第二类别cs,cs不同于c*。具体地,可以从输出向量z属于各类别的概率中选择最大概率对应的类别,如果最大概率对应的类别不同于c*,则以最大概率对应的类别作为cs;如果最大概率对应的类别与c*相同,则从第一输出向量属于各类别的概率中选择第二大概率对应的类别,以第二大概率对应的类别作为cs。由于第二模型是使用正常样本训练得到的,因此若样本x为后门样本,cs为样本x的真实类别,若样本x为正常样本,cs为第二大概率对应的类别。也就是说,可以按照式(4)获得cs:(4)式(4)中,表示z属于类别c的概率。步骤512,利用第一模型获得样本x属于第一类别c*的概率,以及获得样本x属于第二类别cs的概率,根据和,通过式(1)计算获得第一概率分布p。步骤514,利用第二模型获得输出向量z属于第一类别c*的概率,以及获得输出向量z属于第二类别的概率,根据和,通过式(2)计算第二概率分布q。步骤516,通过式(3)计算p和q的相对熵。若样本x为后门样本,由于第二模型是通过正常样本训练得到的模型,因此应该比较低,应该比较高;而应该比较高,应该比较低,这样,p和q这两个概率分布的差别较大,相对熵也会很高。具体实现时,可以将上述相对熵与预先设定的阈值进行对比,如果上述相对熵大于或等于上述预先设定的阈值,则确定上述待检测的样本为后门样本;如果上述相对熵小于上述预先设定的阈值,则确定上述待检测的样本为正常样本。其中,上述预先设定的阈值可以在具体实现时自行设定,本实施例对上述预先设定的阈值的大小不作限定,较小的阈值可以提高召回率,但是准确率可能较低,较大的阈值可以提高准确率,但是召回率可能较低,可按照实际需求设置。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。图6为本说明书后门样本的检测装置一个实施例的结构示意图,如图6所示,上述后门样本的检测装置可以包括:获取模块61、分类模块62、概率获得模块63和检测模块64;其中,获取模块61,用于获取待检测的样本;分类模块62,用于利用预先训练的第一模型对所述待检测的样本进行分类,获得待检测的样本所属的第一类别;其中,第一模型是利用包括正常样本和后门样本的训练样本训练的;获取模块61,还用于获取所述待检测的样本对应的第一输出向量,第一输出向量是所述第一模型对待检测的样本进行分类之后获得的;分类模块62,还用于利用预先训练的第二模型对所述第一输出向量进行分类,获得第一输出向量属于各类别的概率,根据概率选择所述第一输出向量所属的第二类别,所述第二类别不同于所述第一类别;其中,所述第二模型是利用包括正常样本的训练样本训练的;概率获得模块63,用于利用所述第一模型获得待检测的样本分别属于第一类别和所述第二类别的概率,以及利用所述第二模型获得所述第一输出向量分别属于第一类别和第二类别的概率;检测模块64,用于根据所述概率,获得待检测的样本是否为后门样本的检测结果。图6所示实施例提供的后门样本的检测装置可用于执行本说明书图2所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。图7为本说明书后门样本的检测装置另一个实施例的结构示意图,本实施例中,待检测的样本属于第一类别的概率为第一概率,待检测的样本属于第二类别的概率为第二概率;第一输出向量属于第一类别的概率为第三概率,所述第一输出向量属于第二类别的概率为第四概率;如图7所示,检测模块64可以包括:计算子模块641和样本检测子模块642;计算子模块641,用于根据所述第一概率和第二概率计算第一概率分布,根据第三概率和第四概率计算第二概率分布;以及计算所述第一概率分布和第二概率分布的相对熵;样本检测子模块642,用于根据计算子模块计算的相对熵,获得待检测的样本是否为后门样本的检测结果。本实施例中,样本检测子模块642,具体用于将相对熵与预先设定的阈值进行对比;如果相对熵大于或等于预先设定的阈值,则确定待检测的样本为后门样本;如果所述相对熵小于所述预先设定的阈值,则确定待检测的样本为正常样本。进一步地,后门样本的检测装置还可以包括:训练模块65;训练模块65,用于在分类模块62利用预先训练的第一模型对待检测的样本进行分类,获得待检测的样本所属的第一类别之前,利用包括正常样本和后门样本的训练样本进行训练,获得第一模型。进一步地,获取模块61,还用于在分类模块62利用预先训练的第二模型对所述输出向量进行分类,获得输出向量属于各类别的概率之前,获取各类别的正常样本;分类模块61,还用于利用所述第一模型对各类别的正常样本进行分类,获得所述各类别的正常样本对应的第二输出向量,所述第二输出向量所属的类别为对应的正常样本所属的类别;训练模块65,还用于利用所述第二输出向量和所述第二输出向量所属的类别进行训练,获得所述第二模型。图7所示实施例提供的后门样本的检测装置可用于执行本申请图2~图5所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。图8为本说明书电子设备一个实施例的结构示意图,如图8所示,上述电子设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图2~图5所示实施例提供的后门样本的检测方法。其中,上述电子设备可以为服务器,例如:普通的物理服务器或云服务器等,或者上述电子设备可以为个人计算机(personalcomputer,pc)或笔记本电脑等智能终端设备,本实施例对上述电子设备的形式不作限定。图8示出了适于用来实现本说明书实施方式的示例性电子设备的框图。图8显示的电子设备仅仅是一个示例,不应对本说明书实施例的功能和使用范围带来任何限制。如图8所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器410,通信接口420,存储器430,以及连接不同组件(包括存储器430、通信接口420和处理单元410)的通信总线440。通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,或者使用多种总线结构中的任意总线结构的局域总线。举例来说,通信总线440可以包括但不限于工业标准体系结构(industrystandardarchitecture,isa)总线,微通道体系结构(microchannelarchitecture,mac)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation,vesa)局域总线以及外围组件互连(peripheralcomponentinterconnection,pci)总线。电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory,ram)和/或高速缓存存储器。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本说明书图2~图5所示实施例的功能。具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本说明书图2~图5所描述的实施例中的功能和/或方法。处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书图2~图5所示实施例提供的后门样本的检测方法。本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书图2~图5所示实施例提供的后门样本的检测方法。上述非暂态计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(readonlymemory,rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)或闪存、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、射频(radiofrequency,rf)等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localareanetwork,lan)或广域网(wideareanetwork,wan)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属
技术领域:
:的技术人员所理解。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。需要说明的是,本说明书实施例中所涉及的终端可以包括但不限于个人计算机(personalcomputer,pc)、个人数字助理(personaldigitalassistant,pda)、无线手持设备、平板电脑(tabletcomputer)、手机、mp3播放器、mp4播放器等。在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本说明书各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom)、随机存取存储器(ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。当前第1页1 2 3 当前第1页1 2 3 
技术特征:1.一种后门样本的检测方法,包括:
获取待检测的样本;
利用预先训练的第一模型对所述待检测的样本进行分类,获得所述待检测的样本所属的第一类别;其中,所述第一模型是利用包括正常样本和后门样本的训练样本训练的;
获取所述待检测的样本对应的第一输出向量,所述第一输出向量是所述第一模型对所述待检测的样本进行分类之后获得的;
利用预先训练的第二模型对所述第一输出向量进行分类,获得所述第一输出向量属于各类别的概率,根据所述概率选择所述第一输出向量所属的第二类别,所述第二类别不同于所述第一类别;其中,所述第二模型是利用包括正常样本的训练样本训练的;
利用所述第一模型获得所述待检测的样本分别属于所述第一类别和所述第二类别的概率,以及利用所述第二模型获得所述第一输出向量分别属于所述第一类别和所述第二类别的概率;
根据所述概率,获得所述待检测的样本是否为后门样本的检测结果。
2.根据权利要求1所述的方法,其中,所述待检测的样本属于所述第一类别的概率为第一概率,所述待检测的样本属于所述第二类别的概率为第二概率;所述第一输出向量属于所述第一类别的概率为第三概率,所述第一输出向量属于所述第二类别的概率为第四概率;
所述根据所述概率,获得所述待检测的样本是否为后门样本的检测结果包括:
根据所述第一概率和所述第二概率计算第一概率分布,根据所述第三概率和所述第四概率计算第二概率分布;
计算所述第一概率分布和所述第二概率分布的相对熵;
根据所述相对熵,获得所述待检测的样本是否为后门样本的检测结果。
3.根据权利要求2所述的方法,其中,所述根据所述相对熵,获得所述待检测的样本是否为后门样本的检测结果包括:
将所述相对熵与预先设定的阈值进行对比;
如果所述相对熵大于或等于所述预先设定的阈值,则确定所述待检测的样本为后门样本;
如果所述相对熵小于所述预先设定的阈值,则确定所述待检测的样本为正常样本。
4.根据权利要求1-3任意一项所述的方法,其中,所述利用预先训练的第一模型对所述待检测的样本进行分类,获得所述待检测的样本所属的第一类别之前,还包括:
利用包括正常样本和后门样本的训练样本进行训练,获得第一模型。
5.根据权利要求4所述的方法,其中,所述利用预先训练的第二模型对所述输出向量进行分类,获得所述输出向量属于各类别的概率之前,还包括:
获取各类别的正常样本;
利用所述第一模型对所述各类别的正常样本进行分类,获得所述各类别的正常样本对应的第二输出向量,所述第二输出向量所属的类别为对应的正常样本所属的类别;
利用所述第二输出向量和所述第二输出向量所属的类别进行训练,获得所述第二模型。
6.一种后门样本的检测装置,包括:
获取模块,用于获取待检测的样本;
分类模块,用于利用预先训练的第一模型对所述待检测的样本进行分类,获得所述待检测的样本所属的第一类别;其中,所述第一模型是利用包括正常样本和后门样本的训练样本训练的;
所述获取模块,还用于获取所述待检测的样本对应的第一输出向量,所述第一输出向量是所述第一模型对所述待检测的样本进行分类之后获得的;
所述分类模块,还用于利用预先训练的第二模型对所述第一输出向量进行分类,获得所述第一输出向量属于各类别的概率,根据所述概率选择所述第一输出向量所属的第二类别,所述第二类别不同于所述第一类别;其中,所述第二模型是利用包括正常样本的训练样本训练的;
概率获得模块,用于利用所述第一模型获得所述待检测的样本分别属于所述第一类别和所述第二类别的概率,以及利用所述第二模型获得所述第一输出向量分别属于所述第一类别和所述第二类别的概率;
检测模块,用于根据所述概率,获得所述待检测的样本是否为后门样本的检测结果。
7.根据权利要求6所述的装置,其中,所述待检测的样本属于所述第一类别的概率为第一概率,所述待检测的样本属于所述第二类别的概率为第二概率;所述第一输出向量属于所述第一类别的概率为第三概率,所述第一输出向量属于所述第二类别的概率为第四概率;
所述检测模块包括:
计算子模块,用于根据所述第一概率和所述第二概率计算第一概率分布,根据所述第三概率和所述第四概率计算第二概率分布;以及计算所述第一概率分布和所述第二概率分布的相对熵;
样本检测子模块,用于根据所述计算子模块计算的相对熵,获得所述待检测的样本是否为后门样本的检测结果。
8.根据权利要求7所述的装置,其中,
所述样本检测子模块,具体用于将所述相对熵与预先设定的阈值进行对比;如果所述相对熵大于或等于所述预先设定的阈值,则确定所述待检测的样本为后门样本;如果所述相对熵小于所述预先设定的阈值,则确定所述待检测的样本为正常样本。
9.根据权利要求6-8任意一项所述的装置,还包括:
训练模块,用于在所述分类模块利用预先训练的第一模型对所述待检测的样本进行分类,获得所述待检测的样本所属的第一类别之前,利用包括正常样本和后门样本的训练样本进行训练,获得第一模型。
10.根据权利要求9所述的装置,
所述获取模块,还用于在所述分类模块利用预先训练的第二模型对所述输出向量进行分类,获得所述输出向量属于各类别的概率之前,获取各类别的正常样本;
所述分类模块,还用于利用所述第一模型对所述各类别的正常样本进行分类,获得所述各类别的正常样本对应的第二输出向量,所述第二输出向量所属的类别为对应的正常样本所属的类别;
所述训练模块,还用于利用所述第二输出向量和所述第二输出向量所属的类别进行训练,获得所述第二模型。
11.一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至5任一所述的方法。
12.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至5任一所述的方法。
技术总结本说明书实施例提出了一种后门样本的检测方法、装置和电子设备,其中,上述后门样本的检测方法中,获取待检测的样本之后,利用预先训练的第一模型对上述待检测的样本进行分类,获得上述待检测的样本所属的第一类别,然后获取第一模型对上述待检测的样本进行分类之后获得的第一输出向量,利用预先训练的第二模型对上述第一输出向量进行分类,获得上述第一输出向量所属的第二类别,其中,上述第二类别不同于上述第一类别,最后,利用上述第一模型获得上述待检测的样本分别属于第一类别和第二类别的概率,以及利用上述第二模型获得上述第一输出向量分别属于第一类别和第二类别的概率,根据上述概率,获得上述待检测的样本是否为后门样本的检测结果。
技术研发人员:任彦昆
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2020.04.24
技术公布日:2020.06.05