[发明专利]一种基于动态执行信息分析的智能合约重入缺陷检测方法在审
申请号: | 202110815065.1 | 申请日: | 2021-07-19 |
公开(公告)号: | CN113448870A | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 李必信;潘振宇;胡甜媛 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 杜静静 |
地址: | 210096 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 执行 信息 分析 智能 合约 缺陷 检测 方法 | ||
本发明涉及一种基于动态执行信息分析的以太坊智能合约重入缺陷检测方法,所述方法包括以下步骤:步骤1)预处理待测合约;步骤2)构建攻击合约;步骤3)部署待测合约和攻击合约;步骤4)随机生成可执行交易;步骤5)收集动态执行信息;步骤6)分析动态执行信息,检测有害重入;步骤7)重复步骤4)—步骤6),若检测到有害重入,则合约存在重入缺陷,若执行时间executionTime大于测试时间限t,则合约安全。该技术方案提高了重入缺陷检测的自动化程度,该技术方案准确率高,误报率低,该方案代码覆盖率高。
技术领域
本发明涉及一种检测方法,具体涉及一种基于动态执行信息分析的智能合约重入缺陷检测方法,属于区块链系统的智能合约缺陷检测领域。
背景技术
区块链技术因为其去中心化、持久性、匿名性和可审计性等特性,受到了各界的关注,被应用于数字货币、投票等多种场景,解决了数字交易领域对可信第三方的过度依赖问题。以太坊是当今应用最多的区块链平台之一,它支持开发人员编写智能合约以实现各种目的。但由于以太坊虚拟机的特性和用以编写智能合约的Solidity语言的复杂性,智能合约中往往存在着缺陷。重入缺陷是其中最为复杂,危害也最为严重的缺陷之一,曾经的theDAO事件,造成了超过6000万美元的损失,并迫使以太坊进行了硬分叉。
目前,已有的重入缺陷检测方法主要有:模式匹配、符号执行、污点分析、形式化验证等。模式匹配的方法,使用抽象语法树提取合约源码信息,将合约源码的语法、语义信息以xml、owl等中间形式存储起来,利用对应的查询语句构建缺陷模式,搜索源码中是否存在重入缺陷,然而重入缺陷的代码表示形式十分复杂,人为构建的缺陷模式难以覆盖所有可能,误报率较高。符号执行方法使用符号代替变量来模拟执行合约,探索合约可能执行的所有路径以发现重入缺陷,该方法的面临着路径爆炸和路径可达性分析两大难题,现有的工具大多没有考虑路径可达性,故而误报率较高。污点分析利用给关键数据打污点的方式,判断该数据是否被重复修改,以此判断是否存在重入缺陷,但现有的工具大多通过复现公链已有的交易或是人工在测试链上发交易来进行污点分析,难以自动化的对未上链的合约进行重入缺陷检测。形式化验证方法,利用数学模型验证合约的特性属性,其难度大,且建模过程难以自动化,需要大量人力的投入。因此,亟需一种自动化的、误报率低的智能合约重入缺陷检测方法。
发明内容
本发明正是针对现有技术中存在的问题,提供一种基于动态执行信息分析的以太坊智能合约重入缺陷检测方法,该技术方案使用动态执行信息分析,检测以太坊平台下以Solidity语言编写的合约的重入缺陷,自动生成可执行交易,记录动态执行信息,构建合约调用链以发现重入,在发现重入后进一步分析动态执行信息,判断重入是否有害,以此检测合约重入缺陷。
为了实现上述目的,本发明的技术方案如下,一种基于动态执行信息分析的以太坊智能合约重入缺陷检测方法,所述方法包括以下步骤:
步骤1)预处理待测合约;
编译待测合约,获取其字节码Bytecode和二进制接口信息ABI。分析二进制接口信息,获取待测合约每个函数的函数原型FunctionPrototypei,依据函数原型构建候选函数FunctionCandidatei={Function_namei,Function_selectori,Function_parametersi},其中Function_namei为函数名,Function_selectori为函数选择器,Function_parametersi为函数所需的参数类型集合。函数选择器的计算公式为:
Function_selector=bytes4(keccak256(functionPrototype))
添加候选函数到函数候选池FunctionCandidatePool中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110815065.1/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置