【技术实现步骤摘要】
一种基于机器学习的模糊测试用例生成方法及运行该方法的计算机设备与可读存储介质
本专利技术涉及模糊测试领域,具体涉及一种基于机器学习的模糊测试用例生成方法及运行该方法的计算机设备与可读存储介质。
技术介绍
模糊测试是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。当传统工业网络借助互联互通技术飞速发展,功能日渐强大,效率大幅提升的同时,工业互联网安全也越来越受到关注,一旦工业互联网中的关键协议设备被攻击导致工控设备无法正常工作,将会导致企业重大经济损失等严重后果。在对工业互联网安全的研究中,其中一个很重要的思路是对网络中的关键设备进行协议安全测试,模糊测试是安全测试的一个常用方法,它是一项简单的技术,但是却能够找出许多协议实现过程中的重要bug,及时预警或采取规避措施,确保在设备上线之前,协议漏洞得到及时修复或有效追踪,从而提高网络系统的整体安全性。工业互联网、物联网发展迅速,国际上知名的工控协议测试平台在专业技术上比较权威,但面对国内越来越繁杂的设备检测需求,存在定制开发周期长、检测费用高、不支持添加自定义协议等问题,并不能完全满足国内工控物联网发展的测试需求,国内相关的企事业单位都在自主研发网络安全测试平台,其中包含一种用于工控物联网协议的模糊测试平台(以下简称“测试平台”),国内工控物联网领域尚没有一款针对协议测试的通用工具,该测试平台开发了一套高效的模糊测试语言,根据工控和物联网协议面向控制、高度结构化的特点,提供专用变异方法如结构变异、错误注入、上下文不一致等,保证快速高 ...
【技术保护点】
1.一种基于机器学习的模糊测试用例生成方法,其特征是包括以下步骤:/n步骤1、污点跟踪:标记污点源,跟踪目标程序运行;/n步骤2、污点分析:存储污点跟踪信息,分析污点路径的相似度;/n步骤3、测试用例筛选:标记有效测试用例,生成新的测试用例库;/n步骤4、存储污点数据追踪表。/n
【技术特征摘要】
1.一种基于机器学习的模糊测试用例生成方法,其特征是包括以下步骤:
步骤1、污点跟踪:标记污点源,跟踪目标程序运行;
步骤2、污点分析:存储污点跟踪信息,分析污点路径的相似度;
步骤3、测试用例筛选:标记有效测试用例,生成新的测试用例库;
步骤4、存储污点数据追踪表。
2.根据权利要求1所述的一种基于机器学习的模糊测试用例生成方法,其特征在于,步骤1进一步包括:将taint_data指定为污点源数据指定接口,当测试引擎解析到字段taint_data接口时,调用污点初始化模块initialize_fun1,将污点源数据映射到内存空间,并存储于污点数据追踪表中;当测试引擎获得污点跟踪信息后调用dress_fun1进行测试用例筛选模块。
3.根据权利要求1所述的一种基于机器学习的模糊测试用例生成方法,其特征在于,步骤2进一步包括:对使用污点跟踪技术的测试用例的回包进行污点传播路径分析;对使用动态污点跟踪技术的目标程序做二进制插桩处理,或者在源代码中加入插桩代码,将污点数据在执行目标程序过程中涉及的路径记录并返回给测试平台;如果目标程序是开源代码,则在分支中插入插桩代码记录路径;如果是二进制目标程序,采用第三方插桩平台对二进制代码进行插桩;当测试用例数据执行完目标程序后,记录污点数据的传播和清除状态,并作为回包数据的一部分返回给测试平台。
4.根据权利要求1所述的一种基于机器学习的模糊测试用例生成方法,其特征在于,步骤3进一步包括:
步骤3-1、当数据库中记录了所有污点源数据的传播路径后,获得每一个污点源数据在目标程序中的执行指令序列,在内存中形成污点跟踪指令路径链表;
步骤3-2、根据筛选目标使用各种算法对内存中的指令路径链表进行评价,当存在相同或相似的指令路径链表,则说明不同的测试用例在目标程序中执行了相似的路径,此时判定存在无效的测试用例;采用聚类分析方法对指令路径链表集进行评价,找到路径相似度高的测试用例进行过滤;
步骤3-3、过滤无效的测试用例,减少模糊测试用例的冗余度,标记有效的测试用例以提高测试效率。
5.根据权利要求4所述的一种基于机器学习的模糊测试用例生成方法,其特征在于,步骤3-2进一步包括:采用海明码距离分析方法将每个测试用例的指令路径链表使用哈希算法进行签名,用海明码距离计算两个签名值的距离,距离值越小,表示指令路径越相似,反之则为不相似。
6.根据权利要求1所述的一种基于机器学习的模糊测试用例生成方法,其特征在于,步骤4进一步包括:创建taint_trace表以存储污点源数据在目标程序执行过程的跟踪路径信息;
其中字段名为Test_case_id,对应类型为INT,键约束为主键,表示测试用例编号;
字段名为Taint_source,对应类型为HexString,键约束为...
【专利技术属性】
技术研发人员:叶青,郭涛,李明柱,
申请(专利权)人:信联科技南京有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。