[发明专利]一种基于符号执行验证的智能合约漏洞检测方法及装置在审
| 申请号: | 202111243944.8 | 申请日: | 2021-10-26 |
| 公开(公告)号: | CN113688403A | 公开(公告)日: | 2021-11-23 |
| 发明(设计)人: | 汪德嘉;王泽旭;宋超 | 申请(专利权)人: | 江苏通付盾科技有限公司 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57 |
| 代理公司: | 北京弘权知识产权代理有限公司 11363 | 代理人: | 逯长明;许伟群 |
| 地址: | 215000 江苏省苏州市中国(江苏)自由贸易试*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 符号 执行 验证 智能 合约 漏洞 检测 方法 装置 | ||
1.一种基于符号执行验证的智能合约漏洞检测方法,其特征在于,所述方法包括:
获取输入初始值,所述输入初始值包括符号值以及与所述符号值对应的、用于简化约束条件的实际值;
根据所述初始值或者经过路径反求后的结果选择将要执行的路径并执行;
当当前路径执行到叶子节点时停止,根据执行结果生成所述当前路径的约束条件;
将约束条件反求得到路径反求后的结果,所述结果对应下一个要执行的新路径;
当满足第一预设规则后,停止路径执行并生成包括所有执行路径的执行树;
基于所述执行树完成智能合约属性验证,得到验证结果。
2.根据权利要求1所述的一种基于符号执行验证的智能合约漏洞检测方法,其特征在于,所述第一预设规则包括:
记录输入初始值的时间,当路径执行的总时长达到第一预设时长,停止路径执行。
3.根据权利要求1所述的一种基于符号执行验证的智能合约漏洞检测方法,其特征在于,所述第一预设规则包括:
当满足属性验证的路径被执行或达到结束探索条件时,停止路径执行。
4.根据权利要求1所述的一种基于符号执行验证的智能合约漏洞检测方法,其特征在于,所述将约束条件反求得到路径反求后的结果的步骤包括:
查找当前路径中的路径分支节点;
将叶子节点的上一级路径分支节点求反,生成新的路径。
5.根据权利要求4所述的一种基于符号执行验证的智能合约漏洞检测方法,其特征在于,执行新的路径前,所述方法还包括:
判断新的路径是否已被执行;
若是,则将当前路径分支节点的上一级路径分支节点求反,将生成的新的路径作为将要执行的新的路径。
6.一种基于符号执行验证的智能合约漏洞检测装置,其特征在于,包括:
获取单元,被配置为获取输入初始值,所述输入初始值包括符号值以及与所述符号值对应的、用于简化约束条件的实际值;
路径选择单元,被配置为根据所述初始值或者经过路径反求后的结果选择将要执行的路径并执行;
约束求解单元,被配置为当当前路径执行到叶子节点时停止时,根据执行结果生成所述当前路径的约束条件;以及将约束条件反求得到路径反求后的结果,所述结果对应下一个要执行的新路径;
分析单元,被配置为当满足第一预设规则后,停止路径执行并生成包括所有执行路径的执行树;
验证单元,被配置为基于所述执行树完成智能合约属性验证,得到验证结果。
7.根据权利要求6所述的一种基于符号执行验证的智能合约漏洞检测装置,其特征在于,所述检测装置还包括:
计时单元,被配置为记录输入初始值的时间,当路径执行的总时长达到第一预设时长,停止路径执行。
8.根据权利要求6所述的一种基于符号执行验证的智能合约漏洞检测装置,其特征在于,所述分析单元还被配置为:
当满足属性验证的路径被执行或达到结束探索条件时,停止路径执行。
9.根据权利要求6所述的一种基于符号执行验证的智能合约漏洞检测装置,其特征在于,所述约束求解单元包括:
查找子单元,被配置为查找当前路径中的路径分支节点;
求反子单元,被配置为将叶子节点的上一级路径分支节点求反,生成新的路径。
10.根据权利要求9所述的一种基于符号执行验证的智能合约漏洞检测装置,其特征在于,所述约束求解单元还包括:
判断子单元,被配置为判断新的路径是否已被执行;
若是,则将当前路径分支节点的上一级路径分支节点求反,将生成的新的路径作为将要执行的新的路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏通付盾科技有限公司,未经江苏通付盾科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111243944.8/1.html,转载请声明来源钻瓜专利网。





