CN109190379B - 一种深度学习系统的漏洞检测方法和装置 - Google Patents

一种深度学习系统的漏洞检测方法和装置 Download PDF

Info

Publication number
CN109190379B
CN109190379B CN201810878887.2A CN201810878887A CN109190379B CN 109190379 B CN109190379 B CN 109190379B CN 201810878887 A CN201810878887 A CN 201810878887A CN 109190379 B CN109190379 B CN 109190379B
Authority
CN
China
Prior art keywords
deep learning
learning system
neurons
disturbance
detection
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
Application number
CN201810878887.2A
Other languages
English (en)
Other versions
CN109190379A (zh
Inventor
赵越
郭建敏
姜宇
顾明
孙家广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201810878887.2A priority Critical patent/CN109190379B/zh
Publication of CN109190379A publication Critical patent/CN109190379A/zh
Application granted granted Critical
Publication of CN109190379B publication Critical patent/CN109190379B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供一种深度学习系统的漏洞检测方法和装置,其中方法包括:以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元;基于若干个神经元的张量表达式,以及待测深度学习系统的预测差的张量表达式,构建优化函数,并通过最大化优化函数获取若干个扰动;若所述若干个扰动中任一扰动满足预设条件,则基于该扰动获取检测样本,通过检测样本对待测深度学习系统的漏洞进行检测。本发明实施例提供的方法和装置,能够有效提升神经元覆盖率,使得检测过程更加完备,并且只需要一个深度学习系统,使得漏洞检测方法的应用场景更为广泛,此外,能够生成大量样本,提高了待测深度学习系统漏洞的检测效率。

Description

一种深度学习系统的漏洞检测方法和装置
技术领域
本发明实施例涉及深度学习技术领域,尤其涉及一种深度学习系统的漏洞检测方法和装置。
背景技术
当前,深度学习技术越来越多地应用于与安全相关的领域,例如无人驾驶和恶意软件检测。上述应用领域对于可预测性和正确性的要求,给深度学习技术的广泛应用带来了新的挑战。由于训练数据偏差,模型过拟合等原因,深度学习系统经常在边界情况中表现出意外或不正确的行为。而在对安全性要求较高的环境中,这种不正确的行为会导致灾难性的后果。因此,深度学习系统的软件的安全保障技术十分重要,可以有效地发现深度学习系统中潜在的问题和缺陷,保障系统的运行可靠性。
目前比较有代表性的深度学习系统漏洞检测方法主要分为两类,包括黑盒测试方法和白盒测试方法。其中,白盒测试方法中,具有代表性的方法是Pei等人基于深度学习系统的内部结构,首次提出使用“神经元覆盖率”的指标用于度量传统深度学习测试对系统内部逻辑覆盖率,同时使用差异测试的方式自动生成能够触发多个深度学习系统不一致行为的测试输入。
然而目前的白盒测试方法仍然具有以下不足之处:1)随机选择1个神经元进行激活,导致神经元覆盖率提升不够充分;2)需要使用多个有差异性的深度学习系统,在实际的应用场景中往往很少能获得;3)测试过程中生成的样本利用不充分,生成样本数目过少。
发明内容
本发明实施例提供一种深度学习系统的漏洞检测方法和装置,用以解决现有的白盒测试方法存在的问题。
一方面,本发明实施例提供一种深度学习系统的漏洞检测方法,包括:
以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元;
基于所述若干个神经元的张量表达式,以及所述待测深度学习系统的预测差的张量表达式,构建优化函数,并通过最大化所述优化函数获取若干个扰动;其中,所述预测差为所述待测深度学习系统的预设标签中其余标签的概率与原始标签的概率之差;
若所述若干个扰动中任一扰动满足预设条件,则基于所述任一扰动获取检测样本,通过所述检测样本对所述待测深度学习系统的漏洞进行检测。
另一方面,本发明实施例提供一种深度学习系统的漏洞检测装置,包括:
神经元激活单元,用于以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元;
扰动计算单元,用于基于所述若干个神经元的张量表达式,以及所述待测深度学习系统的预测差的张量表达式,构建优化函数,并通过最大化所述优化函数获取若干个扰动;其中,所述预测差为所述待测深度学习系统的预设标签中原始标签的概率与其余标签的概率之差;
漏洞检测单元,用于若所述若干个扰动中任一扰动满足预设条件,则基于所述任一扰动获取检测样本,通过所述检测样本对所述待测深度学习系统的漏洞进行检测。
又一方面,本发明实施例提供一种电子设备,包括处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信,处理器可以调用存储器中的逻辑指令,以执行如前所述的深度学习系统的漏洞检测方法。
再一方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的深度学习系统的漏洞检测方法。
本发明实施例提供的一种深度学习系统的漏洞检测方法和装置,以最大化神经元覆盖率为导向选取并激活神经元,并基于神经元和预测差构建优化函数,获取干扰,并基于满足预设条件的干扰获取检测样本进行漏洞检测,能够有效提升神经元覆盖率,使得检测过程更加完备,并且只需要一个深度学习系统,使得漏洞检测方法的应用场景更为广泛,此外,能够生成大量样本,提高了待测深度学习系统漏洞的检测效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的深度学习系统的漏洞检测方法的流程示意图;
图2为本发明另一实施例提供的深度学习系统的漏洞检测方法的流程示意图;
图3为本发明一实施例提供的深度学习系统的漏洞检测装置的结构示意图;
图4为本发明另一实施例提供的深度学习系统的漏洞检测装置的结构示意图;
图5为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于深度学习系统通常是先人工定义神经网络结构,然后通过随机梯度下降的方法训练其内部权重,最终系统的输出结果由权重决定,因此其存在漏洞的原因之一是某些权重的值存在异常。而目前针对深度学习系统的漏洞检测方法主要是通过当前的输入样本和标签,通过某些手段得到容易使系统预测出错的输入(称为对抗样本),而漏洞的修复方式则是将对抗样本加入原始训练过程得到新的权重,使得新的深度学习系统能够正确预测对抗样本的标签。针对当前用于进行深度学习系统漏洞检测的白盒测试方法存在随机选择神经元进行激活,导致的神经元覆盖率提升不够充分,以及需要使用多个有差异性的深度学习系统等问题,本发明实施例提出一种深度学习系统的漏洞检测方法,通过融合模糊测试思想对白盒测试方法进行了改进。
其中,模糊测试是目前软件安全的常用的测试方法之一。模糊测试的关键思想是通过不断生成输入来探索程序的不同路径,以检测这些路径是否会产生导致软件崩溃或者宕机。在模糊测试中使用两种方法生成输入,第一种是基于生成的模糊测试,第二种是基于变异的模糊测试。基于生成的模糊测试需要对相关领域知识掌握得比较全面,一般适用于需要有特定输入格式的软件系统,按照这些格式有规则地创造输入,从而进行测试。基于变异的模糊测试对初始的输入没有任何要求,它会不断变异现有的输入来产生新的输入,来探索出程序的新的路径。
图1为本发明一实施例提供的深度学习系统的漏洞检测方法的流程示意图,如图1所示,一种深度学习系统的漏洞检测方法,包括:
101,以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元。
具体地,通常对于一个深度学习系统而言,深度学习系统会接收一个输入,经过内部的神经元激活和计算后,最终会输出一个置信度和预测标签。因此本发明实施例用于寻找深度学习系统漏洞的方法之一是通过改变神经网络内部神经元的取值,从而计算得到扰动,将基于扰动生成的检测样本输入至系统,使得系统的预测结果出现错误,发现漏洞。
由于神经元是深度学习系统内部的基本组成单元,下一层的输出结果由上一层神经元的输出值决定,对神经元的选取策略关系着生成样本的变异效果。本发明实施例中,选取神经元的原则是以最大化神经元覆盖率为导向,此处神经元覆盖率为待测深度学习系统内大于预设阈值的神经元数目占所有神经元数目的比例。根据传统的软件测试理论,一般认为被测试软件的覆盖率越高,表明其安全性越好。因此本发明实施例首先以神经元覆盖率作为导向因素之一,通过选取和激活神经元对输入进行变异,其目的是提高神经元覆盖率,提升测试的完备程度。需要说明的是,本发明实施例不对提取的神经元的数量作具体限定,且下述神经元均为步骤101中以最大化神经元覆盖率为导向选取并激活的神经元。此处,激活神经元是指设置神经元的值超过预设的激活阈值,使得神经元处于激活状态的操作。
102,基于若干个神经元的张量表达式,以及待测深度学习系统的预测差的张量表达式,构建优化函数,并通过最大化优化函数获取若干个扰动;其中,预测差为待测深度学习系统的预设标签中其余标签的概率与原始标签的概率之差。
此处,待测深度学习系统的输出结果可以是包括预设标签中的任意一个标签,原始标签是指将原始输入输入至原始待测深度学习系统得到的输出标签,其余标签是指预设标签中除原始标签之外的所有标签。
为了使系统的预测结果与先前的不一致,以找到系统的漏洞,本发明实施例将预测差的张量表达式与步骤101选取并激活的神经元激活的张量表达式进行综合,得到优化函数,通过求解该函数的最大值,即对优化函数执行最大化操作,获取优化函数的最大值对应的扰动。通过对优化函数执行最大化操作,可以同时实现神经元覆盖率的最大化和预设差的最大化,其中神经元覆盖率的最大化有助于深度学习系统安全性的提高,预设差的最大化能够提高其余标签的概率,降低原始标签的概率,从而发现深度学习的漏洞。此处,仅需要一个深度学习系统即可对其进行测试并找出其漏洞,不需要多个有差异的深度学习系统进行差异测试,更符合大部分现实场景的测试需求。
多次求解优化函数的最大值,即可获取多个扰动,本发明实施例不对求解次数和扰动数量作具体限定。
103,若上述若干个扰动中任一扰动满足预设条件,则基于该扰动获取检测样本,通过检测样本对待测深度学习系统的漏洞进行检测。
具体地,基于预设条件,对步骤102中获取的若干个扰动进行筛选。针对其中任一扰动,如果该扰动满足预设条件,则将该扰动与原始输入相加,得到检测样本,并将检测样本输入至待测深度学习系统中,若待测深度学习系统输出的预测标签与原始输入对应的原始标签不一致,则检测样本即为对抗样本。此处,对抗样本是指基于干扰形成的致使待测深度学习系统输出错误预测结果的检测样本,由于待测深度学习系统无法针对对抗样本输出正确的预测结果,对抗样本即为待测深度学习系统的漏洞。步骤103中,基于模糊测试思想,通过满足预设条件的扰动生成检测样本对待测深度学习系统进行检测,即实现了对输入进行大量变异以得到对抗样本从而发现漏洞的过程。基于步骤102获取的干扰,步骤103能够生成大量由原始输入变异生成的检测样本,从而提高待测深度学习系统漏洞的检测效率。
本发明实施例中,以最大化神经元覆盖率为导向选取并激活神经元,并基于神经元和预测差构建优化函数,获取干扰,并基于满足预设条件的干扰获取检测样本进行漏洞检测,能够有效提升神经元覆盖率,使得检测过程更加完备,并且只需要一个深度学习系统,使得漏洞检测方法的应用场景更为广泛,此外,能够生成大量样本,提高了待测深度学习系统漏洞的检测效率。
基于上述实施例,进一步地,以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元,具体包括:基于高权重选取策略,以及高激活频率选取策略、低激活频率选取策略和激活阈值选取策略中的至少一种,从待测深度学习系统中选取并激活若干个神经元。
其中,高权重选取策略是指基于深度学习系统中每一神经元的权重,从深度学习系统中选取预设数量个权重最大的神经元。由于深度学习系统中的神经元是相互影响的,一般来说下一层的神经元取值会由上一层的神经元的值决定,而将具有高权重的神经元进行激活有助于激活大量结构上处于下一层神经元,因此该策略有助于整体神经元覆盖率的提升。
高激活频率选取策略是指基于深度学习系统中每一神经元的激活频率,从深度学习系统中选取预设数量个激活频率最高的神经元。为了保证总体神经元覆盖率处于一个较高的水平,因此需要维持一些神经元处于激活状态,有助于维持系统的最后输出结果的相对稳定。
低激活频率选取策略是指基于深度学习系统中每一神经元的激活频率,从深度学习系统中选取预设数量个激活频率最低的神经元。此处,为了发现深度学习系统中的漏洞和缺陷,借鉴传统软件测试的理论,通过激活原本处于抑制状态的神经元,诱导系统执行罕见的逻辑路径和边界条件,从而更容易的生成对抗样本。
激活阈值选取策略是指基于预设的激活区间,从深度学习系统中选取预设数量个当前值处于激活区间内的神经元并激活。此外,激活阈值选取策略还能够包括基于预设的抑制区间,从深度学习系统中选取预设数量个当前值处于抑制区间内的神经元并抑制至低于抑制区间。此处,激活区间的上限与抑制区间的下限均为激活阈值,神经元的值超过激活阈值则被激活,低于激活阈值则被抑制,通过激活阈值选取策略被激活的神经元数量和被抑制的神经元数量一致,因此总体神经元覆盖率对于此部分神经元值的变动不敏感。激活阈值选取策略可以在神经元覆盖率保持稳定的状态下和神经元处于阈值边界波动情况下,诱导系统产生缺陷。
需要说明的是,高权重选取策略可以与高激活频率选取策略、低激活频率选取策略和激活阈值选取策略中的任意一种或多种组合,进行待测深度学习系统的神经元选取和激活,本发明实施例不对此作具体限定。
基于上述任一实施例,进一步地,基于高权重选取策略,以及高激活频率选取策略、低激活频率选取策略和激活阈值选取策略中的至少一种,从待测深度学习系统中选取并激活若干个神经元,具体包括:当预设神经元激活数量为n时,分别基于高权重选取策略、高激活频率选取策略、低激活频率选取策略和激活阈值选取策略从待测深度学习系统中选取n/4个神经元并激活。
具体地,在以最大化神经元覆盖率为导向的神经元选取和激活过程中,综合应用高权重选取策略、高激活频率选取策略、低激活频率选取策略和激活阈值选取策略四种选取策略。当预设神经元激活数量为n时,应用高权重选取策略从待测深度学习系统中选取n/4个神经元并激活,应用高激活频率选取策略从待测深度学习系统中选取n/4个神经元并激活,应用低激活频率选取策略从待测深度学习系统中选取n/4个神经元并激活,应用激活阈值选取策略从待测深度学习系统中选取n/4个神经元并激活。本发明实施例中,预设神经元激活数量n为能够被4整除的正整数,且n小于待测深度学习系统中的神经元总数。
基于上述任一实施例,进一步地,优化函数如下:
Figure BDA0001753980420000071
式中,obj为优化函数,c0为原始标签的概率,ci为预设标签中任一其余标签的概率,nj为任一神经元的张量表达式,m+1为预设标签的数量,n为神经元的数量,λ为超参数。
具体地,优化函数obj由两部分构成,其中
Figure BDA0001753980420000072
为预测差的张量表达式,
Figure BDA0001753980420000073
为若干个选取并激活的神经元抽象出的张量表达式,通过最大化优化函数,使得预测差的张量表达式的值朝增大的方向发展,从而使得其余标签的概率增大,而原始标签的概率下降,最终发现深度学习系统的漏洞。此处,预测差的张量表达式为将预设标签中除原始标签以外的其余所有标签的概率求和再减去原始标签的概率得到的。
基于上述任一实施例,进一步地,通过最大化优化函数获取若干个扰动,具体包括:
1)将上一输入与上一输入得到的扰动相加更新当前输入。
2)基于当前输入,通过梯度上升算法最大化优化函数,得到当前输入对应的扰动。
具体地,在通过最大化优化函数获取若干个扰动时,每进行一次优化函数的最大化,则得到一个扰动,因而为了获取多个扰动,需要对优化函数进行多次迭代的最大化。在首次最大化计算时,将原始输入作为当前输入,基于梯度上升算法最大化优化函数,得到当前输入对应的扰动,即首次最大化计算得到的扰动。随后,将上一输入与上一输入得到的扰动相加,更新当前输入,再基于当前输入进行新一次的最大化求解,获取新的扰动。此处,应用梯度上升算法执行优化函数的最大化,从而得到微小且人类难以察觉的扰动。
基于上述任一实施例,进一步地,103,若上述若干个扰动中任一扰动满足预设条件,则基于该扰动获取检测样本,通过检测样本对待测深度学习系统的漏洞进行检测,具体包括:
若所述若干个扰动中任一扰动对应的神经元覆盖率大于该扰动的前一扰动对应的神经元覆盖率,且该扰动的扰动距离小于预设距离阈值,则将该扰动与原始输入相加作为检测样本,并通过检测样本对待测深度学习系统的漏洞进行检测。
具体地,在通过多次迭代计算得到多个扰动的基础上,针对多个扰动中的任意一个扰动,基于该扰动获取检测样本需要满足预设条件。本发明实施例中,预设条件包括该扰动的神经元覆盖率相较于迭代过程中的得到的前一扰动的神经元覆盖率有所提升,同时该扰动的扰动距离小于预设距离阈值。满足上述预设条件,则可将该扰动与原始输入相加,作为检测样本,进而对待测深度学习系统的漏洞进行检测。针对通过多次迭代计算得到的多个扰动,每一扰动均可通过上述预设条件的筛选判断是否能够生成检测样本。
基于上述任一实施例,进一步地,通过检测样本对所述待测深度学习系统的漏洞进行检测,具体包括:
若将检测样本输入至待测深度学习系统输出的标签与原始标签不同,则检测样本为对抗样本;
否则,将检测样本更新为原始输入,返回执行上述漏洞检测方法。
具体地,针对满足预设条件的扰动生成的检测样本,将检测样本输入至待测深度学习系统,输出检测样本对应的标签,并与原始输入对应的原始标签进行比较:如果检测样本对应的标签与原始标签不同,则检测样本即对抗样本,由于待测深度学习系统无法针对对抗样本输出正确的预测结果,对抗样本即为待测深度学习系统的漏洞;如果检测样本对应的标签与原始标签一致,则将检测样本更新为原始输入,返回执行神经元选取、激活,扰动计算等步骤,进而发现潜在的漏洞。
进一步地,如果发现漏洞(对抗样本),则将对抗样本加入训练过程得到新的权重,使得新系统能够正确预测对抗样本的标签。目前修复深度学习系统漏洞的主流方法是将对抗样本打上正确标签后重新进行训练,由于本发明实施例生成的对抗样本与原始样本的差异极小,因此不需要人工进行打标签的操作,沿用原标签即可。而经过重新训练过程后,得到的新权重可以很好地处理对抗样本中出现的边界情况,故深度学习系统中存在的一些漏洞基本可以认为被修复。
为了更好地理解与应用本发明提出的一种深度学习系统的漏洞检测方法,本发明进行以下示例,且本发明不仅局限于以下示例。
图2为本发明另一实施例提供的深度学习系统的漏洞检测方法的流程示意图,如图2所示,本示例通过融合模糊测试思想改进白盒测试方法,以神经元覆盖率为导向针对单个深度学习系统的应用场景提出了一种基于模糊测试的深度学习系统漏洞检测方法。由于深度学习系统在训练时存在大量训练样本,本示例很容易获得原始输入。漏洞检测方法包括:
首先,以最大化神经元覆盖率为导向,综合高权重选取策略、高激活频率选取策略、低激活频率选取策略和激活阈值选取策略从待测深度学习系统中选取若干个神经元并激活。
其次,基于所述若干个神经元的张量表达式,以及待测深度学习系统的预测差的张量表达式,构建如下优化函数:
Figure BDA0001753980420000101
式中,obj为优化函数,c0为原始标签的概率,ci为预设标签中任一其余标签的概率,nj为任一神经元的张量表达式,m+1为预设标签的数量,n为神经元的数量,λ为超参数。图2中,预测标签差异即预测差。
基于梯度上升算法多次迭代求解优化函数的最大值,得到多个扰动。
若上述多个扰动中任一扰动对应的神经元覆盖率大于前一扰动对应的神经元覆盖率,且该扰动的扰动距离小于预设距离阈值,则将该扰动与原始输入相加作为检测样本,并将检测样本输入至待测深度学习系统,若输出的标签与原始标签不同,则检测样本为对抗样本;否则,将检测样本更新为原始输入,执行上述漏洞检测方法。
基于上述任一方法实施例,图3为本发明一实施例提供的深度学习系统的漏洞检测系统的结构示意图,如图3所示,一种深度学习系统的漏洞检测装置,包括:
神经元激活单元301,用于以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元;
扰动计算单元302,用于基于若干个神经元的张量表达式,以及待测深度学习系统的预测差的张量表达式,构建优化函数,并通过最大化优化函数获取若干个扰动;其中,预测差为待测深度学习系统的预设标签中原始标签的概率与其余标签的概率之差;
漏洞检测单元303,若上述若干个扰动中任一扰动满足预设条件,则基于该扰动获取检测样本,通过检测样本对待测深度学习系统的漏洞进行检测。
需要说明的是,上述神经元激活单元301、扰动计算单元302和漏洞检测单元303配合以执行上述实施例中的一种深度学习系统的漏洞检测方法,该系统的具体功能参见上述的深度学习系统的漏洞检测方法的实施例,此处不再赘述。
本发明实施例中,以最大化神经元覆盖率为导向选取并激活神经元,并基于神经元和预测差构建优化函数,获取干扰,并基于满足预设条件的干扰获取检测样本进行漏洞检测,能够有效提升神经元覆盖率,使得检测过程更加完备,并且只需要一个深度学习系统,使得漏洞检测方法的应用场景更为广泛,此外,能够生成大量样本,提高了待测深度学习系统漏洞的检测效率。
基于上述任一实施例,进一步地,神经元激活单元301,具体用于基于高权重选取策略,以及高激活频率选取策略、低激活频率选取策略和激活阈值选取策略中的至少一种,从所述待测深度学习系统中选取并激活若干个神经元。
基于上述任一实施例,进一步地,神经元激活单元301,具体用于:当预设神经元激活数量为n时,分别基于所述高权重选取策略、所述高激活频率选取策略、所述低激活频率选取策略和所述激活阈值选取策略从所述待测深度学习系统中选取n/4个神经元并激活。
基于上述任一实施例,进一步地,优化函数如下:
Figure BDA0001753980420000111
式中,obj为所述优化函数,c0为所述原始标签的概率,ci为所述预设标签中任一所述其余标签的概率,nj为任一所述神经元的张量表达式,m+1为所述预设标签的数量,n为所述神经元的数量,λ为超参数。
基于上述任一实施例,进一步地,扰动计算单元302包括用于通过最大化所述优化函数获取若干个扰动的扰动计算子单元,扰动计算子单元具体用
将上一输入与所述上一输入得到的扰动相加更新当前输入;
基于所述当前输入,通过梯度上升算法最大化所述优化函数,得到所述当前输入对应的扰动。
基于上述任一实施例,进一步地,漏洞检测单元303具体用于:若所述若干个扰动中任一扰动对应的神经元覆盖率大于所述任一扰动的前一扰动对应的神经元覆盖率,且所述任一扰动的扰动距离小于预设距离阈值,则将所述任一扰动与原始输入相加作为检测样本,并通过所述检测样本对所述待测深度学习系统的漏洞进行检测。
基于上述任一实施例,进一步地,漏洞检测单元303包括用于通过检测样本对待测深度学习系统的漏洞进行检测的检测子单元,检测子单元具体用于:
若将所述检测样本输入至所述待测深度学习系统输出的标签与所述原始标签不同,则所述检测样本为对抗样本;
否则,将所述检测样本更新为所述原始输入,执行上述漏洞检测方法。
为了更好地理解与应用本发明提出的一种深度学习系统的漏洞检测装置,本发明进行以下示例,且本发明不仅局限于以下示例。
图4为本发明另一实施例提供的深度学习系统的漏洞检测装置的结构示意图,如图4所示,漏洞检测装置包括神经元激活单元、扰动计算单元和漏洞检测单元。其中,神经元激活单元负责选出若干神经元并使用一定的方法增大神经元的值。神经元激活单元主要有两部分功能,一是采用预先设计好的神经元选择策略选择出一些有潜力激活的神经元,二是将增大这些神经元值的操作表达为张量表达式,用于后续过程的扰动求解。扰动计算单元在激活神经元的基础上,将最大化原始标签与其余标签之间的差异(预测差)的操作抽象成对应的张量表达式加入扰动的优化函数,底层使用Tensorflow深度学习框架进行求解,求解若干轮后得到若干差异很小的扰动。漏洞检测单元在扰动计算单元操作完成之后,使用队列保存扰动,用神经元覆盖率是否提升和扰动距离是否小于一定范围这2个条件筛选扰动作为合格的变异扰动。然后将筛选后的扰动加在原始输入上,迭代生成对抗样本。
本示例所提供的基于模糊测试的深度神经网络漏洞检测装置,以激活更多神经元和最大化原始标签与其余标签的差异这两种策略为导向,通过模糊测试的思想筛选中间扰动迭代生成大量对抗样本,从而检测出深度神经网络中的漏洞。与Pei等人提出的白盒测试方法相比,本发明改进了神经元的选择策略能够有效提升神经元覆盖率,使得测试过程更加完备,并且只需要一个深度学习系统让应用场景更为广泛。
图5为本发明实施例提供的电子设备的结构示意图,如图5所示,电子设备包括:处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和总线504,其中,处理器501,通信接口502,存储器503通过总线504完成相互间的通信。处理器501可以调用存储器503中的逻辑指令,以执行如下方法,例如包括:以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元;基于所述若干个神经元的张量表达式,以及所述待测深度学习系统的预测差的张量表达式,构建优化函数,并通过最大化所述优化函数获取若干个扰动;其中,所述预测差为所述待测深度学习系统的预设标签中其余标签的概率与原始标签的概率之差;若所述若干个扰动中任一扰动满足预设条件,则基于所述任一扰动获取检测样本,通过所述检测样本对所述待测深度学习系统的漏洞进行检测。
本发明实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元;基于所述若干个神经元的张量表达式,以及所述待测深度学习系统的预测差的张量表达式,构建优化函数,并通过最大化所述优化函数获取若干个扰动;其中,所述预测差为所述待测深度学习系统的预设标签中其余标签的概率与原始标签的概率之差;若所述若干个扰动中任一扰动满足预设条件,则基于所述任一扰动获取检测样本,通过所述检测样本对所述待测深度学习系统的漏洞进行检测。
本实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元;基于所述若干个神经元的张量表达式,以及所述待测深度学习系统的预测差的张量表达式,构建优化函数,并通过最大化所述优化函数获取若干个扰动;其中,所述预测差为所述待测深度学习系统的预设标签中其余标签的概率与原始标签的概率之差;若所述若干个扰动中任一扰动满足预设条件,则基于所述任一扰动获取检测样本,通过所述检测样本对所述待测深度学习系统的漏洞进行检测。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的通信设备等实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。

