[发明专利]一种面向文本配置文件的模糊测试方法及装置有效
申请号: | 202010636048.7 | 申请日: | 2020-07-03 |
公开(公告)号: | CN111913877B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 宋站威;曾怡诚;刘明东;朱红松;李志;孙利民;石志强 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 杨明月 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 文本 配置文件 模糊 测试 方法 装置 | ||
本发明实施例提供一种面向文本配置文件的模糊测试方法及装置,所述方法包括:识别所述目标配置文件的文本文件格式类型,并确定所述目标配置文件的键值key‑value对;对以所述目标配置文件作为输入的程序进行预模糊测试以检测所述程序是否有格式上的漏洞,并提取所述程序中的所有可见字符串,对所述目标配置文件的key‑value对中的key进行变异,得到key组合种子文件;基于所述key组合种子文件中key的权重,对所述key组合种子文件中的key对应的value进行变异,得到新的组合种子文件,挖掘所述程序的漏洞。本发明实施例实现了全面地挖掘程序中较深层次的漏洞,提升面向文本配置文件的模糊测试效率。
技术领域
本发明涉及漏洞挖掘与分析领域,具体涉及一种面向文本配置文件的模糊测试方法及装置。
背景技术
模糊测试是一项通过动态方式对软件或系统进行漏洞挖掘的技术。模糊测试工具以AFL为代表,其理念为动态执行与路径覆盖率提高,大致实现方式为将种子文件作为输入实际执行测试程序,同时通过插桩的方式记录每个种子文件对应的执行路径,随后对种子文件尝试变异,以尝试使得变异后的种子文件作为程序输入能够让程序经过不同的执行路径。
在模糊测试的现有技术中,输入类型往往是多种多样的,可以是通过socket进行网络数据输入,也可以是对程序命令行参数读取输入,还有可能是直接从程序的配置文件中读取输入。但是同一个模糊测试方法,即变异算法,针对不同类型输入程序的模糊测试的效率和覆盖率不够高。
因此,如何实现面向文本配置文件的模糊测试方法,提升面向文本配置文件的模糊测试效率和覆盖率,成为亟待解决的问题。
发明内容
针对现有技术中的缺陷,本发明实施例提供一种面向文本配置文件的模糊测试方法及装置。
第一方面,本发明实施例提供一种面向文本配置文件的模糊测试方法,包括:
获取文本文件格式的目标配置文件;
识别所述目标配置文件的文本文件格式类型,并确定所述目标配置文件的键值key-value对;
对以所述目标配置文件作为输入的程序进行预模糊测试以检测所述程序是否有格式上的漏洞,并提取所述程序中的所有可见字符串;
利用所述可见字符串,对所述目标配置文件的key-value对中的key进行变异,得到key组合种子文件;
基于所述key组合种子文件中key的权重,对所述key组合种子文件中的key对应的value进行变异,得到新的组合种子文件;
利用所述新的组合种子文件挖掘所述程序的漏洞。
可选地,所述利用所述可见字符串,对所述目标配置文件的key-value对中的key进行变异,得到key组合种子文件,具体包括:
针对每个所述可见字符串,利用当前可见字符串替换所述key-value对中的key,得到种子文件,将所述种子文件作为输入插桩执行,若产生了新的执行路径,则将所述key存储至有效key集合;
基于所述有效key集合,依次对所述种子文件中的key随机地进行删除、替换和增加操作中的任一种,得到key组合种子文件。
可选地,所述基于所述key组合种子文件中key的权重,对所述key组合种子文件中的key对应的value进行变异,得到新的组合种子文件,具体包括:
针对所述key组合种子文件中的每个key对应的value进行变异,若判断插桩执行后产生了新的执行路径,根据所述新的执行路径中产生的新代码块数量设置对应key的权重;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010636048.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种防腐型换热器
- 下一篇:体温测量系统、方法、装置、设备存储介质