CN110659494A - 一种可扩展的智能合约漏洞检测方法 - Google Patents
一种可扩展的智能合约漏洞检测方法 Download PDFInfo
- Publication number
- CN110659494A CN110659494A CN201910926689.3A CN201910926689A CN110659494A CN 110659494 A CN110659494 A CN 110659494A CN 201910926689 A CN201910926689 A CN 201910926689A CN 110659494 A CN110659494 A CN 110659494A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- vulnerability
- rule
- source code
- xpath
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 46
- 230000014509 gene expression Effects 0.000 claims abstract description 10
- 238000012038 vulnerability analysis Methods 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 17
- 238000007781 pre-processing Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种可扩展的智能合约漏洞检测方法,属于智能合约技术领域。首先根据常见的智能合约安全漏洞,总结出智能合约的漏洞特征,并根据此特征自定义规则,构建智能合约漏洞规则库。当用户检测智能合约源代码时,通过自定义的ANTLR语法规则生成词法分析器和语法分析器,对智能合约源代码进行词法分析和语法分析,将其转化为抽象语法树,然后再转化为XML中间表示;接着提取规则库文件中XPath表达式进行查询和定位XML中间表示中匹配的节点;最后重定位于源代码中的行数,形成漏洞分析报告。本发明通过构建自定义合约漏洞规则库,检测方便,速度快,准确率高,且扩展性好。
Description
技术领域
本发明属于智能合约安全领域,涉及一种可扩展的智能合约漏洞检测方法。
背景技术
智能合约是区块链2.0的核心代表技术之一,其本质是计算机程序,作为运行在区块链上的计算机程序,极大的丰富了区块链的功能,使得区块链不仅仅是分布式账本数据库,而且能够完成一定程度的业务处理。由于区块链不可篡改的特性,一旦被部署到区块链上,则无法修改。如果智能合约中存在安全漏洞,一旦安全漏洞被利用,极有可能导致灾难性的后果。
目前,常见的智能合约安全漏洞检测方法包括基于符号执行与符号抽象的检测方法,基于机器学习或深度学习的检测方法,形式化验证方法,动态模糊检测方法。其中,基于符号执行与符号抽象的方法,是通过构建程序的控制流程图,在控制流程图的基础上,符号执行的方法通过跟踪程序的每一个执行流程来进行检验,而符号抽象的方法,则是通过解耦合约代码的模块,对解耦后的模块进行校验分析,但其存在一定的误报率、且检测时间较长。基于机器学习或深度学习的方法,其理论基础是基于机器学习、深度学习的代码漏洞检测模型,通过对程序代码构建数值型特征作为模型输入,来完成对模型的训练。该方法存在数据集缺失以及模型检测率低等缺陷。基于形式化验证的方法,本质是一个基于数学模型的验证方法,通过数学语言描述合约代码,并证明其满足特定性质。形式化验证方法主要有定理证明、模型检测和等价性验证,它们的侧重点各有不同。定理证明根据公理和形式推演规则来验证设计实现是否满足要求,在对区块链智能合约进行安全检查,由于需要大量的人力干预,效率非常低,并且对验证人技术要求非常高;模型检测可实现机器自动处理智能合约漏洞,但是在处理较复杂的智能合约代码时,常会出现状态爆炸、误报错误、漏报错误等问题;而等价性证明主要验证程序代码的实现与设计原型的功能是否一致,无法检查出程序代码漏洞。模糊测试是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法,即将随机的畸形数据插入程序,观察程序是否能容忍杂乱输入从而发现漏洞,该方法非预期输入不易构造,扩展性差,不能保证系统中已经没有漏洞。
发明内容
有鉴于此,本发明的目的在于针对现有的智能合约漏洞检测方案所存在的检测时间长,扩展性差,成本高等缺点,提供一种可扩展的智能合约漏洞检测方法,旨在检测不同区块链平台和其上各种编程语言的智能合约的常见漏洞,提高检测效率,增强扩展性,降低误报率和漏报率。
为达到上述目的,本发明提供如下技术方案:
一种可扩展的智能合约漏洞检测方法,包括以下步骤:
S1:获取智能合约源代码,对智能合约源代码进行预处理,生成智能合约源代码的中间表示;
S2:获取自定义的智能合约安全漏洞规则库;
S3:通过遍历S2步骤中的规则,对S1步骤生成的中间表示进行匹配检测;
S4:获取S3步骤匹配检测的结果,形成漏洞分析报告。
进一步,步骤S1中所述的预处理包括以下步骤:
S11:根据智能合约的语法规范,自定义一个能识别智能合约语言的ANTLR语法文件,ANTLR根据所述语法文件生成词法分析器和语法分析器;
S12:通过所述词法分析器和语法分析器对智能合约源代码进行词法分析和语法分析,生成抽象语法树;
S13:通过ANTLR的监听器模式遍历所述抽象语法树,将其转化为对应的XML中间表示。
进一步,步骤S2中所述自定义的智能合约安全漏洞规则库包括以下步骤:
S21:根据智能合约常见的安全漏洞,总结出常见智能合约安全漏洞的特征,并根据此特征得出相应的特征代码;
S22:将所述特征代码转换成抽象语法树;
S23:根据所述抽象语法树抽象化地定义相应的XPath模式,并作为一个规则存储于XML文件中,构成智能合约安全漏洞规则库;一个XML文件对应一种智能合约语言,每一类安全漏洞对应XML文件中的一个规则节点,每一个规则节点对应一种或多种XPath模式,一种XPath模式对应一种漏洞检测模式;XPath模式中的节点与抽象语法树中的中间节点名称对应,抽象地表示特征代码。
进一步,步骤S3中所述的匹配检测包括以下步骤:
S31:提取每一个规则中XPath模式中的表达式;
S32:使用步骤S31中提取的XPath表达式进行查询和定位XML中间表示中匹配的节点;
S33:若查询到匹配的节点时,则认为智能合约中存在该条规则定义的漏洞类型,通过重定向机制定位该安全漏洞在源代码中的行号,并将该条规则的相关信息存储在临时存储区中。
进一步,步骤S4中所述的获取匹配检测结果包括以下步骤:
S41:遍历临时存储区;
S42:若不为空,获取S41步骤中相关安全漏洞在源代码的行号以及漏洞信息。
本发明的有益效果在于:
(1)本发明提出的可扩展的智能合约漏洞检测方法,当用户检测智能合约源代码时,通过词法分析和语法分析将源代码转化为抽象语法树,然后为了更方便的进行代码分析,将抽象语法树转化为XML中间表示。接着提取规则库文件中XPath表达式进行查询和定位XML中间表示中匹配的节点。最后重定位于源代码中的行号,形成漏洞分析报告,可方便智能合约开发者快速、准确的定位缺陷代码。
(2)本发明提出的可扩展的智能合约漏洞检测方法,通过ANTLR语法规则生成的词法和语法分析器将智能合约的漏洞特征代码转换为抽象语法树,并根据抽象语法树抽象化地自定义XPath模式,构成规则库。通过构建自定义合约漏洞规则库,检测方便,速度快,准确率高,且扩展性好。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1本发明所述的可扩展的智能合约漏洞检测方法的流程示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
如图1所示,本发明提供了一种可扩展的智能合约漏洞检测方法,其基本思想是:通过ANTLR语法规则生成的词法和语法分析器将智能合约的漏洞特征代码转换为抽象语法树,并根据抽象语法树抽象化地定义XPath模式,形成规则库。当用户检测智能合约源代码时,通过词法分析和语法分析将源代码转化为抽象语法树,再转化为XML中间表示。接着提取规则库文件中XPath表达式进行查询和定位XML中间表示中匹配的节点。最后重定位于源代码中的行数,形成漏洞分析报告。为了能够更容易让本领域技术人员理解,以下将用以太坊区块链Solidity语言智能合约的源代码为例进行说明。
参见图1,本发明的一种可扩展的智能合约漏洞检测方法,该方法包括如下步骤:
S1:获取以太坊智能合约源代码,对以太坊智能合约源代码进行预处理,生成以太坊智能合约源代码的中间表示。
本步骤中,使用Solidity语言编写的以太坊智能合约源代码,以.sol的格式结尾。首先获取.sol的格式结尾的源代码文件,然后对以太坊智能合约源代码进行预处理,其步骤包括如下:
S101:首先,根据以太坊智能合约Solidity的语法规范,自定义一个能识别Solidity智能合约语言的ANTLR语法文件,以.g4的格式结尾。ANTLR将会根据该.g4语法文件生成相应的词法分析器和语法分析器。
S102:然后通过使用S101步骤生成的词法分析器和语法分析器对获取的以太坊智能合约源代码进行词法分析和语法分析,生成对应的抽象语法树。在计算机科学中,抽象语法树(Abstract Syntax Tree,简称AST),是源程序代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源程序代码中的一种结构。AST能够包含整个编译单元的完整表示,比较直观的表示出源程序代码的语法结构。
S103:为了方便后续的代码分析检查,接着通过ANTLR自带的监听器模式遍历S102步骤生成的抽象语法树,将其转化为对应的基于XML格式的中间表示。
S2:获取自定义的以太坊智能合约安全漏洞规则库。
在本步骤中,首先要定义以太坊智能合约安全漏洞规则库,然后当用户检测以太坊智能合约的漏洞时,才能获取规则库,从而获取其中的规则来实现漏洞检测。本发明将根据如下步骤定义以太坊智能合约安全漏洞规则库:
S201:根据以太坊智能合约(solidity语言)常见的安全漏洞,如表1所示,总结出常见的以太坊智能合约安全漏洞特征,并根据此特征得出相应的特征代码。
S202:然后将S201步骤的特征代码转换成抽象语法树。
S203:接着根据S202步骤的抽象语法树,抽象地定义相应的XPath模式。为了方便后续的匹配检测,将智能合约安全漏洞规则库设计为基于XML格式的文件,并将XPath模式存储于XML文件中,构成智能合约安全漏洞规则库。一个XML文件对应一种智能合约语言,每一类安全漏洞对应XML文件中的一个规则节点,每一个规则节点对应一种或多种XPath模式,一种XPath模式对应一种漏洞检测模式。XPath模式中的节点与抽象语法树中的中间节点名称对应,抽象地表示特征代码。
表1以太坊智能合约(solidity语言)常见的安全漏洞
漏洞类型 | 特征说明 |
重入攻击 | 外部调用时,可利用多余的gas重复进入合约们进行执行额外的操作 |
整数溢出 | 整数运算操作而未检测其范围造成的溢出 |
短地址/参数 | 地址不是160位 |
访问权限控制 | 使用tx.origin进行权限验证 |
随机数误用 | 利用下一个block的hash值或时间戳作为生成随机数的种子 |
拒绝服务 | gas耗尽或程序出现逻辑错误,比如使用底层函数调用不熟悉 |
调用未知函数 | 默认调用fallback函数 |
private保持隐私 | Private不能保证修饰的变量的隐私 |
语法风格 | 不具备良好的编码规范是代码更容易出现错误 |
S3:通过遍历S2步骤中的规则,对S1步骤生成的XML中间表示进行匹配检测。
本步骤中,首先遍历以太坊智能合约(solidity语言)安全漏洞规则库中的每一条规则,然后对S1步骤生成的XML中间表示进行匹配检测,其步骤包括:
S301:提取每一个规则中的XPath模式中的表达式。
S302:使用S301步骤提取的XPath表达式进行查询和定位XML中间表示中匹配的节点。
S303:若S302步骤查询到匹配的节点时,则认为智能合约中存在该条规则定义的漏洞类型,通过重定向机制定位该安全漏洞在源代码中的行号,并将该条规则的相关信息存储在临时存储区中。
S4:获取S3步骤匹配检测的结果,形成漏洞分析报告。
本步骤中,首先获取S3步骤匹配检测的结果,然后根据此结果形成漏洞分析报告,其具体的步骤如下:
S401:遍历S303步骤的临时存储区。
S402:若不为空,获取S401步骤中相关安全漏洞在源代码的行号以及漏洞信息,形成漏洞分析报告。
至此,本实例中的以太坊智能合约的安全检测流程已经完成,智能合约开发者可以根据漏洞分析报告进一步改进以太坊智能合约的源代码,减少智能合约中潜在的风险。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (5)
1.一种可扩展的智能合约漏洞检测方法,其特征在于:包括以下步骤:
S1:获取智能合约源代码,对智能合约源代码进行预处理,生成智能合约源代码的中间表示;
S2:获取自定义的智能合约安全漏洞规则库;
S3:通过遍历S2步骤中的规则,对S1步骤生成的中间表示进行匹配检测;
S4:获取S3步骤匹配检测的结果,形成漏洞分析报告。
2.根据权利要求1所述的可扩展的智能合约漏洞检测方法,其特征在于:步骤S1中所述的预处理包括以下步骤:
S11:根据智能合约的语法规范,自定义一个能识别智能合约语言的ANTLR语法文件,ANTLR根据所述语法文件生成词法分析器和语法分析器;
S12:通过所述词法分析器和语法分析器对智能合约源代码进行词法分析和语法分析,生成抽象语法树;
S13:通过ANTLR的监听器模式遍历所述抽象语法树,将其转化为对应的XML中间表示。
3.根据权利要求1所述的可扩展的智能合约漏洞检测方法,其特征在于:步骤S2中所述自定义的智能合约安全漏洞规则库包括以下步骤:
S21:根据智能合约常见的安全漏洞,总结出常见智能合约安全漏洞的特征,并根据此特征得出相应的特征代码;
S22:将所述特征代码转换成抽象语法树;
S23:根据所述抽象语法树抽象化地定义相应的XPath模式,并作为一个规则存储于XML文件中,构成智能合约安全漏洞规则库;一个XML文件对应一种智能合约语言,每一类安全漏洞对应XML文件中的一个规则节点,每一个规则节点对应一种或多种XPath模式,一种XPath模式对应一种漏洞检测模式;XPath模式中的节点与抽象语法树中的中间节点名称对应,抽象地表示特征代码。
4.根据权利要求1所述的可扩展的智能合约漏洞检测方法,其特征在于:步骤S3中所述的匹配检测包括以下步骤:
S31:提取每一个规则中XPath模式中的表达式;
S32:使用步骤S31中提取的XPath表达式进行查询和定位XML中间表示中匹配的节点;
S33:若查询到匹配的节点时,则认为智能合约中存在该条规则定义的漏洞类型,通过重定向机制定位该安全漏洞在源代码中的行号,并将该条规则的相关信息存储在临时存储区中。
5.根据权利要求1所述的可扩展的智能合约漏洞检测方法,其特征在于:步骤S4中所述的获取匹配检测结果包括以下步骤:
S41:遍历临时存储区;
S42:若不为空,获取S41步骤中相关安全漏洞在源代码的行号以及漏洞信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910926689.3A CN110659494A (zh) | 2019-09-27 | 2019-09-27 | 一种可扩展的智能合约漏洞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910926689.3A CN110659494A (zh) | 2019-09-27 | 2019-09-27 | 一种可扩展的智能合约漏洞检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110659494A true CN110659494A (zh) | 2020-01-07 |
Family
ID=69039562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910926689.3A Pending CN110659494A (zh) | 2019-09-27 | 2019-09-27 | 一种可扩展的智能合约漏洞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659494A (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240772A (zh) * | 2020-01-22 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据处理方法、装置及存储介质 |
CN111666216A (zh) * | 2020-06-05 | 2020-09-15 | 中国银行股份有限公司 | 一种智能合约分析方法及装置 |
CN112035842A (zh) * | 2020-08-17 | 2020-12-04 | 杭州云象网络技术有限公司 | 一种基于编码解码器的智能合约漏洞检测可解释性方法 |
CN112070608A (zh) * | 2020-08-20 | 2020-12-11 | 财付通支付科技有限公司 | 信息处理方法、装置、介质及电子设备 |
CN112104709A (zh) * | 2020-08-28 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 智能合约的处理方法、装置、介质及电子设备 |
CN112416358A (zh) * | 2020-11-20 | 2021-02-26 | 武汉大学 | 一种基于结构化词嵌入网络的智能合约代码缺陷检测方法 |
CN112491917A (zh) * | 2020-12-08 | 2021-03-12 | 物鼎安全科技(武汉)有限公司 | 一种物联网设备未知漏洞识别方法及装置 |
CN112860263A (zh) * | 2021-03-08 | 2021-05-28 | 东南大学 | 一种基于智能合约知识图谱的合约缺陷检测方法 |
CN113051580A (zh) * | 2021-04-22 | 2021-06-29 | 橙网(南京)人工智能研究院有限公司 | 一种Hyperledger Fabric智能合约问题检测方法 |
CN113051574A (zh) * | 2021-03-11 | 2021-06-29 | 哈尔滨工程大学 | 一种智能合约二进制代码的漏洞检测方法 |
CN113360915A (zh) * | 2021-06-09 | 2021-09-07 | 扬州大学 | 基于源代码图表示学习的智能合约多漏洞检测方法及系统 |
CN113486357A (zh) * | 2021-07-07 | 2021-10-08 | 东北大学 | 一种基于静态分析和深度学习的智能合约安全检测方法 |
CN113849413A (zh) * | 2021-10-15 | 2021-12-28 | 上海航天计算机技术研究所 | 基于知识库特征匹配的代码规则检查方法及系统 |
CN114282227A (zh) * | 2022-01-12 | 2022-04-05 | 北京大学 | 一种Fabric区块链系统智能合约的安全分析检测方法 |
WO2022108318A1 (ko) * | 2020-11-17 | 2022-05-27 | 주식회사 수호아이오 | 스마트 컨트랙트 코드 취약점 분석 장치 및 방법 |
CN115037512A (zh) * | 2022-04-27 | 2022-09-09 | 中国科学院信息工程研究所 | 面向以太坊公有链智能合约的形式化静态分析方法及装置 |
CN115185525A (zh) * | 2022-05-17 | 2022-10-14 | 贝壳找房(北京)科技有限公司 | 数据倾斜代码块定位方法、装置、设备、介质及程序产品 |
CN115391789A (zh) * | 2022-09-14 | 2022-11-25 | 杭州安碣信息安全科技有限公司 | 一种Rust智能合约智能分析方法及装置 |
CN115879945A (zh) * | 2022-11-03 | 2023-03-31 | 北京邮电大学 | 一种智能合约写后读风险检测方法和电子设备 |
CN116484384A (zh) * | 2023-04-19 | 2023-07-25 | 北京交通大学 | 一种基于深度学习的以太坊智能合约漏洞的检测和定位方法 |
CN117097513A (zh) * | 2023-07-14 | 2023-11-21 | 博智安全科技股份有限公司 | 一种自定义漏洞检测和漏洞利用系统及方法 |
CN117744071A (zh) * | 2023-10-23 | 2024-03-22 | 北京丁牛科技有限公司 | 一种攻击行为检测方法、装置、设备及存储介质 |
CN118350002A (zh) * | 2024-04-29 | 2024-07-16 | 中国电子技术标准化研究院((工业和信息化部电子工业标准化研究院)(工业和信息化部电子第四研究院)) | 区块链源代码的同源检测、代码特征库构建方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492402A (zh) * | 2018-10-25 | 2019-03-19 | 杭州趣链科技有限公司 | 一种基于规则引擎的智能合约安全评测方法 |
-
2019
- 2019-09-27 CN CN201910926689.3A patent/CN110659494A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492402A (zh) * | 2018-10-25 | 2019-03-19 | 杭州趣链科技有限公司 | 一种基于规则引擎的智能合约安全评测方法 |
Non-Patent Citations (1)
Title |
---|
TIKHOMIROV S,VOSKRESENSKAYA E,IVANITSKIY I,ET AL.: ""SmartCheck:static analysis of Ethereum smart contracts"", 《PROCEEDINGS OF THE IEEE/ACM 1ST INTERNATIONAL WORKSHOP ON EMERGING TRENDS IN SOFTWARE ENGINEERING FOR BLOCKCHAIN. PISCATAWAY:IEEE,2018》 * |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240772A (zh) * | 2020-01-22 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据处理方法、装置及存储介质 |
CN111666216A (zh) * | 2020-06-05 | 2020-09-15 | 中国银行股份有限公司 | 一种智能合约分析方法及装置 |
CN111666216B (zh) * | 2020-06-05 | 2024-01-23 | 中国银行股份有限公司 | 一种智能合约分析方法及装置 |
CN112035842A (zh) * | 2020-08-17 | 2020-12-04 | 杭州云象网络技术有限公司 | 一种基于编码解码器的智能合约漏洞检测可解释性方法 |
CN112035842B (zh) * | 2020-08-17 | 2024-04-19 | 杭州云象网络技术有限公司 | 一种基于编码解码器的智能合约漏洞检测可解释性方法 |
CN112070608A (zh) * | 2020-08-20 | 2020-12-11 | 财付通支付科技有限公司 | 信息处理方法、装置、介质及电子设备 |
CN112070608B (zh) * | 2020-08-20 | 2024-03-19 | 财付通支付科技有限公司 | 信息处理方法、装置、介质及电子设备 |
CN112104709A (zh) * | 2020-08-28 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 智能合约的处理方法、装置、介质及电子设备 |
CN112104709B (zh) * | 2020-08-28 | 2022-06-07 | 腾讯科技(深圳)有限公司 | 智能合约的处理方法、装置、介质及电子设备 |
WO2022108318A1 (ko) * | 2020-11-17 | 2022-05-27 | 주식회사 수호아이오 | 스마트 컨트랙트 코드 취약점 분석 장치 및 방법 |
CN112416358A (zh) * | 2020-11-20 | 2021-02-26 | 武汉大学 | 一种基于结构化词嵌入网络的智能合约代码缺陷检测方法 |
CN112416358B (zh) * | 2020-11-20 | 2022-04-29 | 武汉大学 | 一种基于结构化词嵌入网络的智能合约代码缺陷检测方法 |
CN112491917A (zh) * | 2020-12-08 | 2021-03-12 | 物鼎安全科技(武汉)有限公司 | 一种物联网设备未知漏洞识别方法及装置 |
CN112491917B (zh) * | 2020-12-08 | 2021-05-28 | 物鼎安全科技(武汉)有限公司 | 一种物联网设备未知漏洞识别方法及装置 |
CN112860263A (zh) * | 2021-03-08 | 2021-05-28 | 东南大学 | 一种基于智能合约知识图谱的合约缺陷检测方法 |
CN112860263B (zh) * | 2021-03-08 | 2024-07-16 | 东南大学 | 一种基于智能合约知识图谱的合约缺陷检测方法 |
CN113051574A (zh) * | 2021-03-11 | 2021-06-29 | 哈尔滨工程大学 | 一种智能合约二进制代码的漏洞检测方法 |
CN113051580B (zh) * | 2021-04-22 | 2024-02-02 | 南京匡吉信息科技有限公司 | 一种Hyperledger Fabric智能合约问题检测方法 |
CN113051580A (zh) * | 2021-04-22 | 2021-06-29 | 橙网(南京)人工智能研究院有限公司 | 一种Hyperledger Fabric智能合约问题检测方法 |
CN113360915A (zh) * | 2021-06-09 | 2021-09-07 | 扬州大学 | 基于源代码图表示学习的智能合约多漏洞检测方法及系统 |
CN113360915B (zh) * | 2021-06-09 | 2023-09-26 | 扬州大学 | 基于源代码图表示学习的智能合约多漏洞检测方法及系统 |
CN113486357A (zh) * | 2021-07-07 | 2021-10-08 | 东北大学 | 一种基于静态分析和深度学习的智能合约安全检测方法 |
CN113486357B (zh) * | 2021-07-07 | 2024-02-13 | 东北大学 | 一种基于静态分析和深度学习的智能合约安全检测方法 |
CN113849413A (zh) * | 2021-10-15 | 2021-12-28 | 上海航天计算机技术研究所 | 基于知识库特征匹配的代码规则检查方法及系统 |
CN114282227A (zh) * | 2022-01-12 | 2022-04-05 | 北京大学 | 一种Fabric区块链系统智能合约的安全分析检测方法 |
CN115037512A (zh) * | 2022-04-27 | 2022-09-09 | 中国科学院信息工程研究所 | 面向以太坊公有链智能合约的形式化静态分析方法及装置 |
CN115185525A (zh) * | 2022-05-17 | 2022-10-14 | 贝壳找房(北京)科技有限公司 | 数据倾斜代码块定位方法、装置、设备、介质及程序产品 |
CN115391789A (zh) * | 2022-09-14 | 2022-11-25 | 杭州安碣信息安全科技有限公司 | 一种Rust智能合约智能分析方法及装置 |
CN115879945A (zh) * | 2022-11-03 | 2023-03-31 | 北京邮电大学 | 一种智能合约写后读风险检测方法和电子设备 |
CN116484384B (zh) * | 2023-04-19 | 2024-01-19 | 北京交通大学 | 一种基于深度学习的以太坊智能合约漏洞的检测和定位方法 |
CN116484384A (zh) * | 2023-04-19 | 2023-07-25 | 北京交通大学 | 一种基于深度学习的以太坊智能合约漏洞的检测和定位方法 |
CN117097513A (zh) * | 2023-07-14 | 2023-11-21 | 博智安全科技股份有限公司 | 一种自定义漏洞检测和漏洞利用系统及方法 |
CN117744071A (zh) * | 2023-10-23 | 2024-03-22 | 北京丁牛科技有限公司 | 一种攻击行为检测方法、装置、设备及存储介质 |
CN117744071B (zh) * | 2023-10-23 | 2024-08-23 | 北京丁牛科技有限公司 | 一种攻击行为检测方法、装置、设备及存储介质 |
CN118350002A (zh) * | 2024-04-29 | 2024-07-16 | 中国电子技术标准化研究院((工业和信息化部电子工业标准化研究院)(工业和信息化部电子第四研究院)) | 区块链源代码的同源检测、代码特征库构建方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659494A (zh) | 一种可扩展的智能合约漏洞检测方法 | |
CN106951228B (zh) | 版本迭代中差异的处理方法和装置 | |
CN112131882A (zh) | 一种多源异构网络安全知识图谱构建方法及装置 | |
US20170078158A1 (en) | Techniques for yang model version control validation | |
CN106371997B (zh) | 一种代码检查方法及装置 | |
CN102955697B (zh) | 基于面向方面的构件库构建方法 | |
KR20150042877A (ko) | 레코드 포맷 정보의 관리 | |
CN104077531A (zh) | 基于开放漏洞评估语言的系统漏洞评估方法、装置和系统 | |
US9304893B1 (en) | Integrated software development and test case management system | |
CN109800258A (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
US20230418951A1 (en) | Apparatus and method for analyzing vulnerabilities of smart contract code | |
CN110287429A (zh) | 数据解析方法、装置、设备及存储介质 | |
CN115310087A (zh) | 一种基于抽象语法树的网站后门检测方法和系统 | |
EP3438818B1 (en) | Method and device for compiling computer language | |
JP4587976B2 (ja) | アプリケーションの脆弱性検査方法および装置 | |
EP4024251A1 (en) | Method for verifying vulnerabilities of network devices using cve entries | |
CN114035789A (zh) | 日志解析模板的生成方法、日志解析方法、装置及设备 | |
CN103559296A (zh) | 一种基于xml的scpi命令解析方法 | |
CN113672491B (zh) | 检测sql语句合法性的方法、存储介质及终端设备 | |
CN112631944A (zh) | 基于抽象语法树的源码检测方法及装置、计算机存储介质 | |
KR20130048025A (ko) | 가변포맷 메시지 처리장치 및 그 방법 | |
CN110188432B (zh) | 系统架构的验证方法、电子设备及计算机可读存储介质 | |
CN103559127A (zh) | 一种缺陷处理方法及缺陷处理器 | |
CN109560964B (zh) | 一种设备合规检查方法及装置 | |
CN116467047A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200107 |