CN112767155B - 智能合约安全交易序列生成方法、装置、介质和设备 - Google Patents
智能合约安全交易序列生成方法、装置、介质和设备 Download PDFInfo
- Publication number
- CN112767155B CN112767155B CN202110066361.6A CN202110066361A CN112767155B CN 112767155 B CN112767155 B CN 112767155B CN 202110066361 A CN202110066361 A CN 202110066361A CN 112767155 B CN112767155 B CN 112767155B
- Authority
- CN
- China
- Prior art keywords
- transaction sequence
- instructions
- sequence
- intelligent contract
- transaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000003993 interaction Effects 0.000 claims abstract description 41
- 230000001960 triggered effect Effects 0.000 claims abstract description 12
- 238000010276 construction Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012038 vulnerability analysis Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种智能合约安全交易序列生成方法、装置、介质和设备,包:首先将智能合约二进制形式转换成为指令集序列,基于智能合约的指令集序列构建程序控制流程图CFG,从中定位出其中的数据交互指令;根据数据交互指令进行执行路径构造;收集构造的各条执行路径中的跳转约束指令;由约束求解器求解智能合约交易序列的输入;根据各交易序列的输入,确定程序控制流程图CFG中所触发的路径,得到交易序列;针对各交易序列,通过冲突可串行化理论判定安全性,若交易序列满足冲突可串行化,则判定为安全交易序列,否则判定为不安全的交易序列。本发明不需要收集特定漏洞的特征即可生成交易序列,针对所有的智能合约,都可生成安全的交易序列。
Description
技术领域
本发明属于软件工程与信息安全领域,特别涉及一种智能合约安全交易序列生成方法、装置、介质和设备。
背景技术
智能合约(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方法中,为了找到所有程序控制流图中块与块之间的关系,生成了大量的可执行路径,但是这些可执行的路径并不保证它是安全的,有可能生成的路径是带有漏洞的交易序列。
发明内容
本发明的第一目的在于克服现有技术的缺点与不足,提供一种智能合约安全交易序列生成方法,该方法不需要收集特定漏洞的特征即可生成交易序列,并且针对所有的智能合约,都可以生成安全的交易序列。
本发明的第二目的在于提供一种智能合约安全交易序列生成装置。
本发明的第三目的在于提供一种存储介质。
本发明的第四目的在于提供一种计算设备。
本发明的第一目的通过下述技术方案实现:一种智能合约安全交易序列生成方法,包括以下步骤:
S1、首先将智能合约二进制形式转换成为指令集序列,然后基于智能合约的指令集序列构建程序控制流程图CFG,
S2、对程序控制流程图CFG进行全局扫描,定位出其中的数据交互指令;
S3、根据数据交互指令进行执行路径构造;
S4、收集构造的各条执行路径中的约束指令;
S5、由约束求解器根据收集的约束指令,求解智能合约交易序列的输入;
S6、根据各交易序列的输入,确定程序控制流程图CFG中所触发的路径,得到交易序列;
S7、针对步骤S6得到的各交易序列,通过冲突可串行化理论判定安全性,若交易序列满足冲突可串行化,则判定为安全交易序列,否则判定为不安全的交易序列。
优选的,所述数据交互指令包括CREATE指令、CALL指令、CALLCODE指令、DELEGATECALL指令、STATICCALL指令和SELFDESTRUCT指令。
优选的,约束求解器为Z3约束求解器。
优选的,步骤S1中,基于智能合约的指令集序列,根据跳转方式构建程序控制流程图CFG。
优选的,跳转方式中跳转指令包括JUMP指令和JUMPI指令。
本发明的第二目的通过下述技术方案实现:一种智能合约安全交易序列生成装置,包括智能合约二进制分析器、约束求解器和安全序列生成器;所述智能合约二进制分析器包括程序控制流程图构建模块、数据交互指令定位模块、执行路径构造模块和路径约束收集模块;安全序列生成器包括交易序列产生模块和交易序列判定模块;其中:
程序控制流程图构建模块,用于将智能合约二进制形式转换成为指令集序列,并且基于智能合约的指令集序列构建程序控制流程图CFG;
数据交互指令定位模块,用于对程序控制流程图CFG进行全局扫描,定位出其中的数据交互指令;
执行路径构造模块,用于根据数据交互指令进行执行路径的构造;
路径约束收集模块,用于收集构造的各条执行路径中的约束指令;
约束求解器,用于根据收集的约束指令,求解智能合约交易序列的输入;
交易序列产生模块,用于根据各交易序列的输入,确定程序控制流程图CFG中所触发的路径,得到交易序列;
交易序列判定模块,用于针对交易序列产生模块得到的各交易序列,通过冲突可串行化理论判定安全性,若交易序列满足冲突可串行化,则判定为安全交易序列,否则判定为不安全的交易序列。
优选的,所述数据交互指令包括CREATE指令、CALL指令、CALLCODE指令、DELEGATECALL指令、STATICCALL指令和SELFDESTRUCT指令。
优选的,所述约束求解器为Z3约束求解器。
本发明的第三目的通过下述技术方案实现:一种存储介质,存储有程序,所述程序被处理器执行时,实现本发明第一目的所述的智能合约安全交易序列生成方法。
本发明的第四目的通过下述技术方案实现:一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现本发明第一目的所述的智能合约安全交易序列生成方法。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明智能合约安全交易序列生成方法中,在基于智能合约的指令集序列构建程序控制流程图CFG后,定位出其中的数据交互指令,根据数据交互指令构造执行路径。由上述可见,本发明基于智能合约本身的程序控制流程图CFG中数据交互指令构造执行路径,能够有效避免现有技术中使用数据交互指令导致不安全交易序列产生的问题。
(2)本发明智能合约安全交易序列生成方法中,收集构造的各条执行路径中的跳转约束指令,接着由约束求解器根据收集的约束指令,求解智能合约交易序列的输入。由上述可见,本发明方法中所要收集的约束就是触发数据交互的所有路径,不需要收集特定漏洞的特征即可生成交易序列,相比现有技中符号分析是针对漏洞而产生的输入,能够避免因为存在未知漏洞,无法生成相对应交易序列的现象。
(3)本发明智能合约安全交易序列生成方法中,在通过约束求解器求解得到交易序列的输入后,根据各交易序列的输入,确定程序控制流程图CFG中所触发的路径,得到交易序列;最后通过冲突可串行化理论判定交易序列的安全性,得到安全的交易序列。本发明引入的冲突可串行化理论对于缺少事务的以太坊区块链系统来说是判断交易序列是否安全的一个很好的依据,因此针对所有的智能合约,都可以生成一组安全的交易序列。
附图说明
图1是本发明智能合约安全交易序列生成方法的流程图。
图2是本发明实施例1中智能合约指令集序列图。
图3是本发明实施例1中智能合约程序控制流程图CFG的示意图。
图4是本发明智能合约安全交易序列生成正在结构框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
本实施例公开了一种智能合约安全交易序列生成方法,如图1所示,包括以下步骤:
S1、首先将智能合约二进制形式转换成为指令集序列,然后基于智能合约的指令集序列,根据跳转方式构建程序控制流程图CFG。
本实施例中跳转方式主要由JUMP指令和JUMPI指令决定。其中JUMP:取出栈顶的元素,然后跳转到元素所指定的位置。JUMPI:取出栈顶的前两个元素,分别为s[0]、s[1],根据不同情况发生不同的跳转。当s[1]不为0时,根据s[0]的元素进行跳转;s[1]为0时,则不需要s[0]元素进行跳转,使用pc+1的形式跳转,pc为各条指令的编号。
部署在以太坊上的智能合约都是以二进制形式存在的,本实施例首先将二进制形式的智能合约转换成如图2所示的指令集序列,然后再基于智能合约的指令集序列构建出程序控制流程图CFG,其中,如图2中所示的指令集序列构建得到的程序控制流程图CFG如图3中所示。
S2、对程序控制流程图CFG进行全局扫描,定位出其中的数据交互指令。在本实施例中,从程序控制流程图CFG中定位出的数据交互指令包括CREATE指令、CALL指令、CALLCODE指令、DELEGATECALL指令、STATICCALL指令和SELFDESTRUCT指令。即程序控制流程图CFG中存在的上述数据交互指令被定位出来。
S3、根据数据交互指令进行执行路径构造。
本实施例中,针对于如图3中的程序控制流程图CFG,存在一条关键的数据交互指令CALL,根据该交互指令CALL,可以构造得到两条执行路径,分别是#0→#1→#3和#0→#2→#3。
S4、收集构造的各条执行路径中的约束指令。
在本实施例中,针对于如图3中的程序控制流程图CFG,从#0→#1→#3的路径中收集到约束指令PUSH1 17,从#0→#2→#3的路径中收集到约束指令PUSH10d、PUSH1 17。
S5、由约束求解器根据收集的约束指令,求解智能合约交易序列的输入。
在本实施例中,约束求解器为Z3约束求解器,Z3约束求解器基于步骤S4中收集到的约束,既可以求解。针对于如图3中所示的程序控制流程图CFG所收集的约束指令,本实施例基于Z3约束求解器,可以求解出交易序列的输入为0和1,即(1)input=0,(2)input=1。
S6、根据各交易序列的输入,确定程序控制流程图CFG中所触发的路径,得到交易序列。
在本实施例中,基于Z3约束求解器,针对于如图3中所示的程序控制流程图CFG,当交易序列的输入为0的时候,可以触发路径#0→#1→#3;当交易序列输入为1的时候,可以触发路径#0→#2→#3;即得到#0→#1→#3、#0→#2→#3的路径作为交易序列。
S7、针对步骤S6得到的各交易序列,通过冲突可串行化理论判定安全性,若交易序列满足冲突可串行化,则判定为安全交易序列,否则判定为不安全的交易序列。
本实施例方法中,基于智能合约本身的程序控制流程图CFG中数据交互指令构造执行路径,能够有效避免现有技术中使用数据交互指令导致不安全交易序列产生的问题。本实施例方法中,收集构造的各条执行路径中的约束指令,接着由约束求解器根据收集的约束指令,求解智能合约交易序列的输入;其中所要收集的约束就是触发数据交互的所有路径,不需要收集特定漏洞的特征即可生成交易序列,相比现有技中符号分析是针对漏洞而产生的输入,能够避免因为存在未知漏洞,无法生成相对应交易序列的现象。本实施例方法中引入的冲突可串行化理论对于缺少事务的以太坊区块链系统来说是判断交易序列是否安全的一个很好的依据,因此针对所有的智能合约,都可以生成一组安全的交易序列。
本领域技术人员可以理解,实现本实施例方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,相应的程序可以存储于计算机可读存储介质中。应当注意,尽管在附图中以特定顺序描述了本实施例1的方法操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序,有些步骤也可以同时执行,例如步骤S5中在收集新的约束指令时,可能会构造到新的路径,而在新的路径构造之后可能又会收集到新的约束。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
实施例2
本实施例公开了一种智能合约安全交易序列生成装置,如图4所示,包括智能合约二进制分析器、约束求解器和安全序列生成器;智能合约二进制分析器包括程序控制流程图构建模块、数据交互指令定位模块、执行路径构造模块和路径约束收集模块;安全序列生成器包括交易序列产生模块和交易序列判定模块;各个模块的功能具体如下:
程序控制流程图构建模块,用于将智能合约二进制形式转换成为指令集序列,并且基于智能合约的指令集序列构建程序控制流程图CFG;
数据交互指令定位模块,用于对程序控制流程图CFG进行全局扫描,定位出其中的数据交互指令。在本实施例中,从程序控制流程图CFG中定位出的数据交互指令包括CREATE指令、CALL指令、CALLCODE指令、DELEGATECALL指令、STATICCALL指令和SELFDESTRUCT指令。
执行路径构造模块,用于根据数据交互指令进行执行路径的构造;
路径约束收集模块,用于收集构造的各条执行路径中的约束指令;
约束求解器,用于根据收集的约束指令,求解智能合约交易序列的输入;在本实施例中,约束求解器为Z3约束求解器。
交易序列产生模块,用于根据各交易序列的输入,确定程序控制流程图CFG中所触发的路径,得到交易序列;
交易序列判定模块,用于针对交易序列产生模块得到的各交易序列,通过冲突可串行化理论判定安全性,若交易序列满足冲突可串行化,则判定为安全交易序列,否则判定为不安全的交易序列。
本实施例上述各个模块的具体实现可以参见上述实施例1,在此不再一一赘述。需要说明的是,本实施例提供的装置仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
实施例3
本实施例公开了一种存储介质,存储有程序,所述程序被处理器执行时,实现实施例1所述的智能合约安全交易序列生成方法,如下:
首先将智能合约二进制形式转换成为指令集序列,然后基于智能合约的指令集序列构建程序控制流程图CFG,
对程序控制流程图CFG进行全局扫描,定位出其中的数据交互指令;
根据数据交互指令进行执行路径构造;
收集构造的各条执行路径中的约束指令;
由约束求解器根据收集的约束指令,求解智能合约交易序列的输入;
根据各交易序列的输入,确定程序控制流程图CFG中所触发的路径,得到交易序列;
针对上述得到各交易序列,通过冲突可串行化理论判定安全性,若交易序列满足冲突可串行化,则判定为安全交易序列,否则判定为不安全的交易序列。
在本实施例中,存储介质可以是磁盘、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、U盘、移动硬盘等介质。
实施例4
本实施例公开了一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现实施例1所述的智能合约安全交易序列生成方法,如下:
首先将智能合约二进制形式转换成为指令集序列,然后基于智能合约的指令集序列构建程序控制流程图CFG,
对程序控制流程图CFG进行全局扫描,定位出其中的数据交互指令;
根据数据交互指令进行执行路径构造;
收集构造的各条执行路径中的约束指令;
由约束求解器根据收集的约束指令,求解智能合约交易序列的输入;
根据各交易序列的输入,确定程序控制流程图CFG中所触发的路径,得到交易序列;
针对上述得到各交易序列,通过冲突可串行化理论判定安全性,若交易序列满足冲突可串行化,则判定为安全交易序列,否则判定为不安全的交易序列
本实施例中,计算设备可以是台式电脑、笔记本电脑、智能手机、PDA手持终端、平板电脑等终端设备。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.一种智能合约安全交易序列生成方法,其特征在于,包括以下步骤:
S1、首先将智能合约二进制形式转换成为指令集序列,然后基于智能合约的指令集序列构建程序控制流程图CFG,
S2、对程序控制流程图CFG进行全局扫描,定位出其中的数据交互指令;
S3、根据数据交互指令进行执行路径构造;
S4、收集构造的各条执行路径中的约束指令;
S5、由约束求解器根据收集的约束指令,求解智能合约交易序列的输入;
S6、根据各交易序列的输入,确定程序控制流程图CFG中所触发的路径,得到交易序列;
S7、针对步骤S6得到的各交易序列,通过冲突可串行化理论判定安全性,若交易序列满足冲突可串行化,则判定为安全交易序列,否则判定为不安全的交易序列。
2.根据权利要求1所述的智能合约安全交易序列生成方法,其特征在于,所述数据交互指令包括CREATE指令、CALL指令、CALLCODE指令、DELEGATECALL指令、STATICCALL指令和SELFDESTRUCT指令。
3.根据权利要求1所述的智能合约安全交易序列生成方法,其特征在于,约束求解器为Z3约束求解器。
4.根据权利要求1所述的智能合约安全交易序列生成方法,其特征在于,步骤S1中,基于智能合约的指令集序列,根据跳转方式构建程序控制流程图CFG。
5.根据权利要求4所述的智能合约安全交易序列生成方法,其特征在于,跳转方式中跳转指令包括JUMP指令和JUMPI指令。
6.一种智能合约安全交易序列生成装置,其特征在于,包括智能合约二进制分析器、约束求解器和安全序列生成器;所述智能合约二进制分析器包括程序控制流程图构建模块、数据交互指令定位模块、执行路径构造模块和路径约束收集模块;安全序列生成器包括交易序列产生模块和交易序列判定模块;其中:
程序控制流程图构建模块,用于将智能合约二进制形式转换成为指令集序列,并且基于智能合约的指令集序列构建程序控制流程图CFG;
数据交互指令定位模块,用于对程序控制流程图CFG进行全局扫描,定位出其中的数据交互指令;
执行路径构造模块,用于根据数据交互指令进行执行路径的构造;
路径约束收集模块,用于收集构造的各条执行路径中的约束指令;
约束求解器,用于根据收集的约束指令,求解智能合约交易序列的输入;
交易序列产生模块,用于根据各交易序列的输入,确定程序控制流程图CFG中所触发的路径,得到交易序列;
交易序列判定模块,用于针对交易序列产生模块得到的各交易序列,通过冲突可串行化理论判定安全性,若交易序列满足冲突可串行化,则判定为安全交易序列,否则判定为不安全的交易序列。
7.根据权利要求6所述的智能合约安全交易序列生成装置,其特征在于,所述数据交互指令包括CREATE指令、CALL指令、CALLCODE指令、DELEGATECALL指令、STATICCALL指令和SELFDESTRUCT指令。
8.根据权利要求6所述的智能合约安全交易序列生成装置,其特征在于,所述约束求解器为Z3约束求解器。
9.一种存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1~5中任一项所述的智能合约安全交易序列生成方法。
10.一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现权利要求1~5中任一项所述的智能合约安全交易序列生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110066361.6A CN112767155B (zh) | 2021-01-19 | 2021-01-19 | 智能合约安全交易序列生成方法、装置、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110066361.6A CN112767155B (zh) | 2021-01-19 | 2021-01-19 | 智能合约安全交易序列生成方法、装置、介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112767155A CN112767155A (zh) | 2021-05-07 |
CN112767155B true CN112767155B (zh) | 2024-02-13 |
Family
ID=75702903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110066361.6A Active CN112767155B (zh) | 2021-01-19 | 2021-01-19 | 智能合约安全交易序列生成方法、装置、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112767155B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113867903B (zh) * | 2021-12-06 | 2022-04-01 | 深圳前海微众银行股份有限公司 | 一种区块链中智能合约的并行冲突域确定方法及装置 |
CN115859366B (zh) * | 2023-02-06 | 2023-05-09 | 青岛新比特电子科技有限公司 | 基于城市大脑的多源云计算集群数据的智能规划方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399730A (zh) * | 2019-07-24 | 2019-11-01 | 上海交通大学 | 智能合约漏洞的检查方法、系统及介质 |
CN111062038A (zh) * | 2019-11-23 | 2020-04-24 | 同济大学 | 一种基于状态空间的智能合约形式化验证系统及方法 |
CN111259395A (zh) * | 2020-01-16 | 2020-06-09 | 图灵人工智能研究院(南京)有限公司 | 智能合约的利用程序获取方法、装置及存储介质 |
CN111414413A (zh) * | 2019-01-07 | 2020-07-14 | 国际商业机器公司 | 区块链背书验证 |
CN111797010A (zh) * | 2020-06-23 | 2020-10-20 | 河海大学 | 一种应用改进遗传算法的智能合约测试用例生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11144893B2 (en) * | 2017-10-30 | 2021-10-12 | Nec Corporation | Method and system for securing smart contracts in blockchains |
-
2021
- 2021-01-19 CN CN202110066361.6A patent/CN112767155B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414413A (zh) * | 2019-01-07 | 2020-07-14 | 国际商业机器公司 | 区块链背书验证 |
CN110399730A (zh) * | 2019-07-24 | 2019-11-01 | 上海交通大学 | 智能合约漏洞的检查方法、系统及介质 |
CN111062038A (zh) * | 2019-11-23 | 2020-04-24 | 同济大学 | 一种基于状态空间的智能合约形式化验证系统及方法 |
CN111259395A (zh) * | 2020-01-16 | 2020-06-09 | 图灵人工智能研究院(南京)有限公司 | 智能合约的利用程序获取方法、装置及存储介质 |
CN111797010A (zh) * | 2020-06-23 | 2020-10-20 | 河海大学 | 一种应用改进遗传算法的智能合约测试用例生成方法 |
Non-Patent Citations (1)
Title |
---|
智能合约安全漏洞研究综述;倪远东等;信息安全学报;第5卷(第3期);第78-99页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112767155A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Codetta-Raiteri | The conversion of dynamic fault trees to stochastic Petri nets, as a case of graph transformation | |
CN110175454A (zh) | 一种基于人工智能的智能合约安全漏洞挖掘方法及系统 | |
Grishchenko et al. | Ethertrust: Sound static analysis of ethereum bytecode | |
CN112767155B (zh) | 智能合约安全交易序列生成方法、装置、介质和设备 | |
CN109271789B (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
EP3918494B1 (en) | Systems, methods, and storage media for obfuscating a computer program by representing the control flow of the computer program as data | |
Calinescu et al. | Efficient parametric model checking using domain knowledge | |
Liao et al. | Smartdagger: a bytecode-based static analysis approach for detecting cross-contract vulnerability | |
CN116361810A (zh) | 一种基于符号执行的智能合约漏洞检测方法 | |
US20240143739A1 (en) | Intelligent obfuscation of mobile applications | |
Menguy et al. | Search-based local black-box deobfuscation: understand, improve and mitigate | |
Sürücü et al. | A survey on ethereum smart contract vulnerability detection using machine learning | |
CN110162474B (zh) | 一种基于抽象语法树的智能合约重入漏洞检测方法 | |
Argañaraz et al. | Detection of vulnerabilities in smart contracts specifications in ethereum platforms | |
CN111709026B (zh) | 静态安全检测方法、装置、计算机设备和存储介质 | |
CN116401171A (zh) | 一种测试例库生成方法、系统、设备及介质 | |
CN102937934A (zh) | 通过动态的语言引擎捕捉遥测数据 | |
Zhao et al. | Gan-enabled code embedding for reentrant vulnerabilities detection | |
US20230367884A1 (en) | Cyber attack scenario generation method and device | |
CN115828264A (zh) | 智能合约漏洞检测方法、系统及电子设备 | |
Zhong et al. | Scalable compositional static taint analysis for sensitive data tracing on industrial micro-services | |
CN114637664A (zh) | 一种针对安卓应用程序性质的检测方法及装置 | |
Gangadharan et al. | Advancing Bug Detection in Solidity Smart Contracts with the Proficiency of Deep Learning | |
CN111475152A (zh) | 一种代码处理方法及装置 | |
Yao et al. | An improved vulnerability detection system of smart contracts based on symbolic execution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |