[发明专利]智能合约的利用程序获取方法、装置及存储介质有效
申请号: | 202010055995.7 | 申请日: | 2020-01-16 |
公开(公告)号: | CN111259395B | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 王艺卓;郁昱 | 申请(专利权)人: | 图灵人工智能研究院(南京)有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57;G06Q40/04 |
代理公司: | 上海巅石知识产权代理事务所(普通合伙) 31309 | 代理人: | 高彦;高磊 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 利用 程序 获取 方法 装置 存储 介质 | ||
本申请公开一种智能合约的利用程序获取方法、装置及存储介质,所述利用程序获取方法包括:通过污点分析得到智能合约的污点数据所对应的一或多个合约函数的变量依赖关系;生成交易序列;其中,所述交易序列所包含的一或多个交易所使用的合约函数遵循所述变量依赖关系;将所述交易序列在合约执行环境中执行以获得执行路径;在根据所述执行路径分析获得异常事件时,判别该交易序列相关于利用程序;根据执行路径生成反馈信息,以用于对下一次待生成的交易序列的生成指导依据进行更新。本申请通过检测基于智能合约生成的交易序列是否相关于利用程序,进而检测出智能合约中是否存在可利用的安全漏洞,同时保证了检测方法的高覆盖率、高效率及低误报率。
技术领域
本申请涉及计算机技术领域,尤其涉及一种智能合约的利用程序获取方法、装置及存储介质。
背景技术
区块链的不可篡改特性使得智能合约的更新机制与传统程序的更新机制是不同的,一旦智能合约被发布并存储在区块链上,智能合约便无法再被随意更改。与其他业务不同的是,智能合约本身带有一些金融属性,其运行时涉及账户及其资金变化等。如果发布在区块链上的智能合约存在安全漏洞,存在安全漏洞的智能合约更易被攻击者利用,从而造成数据维护等技术问题甚至法律问题。
目前对智能合约的安全漏洞检测分为漏洞和利用程序(exploit)两个层面。漏洞是已经被黑客攻击造成巨大损失或被白帽子发现的可能引发损失的代码问题。例如整型溢出漏洞、重入漏洞、时间戳依赖性漏洞等。利用程序是一段通过触发一个或几个漏洞进而达成某种目的的代码。例如存在调用路径使得某账户能获得非法盈利或者某账户能越过特权执行合约析构等危险操作。
然而,目前安全漏洞检测方法的覆盖率低、效率低并且误报率较高。所以,如何提高安全漏洞检测方法的效率、覆盖率以及降低检测方法的误报率已成为业界亟待解决的技术问题。
发明内容
鉴于以上所述相关技术的缺点,本申请的目的在于提供一种智能合约的利用程序获取方法、装置及存储介质,用于解决现有技术中如何提高安全漏洞检测方法的效率、覆盖率以及降低检测方法的误报率的问题。
为实现上述目的及其他相关目的,本申请的第一方面提供一种智能合约的利用程序获取方法,包括:通过污点分析得到智能合约的污点数据所对应的一或多个合约函数的变量依赖关系;生成交易序列;其中,所述交易序列所包含的一或多个交易所使用的合约函数遵循所述变量依赖关系;将所述交易序列在合约执行环境中执行以获得执行路径;在根据所述执行路径分析获得异常事件时,判别该交易序列相关于利用程序;根据执行路径生成反馈信息,以用于对下一次待生成的交易序列的生成指导依据进行更新。
在本申请的第一方面的某些实施方式中,所述异常事件包括:出现异常动作和/或合约账户状态变化异常。
在本申请的第一方面的某些实施方式中,新增的敏感操作对应于覆盖率的变化。
在本申请的第一方面的某些实施方式中,所述生成指导依据包括:所述智能合约中的一或多个合约函数的被使用概率;所述反馈信息包括:对应引起覆盖率变化的交易序列所使用的各合约函数的概率奖励;所述概率奖励供作用至所述被使用概率。
在本申请的第一方面的某些实施方式中,所述交易所使用的合约函数的函数参数是随机生成的。
在本申请的第一方面的某些实施方式中,所述随机生成的方式包括:对于静态长度的函数参数:在该静态长度所对应的取值范围内随机选取函数参数;或者,对于动态长度的函数参数:令一数值作为构成该动态长度的函数参数的多个静态长度的静态参数的数量;在该每个静态长度所对应的取值范围内随机选取每个静态参数以满足该数量;根据各所述静态参数构成所述动态长度的函数参数。
在本申请的第一方面的某些实施方式中,所述生成指导依据包括动态种子集合,所述交易所使用的合约函数的函数参数选自动态种子集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于图灵人工智能研究院(南京)有限公司,未经图灵人工智能研究院(南京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010055995.7/2.html,转载请声明来源钻瓜专利网。