一种模糊测试方法、装置和系统制造方法及图纸

技术编号:26650497 阅读:21 留言:0更新日期:2020-12-09 00:46
本申请涉及一种模糊测试方法、装置和系统。所述方法包括:将状态机覆盖率和所述状态机覆盖率的执行频率数据作为能量分配算法的参数,选择DOM格式待变异种子数据;将所述DOM格式待变异种子数据输入模糊器,获得DOM格式变异数据;将DOM格式变异数据输入被测试机,获得测试执行结果;其中,所述测试执行结果包括所述被测试机的执行日志。采用本方法能够提高测试效率。

【技术实现步骤摘要】
一种模糊测试方法、装置和系统
本申请涉及软件测试
,特别是涉及一种模糊测试方法、装置和系统。
技术介绍
随着经济与信息技术的发展,现代工业控制信息系统面临越来越多安全威胁,比如工业控制系统将会面临变体多样勒索病毒、潜匿深处的木马病毒以及各种各样形形色色的黑客入侵。模糊安全测试技术是安全测试应用技术的一种,模糊安全测试技术通过模糊构造软件中畸形输入的数据,从而构造出软件可能发生的异常,如系统崩溃等,由此来精准定位出软件中存在的安全隐患问题。模糊安全测试技术会因为模糊测试本身具有遍历各种模糊后的变异数据特性从而具有遍历所有输入的特性,因此对比于其它安全漏洞挖掘的方法,模糊安全测试技术发现安全隐患和技术漏洞的效率会更高,并且模糊安全测试技术能披露许多传统手段无法触及的盲点。现有的模糊测试场景包括黑盒测试场景、灰盒测试场景和白盒测试场景,在黑盒测试场景中,现有的黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用,在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,判断程序是否能适当地接收输入数据而产生正确的输出信息,现有部分黑盒测试采用代码覆盖率作为参数选择种子,通过种子对程序接口进行测试能够提高测试效率,然而,在很多应用环境比如远程测试的情况下,无法获取代码覆盖率,导致测试效率低。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提供测试效率的模糊测试方法、装置和系统。一种模糊测试方法,所述方法包括:将状态机覆盖率和所述状态机覆盖率的执行频率数据作为能量分配算法的参数,选择DOM格式待变异种子数据;将所述DOM格式待变异种子数据输入模糊器,获得DOM格式变异数据;将DOM格式变异数据输入被测试机,获得测试执行结果;其中,所述测试执行结果包括所述被测试机的执行日志。在其中一个实施例中,在根据状态机覆盖率作为能量分配算法的参数选择DOM格式待变异种子数据之前,包括:获取初始DOM格式待变异种子数据;将所述初始DOM格式待变异种子数据输入模糊器,获得DOM格式变异数据;将DOM格式变异数据输入被测试机,获得初始测试执行结果;其中,所述初始测试执行结果包括所述状态机覆盖率和所述状态机覆盖率的执行频率数据。在其中一个实施例中,在获取初始DOM格式待变异种子数据之前,包括:获取Json、Xml或Ymal语法的模糊测试对象文件;将所述模糊测试对象文件输入解析器,获得Json、Xml或Ymal语法的DOM对象;将所述DOM对象输入引擎处理,获得初始DOM格式待变异种子数据。在其中一个实施例中,在所述将状态机覆盖率和所述状态机覆盖率的执行频率数据作为能量分配算法的参数,选择DOM格式待变异种子数据之前,包括:根据所述测试执行结果通过哈希函数,计算所述DOM格式变异数据在所述被测试机的状态机中产生的状态机覆盖率;统计每种所述状态机覆盖率的频率。在其中一个实施例中,在将DOM格式变异数据输入被测试机,获得测试执行结果之后,包括:根据所述测试执行结果计算状态机覆盖率和所述状态机覆盖率的执行频率数据,重复执行将状态机覆盖率和所述状态机覆盖率的执行频率数据作为能量分配算法的参数,选择DOM格式待变异种子数据,将所述DOM格式待变异种子数据输入模糊器,获得DOM格式变异数据,将DOM格式变异数据输入被测试机,获得测试执行结果的步骤。在其中一个实施例中,在将DOM格式变异数据输入被测试机,获得测试执行结果之后,包括:观察器根据所述测试执行结果,获取异常数据包。一种模糊测试装置,所述装置包括:变异种子数据选择模块,用于将状态机覆盖率和所述状态机覆盖率的执行频率数据作为能量分配算法的参数,选择DOM格式待变异种子数据;变异数据获得模块,用于将所述DOM格式待变异种子数据输入模糊器,获得DOM格式变异数据;测试模块,用于将DOM格式变异数据输入被测试机,获得测试执行结果;其中,所述测试执行结果包括所述被测试机的执行日志。一种模糊测试系统,所述系统包括:权利要求1-6任一项所述的模糊器、引擎、解析器、观察器、收发器;其中,所述解析器,用于根据输入Json、Xml或Ymal语法的的模糊测试对象文件进行解析,获得DOM对象;所述引擎,用于根据DOM对象处理,获得初始DOM格式待变异种子数据;所述模糊器,用于根据初始DOM格式待变异种子数据进行处理,获得DOM格式变异数据;所述收发器,用于将DOM格式变异数据发送至被测试机,所述被测试机返回初始测试执行结果;所述观察器,用于根据所述初始测试执行结果,获取异常数据包。在其中一个实施例中,所述引擎包括通用文件,所述通用文件用于存放各种工具类可复用的通用函数。在其中一个实施例中,所述引擎的目录下保存解析器、模糊器、观察器、收发器的抽象类。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:将状态机覆盖率和所述状态机覆盖率的执行频率数据作为能量分配算法的参数,选择DOM格式待变异种子数据;将所述DOM格式待变异种子数据输入模糊器,获得DOM格式变异数据;将DOM格式变异数据输入被测试机,获得测试执行结果;其中,所述测试执行结果包括所述被测试机的执行日志。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:将状态机覆盖率和所述状态机覆盖率的执行频率数据作为能量分配算法的参数,选择DOM格式待变异种子数据;将所述DOM格式待变异种子数据输入模糊器,获得DOM格式变异数据;将DOM格式变异数据输入被测试机,获得测试执行结果;其中,所述测试执行结果包括所述被测试机的执行日志。上述模糊测试方法、装置和系统,通过将状态机覆盖率和所述状态机覆盖率的执行频率数据作为能量分配算法的参数,能够在无法获取代码覆盖率的情况下通过计算状态机覆盖率,并快速获得DOM格式待变异种子数据,并且通过DOM格式待变异种子数据输入模糊器,获得DOM格式变异数据,从而进行测试,能够优先选择未进行测试或者未进行充分测试的种子数据对待测试机进行测试,避免对已经测试过的种子数据进行重复测试,提高了测试效率。附图说明图1为一个实施例中模糊测试方法的流程示意图;图2为一个实施例中解析器的运行流程示意图;图3为一个实施例中模糊测试方法的总体运行流程示意图;图4为一个实施例中模糊测试装置的结构框图;图5为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。在一个实施例中,如图本文档来自技高网...

