CN110674503A - 一种基于图卷积神经网络的智能合约死循环检测方法 - Google Patents
一种基于图卷积神经网络的智能合约死循环检测方法 Download PDFInfo
- Publication number
- CN110674503A CN110674503A CN201910903735.8A CN201910903735A CN110674503A CN 110674503 A CN110674503 A CN 110674503A CN 201910903735 A CN201910903735 A CN 201910903735A CN 110674503 A CN110674503 A CN 110674503A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- endless loop
- graph
- neural network
- convolution neural
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Finance (AREA)
- Computing Systems (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Biomedical Technology (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Virology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Business, Economics & Management (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于图卷积神经网络的智能合约死循环检测方法,其通过GCN模型的训练和学习实现了智能合约死循环的自动判断,具体包括:收集并设计智能合约死循环案例,制作智能合约源码数据集;对死循环智能合约数据集进行案例分析;将死循环智能合约源码数据集转换成结构统一的核心结点图数据集;并将图数据特征消融到核心结点上;利用向量转换工具,将核心结点特征映射为向量;构建GCN模型进行学习和训练,自动输出智能合约死循环判断结果。该方法实现了比现有的基于传统方法的智能合约检测工具更高的准确率,填补了当前基于深度学习的智能合约安全漏洞检测的空缺,不仅具有良好的通用性和实用价值,而且具有很好的借鉴意义。
Description
技术领域
本发明属于区块链智能合约安全漏洞检测技术领域,具体涉及一种基于图卷积神经网络的智能合约死循环检测方法。
背景技术
近年来,计算机技术发展迅速,但随之产生的计算机安全漏洞问题也越来越多,尤其是一些安全漏洞如果被不法分子利用,不仅会增加计算机被攻击的机率,而且可能会导致重要信息的丢失,从而造成重大损失。如何及时发现与修补漏洞,不断提高计算机的安全性,一直是公众关注的热点问题。
区块链智能合约是一种运行在区块链上的计算机协议,其具有高效性、实时更新、不可篡改、去中心化等特点,但是智能合约执行过程中存在的安全漏洞问题却给用户带来了较大困扰。自智能合约发行以来,区块链安全漏洞案例频发,例如:美链蒸发60亿事件;区块链最大众筹项目(The DAO)被攻击事件;MyEtherWallet遭域名***Domain Name System(DNS)劫持致使用户以太币(ETH)被盗事件等等。从“The DAO”被攻击到Fomo3D奖池被盗,每次智能合约安全问题造成的破坏力都是巨大的,如何正确防范智能合约安全漏洞成了当务之急。频频爆出的区块链安全事件,也使得越来越多的安全从业者将目标转到了智能合约上,因此,对智能合约漏洞进行分析与应对显得尤其重要。
然而,当前已有的智能合约漏洞检测工具,例如Securify,Oyente,Smartcheck等,它们在智能合约安全漏洞检测领域仍有其局限性,存在高误报率和漏报率。因此,急需一种高效且准确的智能合约漏洞检测方法,提高目前区块链运行***的安全性。基于此考虑,可以从AI中找到解决方案,利用AI更好地规避智能合约的漏洞。深度神经网络(DNN)就是极具表现力和强大的机器学习模型,其中图卷积神经网络(GCN)是一种非常强大的在图上进行机器学习的神经网络框架。GCN模型的输入通常是具有非欧几里得结构的图结构数据,通过将智能合约源码转换成图结构,GCN模型可以进行很好的学习得到效果出色的模型,实现自动判断智能合约漏洞。
死循环是指程序控制流程一直重复运行某一段代码,无法结束的情形,其原因可能是因为程序中的循环没有设结束循环条件,或是结束循环的条件不可能成立等。智能合约中也存在死循环的情况,其造成的损失与直接利益相关,例如:可重入漏洞就是利用回调函数(Fallback函数)机制,合约调用其他函数后,被调用的函数又调用了调用者合约的函数,造成了死循环。著名的“The DAO”事件就是攻击者利用了Fallback函数机制,从而将ETH盗走。除此之外,由于智能合约的执行需要消耗gas,考虑如果出现死循环的情况,gas将被浪费,从而造成不必要的损失。
综上所述,急需一种高效且准确的方法智能合约死循环检测方法,提高区块链智能合约执行的安全性。智能合约相比于其他程序语言的来说,其语法分析更加复杂,漏洞类型更加多元,若能够利用图卷积神经网络的方法让模型自动判断安全漏洞,毫无疑问具有很好的通用性和实用价值。
发明内容
针对上述现有技术存在的问题,为了解决智能合约死循环检测问题,本发明提供了一种基于图卷积神经网络(GCN)的智能合约死循环检测方法,该方法采用了图卷积神经网络模型(GCN),并且将非结构化的智能合约源码转换为统一的图结构作为GCN模型的输入,通过特征融合以及模型训练和学习实现智能合约死循环自动化判断。在智能合约源码转换为图的过程中,本发明调用了自动化抽图工具,将每个智能合约源码转换为具有统一结构的图;在特征消融过程中,不管图是什么样的结构,通过将有向边、VAR变量结点的特征融合到核心结点上,从而得到特征消融后的核心结点特征。
一种基于图卷积神经网络的智能合约死循环检测方法,通过GCN模型训练和学习实现智能合约死循环自动化判断,从而解决了智能合约死循环检测问题,该方法具体包括如下步骤:
(1)收集与设计智能合约死循环案例,制作智能合约源码数据集;
(2)对步骤(1)得到的智能合约源码数据集逐个分析,主要包括对For循环、While循环、函数间调用循环以及智能合约特有的Fallback循环做案例分析;
(3)利用智能合约自动化抽图工具,将步骤(1)得到的智能合约源码数据集转换成结构统一的核心结点图数据集;
(4)利用特征消融工具,将步骤(3)得到的图数据集中有向边、VAR变量结点的特征消融到核心结点上;
(5)利用向量转换工具,将步骤(4)消融后的核心结点特征映射为向量;
(6)构建GCN模型,将核心节点的特征向量输入GCN模型进行训练,GCN模型训练完成后,输入测试集,输出智能合约死循环判断结果。
进一步地,所述步骤(1)的具体实现方式为:首先,导致智能合约死循环产生的情况主要有For循环,While循环,函数间调用循环以及Fallback循环四类情况。当前的智能合约大部分使用solidity语言和C语言编写,因此,可以基于Ethereum(以太坊)和VNT(维特链)两个平台,设计并实现相应的solidity和C语言的智能合约死循环案例。
进一步地,所述步骤(2)的具体实现过程如下:
(1-1)For循环案例分析
(a)对于“for(uint8 i=0;i<2000;i++)”而言,由于变量i的类型是uint8,而这个类型的最大值是255,比2000小,因此将会造成死循环;
(b)对于“for(uint32 i=10;i<100;i--)”而言,这里的“i--”其实是“i++”的误写,这使i的值不断减小,将会一直小于100,从而也将导致死循环。
通过添加“OVERLIMIT”标记为死循环,相应地使用“INNLIMIT”标记为正常循环的情况。
(1-2)While循环案例分析
(a)对于“while(1==1)和while(true)”而言,这里的while内部条件“1==1”和“true”都是恒成立的条件,因此将会造成死循环;
(b)对于“while(count<3){if(isDone){continue;}count++;}”而言,若这里的“isDone”为True时,while将会一直执行,从而也将导致死循环。
通过添加“ABNORM”标记为while恒成立的情况,即为死循环,相应地使用“NORM”标记为正常循环的情况。
(1-3)函数调用循环案例分析
(a)对于函数调用循环而言,例如:给出三类函数结点S,W,C;若C调用了W,W调用了S,S调用了C,这样则形成了一个环,将会造成死循环;
(b)在出现函数自我回调的情况下,其表示函数自身的“self-call”,从而也将导致死循环,使用“SELFCALL”表示函数自身调用的死循环情况。
(1-4)Fallback循环案例分析
(a)Solidity智能合约中,攻击者向某合约地址发起转账操作时,会迫使执行攻击合约自身的Fallback函数,若Fallback函数中包含回调自身的代码,将会导致代码“重新进入”合约。攻击者攻击某合约时,向该合约中存入以太币,然后调用该合约的Withdraw函数(取币操作),则会触发Fallback函数继续调用Withdraw函数取币,导致重复取币操作,造成死循环;
(b)VNT智能合约中,当执行合约的输入数据不正确或为空时,则会进入Fallback函数。例如:给出四类函数结点S,W,C,F;C调用W函数,而W函数输入错误或为空时,将导致W函数转而调用Fallback函数F,而F又默认调用了C函数,从而也将导致死循环。
通过在核心结点属性中用“FALLCALL”标记表示Fallback函数的调用情况。
进一步地,所述步骤(3)的具体实现方式为:
(2-1)导致智能合约死循环的情况可能只有几行代码或几个函数,所以为了提高数据集的质量,针对具体的合约代码做合约源码转换为图的处理,提取关键的智能合约代码行构建图。
(2-2)通过智能合约自动化抽图工具,将每个智能合约转换成只有核心结点的图。具体而言,核心结点代表智能合约中的函数;而智能合约代码中的内置函数(例如:msg.sender(Solidity),GetSender(VNT))以及其他关键变量则用VAR结点表示;对于有向边而言,主要考虑智能合约代码中的核心语句,比如含有if,require,assert和revert等,这些语句的特点是一旦不满足条件,即可执行退回操作,在遇到这样的语句的情况下,则相应的映射为IF、RE、AS、RV等;在遇到含有For或者While的语句的情况下,则相应的映射为For或While,并且添加是否存在死循环的关键标记;在遇到普通语句的情况下,则添加表示顺序执行的前向边FW,它是用来表示顺序执行的语句。
进一步地,所述步骤(4)的具体实现方式为:通过步骤(3)得到智能合约图结构的数据集后,利用特征消融工具进行核心结点特征消融,具体而言:
(3-1)每个核心结点融合相关联的VAR变量结点特征,即每个核心节点融合与它相关的VAR变量输入点和输出点的特征。
(3-2)每个核心结点融合相关联的有向边的特征,即每个核心节融合与它相关的输入边和输出边的特征。
(3-3)优选地,当出现多条边指向同一核心结点点时,这时该点会生成针对这些边的不同特征,此时将这些不同的特征融合后在进行特征消融;当出现多个同类点时,比如A1,A2,A3,则采用保留的方式,将其视为独立的核心结点,结合相应的有向边和VAR变量结点进行特征消融。
进一步地,所述步骤(5)的具体实现方式为:利用向量转换工具将通过步骤(4)特征消融后得到的核心结点特征映射为向量形式,主要使用one-hot编码生成核心节点的特征向量,作为GCN模型训练的输入数据。
进一步地,所述步骤(6)的具体实现方式为:首先,在构建GCN模型进行模型训练之前,先标注智能合约训练集,即:存在死循环漏洞标注为“1”和不存在死循环漏洞标注为“0”;GCN模型训练完成后,将智能合约测试集的核心节点特征向量输入已训练好的GCN模型,利用GCN模型进行死循环自动化判断,在输出结果为“1”的情况下,则判别该合约有死循环漏洞;在输出结果“0”的情况下,则判别该合约无死循环漏洞。
本发明利用图卷积神经网络(GCN),提供了一种基于图卷积神经网络的智能合约死循环检测方法,实现了自动化判别智能合约是否存在死循环,比现有的基于传统方法的智能合约漏洞检测工具有更高的准确率,填补了当前基于深度神经网络的智能合约安全漏洞检测的空缺。其不仅具有良好的通用性和实用价值,而且具有很好的借鉴意义,具体有益技术效果和创新性主要表现在以下几个方面:
(1)本发明采用基于图卷积神经网络的方法检测智能合约死循环,比较现有的智能合约漏洞检测工具有更高的准确率;
(2)本发明通过基于GCN模型的智能合约死循环检测的实践,表明了深度神经网络在解决智能合约漏洞检测的应用上具有很大扩展性;
(3)本发明阐述的智能合约源码转换为图方法和图结点的特征消融方法使得基于图神经网络的方法具有通用性和适用性。
附图说明
图1为本发明基于图神经网络的智能合约死循环检测流程示意图。
图2为本发明数据处理与方案实施示意图。
图3为本发明智能合约自动化抽图与特征融合示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
1.本发明基于图卷积神经网络的智能合约死循环检测方法主要借助智能合约自动化抽图工具和特征消融工具处理智能合约源数据,依靠训练GCN模型实现智能合约死循环自动化判断,其流程如图1所示。
2.如图2所示,首先,需要在智能合约数据集(训练集和测试集)准备好的前提下,通过GCN模型实现智能合约死循环的自动化检测;然后,然后对智能合约数据进行处理以及图结构数据的转换;构建图神经网络模型,即采用图卷积神经网络(GCN),将消融后智能合约核心结点特征向量输入GCN,训练GCN模型并进行智能合约死循环检测。最后,为了评估该方法的性能,分别从Accuracy,Precision,Recall,F1-Score等指标来评估模型效果。
具体实施例:
3.本实施例的智能合约死循环检测方法以VNT智能合约Fallback循环为例,如图3所示,其具体实现过程如下:
(1)利用自动化抽图工具,从智能合约源码中提取核心结点、VAR变量结点和有向边,即将目标合约源码转换为图结构,其具体实施步骤如下:
(1-1)从目标合约中提取所有函数模块,函数模块作为核心结点。核心结点的特征属性为:核心结点ID(即A,B,C,…),函数返回值(即void,uint8,bool,…),函数调用结点ID(即A,B,C,…),出边时序,入边时序,函数调用方式(包括CALL、INNCALL、SELFCALL、FALLCALL;分别表示合约外函数调用,合约内函数调用,函数自我调用,Fallback函数调用);
(1-2)从目标合约中提取VAR变量结点,主要针对关键变量以及智能合约内置函数。VAR变量结点的特征属性为:VAR结点ID(即VAR1,VAR2,VAR3,…),函数调用结点ID(即A,B,C,…),时序,VAR变量操作方式(包括EVENT,BOOL,ASSIGN,INNFUN);
(1-3)从目标合约中提取有向边,主要针对关键语句。有向边的特征属性为:函数调用结点ID(即A,B,C,…),时序,有向边操作方式(包括FW,IF,GB,GN,RE,AS,RG,RV,WHILE,FOR),无限循环标记(For循环对应INNLIMIT和OVERLIMIT,While循环对应NORM和ABNORM)。
(2)利用特征消融工具,将智能合约图数据集的特征消融到核心结点上,如图3所示的A结点,即将有向边和VAR变量结点特征融合到核心结点上,其具体实施步骤如下:
(2-1)每个核心结点融合相关联的VAR变量结点特征,即每个核心节点融合与它相关的VAR变量输入点和输出点的特征;
(2-2)每个核心结点融合相关联的边的特征,即每个核心节点融合与它相关的输入边和输出边的特征;
(2-3)特征消融后核心结点的特征依次为:核心结点自身特征,输入VAR变量结点特征,输出VAR变量结点特征,输入边特征,输出边特征(若智能合约转换后的图结构不存在有向边和VAR变量结点,则用相同维度的空值特征填充,例如图3中A点的VAR变量输入点的特征为:NULL-NULL-0-NULL)。
(3)利用向量转换工具,将(2-3)得到的核心结点的特征映射为向量形式;然后标注智能合约数据集(即:存在死循环漏洞标签为“1”和不存在死循环漏洞标签为“0”)。
(4)GCN模型训练。将智能合约训练集(核心节点的特征向量以及智能合约标签)输入GCN模型进行训练。
(5)智能合约死循环检测。首先,通过步骤(3)得到的智能合约测试集的核心节点特征向量,将其输入训练好的GCN模型;若模型输出结果为1,则判别合约有死循环漏洞,否则,则判别合约无死循环漏洞。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
Claims (7)
1.一种基于图卷积神经网络的智能合约死循环检测方法,其特征在于,通过图卷积神经网络模型的训练和学习实现智能合约死循环的自动化检测,所述智能合约死循环检测方法具体包括如下步骤:
(1)收集并设计智能合约死循环漏洞的案例,制作智能合约源码数据集;
(2)对步骤(1)得到的智能合约源码数据集逐个分析;
(3)利用智能合约自动化抽图工具,将通过步骤(1)得到的智能合约源码数据集转换成结构统一的图数据集;
(4)利用特征消融工具,将步骤(3)的图数据集中有向边、VAR变量结点的特征消融到核心结点上;
(5)利用向量转换工具,将步骤(4)消融后的核心结点特征映射为向量;
(6)构建图卷积神经网络模型,将核心节点的特征向量输入图卷积神经网络模型进行训练,图卷积神经网络模型训练完成后,输入测试集,模型输出智能合约死循环判断结果。
2.根据权利要求1所述的智能合约死循环检测方法,其特征在于,所述步骤(1)的具体实现方式为:设计并实现相应的基于solidity和C语言的智能合约死循环案例。
3.根据权利要求1所述的智能合约死循环检测方法,其特征在于,所述步骤(2)的具体实现过程如下:
(1-1)For循环案例分析,包括通过添加“OVERLIMIT”标记为死循环,使用“INNLIMIT”标记为正常循环;
(1-2)While循环案例分析,包括通过添加“ABNORM”标记为while恒成立,即为死循环,使用“NORM”标记为正常循环;
(1-3)函数调用循环案例分析,包括在出现函数自我回调的情况下,用“SELFCALL”表示函数自身调用的死循环;
(1-4)Fallback循环案例分析,包括在核心结点属性中用“FALLCALL”标记表示Fallback函数的调用。
4.根据权利要求1所述的智能合约死循环检测方法,其特征在于,所述步骤(3)的具体实现方式包括:
(2-1)对具体的智能合约做合约源码转换为图的处理,提取关键的智能合约代码行构建图;
(2-2)将智能合约源码数据集转换成图数据集。
5.根据权利要求1所述的智能合约死循环检测方法,其特征在于,通过步骤(3)得到图数据集后,利用特征消融工具进行核心结点特征消融,所述步骤(4)的特征消融具体包括:
(3-1)每个核心结点融合相关联的VAR变量结点特征;
(3-2)每个核心结点融合相关联的有向边的特征;
(3-3)在出现多条边指向同一点的情况下,该点会生成针对这些边的不同特征,将这些不同的特征融合后再进行特征消融;在出现多个同类点的情况下,采用保留方式,将其视为独立的核心结点,结合相应的有向边和VAR变量结点进行特征消融。
6.根据权利要求1所述的智能合约死循环检测方法,其特征在于,所述步骤(5)的具体实现方式包括:利用向量转换工具将通过步骤(4)特征消融后得到的核心结点特征映射成向量形式。
7.根据权利要求1所述的智能合约死循环检测方法,其特征在于,所述步骤(6)的具体实现方式包括:在构建图卷积神经网络模型训练之前,先标注智能合约训练集;图卷积神经网络模型训练完成后,将智能合约测试集的核心节点特征向量输入已训练好的图卷积神经网络模型,利用图卷积神经网络模型自动判断智能合约死循环。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910903735.8A CN110674503B (zh) | 2019-09-24 | 2019-09-24 | 一种基于图卷积神经网络的智能合约死循环检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910903735.8A CN110674503B (zh) | 2019-09-24 | 2019-09-24 | 一种基于图卷积神经网络的智能合约死循环检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110674503A true CN110674503A (zh) | 2020-01-10 |
CN110674503B CN110674503B (zh) | 2021-06-15 |
Family
ID=69077334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910903735.8A Active CN110674503B (zh) | 2019-09-24 | 2019-09-24 | 一种基于图卷积神经网络的智能合约死循环检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110674503B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259394A (zh) * | 2020-01-15 | 2020-06-09 | 中山大学 | 一种基于图神经网络的细粒度源代码漏洞检测方法 |
CN111488582A (zh) * | 2020-04-01 | 2020-08-04 | 杭州云象网络技术有限公司 | 一种基于图神经网络的智能合约重入性漏洞检测的方法 |
CN112035841A (zh) * | 2020-08-17 | 2020-12-04 | 杭州云象网络技术有限公司 | 一种基于专家规则与序列化建模的智能合约漏洞检测方法 |
CN113626826A (zh) * | 2021-07-29 | 2021-11-09 | 西安电子科技大学 | 智能合约安全检测方法、***、设备、终端及应用 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109063477A (zh) * | 2018-07-18 | 2018-12-21 | 成都链安科技有限公司 | 一种自动化的智能合约代码缺陷检测***和方法 |
CN109886359A (zh) * | 2019-03-25 | 2019-06-14 | 西安电子科技大学 | 基于卷积神经网络的小目标检测方法及检测模型 |
US20190188390A1 (en) * | 2017-12-15 | 2019-06-20 | Mastercard International Incorporated | Security vulnerability analytics engine |
CN109977682A (zh) * | 2019-04-01 | 2019-07-05 | 中山大学 | 一种基于深度学习的区块链智能合约漏洞检测方法及装置 |
CN110135157A (zh) * | 2019-04-04 | 2019-08-16 | 国家计算机网络与信息安全管理中心 | 恶意软件同源性分析方法、***、电子设备及存储介质 |
CN110175454A (zh) * | 2019-04-19 | 2019-08-27 | 肖银皓 | 一种基于人工智能的智能合约安全漏洞挖掘方法及*** |
CN110191096A (zh) * | 2019-04-30 | 2019-08-30 | 安徽工业大学 | 一种基于语义分析的词向量网页入侵检测方法 |
CN110245496A (zh) * | 2019-05-27 | 2019-09-17 | 华中科技大学 | 一种源代码漏洞检测方法及检测器和其训练方法及*** |
-
2019
- 2019-09-24 CN CN201910903735.8A patent/CN110674503B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190188390A1 (en) * | 2017-12-15 | 2019-06-20 | Mastercard International Incorporated | Security vulnerability analytics engine |
CN109063477A (zh) * | 2018-07-18 | 2018-12-21 | 成都链安科技有限公司 | 一种自动化的智能合约代码缺陷检测***和方法 |
CN109886359A (zh) * | 2019-03-25 | 2019-06-14 | 西安电子科技大学 | 基于卷积神经网络的小目标检测方法及检测模型 |
CN109977682A (zh) * | 2019-04-01 | 2019-07-05 | 中山大学 | 一种基于深度学习的区块链智能合约漏洞检测方法及装置 |
CN110135157A (zh) * | 2019-04-04 | 2019-08-16 | 国家计算机网络与信息安全管理中心 | 恶意软件同源性分析方法、***、电子设备及存储介质 |
CN110175454A (zh) * | 2019-04-19 | 2019-08-27 | 肖银皓 | 一种基于人工智能的智能合约安全漏洞挖掘方法及*** |
CN110191096A (zh) * | 2019-04-30 | 2019-08-30 | 安徽工业大学 | 一种基于语义分析的词向量网页入侵检测方法 |
CN110245496A (zh) * | 2019-05-27 | 2019-09-17 | 华中科技大学 | 一种源代码漏洞检测方法及检测器和其训练方法及*** |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259394A (zh) * | 2020-01-15 | 2020-06-09 | 中山大学 | 一种基于图神经网络的细粒度源代码漏洞检测方法 |
CN111259394B (zh) * | 2020-01-15 | 2022-08-05 | 中山大学 | 一种基于图神经网络的细粒度源代码漏洞检测方法 |
CN111488582A (zh) * | 2020-04-01 | 2020-08-04 | 杭州云象网络技术有限公司 | 一种基于图神经网络的智能合约重入性漏洞检测的方法 |
CN111488582B (zh) * | 2020-04-01 | 2023-09-29 | 杭州云象网络技术有限公司 | 一种基于图神经网络的智能合约重入性漏洞检测的方法 |
CN112035841A (zh) * | 2020-08-17 | 2020-12-04 | 杭州云象网络技术有限公司 | 一种基于专家规则与序列化建模的智能合约漏洞检测方法 |
CN112035841B (zh) * | 2020-08-17 | 2024-05-14 | 杭州云象网络技术有限公司 | 一种基于专家规则与序列化建模的智能合约漏洞检测方法 |
CN113626826A (zh) * | 2021-07-29 | 2021-11-09 | 西安电子科技大学 | 智能合约安全检测方法、***、设备、终端及应用 |
Also Published As
Publication number | Publication date |
---|---|
CN110674503B (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674503B (zh) | 一种基于图卷积神经网络的智能合约死循环检测方法 | |
CN108933793B (zh) | 基于知识图谱的攻击图生成方法及其装置 | |
CN111123888B (zh) | 一种工控协议测试方法、***及电子设备和存储介质 | |
CN103746961B (zh) | 一种网络攻击场景的因果知识挖掘方法、装置及服务器 | |
CN112035841B (zh) | 一种基于专家规则与序列化建模的智能合约漏洞检测方法 | |
CN108256063A (zh) | 一种面向网络安全的知识库构建方法 | |
CN111488582A (zh) | 一种基于图神经网络的智能合约重入性漏洞检测的方法 | |
CN111787017A (zh) | 一种区块链攻击溯源***及方法 | |
CN113449303B (zh) | 基于教师-学生网络模型的智能合约漏洞检测方法和*** | |
CN105808430A (zh) | 一种多语义动态污点分析方法 | |
CN109614093A (zh) | 可视化智能合约***以及智能合约的处理方法 | |
CN111240772B (zh) | 一种基于区块链的数据处理方法、装置及存储介质 | |
CN109343983A (zh) | 功能模块间的信息交互方法、装置、设备及存储介质 | |
CN114201756A (zh) | 一种智能合约代码片段的漏洞检测方法和相关装置 | |
CN113783876A (zh) | 基于图神经网络的网络安全态势感知方法及相关设备 | |
CN109388388A (zh) | 功能模块间的信息交互方法、装置、设备及存储介质 | |
CN116663019B (zh) | 一种源代码漏洞检测方法、装置和*** | |
CN106411923A (zh) | 基于本体建模的网络风险评估方法 | |
CN112836214A (zh) | 一种通讯协议隐蔽通道检测方法 | |
CN115086059B (zh) | 基于欺骗域特定语言的欺骗场景描述文件生成方法、装置 | |
CN117195232A (zh) | 一种基于改进图卷积神经网络的智能合约漏洞检测方法 | |
CN117389888A (zh) | 一种基于大语言模型的跨合约漏洞检测技术 | |
CN117763558A (zh) | 基于深度学习的区块链智能合约漏洞特征提取方法及*** | |
CN116561771A (zh) | 基于合约语义图与深广特征融合的智能合约漏洞检测方法 | |
CN117521065A (zh) | 一种区块链去中心化金融的安全检测方法和装置 |
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 |