CN112035841A - 一种基于专家规则与序列化建模的智能合约漏洞检测方法 - Google Patents
一种基于专家规则与序列化建模的智能合约漏洞检测方法 Download PDFInfo
- Publication number
- CN112035841A CN112035841A CN202010826790.4A CN202010826790A CN112035841A CN 112035841 A CN112035841 A CN 112035841A CN 202010826790 A CN202010826790 A CN 202010826790A CN 112035841 A CN112035841 A CN 112035841A
- Authority
- CN
- China
- Prior art keywords
- contract
- intelligent contract
- reentry
- vulnerability
- expert rules
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 49
- 239000013598 vector Substances 0.000 claims abstract description 57
- 238000000605 extraction Methods 0.000 claims abstract description 12
- 238000012549 training Methods 0.000 claims abstract description 12
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 11
- 238000004458 analytical method Methods 0.000 claims abstract description 10
- 238000006243 chemical reaction Methods 0.000 claims abstract description 6
- 238000013507 mapping Methods 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 18
- 238000003062 neural network model Methods 0.000 claims description 13
- 238000012038 vulnerability analysis Methods 0.000 claims description 9
- 238000004140 cleaning Methods 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 claims description 2
- 230000009467 reduction Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 11
- 238000013528 artificial neural network Methods 0.000 abstract description 3
- 238000013135 deep learning Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100013558 Arabidopsis thaliana FTSH2 gene Proteins 0.000 description 1
- 101100503482 Arabidopsis thaliana FTSH5 gene Proteins 0.000 description 1
- 101100540153 Arabidopsis thaliana VAR3 gene Proteins 0.000 description 1
- 101100382067 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) BUD14 gene Proteins 0.000 description 1
- 101100033865 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RFA1 gene Proteins 0.000 description 1
- 101150082136 VAR1 gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 150000002170 ethers Chemical class 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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/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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Security & Cryptography (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于专家规则和序列化建模的智能合约漏洞检测方法,实现了智能合约重入漏洞的自动检测,具体包括:制作智能合约源码数据集;对智能合约数据集进行案例分析;智能合约的合约序列块转换方法;利用向量转换工具,将合约序列块映射为向量;利用专家规则自动提取工具,提取重入漏洞专家规则;构建前向神经网络和双向长短时记忆模型进行学习和训练,得到高表达性的向量集;构建分类器模型进行学习和训练,将前向神经网络和双向长短时记忆模型提取的专家规则以及合约序列块的特征向量集输入分类器模型,输出重入漏洞检测结果;该方法填补了当前基于专家规则和深度学习的智能合约安全漏洞检测方法的空缺,具有良好的实用价值和借鉴意义。
Description
技术领域
本发明属于区块链智能合约安全领域,具体涉及一种基于专家规则和序列化建模的智能合约漏洞检测方法。
背景技术
近年来,随着区块链技术日益成熟,智能合约应用也吸引了工业界和学术界的广泛关注;目前,数以万计的智能合约已经部署在各类区块链平台上,持有价值超过100亿美元的虚拟货币;然而,携带如此巨大的财富使得智能合约遭到越来越多攻击者的觊觎;2016年6月,黑客组织利用“The DAO”合约的重入漏洞窃取了价值近6000万美元的以太币;无独有偶,每隔一段时间就会发生智能合约安全漏洞事件,这不仅破坏了基于区块链的信任体系,也阻碍了智能合约的拓展与应用。
智能合约重入漏洞是指攻击者利用其Fallback函数不断从受害者合约中盗取资金,Fallback函数是不带任何参数和返回值的匿名函数,当合约收到以太币时会默认执行;如果攻击者在其Fallback函数中设置恶意操作,很有可能造成无法预料的后果;此外,导致智能合约安全问题的原因主要有:当前编程语言和工具仍然是新的且粗糙的;与传统的分布式应用程序不同,智能合约一旦部署就不可更改,发现错误后也无法进行更新或修正。
目前,研究人员已经开始利用逻辑规则、符号分析以及形式分析等方法对智能合约进行安全漏洞分析;然而,现有的智能合约漏洞检测方法粗糙地使用一些专家规则,狡猾的攻击者很容易绕过这些规则进行攻击,导致很高的漏报率和误报率,检测效果远不能令人满意;同时,随着智能合约数量的增加,仅仅依赖少数专家知识,不可能筛选出所有合约的漏洞规则及精确定义。
随着深度学习技术的发展,神经网络模型在自然语言处理领域取得了巨大的成功和广泛的应用;例如,利用长短期记忆模型解决困难的语义序列化等问题,如语音识别、情感分析、文本预测;然而,由于智能合约的新颖性和复杂性,当前仍然缺少基于深度学习的智能合约漏洞检测方法;因此,结合专家规则和神经网络模型,提出一种新颖且有效智能合约安全漏洞检测方法将会产生重要的使用价值与经济效益。
发明内容
针对上述现有技术存在的问题,为了解决智能合约重入漏洞检测,本发明提供了一种基于专家规则和序列化建模的智能合约漏洞检测方法,通过提取智能合约序列块以及专家规则特征,训练分类器模型,从而实现智能合约重入漏洞自动化检测问题,该方法具体包括如下步骤:
收集并设计智能合约重入漏洞案例,制作智能合约重入漏洞数据集,利用开源漏洞检测工具标注数据集,得到智能合约源码数据集;
将所述智能合约源码数据集进行重入漏洞分析;
将智能合约转换为合约序列块形式,合约序列块是与重入漏洞相关的关键合约代码,不仅在语义上相互关联,而且捕获了与重入漏洞相关的关键信息;
利用向量化工具,将所述合约序列块映射为向量形式;
构建双向长短时记忆模型,将合约序列块向量输入双向长短时记忆模型进行训练,提取高表达性的合约序列块特征;
利用自动提取工具,从智能合约中提取与重入漏洞相关的专家规则并标记;
将所述专家规则输入到前向神经网络模型中进行训练,提取高维度的特征向量;
构建分类器模型,将合约序列块以及专家规则的特征向量输入到分类器模型中,输出智能合约重入漏洞检测结果。
进一步地,所述收集并设计智能合约重入漏洞案例,制作智能合约重入漏洞数据集,利用开源漏洞检测工具标注数据集,具体实现方式为:
基于以太坊平台,实现爬虫工具获取以太坊上部署的智能合约源码,设计并实现相应的智能合约重入漏洞案例,构建智能合约重入漏洞数据集;
利用开源的智能合约漏洞检测工具以及人工审计方式标注重入漏洞数据集。
进一步地,所述将智能合约源码数据集进行重入漏洞分析,具体实现过程如下:
受害者合约中是否调用call.value转账函数;
对攻击者合约的资金扣除操作是否在call.value函数调用之后;
受害者合约中,攻击者账户余额是否大于其申请转账额。
进一步地,所述将智能合约转换为合约序列块形式,具体实现方式为:
给定智能合约,基于智能合约对其进行数据清洗,包括去除空行、非ASCII字符以及与重入漏洞分析不相关的注释等;
根据数据流与控制流依赖,从合约中提取与重入漏洞相关的代码行,构建高表达性的智能合约序列块。
进一步地,所述利用向量化工具,将合约序列块映射为向量形式,提取合约序列块特征向量,具体实现方式为:
通过词法分析对合约序列块进行符号表示,并进一步细分为token形式,利用向量转换工具,把token形式的合约序列块转化为向量形式;
构建双向长短时记忆模型序列化模型,将合约序列块向量作为输入,提取合约序列块特征向量。
进一步地,所述利用自动提取工具,从智能合约中提取与重入漏洞相关的专家规则,具体实现方式为:
通过自动提取工具,从智能合约函数中提取重入漏洞专家规则。
通过关键字匹配与语法分析提取子规则CallValue、BalanceDeduction、BalanceSufficent,其中,子规则CallValue、BalanceDeduction、BalanceSufficent具体含义如下:
CallValue,用来表示合约中是否存在调用call.value函数的情况;
BalanceDeduction,用来表示受害者合约中资金减操作设置是否在call.value函数调用之后;
BalanceSufficent,用来表示合约中攻击者用户余额是否大于其申请转账额。
进一步地,所述将专家规则输入到前向神经网络模型中进行训练,提取高维度的特征向量,具体实现方式为:构建前向神经网络模型,将所述子规则CallValue、BalanceDeduction、BalanceSufficent向量作为输入,提取专家规则特征向量。
进一步地,所述构建分类器模型,将合约序列块以及专家规则的特征向量输入到分类器模型中,输出智能合约重入漏洞检测结果,具体实现方式为:
构建包含多个全连接层和激活函数的分类器模型;
将合约序列块以及专家规则的特征向量输入到分类器模型中进行训练;
利用分类器模型实现智能合约的重入漏洞检测。
本发明利用专家规则自动化提取以及序列化模型,提供了一种基于专家规则和序列化建模的智能合约重入漏洞检测方法,实现了智能合约重入漏洞自动化检测,相较于传统智能合约漏洞检测方法,实现了更准确的检测效果,填补了当前基于专家规则与神经网络模型的智能合约安全漏洞检测方法的空缺,不仅带来了良好的通用性和实用价值,而且具有很好的借鉴意义;具体有益技术效果和创新性主要表现在以下三个方面:
(1)本发明阐述的智能合约专家规则提取方法,能够更全面、多维度的分析智能合约重入漏洞,降低了重入漏洞分析的漏报率;
(2)本发明阐述的智能合约序列块转换方法,减少了无关代码和注释对重入漏洞检测的影响,提高了重入漏洞分析的准确率;
(3)本发明首次结合了专家规则和深度学习模型进行智能合约重入漏洞检测,具有很好的拓展性与借鉴意义。
附图说明
图1为本发明基于专家规则和序列化建模的智能合约重入漏洞检测流程示意图。
图2为本发明数据处理与方案实施示意图。
图3为本发明具体实施例重入攻击仿真示意图。
图4为本发明智能合约序列块的提取与向量化示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
1.本发明基于专家规则和序列化模型实现了智能合约重入漏洞检测,其主要借助专家规则自动提取工具以及智能合约向量化工具处理智能合约重入漏洞数据集,利用前向神经网络模型、双向长短时记忆模型分别提取对应的专家规则特征以及合约序列块特征,构建分类器模型实现智能合约重入漏洞自动检测,其流程如图1所示。
2.如图2所示,对智能合约重入漏洞数据集进行清洗,去除空行、非ASCII字符以及与合约漏洞分析不相关的注释等;其次,对智能合约进行专家规则逻辑判断并且提取相应的重入漏洞子规则,利用前向神经网络模型提取特征向量;同时,利用向量转化工具将合约序列块转化为向量,输入到双向长短时记忆模型中,提取合约序列块特征向量;接着,将由前向神经网络和双向长短时记忆模型提取到的专家规则和合约序列块的特征输入到分类器模型中,训练分类器模型并实现智能合约重入漏洞检测;最后,为了评估该方法的性能,分别从Accuracy,Precision,Recall,F1-Score进行模型评测。
3.本实施例的智能合约重入漏洞以图3所示代码为例,其重入攻击的实现如下:
(1)攻击者合约调用银行合约的deposit函数存入10个Ether(步骤1);
(2)攻击者合约调用银行合约的withdraw函数进行取钱(步骤2);
(3)银行合约调用call.value函数转钱给攻击者合约,从而自动触发攻击者合约的Fallback函数(步骤3);
(4)攻击者合约在其Fallback函数中再次调用取钱函数withdraw(步骤4);
(5)由于userBalance的修改操作在call.value调用之后,银行合约认为攻击者合约仍然有Ether,从而再次将10Ether转给攻击者;由于取钱操作循环了次10(count++<10),攻击者合约最终多窃取了90个Ether(步骤5)。
具体漏洞检测实现过程如下:
(1)首先,对智能合约进行清洗,根据从智能合约中提取关键代码拼接成合约序列块,如图4所示;同时,通过专家规则提取工具和语法分析从智能合约中提取重入漏洞相应的子规则,其具体实施步骤如下:
(1-1)进行数据清理,去除注释、空行以及无关注释;
(1-2)从目标合约中查找与智能合约重入漏洞相关的函数和代码行,根据数据流和控制流依赖,提取关键代码拼接成高表达性的合约序列块,高表达性指凝练的合约序列块相比于繁杂的智能合约源码能够更精准地覆盖与重入漏洞有关的语句;
(1-3)从智能合约中提取和智能合约重入漏洞相关的专家规则,包括“CallValue”、“BalanceDeduction”、“BalanceSufficent”三种子规则。
(2)将步骤(1)得到的合约序列块转化为向量,如图4所示,利用双向长短时记忆模型提取合约序列块特征向量,其具体步骤如下:
(2-1)将用户定义的变量映射为VAR(即VAR1,VAR2,VAR3,…),将用户定义的函数映射为FUN(即FUN1,FUN2,FUN3,…);
(2-2)通过词法分析将符号表示的合约序列块细分为token形式;
(2-3)利用word2vec将token形式的合约序列块转换为向量,并找出性能最佳的向量维度;为了使不同的合约序列块向量等长,进行了一些调整,当向量长度小于固定维度时,在向量的末端加0,当向量长度超过固定维度时,截断向量的末端;利用双向长短时记忆模型为每个合约序列块提取100维的特征向量。
(3)用one-hot编码将专家规则形式化,并在向量末尾添加digit变量表示智能合约是否具有某种子规则,最终得到3个4维向量;利用前向神经网络模型为三个子规则向量提取3个100维的专家规则特征向量,其具体实施步骤如下:
(3-1)用one-hot编码标记专家规则可以得到向量表示如下:
a)子规则一CallValue表示为:(1,0,0);
b)子规则二BalanceDeduction表示为:(0,1,0);
c)子规则三BalanceSufficent表示为:(0,0,1)。
(3-2)以图3中银行合约为例,用digit变量标记三种子规则,具体如下:
a)子规则一CallValue标记为:(1,0,0,1);
b)子规则二BalanceDeduction标记为:(0,1,0,1);
c)子规则三BalanceSufficent标记为:(0,0,1,1)。
(3-3)将(3-1)得到的向量输入到前向神经网络模型中,提取3个100维的向量。
(4)将步骤(2)和步骤(3)得到的合约序列块以及专家规则的特征向量输入到分类器模型中,输出相应的智能合约重入漏洞检测结果(“1”表示存在重入漏洞,“0”表示不存在重入漏洞)。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明;熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动;因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
Claims (8)
1.一种基于专家规则和序列化建模的智能合约漏洞检测方法,其特征在于,结合专家规则以及序列模型实现智能合约重入漏洞的自动化检测,所述智能合约重入漏洞检测方法具体包括如下步骤:
收集并设计智能合约重入漏洞案例,制作智能合约重入漏洞数据集,利用开源漏洞检测工具标注数据集,得到智能合约源码数据集;
将所述智能合约源码数据集进行重入漏洞分析;
将智能合约转换为合约序列块形式;
利用向量化工具,将所述合约序列块映射为向量形式;
构建双向长短时记忆模型,将合约序列块向量输入模型进行训练,提取高表达性的合约序列块特征;
利用自动提取工具,从智能合约中提取与重入漏洞相关的专家规则并标记;
将所述专家规则输入到前向神经网络模型中进行训练,提取高维度的特征向量;
构建分类器模型,将合约序列块以及专家规则的特征向量输入到分类器模型中,输出智能合约重入漏洞检测结果。
2.根据权利要求1所述的一种基于专家规则和序列化建模的智能合约漏洞检测方法,其特征在于,所述收集并设计智能合约重入漏洞案例,制作智能合约重入漏洞数据集,利用开源漏洞检测工具标注数据集,具体为:
基于以太坊平台,实现爬虫工具获取以太坊上验证的智能合约源码,设计并实现相应的智能合约重入漏洞案例,构建智能合约重入漏洞数据集;
利用开源的智能合约漏洞检测工具以及人工审计方式标注重入漏洞数据集。
3.根据权利要求1所述的一种基于专家规则和序列化建模的智能合约漏洞检测方法,其特征在于,所述将智能合约源码数据集进行重入漏洞分析,具体为:
受害者合约中是否调用call.value转账函数;
对攻击者合约的资金扣除操作是否在call.value函数调用之后;
受害者合约中,攻击者账户余额是否大于其申请转账额。
4.根据权利要求1所述的一种基于专家规则和序列化建模的智能合约漏洞检测方法,其特征在于,所述将智能合约转换为合约序列块形式,具体为:
给定智能合约,基于智能合约对其进行数据清洗,包括去除空行、非ASCII字符以及与重入漏洞分析无关的注释;
根据数据流与控制流依赖,从合约中提取与重入漏洞相关的代码行,构建高表达性的智能合约序列块。
5.根据权利要求1所述的一种基于专家规则和序列化建模的智能合约漏洞检测方法,其特征在于,所述利用向量化工具,将合约序列块映射为向量形式,提取合约序列块特征向量,具体实现方式包括:
通过词法分析对合约序列块进行符号表示,并进一步细分为token形式,利用向量转换工具,把token形式的合约序列块转化为向量形式;
构建双向长短时记忆序列化模型,将合约序列块向量输入模型,提取合约序列块特征向量。
6.根据权利要求1所述的一种基于专家规则和序列化建模的智能合约漏洞检测方法,其特征在于,所述利用自动提取工具,从智能合约中提取与重入漏洞相关的专家规则,具体实现方式如下:
通过自动提取工具,从智能合约函数中提取重入漏洞专家规则;
通过关键字匹配与语法分析提取子规则CallValue、BalanceDeduction、BalanceSufficent,其中,子规则CallValue、BalanceDeduction、BalanceSufficent具体含义如下:
CallValue,用来表示合约中是否存在调用call.value函数的情况;
BalanceDeduction,用来表示受害者合约中资金减操作设置是否在call.value函数调用之后;
BalanceSufficent,用来表示合约中攻击者用户余额是否大于其申请转账额。
7.根据权利要求1所述的一种基于专家规则和序列化建模的智能合约漏洞检测方法,其特征在于,所述将专家规则输入到前向神经网络模型中进行训练,提取高维度的特征向量:构建前向神经网络模型,将所述子规则CallValue、BalanceDeduction、BalanceSufficent向量作为输入,提取专家规则特征向量。
8.根据权利要求1所述的一种基于专家规则和序列化建模的智能合约漏洞检测方法,其特征在于,所述构建分类器模型,将合约序列块以及专家规则的特征向量输入到分类器模型中,输出智能合约重入漏洞检测结果,具体实现方式如下:
构建包含多个全连接层和激活函数层的分类器模型;
将合约序列块以及专家规则的特征向量输入到分类器模型进行训练;
利用分类器模型实现智能合约的重入漏洞检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010826790.4A CN112035841B (zh) | 2020-08-17 | 2020-08-17 | 一种基于专家规则与序列化建模的智能合约漏洞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010826790.4A CN112035841B (zh) | 2020-08-17 | 2020-08-17 | 一种基于专家规则与序列化建模的智能合约漏洞检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035841A true CN112035841A (zh) | 2020-12-04 |
CN112035841B CN112035841B (zh) | 2024-05-14 |
Family
ID=73578538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010826790.4A Active CN112035841B (zh) | 2020-08-17 | 2020-08-17 | 一种基于专家规则与序列化建模的智能合约漏洞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035841B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112711760A (zh) * | 2020-12-29 | 2021-04-27 | 华南师范大学 | 检测智能合约恶意消除重入影响漏洞的检测方法和装置 |
CN113221125A (zh) * | 2021-05-31 | 2021-08-06 | 河海大学 | 基于TreeGAN的生成带有漏洞智能合约的方法及系统 |
CN113326050A (zh) * | 2021-07-07 | 2021-08-31 | 浙江工商大学 | 基于神经网络与动态模糊测试结合的智能合约漏洞检测方法 |
CN114707154A (zh) * | 2022-04-06 | 2022-07-05 | 广东技术师范大学 | 一种基于序列模型的智能合约可重入漏洞检测方法及系统 |
TWI822388B (zh) * | 2022-10-12 | 2023-11-11 | 財團法人資訊工業策進會 | 資安防護偵測規則的標示方法及資安威脅策略、技術與攻擊流程標示裝置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800175A (zh) * | 2019-02-20 | 2019-05-24 | 河海大学 | 一种基于代码插桩的以太坊智能合约重入漏洞检测方法 |
CN110175454A (zh) * | 2019-04-19 | 2019-08-27 | 肖银皓 | 一种基于人工智能的智能合约安全漏洞挖掘方法及系统 |
CN110674503A (zh) * | 2019-09-24 | 2020-01-10 | 杭州云象网络技术有限公司 | 一种基于图卷积神经网络的智能合约死循环检测方法 |
US20200201838A1 (en) * | 2018-12-20 | 2020-06-25 | Sri International | Middleware to automatically verify smart contracts on blockchains |
CN111340493A (zh) * | 2020-03-04 | 2020-06-26 | 江苏大学 | 一种多维度分布式异常交易行为检测方法 |
CN111488582A (zh) * | 2020-04-01 | 2020-08-04 | 杭州云象网络技术有限公司 | 一种基于图神经网络的智能合约重入性漏洞检测的方法 |
KR20200094618A (ko) * | 2019-01-30 | 2020-08-07 | 주식회사 린아레나 | 스마트 컨트랙트 유사도 분석을 이용한 소스 코드 감사 방법 및 그 장치 |
-
2020
- 2020-08-17 CN CN202010826790.4A patent/CN112035841B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200201838A1 (en) * | 2018-12-20 | 2020-06-25 | Sri International | Middleware to automatically verify smart contracts on blockchains |
KR20200094618A (ko) * | 2019-01-30 | 2020-08-07 | 주식회사 린아레나 | 스마트 컨트랙트 유사도 분석을 이용한 소스 코드 감사 방법 및 그 장치 |
CN109800175A (zh) * | 2019-02-20 | 2019-05-24 | 河海大学 | 一种基于代码插桩的以太坊智能合约重入漏洞检测方法 |
CN110175454A (zh) * | 2019-04-19 | 2019-08-27 | 肖银皓 | 一种基于人工智能的智能合约安全漏洞挖掘方法及系统 |
CN110674503A (zh) * | 2019-09-24 | 2020-01-10 | 杭州云象网络技术有限公司 | 一种基于图卷积神经网络的智能合约死循环检测方法 |
CN111340493A (zh) * | 2020-03-04 | 2020-06-26 | 江苏大学 | 一种多维度分布式异常交易行为检测方法 |
CN111488582A (zh) * | 2020-04-01 | 2020-08-04 | 杭州云象网络技术有限公司 | 一种基于图神经网络的智能合约重入性漏洞检测的方法 |
Non-Patent Citations (2)
Title |
---|
倪远东;张超;殷婷婷;: "智能合约安全漏洞研究综述", 信息安全学报, no. 03 * |
郑忠斌;王朝栋;蔡佳浩;: "智能合约的安全研究现状与检测方法分析综述", 信息安全与通信保密, no. 07 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112711760A (zh) * | 2020-12-29 | 2021-04-27 | 华南师范大学 | 检测智能合约恶意消除重入影响漏洞的检测方法和装置 |
CN112711760B (zh) * | 2020-12-29 | 2022-11-29 | 华南师范大学 | 检测智能合约恶意消除重入影响漏洞的检测方法和装置 |
CN113221125A (zh) * | 2021-05-31 | 2021-08-06 | 河海大学 | 基于TreeGAN的生成带有漏洞智能合约的方法及系统 |
CN113221125B (zh) * | 2021-05-31 | 2022-09-27 | 河海大学 | 基于TreeGAN的生成带有漏洞智能合约的方法及系统 |
CN113326050A (zh) * | 2021-07-07 | 2021-08-31 | 浙江工商大学 | 基于神经网络与动态模糊测试结合的智能合约漏洞检测方法 |
CN113326050B (zh) * | 2021-07-07 | 2023-10-17 | 浙江工商大学 | 基于神经网络与动态模糊测试结合的智能合约漏洞检测方法 |
CN114707154A (zh) * | 2022-04-06 | 2022-07-05 | 广东技术师范大学 | 一种基于序列模型的智能合约可重入漏洞检测方法及系统 |
CN114707154B (zh) * | 2022-04-06 | 2022-11-25 | 广东技术师范大学 | 一种基于序列模型的智能合约可重入漏洞检测方法及系统 |
TWI822388B (zh) * | 2022-10-12 | 2023-11-11 | 財團法人資訊工業策進會 | 資安防護偵測規則的標示方法及資安威脅策略、技術與攻擊流程標示裝置 |
Also Published As
Publication number | Publication date |
---|---|
CN112035841B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035841A (zh) | 一种基于专家规则与序列化建模的智能合约漏洞检测方法 | |
CN111428044B (zh) | 多模态获取监管识别结果的方法、装置、设备及存储介质 | |
CN110543419A (zh) | 一种基于深度学习技术的智能合约代码漏洞检测方法 | |
CN102012918B (zh) | 一种规律挖掘和执行系统及其方法 | |
CN111488582B (zh) | 一种基于图神经网络的智能合约重入性漏洞检测的方法 | |
CN112035842A (zh) | 一种基于编码解码器的智能合约漏洞检测可解释性方法 | |
CN113486357B (zh) | 一种基于静态分析和深度学习的智能合约安全检测方法 | |
CN111310191B (zh) | 一种基于深度学习的区块链智能合约漏洞检测方法 | |
CN110163242B (zh) | 风险识别方法、装置及服务器 | |
CN106844380A (zh) | 一种数据库操作方法、信息处理方法和相应装置 | |
CN113010209A (zh) | 一种抗编译差异的二进制代码相似性比较技术 | |
CN110688151B (zh) | 一种面向以太坊Solidity智能合约的安全翻译与解析方法 | |
CN103106211B (zh) | 客户咨询文本的情感识别方法及装置 | |
CN114547611A (zh) | 一种基于多模态特征的智能合约庞氏骗局检测方法及系统 | |
CN110674503B (zh) | 一种基于图卷积神经网络的智能合约死循环检测方法 | |
CN109117475A (zh) | 一种文本改写的方法以及相关设备 | |
CN114140123B (zh) | 一种用于以太坊二层网络交易溯源的方法及系统 | |
CN117291722A (zh) | 对象管理方法、相关设备及计算机可读介质 | |
Zhang et al. | SVScanner: Detecting smart contract vulnerabilities via deep semantic extraction | |
CN115129896B (zh) | 基于对比学习的网络安全应急响应知识图谱关系提取方法 | |
CN114900346A (zh) | 基于知识图谱的网络安全测试方法及系统 | |
CN111581047B (zh) | 一种针对智能合约行为的监管方法 | |
CN114201957A (zh) | 文本情感分析方法、装置及计算机可读存储介质 | |
CN112561538A (zh) | 风险模型创制方法、装置、计算机设备及可读存储介质 | |
CN117574214B (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 |