[发明专利]智能合约漏洞的检查方法、系统及介质有效
申请号: | 201910672086.5 | 申请日: | 2019-07-24 |
公开(公告)号: | CN110399730B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 张晴钊;王艺卓;鲁梦华;陶思文;刘功申 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 庄文莉 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种智能合约漏洞的检查方法、系统和介质,包括:Solidity程序静态污点分析步骤:从语法上分析Solidity程序的源代码,针对Solidity程序的源代码中的每个函数,遍历所有可能的执行流程,形成控制流程图,再标记所有可能的污点数据,获得并存储污点分析结果;State矩阵生成步骤:生成交易序列,再进行交易序列的重组,生成重组后的交易序列,再根据获得的污点分析结果,获得State矩阵。本发明结合了深度学习和模糊测试,利用深度强化学习模型与污点分析优化了模糊测试技术,大大提升了模糊测试的覆盖率与效率。本发明实现了一个高覆盖率、高效率与低误判率兼具的智能合约漏洞检测技术。 | ||
搜索关键词: | 智能 合约 漏洞 检查 方法 系统 介质 | ||
【主权项】:
1.一种智能合约漏洞的检查方法,其特征在于,包括:Solidity程序静态污点分析步骤:从语法上分析Solidity程序的源代码,针对Solidity程序的源代码中的每个函数,遍历所有可能的执行流程,形成控制流程图,再标记所有可能的污点数据,获得并存储污点分析结果;State矩阵生成步骤:生成交易序列,再进行交易序列的重组,生成重组后的交易序列,再根据获得的污点分析结果,获得State矩阵;智能合约漏洞检测步骤:使用模糊测试技术,输入State矩阵,获得奖励Reward并输入到神经网络,神经网络根据当前记忆选择触发奖励的机会最大的动作Action,根据该动作Action对当前state矩阵进行更新,生成检测漏洞效率更高的模糊测试的输入交易序列样本,对智能合约进行检测以发现智能合约错误。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910672086.5/,转载请声明来源钻瓜专利网。