CN109726126B - 一种分布式并行fuzz方法及系统 - Google Patents
一种分布式并行fuzz方法及系统 Download PDFInfo
- Publication number
- CN109726126B CN109726126B CN201811619781.7A CN201811619781A CN109726126B CN 109726126 B CN109726126 B CN 109726126B CN 201811619781 A CN201811619781 A CN 201811619781A CN 109726126 B CN109726126 B CN 109726126B
- Authority
- CN
- China
- Prior art keywords
- seed
- fuzz
- subsystems
- seeds
- mutation
- 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
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种分布式并行fuzz方法及系统,本发明方法包括接收包含漏洞挖掘目标程序的fuzz任务,对fuzz任务进行分析,获取各个fuzzing子系统的负载情况,根据fuzzing子系统的负载情况向指定的fuzzing子系统分配fuzz任务,且等待fuzzing子系统返回的执行结果,收集指定的fuzz子系统返回的执行结果并输出路径覆盖信息。本发明解决了传统fuzz工具并行性较差的缺点,能够大幅提升在大规模集群下的漏洞挖掘效率,具有漏洞挖掘效率高、易用性好的优点。
Description
技术领域
本发明涉及计算机领域的漏洞挖掘领域,具体涉及一种分布式并行fuzz方法及系统,用于为提高fuzz工具在分布式机器集群中的并行性、提升fuzz效率。
背景技术
当前的fuzz测试的主流方法分为:白盒测试、黑盒测试和灰盒测试。白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,它是指从漏洞挖掘人员的角度看对于程序执行过程、原理全部了解的情况,我们一般是指已知全部程序源代码的情况。黑盒测试也称功能测试,它是指从漏洞挖掘人员的角度看对与程序执行过程、原理全部不了解的情况,我们一般是指源代码未知的情况。灰盒测试是介于白盒测试和黑盒测试之间的一种情况,现行的灰盒测试技术主要是通过插桩手段知道程序执行过程,但是无法知道程序执行原理的情况。
白盒测试的漏洞挖掘人员可以获得完全的源代码信息,其对程序的了解程度可以达到和软件设计人员相同的水准;但是,在面对程序代码量过大的情况下,这种对软件的了解程度在进行漏洞挖掘过程中能获得多少收益,是不确定的,另一方面,开源程序只是所有程序中的一部分,还有大量的非开源程序,和以微软、苹果为首的非开源公司,在其上运行的代码大部分是不开源的,这些程序都无法进行白盒测试,因此白盒测试的可扩展性较差。
黑盒测试的漏洞挖掘人员可以在任何程序、任何系统上进行黑盒测试,在不同程序和系统上的测试方法和测试手段不会有本质上的不同,这就使得黑盒测试的可扩展性比较好,覆盖面比较广;但是,黑盒测试的漏洞挖掘完全无法获取程序的运行信息,在进行测试用例的随机变化过程中,很容易生成无法被程序识别的无效测试用例,这回导致有大量无效的测试用例被测试,从而大幅降低漏洞挖掘的执行效率,影响黑盒测试的漏洞挖掘效果。
灰盒测试的漏洞挖掘人员可以获取程序执行过程中的信息,这就保证了其所生成的测试用例大部分为有效的测试用例,可以更有效的测试目标程序;同时在可以获得源代码的情况下通过对程序的插桩获取程序的执行信息,在无源代码的情况下可以通过模拟器执行的方法获得程序的执行信息,这就大幅的提升了灰盒测试的可扩展性。因此,灰盒测试已经成为了当前阶段漏洞挖掘的主要方法。
灰盒测试方法已经成为当前fuzz领域研究的主流方法。尤其是当模糊测试工具AFL(American Fuzz Lop)出现之后,基于遗传的测试用例生成开始成为研究热点,越来越多的研究集中与通过程序执行过程中的信息,生成新的更为有效的测试用例的方向。这些研究由于研究人员环境的限制和面向目标的特点,大部分只能用于多线程、多进程的fuzz,并不能很好的用于大规模fuzz中。因此,基于模糊测试工具AFL(American Fuzz Lop),如何面向大规模fuzz实现分布式并行fuzz以在大规模机器集群中提升在多机器环境下的漏洞挖掘效率,已经成为一项亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种分布式并行fuzz方法及系统,本发明解决了传统fuzz工具并行性较差的缺点,能够大幅提升在大规模集群下的漏洞挖掘效率,具有漏洞挖掘效率高、易用性好的优点。
为了解决上述技术问题,本发明采用的技术方案为:
一种分布式并行fuzz方法,实施步骤包括:
1)接收包含漏洞挖掘目标程序的fuzz任务;
2)对fuzz任务进行分析,获取各个fuzzing子系统的负载情况,根据fuzzing子系统的负载情况向指定的fuzzing子系统分配fuzz任务,且等待fuzzing子系统返回的执行结果,收集fuzz子系统返回的执行结果;
3)输出执行结果中的潜在漏洞信息。
优选地,步骤1)中fuzz任务的信息包括:漏洞挖掘目标程序、初始的种子信息、所有种子的打分、初始化路径覆盖信息、所需fuzzing子系统节点数量以及漏洞挖掘时间,其中所有种子的打分默认打分相同,初始化路径覆盖信息初始为空。
优选地,步骤1)中fuzz任务的信息还包括漏洞挖掘目标程序源码。
优选地,步骤2)的详细步骤包括:
2.1)根据初始的种子集合、所有种子的评分建立种子数据库,并根据初始的路径覆盖信息生成当前路径覆盖信息;
2.2)分析漏洞挖掘任务的目标程序,获取目标程序的类型、大小以及执行环境;
2.3)根据目标程序的类型、大小以及执行环境对目标程序进行插桩;
2.4)获取各个fuzzing子系统的负载情况,获取当前处于空闲状态的fuzzing子系统数量,如果当前处于空闲状态的fuzzing子系统数量小于漏洞挖掘任务的所需结点数量,则报错并退出;否则,跳转执行步骤2.5);
2.5)从种子数据库选择种子并将漏洞挖掘任务分配给处于空闲状态的fuzzing子系统;
2.6)接收fuzzing子系统返回的变异种子以及执行插桩后的目标程序得到的路径覆盖信息,将fuzzing子系统返回的路径覆盖信息和当前路径覆盖信息相与后作为新的当前路径覆盖信息;
2.7)判断漏洞挖掘执行时间是否已经超过漏洞挖掘时间,如果尚未超过漏洞挖掘时间,则跳转执行步骤2.5);否则跳转执行步骤3)。
优选地,步骤2.5)详细步骤包括:
2.5.1)根据种子评分高低,从种子数据库中选择一个种子;
2.5.2)根据预设的种子突变类型的得分确定各种种子突变类型的权重,所述种子突变类型的得分在初始化种子数据库时完成初始化,且在种子数据库加入新的变异种子后根据变异种子的覆盖路径状况更新对应种子突变类型的得分;
2.5.3)将空闲状态的fuzzing子系统的数量根据权重确定分配给各种种子突变类型;如果某一种种子突变类型分配的fuzzing子系统数量为一个,则直接将选择的种子以及该种子突变类型分发给对应的fuzzing子系统;如果某一种种子突变类型分配的fuzzing子系统数量不止一个,则按照分配的fuzzing子系统数量将选择的种子按照fuzzing子系统数量的数量选择变异位置,使得不同的fuzzing子系统对选择的种子的不同位置进行变异,然后将选择的种子、该种子突变类型及其对应的变异位置信息分发给对应的fuzzing子系统;
2.5.4)在种子数据库中将步骤2.5.1)选择的种子的评分调低。
优选地,步骤2.5.2)中种子突变类型的得分在初始化种子数据库时被初始化为100分,且在种子数据库加入新的变异种子后,如果该变异种子增加了新的覆盖路径,则将对应种子突变类型的得分加1。
优选地,步骤2.5.2)中预设的种子突变类型包括按位翻转、算数加减、特殊值替换、字典替换、大量变异、文件拼接六种突变类型。
本发明还提供一种分布式并行fuzz系统,包括fuzz分布式调度模块和多个fuzz子系统,所述fuzz分布式调度模块被编程以执行本发明前述分布式并行fuzz方法的步骤。
优选地,所述fuzz子系统在收到分配的fuzz任务后的实施步骤包括:
S1)从分配的fuzz任务中获取种子、种子得分、插桩后的目标程序和路径覆盖信息;
S2)对种子进行变异生成变异种子;
S3)执行插桩后的目标程序,并获取执行目标程序的本地覆盖路径信息;
S4)将本地覆盖路径信息、fuzz任务中的路径覆盖信息进行比较,判断是否存在有新发现的覆盖路径,如果发现新的覆盖路径,则跳转执行步骤S5),否则丢弃变异种子,跳转执行步骤S7);
S5)采用预设的打分方式对变异生成的新种子进行打分;
S6)将变异种子、变异种子的打分加入种子数据库;
S7)判断是否对种子的每一个位置都进行过变异,如果是则判定对种子变异完成,将执行目标程序过程中发现的潜在漏洞信息以及新发现的覆盖路径返回fuzz任务的分配方,结束fuzz任务;否则判定未完成,跳转执行步骤S2)。
优选地,步骤S5)采用预设的打分方式对变异种子进行打分的函数表达式如式(1)所示;
Score= Score0*(a*X)*(b*1/(Y/T))/(c*1/(Z/L)) (1)
式(1)中,Score为变异种子的得分,Score0为变异种子对应来源种子在分配的fuzz任务中携带的来自种子数据库的种子得分,X为变异种子的新发现的覆盖路径数量,a为变异种子的新发现的覆盖路径数量X的权重,Y为变异种子的执行时间,T为变异种子标准执行时间,b为变异种子执行时间权重,Z为变异种子的长度,L为变异种子标准长度,c为变异种子长度权重。
和现有技术相比,本发明具有下述优点:
1、效率的提升是本发明最大的优势。当前fuzz领域的研究大多面向单机之中的漏洞挖掘效率的提升,如何并行多机器的fuzz能力并没有充分的研究。本系统很好的弥补了这一领域研究的不足,本系统会启动数以千计的节点对二进制程序进行fuzz,大大提升了漏洞挖掘的性能,达到快速提升目标程序代码覆盖率、挖掘程序潜在漏洞的效果。
2、易用性是本发明的另一大优势。传统的漏洞挖掘工具在配置中相对较为繁琐,单纯的漏洞挖掘工具在每个不同的计算节点上都要单独配置,漏洞挖掘人员通过本系统只需通过与fuzz状态共享数据库的交互,即可完成对所有计算节点的配置工作,大幅的提升了漏洞挖掘人员的工作效率。
附图说明
图1为本发明实施例方法的流程图。
图2为本发明实施例步骤2)的详细流程示意图。
图3为本发明实施例方法的系统架构图。
具体实施方式
如图1所示,本实施例分布式并行fuzz方法的实施步骤包括:
1)接收包含漏洞挖掘目标程序的fuzz任务;
2)对fuzz任务进行分析,获取各个fuzzing子系统的负载情况,根据fuzzing子系统的负载情况向指定的fuzzing子系统分配fuzz任务,且等待fuzzing子系统返回的执行结果,收集fuzz子系统返回的执行结果;
3)输出执行结果中的潜在漏洞信息。
本实施例中,漏洞挖掘人员提交的包含漏洞挖掘目标程序的fuzz任务息包括:漏洞挖掘目标程序、初始的种子信息、所有种子的打分、初始化路径覆盖信息、所需fuzzing子系统节点数量以及漏洞挖掘时间。对应地,步骤1)中fuzz任务的信息包括:漏洞挖掘目标程序、初始的种子信息、所有种子的打分、初始化路径覆盖信息、所需fuzzing子系统节点数量以及漏洞挖掘时间,其中所有种子的打分默认打分相同,初始化路径覆盖信息初始为空。
本实施例中,步骤1)中fuzz任务的信息还包括漏洞挖掘目标程序源码。
本实施例中,步骤2)的详细步骤包括:
2.1)根据初始的种子集合、所有种子的评分建立种子数据库,并根据初始的路径覆盖信息生成当前路径覆盖信息;
2.2)分析漏洞挖掘任务的目标程序,获取目标程序的类型、大小以及执行环境;
2.3)根据目标程序的类型、大小以及执行环境对目标程序进行插桩;
2.4)获取各个fuzzing子系统的负载情况,获取当前处于空闲状态的fuzzing子系统数量,如果当前处于空闲状态的fuzzing子系统数量小于漏洞挖掘任务的所需结点数量,则报错并退出;否则,跳转执行步骤2.5);
2.5)从种子数据库选择种子并将漏洞挖掘任务分配给处于空闲状态的fuzzing子系统;
2.6)接收fuzzing子系统返回的变异种子以及执行插桩后的目标程序得到的路径覆盖信息,将fuzzing子系统返回的路径覆盖信息和当前路径覆盖信息相与后作为新的当前路径覆盖信息;
2.7)判断漏洞挖掘执行时间是否已经超过漏洞挖掘时间,如果尚未超过漏洞挖掘时间,则跳转执行步骤2.5);否则跳转执行步骤3)。
本实施例中,步骤2.5)详细步骤包括:
2.5.1)根据种子评分高低,从种子数据库中选择一个种子;
2.5.2)根据预设的种子突变类型的得分确定各种种子突变类型的权重,所述种子突变类型的得分在初始化种子数据库时完成初始化,且在种子数据库加入新的变异种子后根据变异种子的覆盖路径状况更新对应种子突变类型的得分;
2.5.3)将空闲状态的fuzzing子系统的数量根据权重确定分配给各种种子突变类型;如果某一种种子突变类型分配的fuzzing子系统数量为一个,则直接将选择的种子以及该种子突变类型分发给对应的fuzzing子系统;如果某一种种子突变类型分配的fuzzing子系统数量不止一个,则按照分配的fuzzing子系统数量将选择的种子按照fuzzing子系统数量的数量选择变异位置,使得不同的fuzzing子系统对选择的种子的不同位置进行变异,然后将选择的种子、该种子突变类型及其对应的变异位置信息分发给对应的fuzzing子系统;
2.5.4)在种子数据库中将步骤2.5.1)选择的种子的评分调低。
本实施例中,步骤2.5.2)中种子突变类型的得分在初始化种子数据库时被初始化为100分,且在种子数据库加入新的变异种子后,如果该变异种子增加了新的覆盖路径,则将对应种子突变类型的得分加1。
本实施例中,步骤2.5.2)中预设的种子突变类型包括按位翻转、算数加减、特殊值替换、字典替换、大量变异、文件拼接六种突变类型。
如图2所示,本实施例分布式并行fuzz系统包括fuzz分布式调度模块和多个fuzz子系统,该fuzz分布式调度模块被编程以执行本实施例前述分布式并行fuzz方法的步骤。
如图3所示,所述fuzz子系统在收到分配的fuzz任务后的实施步骤包括:
S1)从分配的fuzz任务中获取种子、种子得分、插桩后的目标程序和路径覆盖信息;
S2)对种子进行变异生成变异种子;
S3)执行插桩后的目标程序,并获取执行目标程序的本地覆盖路径信息;
S4)将本地覆盖路径信息、fuzz任务中的路径覆盖信息进行比较,判断是否存在有新发现的覆盖路径,如果发现新的覆盖路径,则跳转执行步骤S5),否则丢弃变异种子,跳转执行步骤S7);
S5)采用预设的打分方式对变异生成的新种子进行打分;
S6)将变异种子、变异种子的打分加入种子数据库;
S7)判断是否对种子的每一个位置都进行过变异,如果是则判定对种子变异完成,将执行目标程序过程中发现的潜在漏洞信息以及新发现的覆盖路径返回fuzz任务的分配方,结束fuzz任务;否则判定未完成,跳转执行步骤S2)。
本实施例中,步骤S5)采用预设的打分方式对变异种子进行打分的函数表达式如式(1)所示;
Score= Score0*(a*X)*(b*1/(Y/T))/(c*1/(Z/L)) (1)
式(1)中,Score为变异种子的得分,Score0为变异种子对应来源种子在分配的fuzz任务中携带的来自种子数据库的种子得分,X为变异种子的新发现的覆盖路径数量,a为变异种子的新发现的覆盖路径数量X的权重,Y为变异种子的执行时间,T为变异种子标准执行时间,b为变异种子执行时间权重,Z为变异种子的长度,L为变异种子标准长度,c为变异种子长度权重。通过上述方法,可以找到更有效的提升代码覆盖率的测试用例的同时,找到更快被执行,更容易被修改的测试用例,减少每次执行目标代码的时间,进一步提升漏洞挖掘的效率。
综上所述,本实施例分布式并行fuzz方法及系统将传统的基于本地的、单机的fuzz工作并行化,包括本地fuzz模块和fuzz状态共享数据库模块,通过本地fuzz模块与fuzz状态共享数据库模块的交互协作,提升fuzz工具的并行效率,达到在多机器甚至大规模机器集群中的负载均衡,最终实现在大规模机器集群中,更高效的完成fuzz任务的目的。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种分布式并行fuzz方法,其特征在于实施步骤包括:
1)接收包含漏洞挖掘目标程序的fuzz任务;
2)对fuzz任务进行分析,获取各个fuzzing子系统的负载情况,根据fuzzing子系统的负载情况向指定的fuzzing子系统分配fuzz任务,且等待fuzzing子系统返回的执行结果,收集fuzz子系统返回的执行结果;
3)输出执行结果中的潜在漏洞信息;
步骤2)的详细步骤包括:
2.1)根据初始的种子集合、所有种子的评分建立种子数据库,并根据初始的路径覆盖信息生成当前路径覆盖信息;
2.2)分析漏洞挖掘任务的目标程序,获取目标程序的类型、大小以及执行环境;
2.3)根据目标程序的类型、大小以及执行环境对目标程序进行插桩;
2.4)获取各个fuzzing子系统的负载情况,获取当前处于空闲状态的fuzzing子系统数量,如果当前处于空闲状态的fuzzing子系统数量小于漏洞挖掘任务的所需结点数量,则报错并退出;否则,跳转执行步骤2.5);
2.5)从种子数据库选择种子并将漏洞挖掘任务分配给处于空闲状态的fuzzing子系统;
2.6)接收fuzzing子系统返回的变异种子以及执行插桩后的目标程序得到的路径覆盖信息,将fuzzing子系统返回的路径覆盖信息和当前路径覆盖信息相与后作为新的当前路径覆盖信息;
2.7)判断漏洞挖掘执行时间是否已经超过漏洞挖掘时间,如果尚未超过漏洞挖掘时间,则跳转执行步骤2.5);否则跳转执行步骤3);
步骤2.5)详细步骤包括:
2.5.1)根据种子评分高低,从种子数据库中选择一个种子;
2.5.2)根据预设的种子突变类型的得分确定各种种子突变类型的权重,所述种子突变类型的得分在初始化种子数据库时完成初始化,且在种子数据库加入新的变异种子后根据变异种子的覆盖路径状况更新对应种子突变类型的得分;
2.5.3)将空闲状态的fuzzing子系统的数量根据权重确定分配给各种种子突变类型;如果某一种种子突变类型分配的fuzzing子系统数量为一个,则直接将选择的种子以及该种子突变类型分发给对应的fuzzing子系统;如果某一种种子突变类型分配的fuzzing子系统数量不止一个,则按照分配的fuzzing子系统数量将选择的种子按照fuzzing子系统数量的数量选择变异位置,使得不同的fuzzing子系统对选择的种子的不同位置进行变异,然后将选择的种子、该种子突变类型及其对应的变异位置信息分发给对应的fuzzing子系统;
2.5.4)在种子数据库中将步骤2.5.1)选择的种子的评分调低。
2.根据权利要求1所述的分布式并行fuzz方法,其特征在于,步骤1)中fuzz任务的信息包括:漏洞挖掘目标程序、初始的种子信息、所有种子的打分、初始化路径覆盖信息、所需fuzzing子系统节点数量以及漏洞挖掘时间,其中所有种子的打分默认打分相同,初始化路径覆盖信息初始为空。
3.根据权利要求2所述的分布式并行fuzz方法,其特征在于,步骤1)中fuzz任务的信息还包括漏洞挖掘目标程序源码。
4.根据权利要求1所述的分布式并行fuzz方法,其特征在于,步骤2.5.2)中种子突变类型的得分在初始化种子数据库时被初始化为100分,且在种子数据库加入新的变异种子后,如果该变异种子增加了新的覆盖路径,则将对应种子突变类型的得分加1。
5.根据权利要求1所述的分布式并行fuzz方法,其特征在于,步骤2.5.2)中预设的种子突变类型包括按位翻转、算数加减、特殊值替换、字典替换、大量变异、文件拼接六种突变类型。
6.一种分布式并行fuzz系统,其特征在于,包括fuzz分布式调度模块和多个fuzz子系统,所述fuzz分布式调度模块被编程以执行权利要求1~5中任意一项所述分布式并行fuzz方法的步骤。
7.根据权利要求6所述的分布式并行fuzz系统,其特征在于,所述fuzz子系统在收到分配的fuzz任务后的实施步骤包括:
S1)从分配的fuzz任务中获取种子、种子得分、插桩后的目标程序和路径覆盖信息;
S2)对种子进行变异生成变异种子;
S3)执行插桩后的目标程序,并获取执行目标程序的本地覆盖路径信息;
S4)将本地覆盖路径信息、fuzz任务中的路径覆盖信息进行比较,判断是否存在有新发现的覆盖路径,如果发现新的覆盖路径,则跳转执行步骤S5),否则丢弃变异种子,跳转执行步骤S7);
S5)采用预设的打分方式对变异生成的变异种子进行打分;
S6)将变异种子、变异种子的打分加入种子数据库;
S7)判断是否对种子的每一个位置都进行过变异,如果是则判定对种子变异完成,将执行目标程序过程中发现的潜在漏洞信息以及新发现的覆盖路径返回fuzz任务的分配方,结束fuzz任务;否则判定未完成,跳转执行步骤S2)。
8.根据权利要求7所述的分布式并行fuzz系统,其特征在于,步骤S5)采用预设的打分方式对变异种子进行打分的函数表达式如式(1)所示;
Score= Score0*(a*X)*(b*1/(Y/T))/(c*1/(Z/L)) (1)
式(1)中,Score为变异种子的得分,Score0为变异种子对应来源种子在分配的fuzz任务中携带的来自种子数据库的种子得分,X为变异种子的新发现的覆盖路径数量,a为变异种子的新发现的覆盖路径数量X的权重,Y为变异种子的执行时间,T为变异种子标准执行时间,b为变异种子执行时间权重,Z为变异种子的长度,L为变异种子标准长度,c为变异种子长度权重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811619781.7A CN109726126B (zh) | 2018-12-28 | 2018-12-28 | 一种分布式并行fuzz方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811619781.7A CN109726126B (zh) | 2018-12-28 | 2018-12-28 | 一种分布式并行fuzz方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109726126A CN109726126A (zh) | 2019-05-07 |
CN109726126B true CN109726126B (zh) | 2022-04-12 |
Family
ID=66297422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811619781.7A Active CN109726126B (zh) | 2018-12-28 | 2018-12-28 | 一种分布式并行fuzz方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109726126B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162472B (zh) * | 2019-05-08 | 2022-08-12 | 安徽工业大学 | 一种基于fuzzing测试的测试用例生成方法 |
CN111338952B (zh) * | 2020-02-25 | 2024-03-29 | 杭州世平信息科技有限公司 | 一种路径覆盖率反馈的模糊测试方法及装置 |
CN112347484A (zh) * | 2020-10-27 | 2021-02-09 | 杭州安恒信息技术股份有限公司 | 软件漏洞检测方法、装置、设备及计算机可读存储介质 |
CN114924952B (zh) * | 2022-04-28 | 2022-12-27 | 杭州悦数科技有限公司 | 分布式图数据库黑盒健康情况的诊断方法、系统和介质 |
CN115658534B (zh) * | 2022-11-04 | 2024-01-19 | 上海安般信息科技有限公司 | 一种基于多引擎融合的分布式模糊测试方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010069587A1 (en) * | 2008-12-18 | 2010-06-24 | Nec Europe Ltd. | Method and device for supporting penetration testing of a computer system |
CN104598383A (zh) * | 2015-02-06 | 2015-05-06 | 中国科学院软件研究所 | 一种基于模式的动态漏洞挖掘集成系统和方法 |
CN106446688A (zh) * | 2016-11-09 | 2017-02-22 | 中国科学院软件研究所 | 一种基于dcr的动态漏洞挖掘方法及系统 |
CN107193731A (zh) * | 2017-05-12 | 2017-09-22 | 北京理工大学 | 使用控制变异的模糊测试覆盖率改进方法 |
-
2018
- 2018-12-28 CN CN201811619781.7A patent/CN109726126B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010069587A1 (en) * | 2008-12-18 | 2010-06-24 | Nec Europe Ltd. | Method and device for supporting penetration testing of a computer system |
CN104598383A (zh) * | 2015-02-06 | 2015-05-06 | 中国科学院软件研究所 | 一种基于模式的动态漏洞挖掘集成系统和方法 |
CN106446688A (zh) * | 2016-11-09 | 2017-02-22 | 中国科学院软件研究所 | 一种基于dcr的动态漏洞挖掘方法及系统 |
CN107193731A (zh) * | 2017-05-12 | 2017-09-22 | 北京理工大学 | 使用控制变异的模糊测试覆盖率改进方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109726126A (zh) | 2019-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726126B (zh) | 一种分布式并行fuzz方法及系统 | |
CN107908536B (zh) | Cpu-gpu异构环境中对gpu应用的性能评估方法及系统 | |
US8266593B2 (en) | System and method for analyzing performance of a software testing system | |
CN110427275B (zh) | 基于轨迹日志学习的微服务潜在错误与故障根源预测方法 | |
Georgoulakos et al. | Evolutionary multi-objective optimization of business process designs with pre-processing | |
Liu et al. | Architectural support for efficient large-scale automata processing | |
CN112699050A (zh) | 一种基于变异体分组的软件测试用例多种群进化生成方法 | |
Hofmann et al. | Initial results on generating macro actions from a plan database for planning on autonomous mobile robots | |
Kalinowski et al. | The graph representation of multivariant and complex processes for production scheduling | |
De La Banda et al. | The future of optimization technology | |
Guo et al. | Parallel genetic algorithms on multiple FPGAs | |
CN105184403A (zh) | 基于机器学习和统计模型检验的工作流最优配置寻优方法 | |
CN112506564B (zh) | 一种用于建立控制流图的方法、系统和介质 | |
Santander-Jimenez et al. | Parallel multiobjective metaheuristics for inferring phylogenies on multicore clusters | |
Jia et al. | Generating software test data by particle swarm optimization | |
Hu et al. | File parsing vulnerability detection with symbolic execution | |
Gonçalves et al. | A biased random-key genetic algorithm for job-shop scheduling | |
Ntipteni et al. | An asynchronous parallel differential evolution algorithm | |
Zhang et al. | A heuristic approach to break cycles for the class integration test order generation | |
Tanuska et al. | Data mining model building as a support for decision making in production management | |
Abdul-Hussin | Simulation and Control of Siphon Petri Nets for Manufacturing Systems | |
Lau et al. | ADVISER+: Toward a usable web-based algorithm portfolio deviser | |
CN111861012A (zh) | 一种测试任务执行时间预测方法及最优执行节点选择方法 | |
Suerich et al. | Reinforcement learning for efficient scheduling in complex semiconductor equipment | |
CN116841886B (zh) | 一种面向配置缺陷的定向模糊测试方法 |
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 |