威尼斯人棋牌-威尼斯欢乐娱人城-首页

一种模糊测试工具性能测评方法、装置与流程

文档序号:24942029发布日期:2021-05-04 11:35
一种模糊测试工具性能测评方法、装置与流程

本申请涉及通信技术领域,特别是涉及一种模糊测试工具性能测评方法、装置。



背景技术:

工业控制信息系统在我国电力、交通、能源、水利、冶金、航空航天等各个重要的工业国家和基础设施中扮演着的"大脑"和"中枢神经"的重要角色。随着经济与信息技术的发展,现代工业控制信息系统面临越来越多安全威胁,比如工业控制系统将会面临变体多样勒索病毒、潜匿深处的木马病毒以及各种各样形形色色的黑客入侵。模糊安全测试技术是安全测试应用技术的一种,模糊安全测试技术通过模糊构造App中畸形输入的数据,从而构造出App可能发生的异常,如系统崩溃等,由此来精准定位出App中存在的安全隐患问题。模糊安全测试技术会因为模糊测试本身具有遍历各种模糊后的变异数据特性从而具有遍历所有输入的特性,因此对比于其它安全漏洞挖掘的方法,模糊安全测试技术发现安全隐患和技术漏洞的效率会更高,并且模糊安全测试技术能披露许多传统手段无法触及的盲点。

然而,现有的模糊测试工具多种多样,模糊测试工具的性能不一,如果选择选择高性能的模糊测试工具是现亟需解决的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够实现模糊测试工具在通信协议性能指标测评的模糊测试工具性能测评方法、装置。

一种模糊测试工具性能测评方法,所述方法包括:

获取多个基准测试程序,所述基准测试程序采用同种协议进行数据传输;其中,所述基准测试程序包括至少一个漏洞;

模糊测试工具对所述多个基准测试程序进行测试实验,获得每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长;

根据每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长,计算所述模糊测试工具的性能指标;

根据所述性能指标计算所述模糊测试工具的测评分数。

在其中一个实施例中,所述基准测试程序采用ftp协议进行数据传输。

在其中一个实施例中,所述基准测试程序包括slimftpd3.15、easyftp1.7.0.11、cesarftp0.99g、cesarftp0.98b、serv-u4.1.0.0、warftpd1.82rc9、abilityserver2.34和proftpd1.3.3rc1。

在其中一个实施例中,所述性能指标包括漏检检测量、辅助漏洞检测量、崩溃触发量、辅助崩溃触发量、检测覆盖率、辅助检测覆盖率和吞吐量;其中,漏洞检测量等于非辅助测试实验时每次实验检测到的漏洞次数与每次实验的实验时长之比的平均值;辅助漏洞检测量等于辅助测试实验时每次实验检测到的漏洞次数与每次实验的实验时长之比的平均值;崩溃触发量等于非辅助测试实验时每次实验触发到的崩溃次数与每次实验的实验时长之比的平均值;辅助崩溃触发量等于辅助测试实验时每次实验触发到的崩溃次数与每次实验的实验时长之比的平均值;检测覆盖率等于非辅助测试实验时所有实验检测到的漏洞次数总和与基准测试程序存在的漏洞总数之比的平均值;辅助检测覆盖率等于辅助测试实验时所有实验检测到的漏洞次数总和与基准测试程序存在的漏洞总数之比的平均值;吞吐量等于所有实验发包数总和与所有实验的实验时长总和之比的平均值。

在其中一个实施例中,所述性能指标还包括是否检测到漏洞、是否自动修复崩溃、假阳率和辅助假阳率。

在其中一个实施例中,所述根据所述性能指标计算所述模糊测试工具的测评分数,包括:根据所述性能指标进行加权求和,得到所述模糊测试工具的测评分数。

在其中一个实施例中,所述测试实验包括白盒测试实验、灰盒测试实验和黑盒测试实验中至少一种。

一种模糊测试工具性能测评装置,所述装置包括:

基准测试程序获取模块,用于获取多个基准测试程序,所述基准测试程序采用同种协议进行数据传输;其中,所述基准测试程序包括至少一个漏洞;

测试实验模块,用于模糊测试工具对所述多个基准测试程序进行测试实验,获得每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长;

性能指标计算模块,用于根据每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长,计算所述模糊测试工具的性能指标;