Claims (9)

1.一种用于恶意软件检测的深度学习系统的漏洞检测方法,其特征在于,包括:
以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元;所述待测深度学习系统为恶意软件检测系统,所述若干个神经元构成的路径即程序的路径;
基于所述若干个神经元的张量表达式,以及所述待测深度学习系统的预测差的张量表达式,构建优化函数,并通过最大化所述优化函数获取若干个扰动;其中,所述预测差为所述待测深度学习系统的预设标签中其余标签的概率与原始标签的概率之差;
若所述若干个扰动中任一扰动满足预设条件,则基于所述任一扰动获取检测样本,通过所述检测样本对所述待测深度学习系统的漏洞进行检测;所述检测样本是为引发软件崩溃或宕机所生成的输入;
所述优化函数如下:
Figure FDA0002393509730000011
式中,obj为所述优化函数,c0为所述原始标签的概率,ci为所述预设标签中任一所述其余标签的概率,nj为任一所述神经元的张量表达式,m+1为所述预设标签的数量,n为所述神经元的数量,λ为超参数。
2.根据权利要求1所述的方法,其特征在于,所述以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元,具体包括:
基于高权重选取策略,以及高激活频率选取策略、低激活频率选取策略和激活阈值选取策略中的至少一种,从所述待测深度学习系统中选取并激活若干个神经元。
3.根据权利要求2所述的方法,其特征在于,所述基于高权重选取策略,以及高激活频率选取策略、低激活频率选取策略和激活阈值选取策略中的至少一种,从待测深度学习系统中选取并激活若干个神经元,具体包括:
当预设神经元激活数量为n时,分别基于所述高权重选取策略、所述高激活频率选取策略、所述低激活频率选取策略和所述激活阈值选取策略从所述待测深度学习系统中选取n/4个神经元并激活。
4.根据权利要求1所述的方法,其特征在于,所述通过最大化所述优化函数获取若干个扰动,具体包括:
将上一输入与所述上一输入得到的扰动相加更新当前输入;
基于所述当前输入,通过梯度上升算法最大化所述优化函数,得到所述当前输入对应的扰动。
5.根据权利要求4所述的方法,其特征在于,所述若所述若干个扰动中任一扰动满足预设条件,则基于所述任一扰动获取检测样本,通过所述检测样本对所述待测深度学习系统的漏洞进行检测,具体包括:
若所述若干个扰动中任一扰动对应的神经元覆盖率大于所述任一扰动的前一扰动对应的神经元覆盖率,且所述任一扰动的扰动距离小于预设距离阈值,则将所述任一扰动与原始输入相加作为检测样本,并通过所述检测样本对所述待测深度学习系统的漏洞进行检测。
6.根据权利要求5所述的方法,其特征在于,所述通过所述检测样本对所述待测深度学习系统的漏洞进行检测,具体包括:
若将所述检测样本输入至所述待测深度学习系统输出的标签与所述原始标签不同,则所述检测样本为对抗样本;
否则,将所述检测样本更新为所述原始输入,返回执行所述以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元的步骤。
7.一种用于恶意软件检测的深度学习系统的漏洞检测装置,其特征在于,包括:
神经元激活单元,用于以最大化神经元覆盖率为导向,从待测深度学习系统中选取并激活若干个神经元;所述待测深度学习系统为恶意软件检测系统,所述若干个神经元构成的路径即程序的路径;
扰动计算单元,用于基于所述若干个神经元的张量表达式,以及所述待测深度学习系统的预测差的张量表达式,构建优化函数,并通过最大化所述优化函数获取若干个扰动;其中,所述预测差为所述待测深度学习系统的预设标签中原始标签的概率与其余标签的概率之差;
漏洞检测单元,用于若所述若干个扰动中任一扰动满足预设条件,则基于所述任一扰动获取检测样本,通过所述检测样本对所述待测深度学习系统的漏洞进行检测;所述检测样本是为引发软件崩溃或宕机所生成的输入;
所述优化函数如下:
Figure FDA0002393509730000031
式中,obj为所述优化函数,c0为所述原始标签的概率,ci为所述预设标签中任一所述其余标签的概率,nj为任一所述神经元的张量表达式,m+1为所述预设标签的数量,n为所述神经元的数量,λ为超参数。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信,处理器可以调用存储器中的逻辑指令,以执行如权利要求1至6任一所述的深度学习系统的漏洞检测方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一所述的深度学习系统的漏洞检测方法。
CN201810878887.2A 2018-08-03 2018-08-03 一种深度学习系统的漏洞检测方法和装置 Active CN109190379B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810878887.2A CN109190379B (zh) 2018-08-03 2018-08-03 一种深度学习系统的漏洞检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810878887.2A CN109190379B (zh) 2018-08-03 2018-08-03 一种深度学习系统的漏洞检测方法和装置

