[发明专利]一种基于Fuzz的智能合约漏洞检测方法、装置和存储介质在审
申请号: | 201910723918.1 | 申请日: | 2019-08-06 |
公开(公告)号: | CN110489973A | 公开(公告)日: | 2019-11-22 |
发明(设计)人: | 崔翔;刘井强;谭庆丰;孙彦斌;苏申 | 申请(专利权)人: | 广州大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F11/36;G06Q40/04 |
代理公司: | 44202 广州三环专利商标代理有限公司 | 代理人: | 颜希文;麦小婵<国际申请>=<国际公布> |
地址: | 510006 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于Fuzz的智能合约漏洞检测方法、装置和存储介质。所述方法包括:根据智能合约代码构建抽象语法树,并通过抽象语法树提取函数变量及其变量类型;根据函数变量及其变量类型,生成Fuzz测试数据集;其中,Fuzz测试数据集为一包含所有变量类型的数据集;将Fuzz测试数据集中的适配Fuzz测试数据逐一作为智能合约代码的输入变量,驱动智能合约代码运行,并对智能合约代码的输出变量进行监测,若输出变量出现异常则判定存在漏洞;其中,适配Fuzz测试数据为Fuzz测试数据集中与输入变量的变量类型相同的所有Fuzz测试数据。本发明不仅能够针对智能合约代码提供有效的检测数据,还能通过监测输出变量检测智能合约的未知漏洞,进一步提高漏洞检测的效率。 | ||
搜索关键词: | 测试数据 智能 变量类型 测试数据集 抽象语法树 函数变量 漏洞检测 输出变量 输入变量 适配 变量检测 存储介质 代码提供 代码运行 监测输出 检测数据 漏洞 数据集 构建 判定 驱动 监测 | ||
【主权项】:
1.一种基于Fuzz的智能合约漏洞检测方法,其特征在于,包括:/n根据智能合约代码构建抽象语法树,并通过所述抽象语法树提取函数变量及其变量类型;/n根据所述函数变量及其变量类型,生成Fuzz测试数据集;其中,所述Fuzz测试数据集为一包含所有所述变量类型的数据集;/n将所述Fuzz测试数据集中的适配Fuzz测试数据逐一作为所述智能合约代码的输入变量,驱动所述智能合约代码运行,并对所述智能合约代码的输出变量进行监测,若所述输出变量出现异常则判定存在漏洞;其中,所述适配Fuzz测试数据为所述Fuzz测试数据集中与所述输入变量的变量类型相同的所有所述Fuzz测试数据。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州大学,未经广州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910723918.1/,转载请声明来源钻瓜专利网。