【技术保护点】
1.一种模糊测试方法,其特征在于,所述方法包括:/n将状态机覆盖率和所述状态机覆盖率的执行频率数据作为能量分配算法的参数,选择DOM格式待变异种子数据;/n将所述DOM格式待变异种子数据输入模糊器,获得DOM格式变异数据;/n将DOM格式变异数据输入被测试机,获得测试执行结果;其中,所述测试执行结果包括所述被测试机的执行日志。/n

【技术特征摘要】
1.一种模糊测试方法,其特征在于,所述方法包括:
将状态机覆盖率和所述状态机覆盖率的执行频率数据作为能量分配算法的参数,选择DOM格式待变异种子数据;
将所述DOM格式待变异种子数据输入模糊器,获得DOM格式变异数据;
将DOM格式变异数据输入被测试机,获得测试执行结果;其中,所述测试执行结果包括所述被测试机的执行日志。


2.根据权利要求1所述的方法,其特征在于,在根据状态机覆盖率作为能量分配算法的参数选择DOM格式待变异种子数据之前,包括:
获取初始DOM格式待变异种子数据;
将所述初始DOM格式待变异种子数据输入模糊器,获得DOM格式变异数据;
将DOM格式变异数据输入被测试机,获得初始测试执行结果;
其中,所述初始测试执行结果包括所述状态机覆盖率和所述状态机覆盖率的执行频率数据。


3.根据权利要求1所述的方法,其特征在于,在获取初始DOM格式待变异种子数据之前,包括:
获取Json、Xml或Ymal语法的模糊测试对象文件;
将所述模糊测试对象文件输入解析器获得DOM对象;
将所述DOM对象输入引擎处理,获得初始DOM格式待变异种子数据。


4.根据权利要求1所述的方法,其特征在于,在所述将状态机覆盖率和所述状态机覆盖率的执行频率数据作为能量分配算法的参数,选择DOM格式待变异种子数据之前,包括:
根据所述测试执行结果通过哈希函数,计算所述DOM格式变异数据在所述被测试机的状态机中产生的状态机覆盖率;
统计每种所述状态机覆盖率的频率。


5.根据权利要求1所述的方法,其特征在于,在将DOM格式变异数据输入被测试机,获得测试执行结果之后,包括:
根据所述测试执行结果计算状态机覆盖率和所述状态机覆盖率的执行频率数据,重复执行将状态机覆盖率和所述状态机覆盖率的执...

【专利技术属性】
技术研发人员:胡悦雷濛郭宾杨杰马远洋赵宇章渠丰罗怡靓朱奕辉向昶宇
申请(专利权)人:杭州木链物联网科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1