[发明专利]一种智能合约安全增强方法有效

专利信息
申请号: 202010211696.8 申请日: 2020-03-24
公开(公告)号: CN111563237B 公开(公告)日: 2023-08-08
发明(设计)人: 闫文添;高健博;吴振豪;张家硕;任立峰;王昭;李青山;陈钟 申请(专利权)人: 博雅正链(北京)科技有限公司;北京大学
主分类号: G06F21/14 分类号: G06F21/14
代理公司: 沈阳东大知识产权代理有限公司 21109 代理人: 李珉
地址: 100037 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 智能 合约 安全 增强 方法
【说明书】:

发明提供一种智能合约安全增强方法,涉及区块链智能合约安全技术领域。首先恢复智能合约字节码的控制流图,标记所有JUMP/JUMPI指令跳转的目的地址及其入栈指令、JUMP/JUMPI指令的位置以及跳转目的地址和跳转指令之间的前后位置关系;在智能合约原始字节码中寻找可插入替换字节码的位置并标记插入位置的地址;根据选择的不同地址混淆模式生成基础替换字节码;重构基础替换字节码和原始字节码中所有的跳转地址和跳转指令,恢复字节码的控制流图;在替换字节码中插入混淆后的跳转地址,将替换字节码插入到原始字节码中,生成新的智能合约字节码。该方法使常见的智能合约逆向分析工具的分析工作失效,增加合约的安全性。

技术领域

本发明涉及区块链智能合约安全技术领域,尤其涉及一种智能合约安全增强方法。

背景技术

随着区块链技术特有的去中心化、不可篡改性和公开性被广泛认可,越来越多的人们开始使用区块链技术作为支撑金融、监管和游戏等领域的底层框架,来实现互联网技术与金融价值的高度融合。为满足用户在更多场景下的需求,区块链支持部署并运行智能合约,为智能合约的执行提供图灵完备的环境,可以通过交易调用智能合约,完成用户所需的一系列操作。由于区块链的公开性和不可篡改性,区块链上部署的所有智能合约都是公开可见的,且交易的执行结果是确定的。这一特性导致智能合约无法实现生成随机数等功能,这对于游戏和金融等应用至关重要。例如CryptoKitties是一款在以太坊中备受欢迎的游戏,玩家可以繁殖并交易数字小猫,小猫的稀有基因组合会使其具有更高的价值。该游戏开发团队为了确保遗传和突变的随机性,使用闭源的智能合约为小猫的繁殖引入随机数。尽管如此,研究者宣称能够使用Erays对CryptoKitties的智能合约进行逆向分析,来大幅度提高繁殖高价值小猫的概率,毫无疑问这种方式破坏了游戏的随机性并降低了拥有稀有基因的小猫的价值。除了产生随机数外,部分智能合约开发人员出于安全原因将合约设置为闭源,以防止攻击者分析已部署的合约字节码,但仍然可以使用诸如Vandal、Gigahorse等智能合约反编译工具,分析合约代码的功能,对智能合约的开发者和使用者造成大量损失。

虽然开发人员对于智能合约字节码的抗逆向分析技术有着迫切的需求,但目前还没有有效的方法可用于保护智能合约。由于智能合约运行环境具有特殊的架构,因此现有的在其他平台上的抗逆向分析技术对智能合约来说是无效的或过于昂贵的。其主要困难有:

(1)智能合约虚拟机(后简称EVM)不是标准的冯诺依曼体系,合约在EVM中执行时,其代码存储在一个只读存储空间中,而不是像传统计算机组成中一样存储在可读写的内存或外部存储空间中。因此合约代码在执行过程中是无法修改的,这就意味着传统的代码加密方式无法应用在区块链中。

(2)智能合约的调用执行会消耗Gas。Gas是区块链中用于衡量交易消耗计算资源的基本单位。合约执行的步骤越多,执行指令越昂贵,消耗的Gas就越多,这会给部署和调用合约的用户带来额外的支出。传统的代码混淆技术会在代码中加入大量额外指令,会导致Gas消耗量显著增加,这对于合约开发者和用户来说是不可接受的。

常用的智能合约逆向分析工具(Erays,Vandal,Gigahorse)在分析智能合约时首先恢复字节码的控制流图(Control Flow Graph,简称CFG),然后基于CFG将智能合约的字节码恢复为人类可读的代码或安全分析工具可用的中间代码表示形式(IntermediateRepresentation,简称IR)。如果CFG恢复失败,逆向分析工具就无法产生正确的分析结果。

发明内容

本发明要解决的技术问题是针对上述现有技术的不足,提供一种智能合约安全增强方法,使逆向工具对智能合约的逆向分析失败,实现对智能合约字节码的保护。

为解决上述技术问题,本发明所采取的技术方案是:一种智能合约安全增强方法,包括以下步骤:

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于博雅正链(北京)科技有限公司;北京大学,未经博雅正链(北京)科技有限公司;北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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