Publications (2)

Publication Number Publication Date
CN109190379A CN109190379A (zh) 2019-01-11
CN109190379B true CN109190379B (zh) 2020-05-19

Family

ID=64920074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810878887.2A Active CN109190379B (zh) 2018-08-03 2018-08-03 一种深度学习系统的漏洞检测方法和装置

Country Status (1)

Country Link
CN (1) CN109190379B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10990855B2 (en) * 2019-06-13 2021-04-27 Baidu Usa Llc Detecting adversarial samples by a vision based perception system
CN110619216B (zh) * 2019-09-17 2021-09-03 武汉思普崚技术有限公司 一种对抗性网络的恶意软件检测方法及系统
CN110581857B (zh) * 2019-09-17 2022-04-08 武汉思普崚技术有限公司 一种虚拟执行的恶意软件检测方法及系统
CN110941824B (zh) * 2019-12-12 2022-01-28 支付宝(杭州)信息技术有限公司 一种基于对抗样本增强模型抗攻击能力的方法和系统
CN113743572A (zh) * 2020-05-27 2021-12-03 南京大学 一种基于Fuzz的人工神经网络测试方法
CN112069061B (zh) * 2020-08-19 2021-08-20 北京科技大学 深度学习梯度指导变异的软件安全漏洞检测方法及系统
CN112069508B (zh) * 2020-09-21 2023-03-21 西安交通大学 机器学习框架漏洞api参数定位方法、系统、设备及介质
CN112527681B (zh) * 2020-12-24 2024-03-12 中国银联股份有限公司 一种程序的漏洞检测方法及装置
CN113807541B (zh) * 2021-09-17 2023-04-14 西安交通大学 决策系统的公平性修复方法、系统、设备及存储介质
CN116149972A (zh) * 2021-11-18 2023-05-23 华为技术有限公司 一种深度学习模型的测试方法、装置、电子设备和存储介质
CN114565051B (zh) * 2022-03-03 2024-05-24 余姚市亿盛金属制品有限公司 基于神经元影响程度的产品分类模型的测试方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252627A (zh) * 2013-06-28 2014-12-31 广州华多网络科技有限公司 Svm分类器训练样本获取方法、训练方法及其系统
CN107276805A (zh) * 2017-06-19 2017-10-20 北京邮电大学 一种基于入侵检测模型的样本预测方法、装置及电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252627A (zh) * 2013-06-28 2014-12-31 广州华多网络科技有限公司 Svm分类器训练样本获取方法、训练方法及其系统
CN107276805A (zh) * 2017-06-19 2017-10-20 北京邮电大学 一种基于入侵检测模型的样本预测方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Intriguing properties of neural networks;Christian Szegedy et al.;《Proceedings of the International Conference on Learning Representations》;20141231;图5及其说明 *