测评分数计算模块,用于根据所述性能指标计算所述模糊测试工具的测评分数。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器实行所述计算机程序时实现以下步骤:

获取多个基准测试程序,所述基准测试程序采用同种协议进行数据传输;其中,所述基准测试程序包括至少一个漏洞;

模糊测试工具对所述多个基准测试程序进行测试实验,获得每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长;

根据每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长,计算所述模糊测试工具的性能指标;

根据所述性能指标计算所述模糊测试工具的测评分数。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器实行时实现以下步骤:

获取多个基准测试程序,所述基准测试程序采用同种协议进行数据传输;其中,所述基准测试程序包括至少一个漏洞;

模糊测试工具对所述多个基准测试程序进行测试实验,获得每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长;

根据每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长,计算所述模糊测试工具的性能指标;

根据所述性能指标计算所述模糊测试工具的测评分数。

上述模糊测试工具性能测评方法、装置、计算机设备和存储介质,根据同种通信协议的基准测试程序对模糊测试工具进行测试实验,获得模糊测试工具检测漏洞的性能指标,根据性能指标计算模糊测试工具的测评分数,本申请可通过测评分数的高低判断模糊测试工具在通信协议的性能指标的优劣判断。

附图说明

图1为一个实施例中模糊测试工具性能测评方法的流程示意图;

图2为一个实施例中模糊测试工具性能测评装置的结构框图;

图3为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以说明本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种模糊测试工具性能测评方法,包括以下步骤:

s110,获取多个基准测试程序,所述基准测试程序采用同种协议进行数据传输;其中,所述基准测试程序包括至少一个漏洞。

其中,通过对cve(commonvulnerabilities&exposures,通用漏洞披露)的记录来爬取,并结合人工分析提取出具有漏洞的相关程序作为基准测试程序。所述基准测试程序为工业控制信息系统所使用的程序,其采用同种协议进行通信,例如,采用ftp(filetransferprotocol,文件传输协议)进行通信。

s120,模糊测试工具对所述多个基准测试程序进行测试实验,获得每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长。

其中,模糊测试工具用于对工业控制信息系统的漏洞进行模糊检测,模糊测试工具可为peach、fuzzotron、mutiny等。模糊测试工具在对基准测试程序进行测试实验的过程中,能够检测出基准测试程序的漏洞,并且获得每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长。

s130,根据每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长,计算所述模糊测试工具的性能指标。

s140,根据所述性能指标计算所述模糊测试工具的测评分数。

其中,测评分数用于评价模糊测试工具的优劣,测评分数高的模糊测试工具性能好,测评分数低的模糊测试工具性能差。

上述模糊测试工具性能测评方法中,根据同种通信协议的基准测试程序对模糊测试工具进行测试实验,获得模糊测试工具检测漏洞的性能指标,根据性能指标计算模糊测试工具的测评分数,本申请可通过测评分数的高低判断模糊测试工具在通信协议的性能指标的优劣判断。

在其中一个实施例中,所述基准测试程序采用ftp协议进行数据传输。

在其中一个实施例中,所述基准测试程序包括slimftpd3.15、easyftp1.7.0.11、cesarftp0.99g、cesarftp0.98b、serv-u4.1.0.0、warftpd1.82rc9、abilityserver2.34和proftpd1.3.3rc1。

其中,slimftpd3.15:存在缓冲区溢出漏洞和拒绝服务攻击漏洞,漏洞涵盖多种指令包括cwd、stor、mkd和stat,能够实现漏洞利用以实行任意代码。easyftp1.7.0.11:存在多种命令的远程缓冲区溢出漏洞。cesarftp0.99g&cesarftp0.98b:存在mkd、xcwd远程缓冲区溢出漏洞。serv-u4.1.0.0:存在本地权限提升漏洞。warftpd1.82rc9:存在多个命令触发远程拒绝服务漏洞。abilityserver2.34:存在stor、appe远程缓冲区溢出漏洞。proftpd1.3.3rc1:存在远程缓冲区溢出漏洞,拒绝服务攻击漏洞,命令实行等。

表1基准测试程序及其对应的漏洞

