CN115879868A - 一种专家系统与深度学习相融合的智能合约安全审计方法 - Google Patents

一种专家系统与深度学习相融合的智能合约安全审计方法 Download PDF

Info

Publication number
CN115879868A
CN115879868A CN202211105741.7A CN202211105741A CN115879868A CN 115879868 A CN115879868 A CN 115879868A CN 202211105741 A CN202211105741 A CN 202211105741A CN 115879868 A CN115879868 A CN 115879868A
Authority
CN
China
Prior art keywords
instruction
node
vulnerability
intelligent contract
token
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.)
Granted
Application number
CN202211105741.7A
Other languages
English (en)
Other versions
CN115879868B (zh
Inventor
陈勇
徐超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NANJING AUDIT UNIVERSITY
Original Assignee
NANJING AUDIT UNIVERSITY
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NANJING AUDIT UNIVERSITY filed Critical NANJING AUDIT UNIVERSITY
Priority to CN202211105741.7A priority Critical patent/CN115879868B/zh
Publication of CN115879868A publication Critical patent/CN115879868A/zh
Application granted granted Critical
Publication of CN115879868B publication Critical patent/CN115879868B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种专家系统与深度学习相融合的智能合约安全审计方法。包括:按安全漏洞类别构建漏洞关联信息专家知识库;将solidity编写的智能合约代码转换为以太坊虚拟机(EVM)上的指令序列,构建属性级控制流图PCFG;按漏洞类别从PCFG中提取出与漏洞相关的子图SPCFG;并在子图的基础上,提取token并进行词嵌入编码,进而结合子图范围加权形成输入数据;以现有的成熟卷积神经网络为基础模型结构,按照漏洞类别分别进行训练,形成面向不同漏洞类别的智能合约安全审计模型。本发明可以借助于专家系统表示的精准知识,尽可能消除与智能合约安全不相关的代码,减少智能合约安全审计分析的代码量,提高审计效率。

Description

一种专家系统与深度学习相融合的智能合约安全审计方法
技术领域
本发明属于区块链和智能合约安全审计领域,特别是涉及一种专家系统与深度学习相融合的智能合约安全审计方法。
背景技术
目前智能合约安全审计方法和工具虽然取得一定成果,但在审计效率和准确性的均衡性上仍然存在不足,难以满足复杂智能合约的安全审计需求。如模型检测、定理证明等,由于其复杂度较高,审计效率较低,难以应对大型复杂智能合约;而对于模糊测试类,受实际生成的测试用例的限制,其实际检测性能难以控制;而基于抽象语法树的审计模型,其准确性较低。但随着智能合约应用的推广,其复杂度将不断提升,安全漏洞涉及的范围也将扩大,因此,如何提升智能合约安全审计模型的综合分析能力,在审计效率和准确性上尽量均衡,以适应复杂智能合约的安全审计需求,是智能合约安全审计研究的不容忽视的一个重要问题。
发明内容
为解决上述问题,本发明以以太坊虚拟机的指令序列为基础,结合人工智能理论,提出一种专家系统与深度学习相融合的智能合约安全审计的方法。
技术方案:
所述方法包括以下步骤:
(1)基于搜集的智能合约安全漏洞特征,采用专家知识表示方法,按安全漏洞类别构建相应的漏洞关联信息专家知识库;
(2)利用以太坊智能合约编译器solc将solidity编写的智能合约代码转换为以太坊虚拟机(EVM)上的指令序列;
(3)通过对EVM指令序列的语义分析,构建属性级控制流图PCFG(V,E,P)。V表示PCFG中节点的集合,其中每个节点v对应一条EVM的指令;E表示PCFG中边的集合,其中每条边e表示v之间的依赖关系,即如果vj执行依赖于vi的执行,那么E中将添加一条从vi指向vj的边。P表示每个节点v的属性值,表示该节点的指令类型信息;
(4)利用专家系统的知识库,根据相应的规则,按漏洞类别从步骤(3)的PCFG中提取出相应的子图
Figure BDA0003840709700000021
其中i表示漏洞类别标号,j表示当前样本编号;
(5)通过对大量样本数据的2~4步骤处理,获得每个漏洞类别i的关联子图样本数据集SPCFGi。并将SPCFG中的每个节点转换为字符串token,并存入词列表L。
(6)对步骤(5)中的每个SPCFGi中的每个样本
Figure BDA0003840709700000022
通过图的广度优先遍历方法展开为一维token向量,然后采用词嵌入方法,对L中的token进行编码,得到每个token字符串的实数向量表示;
(7)以现有的成熟卷积神经网络为基础模型结构,以步骤(6)获得的token实数向量以及各子图的关联度权值为输入,计算加权token值。然后按照漏洞类别分别进行训练,形成面向不同漏洞类别的智能合约安全审计模型。
(8)对于待检测的智能合约,依次经过步骤(1)~(6)的处理,形成加权token值,然后输入到步骤(7)构建的智能合约安全审计模型,实现对该智能合约的安全审计。
优选的,步骤(1)中的专家知识库重点描述与对应类别安全漏洞关联的信息,并不是漏洞本身。表示方式为“A1|A2|…|An”。其中Ai表示第i种类型的漏洞,i∈{1,2,…,n},“|”表示或的关系,即该知识库能检测的智能合约安全漏洞类型包含Ai中的任意一种或多种。对于每一种类型的漏洞Ai,其关联分析节点范围表示为:
Figure BDA0003840709700000023
Figure BDA0003840709700000024
其中令k∈1,2,…,m,则Cki→(Xki,Wki)表示一条匹配规则,且从1开始顺次编号;/>
Figure BDA0003840709700000025
表示第k条规则中满足的属性值条件,/>
Figure BDA0003840709700000026
表示第k条规则中子图范围,/>
Figure BDA0003840709700000027
表示第k条规则与漏洞Ai所对应的关联度权值,其取值范围为[0,1]之间的实数;“&”为连结字符,用于分隔Ai类型漏洞关联的规则。
满足的属性值条件
Figure BDA0003840709700000031
是一个列表形式,里面可以包含多个属性值,当进行节点属性匹配时,只要/>
Figure BDA0003840709700000032
中包含该节点vy的属性值,即认为成功匹配该规则。此时,将匹配的子图
Figure BDA0003840709700000033
与相应的匹配规则构建映射结构M,其表示为/>
Figure BDA0003840709700000034
其中,/>
Figure BDA0003840709700000035
表示匹配的子图,vy表示匹配到节点,/>
Figure BDA0003840709700000036
为匹配的关联度权值,/>
Figure BDA0003840709700000037
表示子图范围。
子图范围
Figure BDA0003840709700000038
是一个二元组(f,d),其中f是状态标记,其取值为f∈{0,1}整数值,d是深度标志,取值为整数。当f取值为1时,表示匹配的子图范围为知识库中漏洞类型Ai的第d条规则所匹配的节点到当前匹配节点之间所有直接关联节点构成的子图。当f取值为0时,表示匹配的子图范围为当前匹配节点直接相邻的d层节点构成的子图(即以当前匹配节点为起始节点,按照层次优先遍历d层获得的节点集合构成的子图)。
优选的,步骤(3)中的PCFG节点属性基于指令类别进行表示,除环境信息指令、存取操作指令、流控制指令和系统指令使用对应的指令名字符串表示外,其他类型指令包括停止指令、算术指令、比较指令、逻辑位运算指令、KECCAK256指令、块信息指令、入栈指令、复制指令、交换指令、日志指令分别用统一的大类类型名字符串表示,即{“stop”、“arith”、“comp”、“logic”、“kecc”、“blockinfo”、“push”、“dup”、“exchage”、“log”}。
优选的,步骤(5)构建节点v的token字符串时,其基本格式为“pre%property%suc”,其中pre表示节点v的直接前驱节点的个数,但不包括其自身,property表示节点v的属性字符串,suc表示节点v的直接后继节点的个数,但不包括其自身。
优选的,步骤(7)中输入数据按照以下步骤获得:
-依次遍历SPCFGi中的每个子图
Figure BDA0003840709700000039
通过前文所述的M映射结构,获得对应的匹配节点即关联度权值/>
Figure BDA00038407097000000310
Figure BDA00038407097000000311
表示/>
Figure BDA00038407097000000312
中的d值;
-对于
Figure BDA00038407097000000313
中的每个节点vi,按如下公式计算其加权token值Veci
Figure BDA00038407097000000314
/>
其中Ti表示节点vi对应token实值向量值。
本发明的有益效果
专家系统与深度学习相融合的智能合约安全审计方法,一方面可以借助于专家系统表示的精准知识,尽可能消除与智能合约安全不相关的代码,减少智能合约安全审计分析的代码量,提高审计效率。另一方面借助于深度学习技术,将影响智能合约安全的代码特征自适应的提取出来,对于构建精准的智能合约安全审计模型是极为重要的。专家系统与深度学习相融合额智能合约安全审计方法,将有望取代基于源代码的以太坊智能合约安全审计模型,成为智能合约安全审计研究领域的一个重要突破点。
附图说明
图1是本发明一种专家系统与深度学习相融合的智能合约安全审计方法的示意图;
图2是实施例中源程序示意图;
图3是实施例中源程序对应的EVM指令序列示意图;
图4是实施例中PCFG示意图;
图5是实施例中SPCFG示意图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
结合图1,一种专家系统与深度学习相融合的智能合约安全审计方法,包括以下步骤:
(1)基于搜集的智能合约安全漏洞特征,采用专家知识表示方法,按安全漏洞类别构建相应的漏洞关联信息专家知识库。具体的,假如我们通过分析,搜集的可重入类型智能合约漏洞特征主要关注两点:(a)指令码中包含有call指令,且其附近4层的数据涉及到参数,需要关联分析;(b)call指令调用点在重入调用时,所有storage类型的状态变量的操作。因此,我们将这两个特征关联的信息表示为对应的知识库: A1=<{call}→((0,4),1)>&<{sload,sstore}→((1,1),1)>。
(2)利用以太坊智能合约编译器solc将solidity编写的智能合约代码转换为以太坊虚拟机(EVM)上的指令序列。具体的,对于如图2所示的solidity语言智能合约源代码,我们使用solc编译器,并通过添加编译参数“--asm”,将该c语言源代码转为对应的EVM指令序列,如图3所示。
(3)通过对EVM字节指令的语义分析,以其标号及分支语句为基准,首先构建基于EVM字节指令的程序控制流图CFG。具体的,我们首先扫描一次所有的EVM指令,每当遇到以”tag”开始,并以“:”结束的字符串,我们则将结束上一个基本块,并新建一个基本块结构,同时保存tag后面的标号,作为该基本块的标识;如果遇到流控制指令,则将该指令归为上一个基本块,其后的一条指令作为一个新基本块的开始。如图3所示,第1条指令为“tag_1:”,因此将它作为一个新基本块的开始。而第24条指令为“jumpi”,为流控制指令,则将其归为上一个基本块,其下一条指令作为新基本块的开始。在基本块构建完成后,我们分析每个基本块的最后一条语句,如果是“jumpi”等条件分支指令,则根据“jumpi”指令及前一条指令对应的标号,构建相应的CFG边;如果是“jump”,则直接根据该指令后跟着的标号来确定。如图3中第24条指令为“jumpi”指令,则结合它的前一条指令“tag_25”,知道其可能跳转到“tag_25”对应的标号,也可能跳转到其后的第25条指令,因此,我们在第24条指令所在基本块添加一条到“tag_25”所在基本块的边,同时也添加一条从第24条指令所在基本块添加一条到第25条指令所在基本块的边。当CFG的边构建完成后,我们去掉所有的标号,即以“tag”开始,并以“:”结束的行,并按照具体的指令类型,将每条指令转换为属性表示。如指令“and”,则转为其对应的大类字符串“arith”,对于指令“dup1”,则转为“dup”等,同时对于基本块内部的指令序列,每条指令对应一个节点,前一个节点增加一条指向后一个节点的边,最终形成如图4所示的 PCFG示意图,其中每个框表示一个基本块,基本块的右下角标记了该基本块的名字,基本块内的边被隐去,每行对应一个用属性表示的节点。
(4)利用专家系统的知识库,根据相应的规则,按漏洞类别从步骤(3)的PCFG中提取出相应的子图
Figure BDA0003840709700000051
具体的,结合(1)中的可重入漏洞知识库知识A1=<{call}→((0,4),1)&{sload,sstore}→((1,1),1),首先对规则1{call}→((0,4),1)进行匹配,发现在“B2”基本块的第20 个节点正好匹配“call”属性,因此根据子图范围”(0,4)”,将构建子图/>
Figure BDA0003840709700000052
如图5(a)所示。对于规则2<{sload,sstore}→((1,1),1)>,发现在“B0”基本块的第20个节点属性匹配了“sload”,而其子图范围为(1,1),因此将根据规则1的匹配结果,即B2中的第20 个节点,将B0的第20个节点到B2中的第20个节点路径上的所有点均包含进来。此时得到子图
Figure BDA0003840709700000053
如图5(b)所示。
(5)通过对大量样本数据的2~4步骤处理,获得每个漏洞类别i的关联子图样本数据集SPCFGi。并将SPCFG中的每个节点转换为字符串token存入词列表L。具体的,如对于
Figure BDA0003840709700000054
其token为{1%dup%1,1%call%1,1%gas%1},词列表L中将增加这3个token。
(6)对步骤(5)中的每个SPCFGi中的每个样本SPCFG_j^i通过图的广度优先遍历方法展开为一维token向量,然后采用词嵌入方法,对L中的token进行编码,使得L中的每个token对应一个实数向量,进而得到每个token字符串的实数向量表示。对于在具体实例中,我们直接借助开源的word2vec工具,获得每个token对应的词向量表示。
(7)以步骤(6)获得的token实数向量以及各子图的关联度权值,按照如下公式获得每个节点的加权token值。
Figure BDA0003840709700000055
具体的,假如图5(a)中call节点对应的token(即“1%call%1”)为T=(0.2,0.6,0.9),其子图映射M值为(“call”,(0,4),1),即满足条件vi=vy,同时,
Figure BDA0003840709700000061
因此其向量值为/>
Figure BDA0003840709700000062
(8)以现有的成熟深度卷积神经网络为基础模型结构,以步骤(7)获得的加权token 值为输入,按照漏洞类别分别进行训练,形成面向不同漏洞类别的智能合约安全审计模型。
(9)最后,对于待检测的智能合约,依次经过步骤1~6的处理,形成加权token值,然后输入到步骤(8)构建的智能合约安全审计模型,实现对该智能合约的安全审计。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种专家系统与深度学习相融合的智能合约安全审计方法,其特征在于:
(1)基于搜集的智能合约安全漏洞特征,采用专家知识表示方法,按安全漏洞类别构建相应的漏洞关联信息专家知识库;
(2)利用以太坊智能合约编译器solc将solidity编写的智能合约代码转换为以太坊虚拟机EVM上的指令序列;
(3)通过对EVM指令序列的语义分析,构建属性级控制流图PCFG(V,E,P),V表示PCFG中节点的集合,其中每个节点v对应一条EVM的指令;E表示PCFG中边的集合,其中每条边e表示v之间的依赖关系,即如果vj执行依赖于vi的执行,那么E中将添加一条从vi指向vj的边;P表示每个节点v的属性值,表示该节点的指令类型信息;
(4)利用专家系统的知识库,根据步骤(1)相应的规则,按漏洞类别从步骤(3)的PCFG中提取出相应的子图
Figure FDA0003840709690000011
其中i表示漏洞类别标号,j表示当前样本编号;
(5)通过对大量样本数据的(2)~(4)步骤处理,获得每个漏洞类别i的关联子图样本数据集SPCFGi;并将SPCFG中的每个节点转换为字符串token,并存入词列表L;
(6)对步骤(5)中的每个SPCFGi中的每个样本
Figure FDA0003840709690000012
通过图的广度优先遍历方法展开为一维token向量,然后采用词嵌入方法,对L中的token进行编码,得到每个token字符串的实数向量表示;
(7)以现有的成熟卷积神经网络为基础模型结构,以步骤(6)获得的token实数向量以及各子图的关联度权值为输入,计算加权token值;然后按照漏洞类别分别进行训练,形成面向不同漏洞类别的智能合约安全审计模型;
(8)对于待检测的智能合约,依次经过步骤(1)~(6)的处理,形成加权token值,然后输入到步骤(7)构建的智能合约安全审计模型,实现对该智能合约的安全审计。
2.根据权利要求1所述的方法,其特征在于步骤(1)中的专家知识库重点描述与对应类别安全漏洞关联的信息,并不是漏洞本身,表示方式为“A1|A2|…|An”;其中Ai表示第i种类型的漏洞,i∈{1,2,…,n},“|”表示或的关系;对于每一种类型的漏洞Ai,其关联分析节点范围表示为:
Figure FDA0003840709690000013
其中令k∈{1,2,…,m},则/>
Figure FDA0003840709690000014
表示一条匹配规则,且从1开始顺次编号;/>
Figure FDA0003840709690000015
表示第k条规则中满足的属性值条件,/>
Figure FDA0003840709690000016
表示第k条规则中子图范围,/>
Figure FDA0003840709690000017
表示第k条规则与漏洞Ai所对应的关联度权值,其取值范围为[0,1]之间的实数;“&”为连结字符,用于分隔Ai类型漏洞关联的规则。
3.根据权利要求2所述的方法,其特征在于其满足的属性值条件
Figure FDA0003840709690000021
是一个列表形式,里面包含多个属性值,当进行节点属性匹配时,只要/>
Figure FDA0003840709690000022
中包含该节点vy的属性值,即认为成功匹配该规则;此时,将匹配的子图/>
Figure FDA0003840709690000023
与相应的匹配规则构建映射结构M,其表示为
Figure FDA0003840709690000024
其中,/>
Figure FDA0003840709690000025
表示匹配的子图,vy表示匹配到节点,/>
Figure FDA0003840709690000026
为匹配的关联度权值,/>
Figure FDA0003840709690000027
表示子图范围。
4.根据权利要求2所述的方法,其特征在于子图范围
Figure FDA0003840709690000028
是一个二元组(f,d),其中f是状态标记,其取值为f∈{0,1}整数值,d是深度标志,取值为整数;当f取值为1时,表示匹配的子图范围为知识库中漏洞类型Ai的第d条规则所匹配的节点到当前匹配节点之间所有直接关联节点构成的子图;当f取值为0时,表示匹配的子图范围为当前匹配节点直接相邻的d层节点构成的子图。
5.根据权利要求1所述的方法,其特征在于步骤(3)中的PCFG节点属性基于指令类别进行表示,除环境信息指令、存取操作指令、流控制指令和系统指令使用对应的指令名字符串表示外,其他类型指令包括停止指令、算术指令、比较指令、逻辑位运算指令、KECCAK256指令、块信息指令、入栈指令、复制指令、交换指令、日志指令分别用统一的大类类型名字符串表示,即{“stop”、“arith”、“comp”、“logic”、“kecc”、“blockinfo”、“push”、“dup”、“exchage”、“log”}。
6.根据权利要求1所述的方法,其特征在于步骤(5)构建节点v的token字符串时,其基本格式为“pre%property%suc”,其中pre表示节点v的直接前驱节点的个数,但不包括其自身,property表示节点v的属性字符串,suc表示节点v的直接后继节点的个数,但不包括其自身。
7.根据权利要求3所述的方法,其特征在于步骤(7)中输入数据按照以下步骤获得:
a)依次遍历SPCFGi中的每个子图
Figure FDA0003840709690000029
通过所述的M映射结构,获得对应的匹配节点即关联度权值/>
Figure FDA0003840709690000031
Figure FDA0003840709690000032
表示/>
Figure FDA0003840709690000033
中的d值;
b)对于
Figure FDA0003840709690000034
中的每个节点vi,按如下公式计算其加权token值Veci
Figure FDA0003840709690000035
其中Ti表示节点vi对应token实值向量值。
CN202211105741.7A 2022-09-09 2022-09-09 一种专家系统与深度学习相融合的智能合约安全审计方法 Active CN115879868B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211105741.7A CN115879868B (zh) 2022-09-09 2022-09-09 一种专家系统与深度学习相融合的智能合约安全审计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211105741.7A CN115879868B (zh) 2022-09-09 2022-09-09 一种专家系统与深度学习相融合的智能合约安全审计方法

