[发明专利]一种针对区块链网络进行模糊测试的方法在审
申请号: | 202310906031.2 | 申请日: | 2023-07-24 |
公开(公告)号: | CN116662207A | 公开(公告)日: | 2023-08-29 |
发明(设计)人: | 杨波;唐开江;张彦超;谭亦夫;尚可;孙茂增;雷力;鲍帅 | 申请(专利权)人: | 北京银联金卡科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/64 |
代理公司: | 北京北新智诚知识产权代理有限公司 11100 | 代理人: | 满靖 |
地址: | 100041 北京市石*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 区块 网络 进行 模糊 测试 方法 | ||
1.一种针对区块链网络进行模糊测试的方法,其特征在于,包括步骤:
1)根据RPC接口传输的参数类型,生成用于模糊测试的优质种子,其中,所述优质种子用于表示支持所述RPC接口传输的参数类型的测试种子;
2)更改各所述RPC接口获取数据的方式;
3)利用所述优质种子对区块链网络进行模糊测试。
2.如权利要求1所述的针对区块链网络进行模糊测试的方法,其特征在于,所述步骤1)包括:
1-1)整理区块链网络涉及的各所述RPC接口传输参数所对应的所有类型,定义出参数类型集合P;
1-2)针对所述参数类型集合P的不同参数类型分别生成种子数据;
1-3)整理各所述RPC接口各自所对应的参数类型;
1-4)针对随机选择的所述RPC接口生成优质种子,建立用于模糊测试的种子数据库。
3.如权利要求2所述的针对区块链网络进行模糊测试的方法,其特征在于,所述步骤1-4)包括:随机选择一个所述RPC接口,基于所述步骤1-1)~1-3),针对所述RPC接口对应的各参数类型分别生成种子作为优质种子,存储并建立所述种子数据库。
4.如权利要求1所述的针对区块链网络进行模糊测试的方法,其特征在于,所述步骤2)包括:分析区块链网络涉及所述RPC接口的代码,找到关于所述RPC接口的网络数据接收代码,将所述网络数据接收代码更改为从本地模糊测试器获取,其中,针对区块链网络,每个节点部署一个模糊测试器作为所述本地模糊测试器。
5.如权利要求4所述的针对区块链网络进行模糊测试的方法,其特征在于,使用模糊测试器提供的编译工具对所述网络数据接收代码进行编译,生成插装后的区块链程序,以使所述插装后的区块链程序支持测试覆盖率监测,且覆盖区块链网络提供的所有所述RPC接口调用,引导模糊测试器调用所有所述RPC接口。
6.如权利要求5所述的针对区块链网络进行模糊测试的方法,其特征在于,所述RPC接口的所述网络数据接收代码的更改遵循以下逻辑:
从所述本地模糊测试器获取模糊测试数据;
随机选择一个所述RPC接口及其参数类型;
将所述模糊测试数据转换为所述RPC接口对应的参数类型;
调用RPC底层方法处理所述参数类型后通过选择的所述RPC接口传输进入。
7.如权利要求1所述的针对区块链网络进行模糊测试的方法,其特征在于,所述步骤3)包括:
3-1)为区块链网络部署模糊测试管理器,其中,所述模糊测试管理器包括节点管理模块、节点监控模块和测试报告模块;
3-2)所述节点管理模块控制多个节点执行模糊测试,其中:对于每个所述节点,将种子数据库和插装后的区块链程序作为本地模糊测试器的输入;
3-3)所述节点监控模块监控每个所述节点的运行情况,其中:如果所有所述节点的测试覆盖率在规定时间内不再增长,则停止测试;
3-4)所述测试报告模块收集每个所述节点的模糊测试信息,生成测试报告。
8.如权利要求7所述的针对区块链网络进行模糊测试的方法,其特征在于,在所述步骤3-2)中,选择的多个所述节点部署到不同的网络区域,其中,所述网络区域是指阿里云的不同服务器所在区域。
9.如权利要求7所述的针对区块链网络进行模糊测试的方法,其特征在于,所述节点管理模块间隔设定时间随机选择一个所述节点进行停止或开启操作。
10.如权利要求7所述的针对区块链网络进行模糊测试的方法,其特征在于,所述测试报告包括每个所述节点的IP信息、崩溃信息、引起崩溃的测试用例、测试覆盖率统计数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京银联金卡科技有限公司,未经北京银联金卡科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310906031.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于地基基础施工的勘测装置
- 下一篇:一种电网配用电大数据的数据挖掘方法