[发明专利]一种基于逆向技术的未知协议模糊测试自动化方法有效
申请号: | 202110374805.2 | 申请日: | 2021-04-07 |
公开(公告)号: | CN113206834B | 公开(公告)日: | 2022-12-09 |
发明(设计)人: | 李鹏;方伟青;王汝传;吴礼发;徐鹤;朱枫;周浩成;陈阳 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;G06N20/00;G06K9/62 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 王美章 |
地址: | 210023 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 逆向 技术 未知 协议 模糊 测试 自动化 方法 | ||
1.一种基于逆向技术的未知协议模糊测试自动化方法,其特征在于,包括以下步骤:
S1、提取报文载荷头并计算字节位置信息熵,过滤掉熵值超出区间的字节位置,提取关键字段来进行降维处理,然后对协议报文进行层次聚类并去除重复的报文;
S2、将聚类预处理好的报文进行协议格式推断,多阶段渐进式生成协议报文格式;
S3、自动化生成测试脚本,基于boofuzz框架进行模糊测试;
步骤S1具体包括以下步骤:
S11、读入报文数据,将报文按照一字节的长度进行序列化切分,并在切分的字节后增加位置信息;
S12、通过信息熵公式,分别计算报文各个字段位置的信息熵,去除熵值超出平均值加上或减去信息熵方差的区间的报文字段位置,提取关键字段位置,并将小于信息熵平均值的第一个字段作为报文载荷头与报文载荷的分割位置;
S13、利用报文关键字段的字节内容,对协议报文进行层次聚类;
步骤S2具体包括以下步骤:
S21、将步骤S1中经过聚类处理的数据进行频繁项挖掘,并进行闭合模式处理,经过闭合模式处理的频繁项集能够去除大量冗余的频繁项信息;
S22、类与类之间比较生成格式:将不同聚类簇中的报文载荷头进行整合,计算字节位置信息熵,熵值超出平均值加上信息熵方差的作为数据字段,熵值低于平均值减去信息熵方差的作为固定字段,其余作为协议报文关键可变字段;
S23、类内比较生成格式:各个聚类簇内分别计算字节信息熵,去除掉报文载荷头部分,其余部分按照上述步骤S22中的规则,规定字段含义,并与步骤S22中的结果整合生成协议格式;
步骤S3具体包括以下步骤:
S31、根据报文格式,由程序编写boofuzz模块定义字段变异规则与测试对象,其中,固定字段不变,协议报文相关字段变异方式为字典变异,数据字段随机生成,以此逻辑来生成测试脚本;
S32、执行测试脚本,通过记录测试数据与对应的测试对象状态到数据库中,在发生异常之后,查询数据库中记录的测试对象异常时刻与其对应发送的报文数据,并重复发送异常期间的数据来最终确定引发异常的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110374805.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:模板夹持装置及模板系统
- 下一篇:一种具有防烫伤功能的茶叶烘干设备