表1中各个网址是对漏洞说明的参考,表1中所有能够进行ftp通信的ftp服务器可在官网首页上找到其未修复版本进行下载,但是,部分基准测试程序具有的漏洞较少,或者是对于环境的要求过于狭隘,具有的普适性不是很强,部分模糊测试工具需要有源码才能对ftp服务器进行模糊测试操作,所以综合来看,作为模糊测试的基准测试程序需要具备性能稳定,具备较多漏洞以足够测评模糊测试工具的性能,单一一个基准测试程序来对模糊测试工具的性能进行全面测评是不够,只有多个基准测试程序共同组成基准测试程序组可保证测试对象涵盖了大部分ftp常用的命令,并具有较多远程命令缓冲区溢出等漏洞,在模糊测试过程中能够有更多的漏洞种类,实现区分模糊测试工具的性能,所以采用表1中基准测试程序作为ftp测试的基准测试程序。

在其中一个实施例中,所述性能指标包括漏检检测量、辅助漏洞检测量、崩溃触发量、辅助崩溃触发量、检测覆盖率、辅助检测覆盖率和吞吐量;其中,漏洞检测量等于非辅助测试实验时每次实验检测到的漏洞次数与每次实验的实验时长之比的平均值;辅助漏洞检测量等于辅助测试实验时每次实验检测到的漏洞次数与每次实验的实验时长之比的平均值;崩溃触发量等于非辅助测试实验时每次实验触发到的崩溃次数与每次实验的实验时长之比的平均值;辅助崩溃触发量等于辅助测试实验时每次实验触发到的崩溃次数与每次实验的实验时长之比的平均值;检测覆盖率等于非辅助测试实验时所有实验检测到的漏洞次数总和与基准测试程序存在的漏洞总数之比的平均值;辅助检测覆盖率等于辅助测试实验时所有实验检测到的漏洞次数总和与基准测试程序存在的漏洞总数之比的平均值;吞吐量等于所有实验发包数总和与所有实验的实验时长总和之比的平均值。

其中,

其中,n表示实验总次数,漏检检测量、辅助漏洞检测量、崩溃触发量、辅助崩溃触发量、检测覆盖率、辅助检测覆盖率中非辅助与辅助的区别在于,非辅助采用普通输入值的方式,辅助采用辅助输入值的方式,普通输入值就是正常用户的输入值,辅助输入值是根据基准程序包含的漏洞构造的输入值,例如,计算器只能输数字不能输字母那普通输入值可为1234,辅助输入值可能是abcd。

本实施例中,漏洞检测量、辅助漏洞检测量代表模糊测试工具平均发现漏洞所用时间,崩溃触发量、辅助崩溃触发量代表模糊测试工具平均发现崩溃所用时间,检测覆盖率、辅助检测覆盖率代表模糊测试工具发现的漏洞占总漏洞数的比例。

在其中一个实施例中,所述性能指标还包括是否检测到漏洞、是否自动修复崩溃、假阳率和辅助假阳率。

其中,是否检测到漏洞指的是模糊测试工具是否检测到基准测试程序的漏洞,是否自动修复崩溃指的是模糊测试工具是否自动修复带有漏洞的基准测试程序;其中,

其中,漏洞和崩溃的区别是,崩溃是一些由环境因素造成而非模糊测试工具造成的崩溃,但模糊测试工具有时候会将崩溃认作是漏洞造成误报,漏洞是基准程序中确定包含的漏洞,假阳率就是误报的比例,误报情况在基于协议的模糊测试中非常常见,在传统二进制场景中较为少见,本实施例能够根据基于协议的模糊测试中对模糊测试工具的性能进行测评。

在其中一个实施例中,所述根据所述性能指标计算所述模糊测试工具的测评分数,包括:根据所述性能指标进行加权求和,得到所述模糊测试工具的测评分数。

其中,所述性能指标为多个,对多个性能指标进行加权求和,得到模糊测试工具的测评分数。例如,性能指标a为1,性能指标b为0,性能指标a的权重为0.6,性能指标b的权重为0.4,则测评分数=1×0.6+0×0.4=0.6。

例如,通过对不同的模糊测试工具重复测试可以获得如下表2。

表2模糊测试工具的性能指标

