[发明专利]一种基于状态锁的智能合约的安全函数的设计方法及系统有效

专利信息
申请号: 201910077219.4 申请日: 2019-01-28
公开(公告)号: CN109801166B 公开(公告)日: 2023-04-18
发明(设计)人: 陈中育;赵相福;林飞龙;郑忠龙;骆宾逸 申请(专利权)人: 浙江师范大学
主分类号: G06Q40/04 分类号: G06Q40/04;G06Q20/06;G06F8/30;G06F9/52
代理公司: 北京金智普华知识产权代理有限公司 11401 代理人: 杨采良
地址: 321004 *** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 状态 智能 合约 安全 函数 设计 方法 系统
【说明书】:

发明属于区块链安全技术领域,公开了一种基于状态锁的智能合约的安全函数的设计方法及系统,当EVM执行到call函数时,以太坊其余执行路径将被封锁;当call整体执行完毕后,其余路径被打开;当以太坊其余执行路径被封锁时,withdraw被再次请求,EVM将直接拒绝;EVM回到初始状态,完成攻击防御。本发明利用状态锁控制call函数有效解决重入漏洞;在本发明中,攻击过后账户b余额中,攻击者仅仅取出了自己在DAO中存储的5个以太币,并没有成功夺取DAO中剩余的50个以太币,因此,可以看出本发明的库函数成功阻止了重入攻击。

技术领域

本发明属于区块链安全技术领域,尤其涉及一种基于状态锁的智能合约的安全函数的设计方法。

背景技术

目前,业内常用的现有技术是这样的:

重入漏洞:每一个以太坊智能合约都有且仅有一个没有名字的函数,该函数称为fallback函数,当合约接收到以太币时,这个函数会被执行,用于向以太坊表明收到了以太币,攻击者利用这一机制,在fallback函数中,写入攻击的代码,当被攻击合约向恶意合约传送以太币时,以太坊虚拟机EVM就会直接执行攻击者合约的fallback函数,来获取以太币。

具体来说攻击者调用withdraw函数取回合约中的以太币,在call将以太币发送给接收方,此时接收方的fallback被EVM调用,fallback里则再次调用Dao的withdraw,但是Dao的余额更新代码一直未被执行(该行代码用于减去调用方在该函数中的余额),也就是说这里就形成了一个循环,withdraw将一直被重复调用,直到Dao的以太币被盗取完为止。

综上所述,现有技术存在的问题是:

现有技术中,不能有效解决重入漏洞问题。

技术人员运用transfer等指令代替call从而避免fallback函数被重复调用,然而从EVM上来说,transfer函数需要消耗更多gas,且不如call函数灵活,所以call函数并不能被完全代替。

如果不考虑使用transfer,技术人员只能通过自身经验,在状态量改变后调用call函数,仍然很难预防重入攻击。

解决上述技术问题的难度和意义:

该技术问题难度:主要在于锁的创建必须在本地建立的library中用结构体存放锁。

本发明的意义:在于在开发过程中,call函数又能重新被运用,发挥本来的作用,不用担心遭遇重入攻击。

发明内容

针对现有技术存在的问题,本发明提供了一种基于状态锁的智能合约的安全函数的设计方法,

本发明是这样实现的,一种基于状态锁的智能合约的安全函数的设计方法包括:

步骤一:当EVM执行到call函数时,以太坊其余执行路径将被封锁;

步骤二:当call整体执行完毕后,其余路径被打开;

步骤三:当以太坊其余执行路径被封锁时,withdraw被再次请求,EVM将直接拒绝;EVM回到初始状态,完成攻击防御。

进一步,在EVM进入call函数之前,把锁n关闭,当攻击者再次调用withdraw进入_call()时,锁n还处于真状态,断言无法通过,直接退回到原状态,交易失败;当_call完整运行完毕,锁n被打开。

进一步,基于状态锁的智能合约的安全函数的设计方法进一步包括:

步骤一:编写安全库函数如图2所示;

步骤二:编译图2所示的安全函数库;

步骤三:其他智能合约函数通过调用安全函数库实现call功能。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江师范大学,未经浙江师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910077219.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top