Publications (2)

Publication Number Publication Date
CN115879868A true CN115879868A (zh) 2023-03-31
CN115879868B CN115879868B (zh) 2023-07-21

Family

ID=85769816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211105741.7A Active CN115879868B (zh) 2022-09-09 2022-09-09 一种专家系统与深度学习相融合的智能合约安全审计方法

Country Status (1)

Country Link
CN (1) CN115879868B (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040181684A1 (en) * 2003-03-14 2004-09-16 Daewoo Educational Foundation Method for detecting malicious code patterns in consideration of control and data flows
US20140208297A1 (en) * 2013-01-20 2014-07-24 International Business Machines Corporation Validation of revised computer programs
CN104462981A (zh) * 2013-09-12 2015-03-25 深圳市腾讯计算机系统有限公司 漏洞检测方法及装置
CN111062038A (zh) * 2019-11-23 2020-04-24 同济大学 一种基于状态空间的智能合约形式化验证系统及方法
CN111460450A (zh) * 2020-03-11 2020-07-28 西北大学 一种基于图卷积网络的源代码漏洞检测方法
CN112035842A (zh) * 2020-08-17 2020-12-04 杭州云象网络技术有限公司 一种基于编码解码器的智能合约漏洞检测可解释性方法
CN112733156A (zh) * 2021-01-29 2021-04-30 中国人民解放军国防科技大学 基于代码属性图的软件脆弱性智能检测方法、系统及介质
US11036614B1 (en) * 2020-08-12 2021-06-15 Peking University Data control-oriented smart contract static analysis method and system
CN113051574A (zh) * 2021-03-11 2021-06-29 哈尔滨工程大学 一种智能合约二进制代码的漏洞检测方法
CN113221120A (zh) * 2021-05-19 2021-08-06 西北工业大学太仓长三角研究院 一种面向物联网应用规则的漏洞检测方法及系统
CN113486357A (zh) * 2021-07-07 2021-10-08 东北大学 一种基于静态分析和深度学习的智能合约安全检测方法
CN113497809A (zh) * 2021-09-07 2021-10-12 中国人民解放军国防科技大学 基于控制流和数据流分析的mips架构漏洞挖掘方法
CN113722218A (zh) * 2021-08-23 2021-11-30 南京审计大学 一种基于编译器中间表示的软件缺陷预测模型构建方法
CN113868650A (zh) * 2021-09-13 2021-12-31 四川大学 基于代码异质中间图表示的漏洞检测方法与装置
CN114048464A (zh) * 2022-01-12 2022-02-15 北京大学 基于深度学习的以太坊智能合约安全漏洞检测方法及系统
CN114385185A (zh) * 2021-12-24 2022-04-22 深圳前海微众银行股份有限公司 一种智能合约的控制流图生成方法及装置

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040181684A1 (en) * 2003-03-14 2004-09-16 Daewoo Educational Foundation Method for detecting malicious code patterns in consideration of control and data flows
US20140208297A1 (en) * 2013-01-20 2014-07-24 International Business Machines Corporation Validation of revised computer programs
CN104462981A (zh) * 2013-09-12 2015-03-25 深圳市腾讯计算机系统有限公司 漏洞检测方法及装置
CN111062038A (zh) * 2019-11-23 2020-04-24 同济大学 一种基于状态空间的智能合约形式化验证系统及方法
CN111460450A (zh) * 2020-03-11 2020-07-28 西北大学 一种基于图卷积网络的源代码漏洞检测方法
US11036614B1 (en) * 2020-08-12 2021-06-15 Peking University Data control-oriented smart contract static analysis method and system
CN112035842A (zh) * 2020-08-17 2020-12-04 杭州云象网络技术有限公司 一种基于编码解码器的智能合约漏洞检测可解释性方法
CN112733156A (zh) * 2021-01-29 2021-04-30 中国人民解放军国防科技大学 基于代码属性图的软件脆弱性智能检测方法、系统及介质
CN113051574A (zh) * 2021-03-11 2021-06-29 哈尔滨工程大学 一种智能合约二进制代码的漏洞检测方法
CN113221120A (zh) * 2021-05-19 2021-08-06 西北工业大学太仓长三角研究院 一种面向物联网应用规则的漏洞检测方法及系统
CN113486357A (zh) * 2021-07-07 2021-10-08 东北大学 一种基于静态分析和深度学习的智能合约安全检测方法
CN113722218A (zh) * 2021-08-23 2021-11-30 南京审计大学 一种基于编译器中间表示的软件缺陷预测模型构建方法
CN113497809A (zh) * 2021-09-07 2021-10-12 中国人民解放军国防科技大学 基于控制流和数据流分析的mips架构漏洞挖掘方法
CN113868650A (zh) * 2021-09-13 2021-12-31 四川大学 基于代码异质中间图表示的漏洞检测方法与装置
CN114385185A (zh) * 2021-12-24 2022-04-22 深圳前海微众银行股份有限公司 一种智能合约的控制流图生成方法及装置
CN114048464A (zh) * 2022-01-12 2022-02-15 北京大学 基于深度学习的以太坊智能合约安全漏洞检测方法及系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
YU LU等: "Secure Dynamic Big Graph Data: Scalable, Low-Cost Remote Data Integrity Checking", IEEE, vol. 7, pages 12888, XP011708452, DOI: 10.1109/ACCESS.2019.2892442 *
古涛铭: "面向智能合约的安全检测系统研究与设计", 中国优秀硕士学位论文全文数据库信息科技辑, no. 7, pages 138 - 81 *
徐超等: "敏捷开发模式下的 SDL 实践浅析", 软件, vol. 39, no. 10, pages 203 *
杨维永等: "SG-Edge: 电力物联网可信边缘计算框架关键技术", 软件学报, vol. 33, no. 2, pages 641 *
韩松明;梁彬;黄建军;石文昌;: "DC-Hunter:一种基于字节码匹配的危险智能合约检测方案", 信息安全学报, vol. 5, no. 03, pages 100 *

Also Published As

Publication number Publication date
CN115879868B (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
Alur et al. Search-based program synthesis
CN106227668B (zh) 数据处理方法和装置
CN107169358B (zh) 基于代码指纹的代码同源性检测方法及其装置
CN113722218B (zh) 一种基于编译器中间表示的软件缺陷预测模型构建方法
CN110059176B (zh) 一种基于规则的通用文本信息抽取和信息生成方法
CN110162297A (zh) 一种源代码段自然语言描述自动生成方法及系统
Le et al. Interactive program synthesis
CN109857458B (zh) 基于ANTLR的AltaRica 3.0的扁平化的转化方法
CN113918512A (zh) 电网运行规则知识图谱构建系统及方法
CN113064586A (zh) 一种基于抽象语法树增广图模型的代码补全方法
Zeng et al. EtherGIS: a vulnerability detection framework for ethereum smart contracts based on graph learning features
CN113157917A (zh) 基于OpenCL的优化分类模型的建立、优化分类方法及系统
CN115438709A (zh) 基于代码属性图的代码相似性检测方法
CN115202626A (zh) 一种支持多技术栈组件的低代码前端开发方法
Taentzer et al. Generation of Sierpinski triangles: A case study for graph transformation tools
CN114900346A (zh) 基于知识图谱的网络安全测试方法及系统
Groz et al. Deterministic regular expressions in linear time
CN116702157B (zh) 一种基于神经网络的智能合约漏洞检测方法
CN110309214A (zh) 一种指令执行方法及其设备、存储介质、服务器
Şerbănuţă et al. A Truly Concurrent Semantics for the Framework Based on Graph Transformations
CN116383832A (zh) 一种基于图神经网络的智能合约漏洞检测方法
CN116776981A (zh) 基于大型预训练语言模型的api关系推理方法及系统
CN115879868B (zh) 一种专家系统与深度学习相融合的智能合约安全审计方法
Marshall A graph-based framework for comparing curricula
Memeti Automatic Java Code Generator for Regular Expressions and Finite Automata

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