由表2中可以看出,模糊测试工具peach、fuzzotron、mutiny、afl和boofuzz在各个性能指标的表现各不相同,根据各个模糊测试工具在表格中的性能指标,可以构建模糊测试工具性能测评算法,对模糊测试工具的性能进行评估,例如,将表2中各项性能指标的权重设为1,则peach模糊测试工具的测评分数为1+1/3+2/3+0x11=2,权重的设置可根据指标对测试结果的关联度决定,默认为1。本实施例中,采用对各个性能指标进行加权求和,得到所述模糊测试工具的测评分数,以对模糊测试工具的性能进行评估。当然,除了本实施例中公开的实施方式,也可以采用其它方式进行模糊测试工具的性能进行评估,在此不再赘述。

在其中一个实施例中,所述测试实验包括白盒测试实验、灰盒测试实验和黑盒测试实验中至少一种。

在其中一个实施例中,所述模糊测试工具采用的模糊测试算法包括变异算法和生成算法。

应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次实行。除非本文中有明确的说明,这些步骤的实行并没有严格的顺序限制,这些步骤可以以其它的顺序实行。而且,图1中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻实行完成,而是可以在不同的时刻实行,这些步骤或者阶段的实行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地实行。

在一个实施例中,如图2所示,提供了一种模糊测试工具性能测评装置,包括:基准测试程序获取模块210、测试实验模块220、性能指标计算模块230和测评分数计算模块240,其中:

基准测试程序获取模块210,用于获取多个基准测试程序,所述基准测试程序采用同种协议进行数据传输;其中,所述基准测试程序包括至少一个漏洞。

测试实验模块220,用于模糊测试工具对所述多个基准测试程序进行测试实验,获得每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长。

性能指标计算模块230,用于根据每次实验检测到的漏洞次数、每次实验触发到的崩溃次数和每次实验的实验时长,计算所述模糊测试工具的性能指标。

测评分数计算模块240,用于根据所述性能指标计算所述模糊测试工具的测评分数。

在其中一个实施例中,所述基准测试程序采用ftp协议进行数据传输。

在其中一个实施例中,所述基准测试程序包括slimftpd3.15、easyftp1.7.0.11、cesarftp0.99g、cesarftp0.98b、serv-u4.1.0.0、warftpd1.82rc9、abilityserver2.34和proftpd1.3.3rc1。

在其中一个实施例中,所述性能指标包括漏检检测量、辅助漏洞检测量、崩溃触发量、辅助崩溃触发量、检测覆盖率、辅助检测覆盖率和吞吐量;其中,漏洞检测量等于非辅助测试实验时每次实验检测到的漏洞次数与每次实验的实验时长之比的平均值;辅助漏洞检测量等于辅助测试实验时每次实验检测到的漏洞次数与每次实验的实验时长之比的平均值;崩溃触发量等于非辅助测试实验时每次实验触发到的崩溃次数与每次实验的实验时长之比的平均值;辅助崩溃触发量等于辅助测试实验时每次实验触发到的崩溃次数与每次实验的实验时长之比的平均值;检测覆盖率等于非辅助测试实验时所有实验检测到的漏洞次数总和与基准测试程序存在的漏洞总数之比的平均值;辅助检测覆盖率等于辅助测试实验时所有实验检测到的漏洞次数总和与基准测试程序存在的漏洞总数之比的平均值;吞吐量等于所有实验发包数总和与所有实验的实验时长总和之比的平均值。

在其中一个实施例中,所述性能指标还包括是否检测到漏洞、是否自动修复崩溃、假阳率和辅助假阳率。

在其中一个实施例中,所述根据所述性能指标计算所述模糊测试工具的测评分数,包括:根据所述性能指标进行加权求和,得到所述模糊测试工具的测评分数。

在其中一个实施例中,所述测试实验包括白盒测试实验、灰盒测试实验和黑盒测试实验中至少一种。

关于模糊测试工具性能测评装置的具体限定可以参见上文中对于模糊测试工具性能测评方法的限定,在此不再赘述。上述模糊测试工具性能测评装置中的各个模块可全部或部分通过App、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以App形式存储于计算机设备中的存储器中,以便于处理器调用实行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储测试实验过程产生的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器实行时以实现一种模糊测试工具性能测评方法。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器实行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器实行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在实行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

威尼斯人棋牌|威尼斯欢乐娱人城

XML 地图 | Sitemap 地图