[发明专利]智能合约安全交易序列生成方法、装置、介质和设备在审
申请号: | 202110066361.6 | 申请日: | 2021-01-19 |
公开(公告)号: | CN112767155A | 公开(公告)日: | 2021-05-07 |
发明(设计)人: | 谢智健;邹邦祺;聂瑞华;赵淦森 | 申请(专利权)人: | 华南师范大学 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 郑浦娟 |
地址: | 510631 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 安全 交易 序列 生成 方法 装置 介质 设备 | ||
本发明公开了一种智能合约安全交易序列生成方法、装置、介质和设备,包:首先将智能合约二进制形式转换成为指令集序列,基于智能合约的指令集序列构建程序控制流程图GFC,从中定位出其中的数据交互指令;根据数据交互指令进行执行路径构造;收集构造的各条执行路径中的跳转约束指令;由约束求解器求解智能合约交易序列的输入;根据各交易序列的输入,确定程序控制流程图GFC中所触发的路径,得到交易序列;针对各交易序列,通过冲突可串行化理论判定安全性,若交易序列满足冲突可串行化,则判定为安全交易序列,否则判定为不安全的交易序列。本发明不需要收集特定漏洞的特征即可生成交易序列,针对所有的智能合约,都可生成安全的交易序列。
技术领域
本发明属于软件工程与信息安全领域,特别涉及一种智能合约安全交易序列生成方法、装置、介质和设备。
背景技术
自从比特币的出现,区块链技术越来越备受瞩目。区块链在本质上一个去中心化的账本,通过共识算法确保区块链网络的参与者能够维持账本的一致性。以太坊(Ethereum)是在比特币之后推出的第二代区块链技术,其与比特币最明显的区别就是加入了智能合约的概念,使其不仅仅是简单的去中心化加密货币,而是一个完整的开发平台,开发者可以在其提供的图灵完备的脚本语言(EVM,Ethereum Virtual Machinecode)建立符合业务逻辑的应用程序。智能合约(Smart Contract)是运行在区块链上的代码,一旦部署上区块链上就无法篡改,其执行过程完全自动化并不需要人为介入,并且执行结果写入到区块链中的特征导致执行是不可逆的。智能合约可以在完全避免第三方的介入下,完成透明、无冲突的财产交换。为了避免用户通过使用智能合约浪费以太坊的计算和网络资源,要求用户在部署和运行智能合约需要付出一定的代价,也就是手续费,手续费的大小用用户所需要的计算资源所决定。
目前,智能合约的交易序列一般通过以下几种方式生成:
TEETHER是一种针对以太坊智能合约特定漏洞生成输入用例的方法,具体过程如下:(1)首先对智能合约二进制代码进行分析,复现程序控制流图(cfg,control flowdiagram);(2)在程序控制流图种找到关键指令;(3)构建一条能到达关键指令的执行路径;(4)在构建路径的过程中收集约束;(5)在收集到的约束的基础上生成触发漏洞的交易序列。
WANA是针对WASM智能合约特定漏洞生成输入用例的方法,具体过程如下:(1)读取wasm的二进制代码,然后初始化wasm的执行环境;(2)开启符号执行流程,收集符号执行所需要的约束;(3)执行漏洞分析,同时继续收集符号执行所需要的约束;(4)最后生成包含触发漏洞的交易序列。
VANDAL是一种针对以太坊智能合约生成可执行路径的方法,VANDAL主要利用符号执行技术生成程序控制流图,程序控制流图中,基本块之间存在一定的关系,而VANDAL则用符号执行生成一条可执行路径,去连通相互有关系的基本块。
上述方法中,TEETHER方法和WANA方法主要存在以下几个问题:(1)它们都是通过收集特定漏洞的特征才可以生成对应的交易序列,如果存在未知漏洞,则无法生成相对应的交易序列;(2)它们所产生的交易序列都是带有攻击性的交易序列,即产生不安全交易序列,对于安全的交易序列无法产生。VANDAL方法则存在以下问题:在VANDAL方法中,为了找到所有程序控制流图中块与块之间的关系,生成了大量的可执行路径,但是这些可执行的路径并不保证它是安全的,有可能生成的路径是带有漏洞的交易序列。
发明内容
本发明的第一目的在于克服现有技术的缺点与不足,提供一种智能合约安全交易序列生成方法,该方法不需要收集特定漏洞的特征即可生成交易序列,并且针对所有的智能合约,都可以生成安全的交易序列。
本发明的第二目的在于提供一种智能合约安全交易序列生成装置。
本发明的第三目的在于提供一种存储介质。
本发明的第四目的在于提供一种计算设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南师范大学,未经华南师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110066361.6/2.html,转载请声明来源钻瓜专利网。