Also Published As

Publication number Publication date
CN109190379A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
CN109190379B (zh) 一种深度学习系统的漏洞检测方法和装置
US20210342699A1 (en) Cooperative execution of a genetic algorithm with an efficient training algorithm for data-driven model creation
Pezeshkpour et al. Investigating robustness and interpretability of link prediction via adversarial modifications
US9406017B2 (en) System and method for addressing overfitting in a neural network
CN110334742B (zh) 一种用于文档分类的基于强化学习的通过添加虚假节点的图对抗样本生成方法
KR102153992B1 (ko) 심층 신경망을 이용한 사이버 위협 탐지 방법 및 장치
US11593648B2 (en) Methods and systems for detection and isolation of bias in predictive models
CN111309975A (zh) 一种增强图模型抗攻击能力的方法和系统
Langford et al. “know what you know”: Predicting behavior for learning-enabled systems when facing uncertainty
CN117454187B (zh) 一种基于频域限制目标攻击的集成模型训练方法
US11373285B2 (en) Image generation device, image generation method, and image generation program
Lv et al. An improved test selection optimization model based on fault ambiguity group isolation and chaotic discrete PSO
US11494654B2 (en) Method for machine failure prediction using memory depth values
US20220383182A1 (en) Systems and methods to monitor trained intelligence agents
Wicker et al. Adversarial robustness certification for bayesian neural networks
Das et al. State of the art: Security Testing of Machine Learning Development Systems
US11930048B1 (en) Testing complex decision systems using outcome learning-based machine learning models
CN117389155B (zh) 一种无人机集群的自适应故障检测方法及系统
CA3121078C (en) Process and system including explainable prescriptions through surrogate-assisted evolution
US20230135468A1 (en) Non-transitory computer-readable storage medium for storing machine learning program, machine learning method, and machine learning apparatus
CN113537295B (zh) 基于离群点引导的视线估计跨场景适配方法和装置
Aminul Robust and Uncertainty-Aware Software Vulnerability Detection Using Bayesian Recurrent Neural Networks
Missaoui et al. DeepKnowledge: Generalisation-Driven Deep Learning Testing
Shaka et al. Error Tracing in Programming: A Path to Personalised Feedback
Gómez et al. VAASI: Crafting valid and abnormal adversarial samples for anomaly detection systems in industrial scenarios

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