CN111125716A - 一种以太坊智能合约漏洞检测方法及装置 - Google Patents

一种以太坊智能合约漏洞检测方法及装置 Download PDF

Info

Publication number
CN111125716A
CN111125716A CN201911316138.1A CN201911316138A CN111125716A CN 111125716 A CN111125716 A CN 111125716A CN 201911316138 A CN201911316138 A CN 201911316138A CN 111125716 A CN111125716 A CN 111125716A
Authority
CN
China
Prior art keywords
contract
slice
vulnerability
tested
instruction
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
CN201911316138.1A
Other languages
English (en)
Other versions
CN111125716B (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.)
Renmin University of China
Original Assignee
Renmin University of China
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 Renmin University of China filed Critical Renmin University of China
Priority to CN201911316138.1A priority Critical patent/CN111125716B/zh
Publication of CN111125716A publication Critical patent/CN111125716A/zh
Application granted granted Critical
Publication of CN111125716B publication Critical patent/CN111125716B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种以太坊智能合约漏洞检测方法和装置,包括以下步骤:1)对待测合约和已知漏洞合约的合约字节码转化为指令集,并构建控制流图;2)遍历待测合约的控制流图,找到并标记所有的特定指令作为切片条件;3)对待测合约和已知的漏洞合约进行模拟执行,并完成切片操作;4)将待测合约的切片与已知漏洞合约的切片中和漏洞关系最为密切的切片两两对比,确定二者的相似度,并根据相似度判断待测合约是否存在漏洞合约。本发明在常规匹配技术的基础上,提供了准确率更高的用于智能合约字节码漏洞检测的方法及装置,不依赖漏洞模式等先验知识,可用于对智能合约字节码进行高准确率的漏洞检测与分析。

Description

一种以太坊智能合约漏洞检测方法及装置
技术领域
本发明是关于一种以太坊智能合约漏洞检测方法及装置,属于互联网技术领域。
背景技术
以太坊是一个公共的区块链平台,智能合约是一种部署并运行于以太坊平台上的程序。以太坊提供了一个图灵完备的脚本语言Solidity以供用户编写智能合约,从而允许在没有第三方的情况下用户之间进行可信的交易。然而,不恰当的编码行为可能会在智能合约中引入安全漏洞。由于区块链拥有数据不可篡改的特性,智能合约一旦部署就无法通过补丁等方式对漏洞进行修复,因此相较于传统程序,智能合约若存在漏洞会带来更为严重的危害。
目前许多已造成重大资产损失的智能合约漏洞成因均与不恰当的外部数据处理有关。然而在实际中,函数体内导致漏洞形成的语句往往仅占较小的一部分,若其余与漏洞无关的代码不加以排除则会干扰匹配的结果。由于智能合约的内部逻辑大多较为相似,漏洞无关代码对于匹配的影响会更为显著。此外,由于智能合约部署于以太坊时使用的是编译后的字节码而非源码,匹配的工作需要在字节码层面进行。然而,智能合约的编写语言Solidity是一门高速发展变化中的语言,其编译器也在快速地迭代更新,这就使得相当数量版本的编译器被用于智能合约字节码的生成。同一份源码经由不同版本的编译器编译后得到的字节码很可能存在差异,这会对匹配的结果造成较大影响。
发明内容
针对上述现有技术的不足,本发明的目的是提供一种以太坊智能合约漏洞检测方法及装置,其降低了漏洞中的无关代码对漏洞匹配的干扰,提高了漏洞检测的准确性。
为实现上述目的,本发明提供了一种以太坊智能合约漏洞检测方法,包括以下步骤:1)对待测合约和已知漏洞合约的合约字节码转化为指令集,并构建控制流图;2)遍历待测合约的控制流图,找到并标记所有的特定指令作为切片条件;3)对待测合约和已知的漏洞合约进行模拟执行,并完成切片操作;4)将待测合约的切片与已知漏洞合约的切片中和漏洞关系最为密切的切片两两对比,确定二者的相似度,并根据相似度判断待测合约是否存在漏洞合约。
进一步,步骤4)具体包括:已知漏洞合约的切片中和漏洞关系最为密切的切片设置为漏洞切片库,将待测合约的切片与漏洞切片库中切片两两对比,若一待测合约的切片与漏洞切片库中切片相似度大于阈值,则待测合约的切片对应的合约会被输出为潜在的漏洞合约。
进一步,步骤2)中作为切片条件的特定指令包括引入用户参数的指令以及引入区块上的数据的指令;记录特定指令在智能合约中的位置,以实现对切片条件的标记。
进一步,步骤3)中对待测合约和已知的漏洞合约进行模拟执行包括:模仿以太坊虚拟机的行为,依次执行待测合约中的特定指令;并在模拟执行的过程中同步地更新各个存储结构中的数据,以辅助实现模拟执行期间各特定指令的功能;在遇到需要引入外部数据的特定指令时,将符号作为外部数据的替代送入存储结构内;在遇到条件分支时,根据条件的情况来决定是仅执行某个分支或是分别执行两个分支。
进一步,步骤3)中切片操作包括:若切片条件的指令执行时引入了数据D,那么在后续的执行过程中,将数据D或由数据D衍生出的数据作为参数的指令以“指令+参数”的形式被纳入切片条件的切片。
进一步,对于每一个切片条件及其引入的数据D,当关键的结构性指令I执行时,若有数据D或由数据D衍生出的数据存在于任一存储结构中,则将结构性指令I纳入切片条件的切片。
进一步,对所获得的切片条件的切片进行规范化操作,以减少因使用不同版本编译器编译而造成的字节码上的差异。
进一步,切片规范化的方法包括:对于“指令+参数”形式切片中的“参数”,根据数据来源以及在模拟执行过程中经历过的特定指令,归纳参数的“属性标签”,并采用“属性标签”替换参数在切片中的具体数值;对于参数顺序不敏感的双参数指令,使参数直接按照“属性标签”的字典序进行排序;对于部分参数顺序敏感的双参数指令,使参数直接按照“属性标签”的字典序进行排序,若参数顺序发生变化,则相应地转换指令。
进一步,切片规范化的方法还包括从切片中移除与智能合约语义联系弱的指令,并将规范化后的切片嵌入向量空间。
本发明还公开了一种以太坊智能合约漏洞检测装置,包括:预处理模块,用于对待测合约和已知漏洞合约的合约字节码转化为指令集,并构建控制流图;切片模块,用于对待测合约和已知的漏洞合约进行模拟执行,并完成切片操作;相似度计算模块,用于将待测合约的切片与已知漏洞合约的切片中和漏洞关系最为密切的切片两两对比,确定二者的相似度,并根据相似度判断待测合约是否存在漏洞合约。
本发明由于采取以上技术方案,其具有以下优点:1、本发明在常规匹配技术的基础上,提供了准确率更高的用于智能合约字节码漏洞检测的方法及装置。2、对于匹配过程中存在的漏洞无关代码占比大的问题,本发明通过在字节码层面进行程序切片剔除大量与漏洞无关的代码,从而降低其对于匹配效果的影响。3、对于获取字节码所使用的编译器版本繁多的问题,本发明通过规范化的方式使得所有字节码都向一个标准进行转化,从而尽可能地减小不同版本编译器所带来的影响。4、本发明以匹配技术为基础,不依赖漏洞模式等先验知识,检测结果准确。
附图说明
图1是本发明一实施例中以太坊智能合约漏洞检测方法的流程图。
具体实施方式
以下结合附图来对本发明进行详细的描绘。然而应当理解,附图的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。
实施例一
本实施例提供了一种以太坊智能合约漏洞检测方法,如图1所示,包括以下步骤:1)对待测合约和已知漏洞合约的合约字节码转化为指令集,并构建控制流图;2)遍历待测合约的控制流图,找到并标记所有的特定指令作为切片条件;3)对待测合约和已知的漏洞合约进行模拟执行,并完成切片操作;4)将待测合约的切片与已知漏洞合约的切片两两对比,确定二者的相似度,并根据相似度判断待测合约是否存在漏洞合约。本实施例在常规匹配技术的基础上,提供了准确率更高的用于智能合约字节码漏洞检测的方法,对于匹配过程中存在的漏洞无关代码占比大的问题,本方法通过在字节码层面进行程序切片剔除大量与漏洞无关的代码,从而降低其对于匹配效果的影响。
其中,步骤2)中作为切片条件的特定指令包括引入用户参数的指令,如CALLDATALOAD、CALLDATACOPY等,以及引入区块上的数据的指令,如GASPRICE、BLOCKHASH、COINBASE、TIMESTAMP、DIFFICULTY、NUMBER、GASLIMIT等。记录上述特定指令在智能合约中的位置,以实现对切片条件的标记。
步骤3)中,对待测合约和已知的漏洞合约进行模拟执行包括:模仿以太坊虚拟机的行为,以特定命令的语义为基础,依次执行待测合约中的特定指令;并在模拟执行的过程中同步地更新各个存储结构中的数据,以辅助实现模拟执行期间各特定指令的功能。模拟构造以太坊虚拟机的存储结构包括:栈(Stack)、内存(Memory)以及外存(Storage)。
在遇到需要引入外部数据的特定指令时,将符号作为外部数据的替代送入存储结构内;在遇到条件分支时,根据条件的情况来决定是仅执行某个分支或是分别执行两个分支。并在模拟执行的过程中同步地更新各个存储结构中的数据,以辅助实现模拟执行期间各指令的功能。
步骤3)中切片操作包括:若切片条件SC的指令执行时引入了数据D,那么在后续的执行过程中,将数据D或由数据D衍生出的数据作为参数的指令以“指令+参数”的形式被纳入切片条件SC的切片。
对于每一个切片条件及其引入的数据D,当关键的结构性指令I执行时,若有数据D或由数据D衍生出的数据存在于任一存储结构中,则将结构性指令I纳入切片条件的切片。关键的结构性指令I包括REVERT、INVALID等。
本实施例还包括对所获得的切片进行规范化操作,减少因使用不同版本编译器编译而造成的字节码上的差异。
其中,切片规范化的方法包括:对所获得的切片条件的切片进行规范化操作,以减少因使用不同版本编译器编译而造成的字节码上的差异。
切片规范化的方法具体包括:对于“指令+参数”形式切片中的“参数”,根据数据来源以及在模拟执行过程中经历过的特定指令,归纳参数的“属性标签”,并采用“属性标签”替换参数在切片中的具体数值;对于参数顺序不敏感的双参数指令,如ADD、MUL、EQ、AND、OR、XOR等,使参数直接按照“属性标签”的字典序进行排序;对于部分参数顺序敏感的双参数指令,如LT、GT、SLT、SGT等,使参数直接按照“属性标签”的字典序进行排序,若参数顺序发生变化,则相应地转换指令。
切片规范化的方法还包括从切片中移除与智能合约语义联系弱的指令如REVERT、INVALID等,并将规范化后的切片嵌入向量空间。所有待测合约的切片构成待测切片库,从每个已知漏洞合约的切片中选出与漏洞关系最为密切的切片构成漏洞切片库。
计算待测切片库与漏洞切片库中切片两两之间的相似度。若一待测切片与某漏洞切片的相似度大于阈值,则该切片所对应的合约会被输出为潜在的漏洞合约。
实施例二
本实施例还公开了一种以太坊智能合约漏洞检测装置,包括:预处理模块,用于对待测合约和已知漏洞合约的合约字节码转化为指令集,并构建控制流图;切片模块,用于对待测合约和已知的漏洞合约进行模拟执行,并完成切片操作;相似度计算模块,用于将待测合约的切片与已知漏洞合约的切片与已知漏洞合约的切片中和漏洞关系最为密切的切片两两对比,确定二者的相似度,并根据相似度判断待测合约是否存在漏洞合约,并将所有潜在的漏洞合约报出。
预处理模块包含指令翻译单元和控制流图构建单元。指令翻译单元用于将从以太坊上获取的智能合约字节码转化为更便于分析的指令集。控制流图构建单元用于为每个待测合约构建控制流图,通过JUMP和JUMPI指令划分基本块形成节点,同时根据跳转关系生成各节点之间的边。
切片模块包含切片条件标记单元、模拟执行单元、切片生成单元和切片规范化单元。切片条件标记单元用于在智能合约指令集中标记出所有的切片条件。模拟执行单元用于模仿智能合约字节码在以太坊虚拟机中执行的效果从而确认指令与数据之间的依赖关系,模拟每一条指令执行的效果。切片生成单元用于根据模拟执行的结果生成各个切片条件的切片。切片规范化单元用于将生成的切片规范化。
相似度计算模块包含切片向量化单元和相似度计算单元。切片向量化单元用于将规范化的切片嵌入向量空间,映射为向量。相似度计算单元用于将计算待测合约的切片与漏洞切片两两比较,并计算其相似度,若有一对待测切片向量与漏洞切片向量的相似度大于阈值,则输出待测切片对应的合约为潜在的漏洞合约。
上述内容仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种以太坊智能合约漏洞检测方法,其特征在于,包括以下步骤:
1)对待测合约和已知漏洞合约的合约字节码转化为指令集,并构建控制流图;
2)遍历所述待测合约的控制流图,找到并标记所有的特定指令作为切片条件;
3)对所述待测合约和已知的漏洞合约进行模拟执行,并完成切片操作;
4)将待测合约的切片与已知漏洞合约的切片中和漏洞关系最为密切的切片两两对比,确定二者的相似度,并根据所述相似度判断所述待测合约是否存在漏洞合约。
2.如权利要求1所述的以太坊智能合约漏洞检测方法,其特征在于,所述步骤4)具体包括:已知漏洞合约的切片中和漏洞关系最为密切的切片设置为漏洞切片库,将待测合约的切片与漏洞切片库中切片两两对比,若一待测合约的切片与漏洞切片库中切片相似度大于阈值,则所述待测合约的切片对应的合约会被输出为潜在的漏洞合约。
3.如权利要求1或2所述的以太坊智能合约漏洞检测方法,其特征在于,所述步骤2)中作为切片条件的所述特定指令包括引入用户参数的指令以及引入区块上的数据的指令;记录所述特定指令在智能合约中的位置,以实现对切片条件的标记。
4.如权利要求1或2所述的以太坊智能合约漏洞检测方法,其特征在于,所述步骤3)中对所述待测合约和已知的漏洞合约进行模拟执行包括:模仿以太坊虚拟机的行为,依次执行所述待测合约中的所述特定指令;并在模拟执行的过程中同步地更新各个存储结构中的数据,以辅助实现模拟执行期间各所述特定指令的功能;在遇到需要引入外部数据的所述特定指令时,将符号作为所述外部数据的替代送入所述存储结构内;在遇到条件分支时,根据条件的情况来决定是仅执行某个分支或是分别执行两个分支。
5.如权利要求4所述的以太坊智能合约漏洞检测方法,其特征在于,所述步骤3)中所述切片操作包括:若所述切片条件的指令执行时引入了数据D,那么在后续的执行过程中,将数据D或由数据D衍生出的数据作为参数的指令以“指令+参数”的形式被纳入切片条件的切片。
6.如权利要求5所述的以太坊智能合约漏洞检测方法,其特征在于,对于每一个所述切片条件及其引入的数据D,当关键的结构性指令I执行时,若有数据D或由数据D衍生出的数据存在于任一存储结构中,则将所述结构性指令I纳入切片条件的切片。
7.如权利要求5所述的以太坊智能合约漏洞检测方法,其特征在于,对所获得的切片条件的所述切片进行规范化操作,以减少因使用不同版本编译器编译而造成的字节码上的差异。
8.如权利要求7所述的以太坊智能合约漏洞检测方法,其特征在于,所述切片规范化的方法包括:对于“指令+参数”形式切片中的“参数”,根据数据来源以及在所述模拟执行过程中经历过的所述特定指令,归纳所述参数的“属性标签”,并采用所述“属性标签”替换所述参数在所述切片中的具体数值;对于参数顺序不敏感的双参数指令,使所述参数直接按照所述“属性标签”的字典序进行排序;对于部分参数顺序敏感的双参数指令,使所述参数直接按照所述“属性标签”的字典序进行排序,若参数顺序发生变化,则相应地转换所述指令。
9.如权利要求8所述的以太坊智能合约漏洞检测方法,其特征在于,所述切片规范化的方法还包括从切片中移除与智能合约语义联系弱的指令,并将规范化后的所述切片嵌入向量空间。
10.一种以太坊智能合约漏洞检测装置,其特征在于,包括:
预处理模块,用于对待测合约和已知漏洞合约的合约字节码转化为指令集,并构建控制流图;
切片模块,用于对所述待测合约和已知的漏洞合约进行模拟执行,并完成切片操作;
相似度计算模块,用于将待测合约的切片与与已知漏洞合约的切片中和漏洞关系最为密切的切片两两对比,确定二者的相似度,并根据所述相似度判断所述待测合约是否存在漏洞合约。
CN201911316138.1A 2019-12-19 2019-12-19 一种以太坊智能合约漏洞检测方法及装置 Active CN111125716B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911316138.1A CN111125716B (zh) 2019-12-19 2019-12-19 一种以太坊智能合约漏洞检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911316138.1A CN111125716B (zh) 2019-12-19 2019-12-19 一种以太坊智能合约漏洞检测方法及装置

Publications (2)

Publication Number Publication Date
CN111125716A true CN111125716A (zh) 2020-05-08
CN111125716B CN111125716B (zh) 2022-05-31

Family

ID=70500396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911316138.1A Active CN111125716B (zh) 2019-12-19 2019-12-19 一种以太坊智能合约漏洞检测方法及装置

Country Status (1)

Country Link
CN (1) CN111125716B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112115326A (zh) * 2020-08-19 2020-12-22 北京交通大学 一种以太坊智能合约的多标签分类和漏洞检测方法
CN112379923A (zh) * 2020-12-08 2021-02-19 中国科学院信息工程研究所 漏洞代码克隆检测方法、装置、电子设备和存储介质
CN112581140A (zh) * 2020-12-24 2021-03-30 西安深信科创信息技术有限公司 一种智能合约验证方法、计算机存储介质
CN112711760A (zh) * 2020-12-29 2021-04-27 华南师范大学 检测智能合约恶意消除重入影响漏洞的检测方法和装置
CN113051574A (zh) * 2021-03-11 2021-06-29 哈尔滨工程大学 一种智能合约二进制代码的漏洞检测方法
CN113268732A (zh) * 2021-04-19 2021-08-17 中国人民解放军战略支援部队信息工程大学 Solidity智能合约相似性检测方法及系统
CN113360915A (zh) * 2021-06-09 2021-09-07 扬州大学 基于源代码图表示学习的智能合约多漏洞检测方法及系统
CN113435893A (zh) * 2021-07-01 2021-09-24 支付宝(杭州)信息技术有限公司 智能合约的安全检测方法及装置
CN113515442A (zh) * 2021-03-26 2021-10-19 南京航空航天大学 基于函数签名相似度计算的智能合约测试种子推荐方法
CN115022026A (zh) * 2022-05-31 2022-09-06 电子科技大学 一种区块链智能合约威胁检测装置及方法
CN115310100A (zh) * 2022-10-12 2022-11-08 鹏城实验室 智能合约漏洞修复方法、设备以及介质
CN116361816A (zh) * 2023-06-01 2023-06-30 江西农业大学 一种智能合约漏洞检测方法、系统、存储介质及设备
CN116743499A (zh) * 2023-08-09 2023-09-12 杭州安碣信息安全科技有限公司 一种针对智能合约攻击的模仿交易生成方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268777A (zh) * 2018-01-18 2018-07-10 中国人民大学 一种利用补丁信息进行未知漏洞发现的相似性检测方法
CN109063477A (zh) * 2018-07-18 2018-12-21 成都链安科技有限公司 一种自动化的智能合约代码缺陷检测系统和方法
CN109657473A (zh) * 2018-11-12 2019-04-19 华中科技大学 一种基于深度特征的细粒度漏洞检测方法
CN109933991A (zh) * 2019-03-20 2019-06-25 杭州拜思科技有限公司 一种智能合约漏洞检测的方法、装置
CN110175454A (zh) * 2019-04-19 2019-08-27 肖银皓 一种基于人工智能的智能合约安全漏洞挖掘方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268777A (zh) * 2018-01-18 2018-07-10 中国人民大学 一种利用补丁信息进行未知漏洞发现的相似性检测方法
CN109063477A (zh) * 2018-07-18 2018-12-21 成都链安科技有限公司 一种自动化的智能合约代码缺陷检测系统和方法
CN109657473A (zh) * 2018-11-12 2019-04-19 华中科技大学 一种基于深度特征的细粒度漏洞检测方法
CN109933991A (zh) * 2019-03-20 2019-06-25 杭州拜思科技有限公司 一种智能合约漏洞检测的方法、装置
CN110175454A (zh) * 2019-04-19 2019-08-27 肖银皓 一种基于人工智能的智能合约安全漏洞挖掘方法及系统

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112115326A (zh) * 2020-08-19 2020-12-22 北京交通大学 一种以太坊智能合约的多标签分类和漏洞检测方法
CN112115326B (zh) * 2020-08-19 2022-07-29 北京交通大学 一种以太坊智能合约的多标签分类和漏洞检测方法
CN112379923A (zh) * 2020-12-08 2021-02-19 中国科学院信息工程研究所 漏洞代码克隆检测方法、装置、电子设备和存储介质
CN112581140B (zh) * 2020-12-24 2022-07-29 西安深信科创信息技术有限公司 一种智能合约验证方法、计算机存储介质
CN112581140A (zh) * 2020-12-24 2021-03-30 西安深信科创信息技术有限公司 一种智能合约验证方法、计算机存储介质
CN112711760A (zh) * 2020-12-29 2021-04-27 华南师范大学 检测智能合约恶意消除重入影响漏洞的检测方法和装置
CN112711760B (zh) * 2020-12-29 2022-11-29 华南师范大学 检测智能合约恶意消除重入影响漏洞的检测方法和装置
CN113051574A (zh) * 2021-03-11 2021-06-29 哈尔滨工程大学 一种智能合约二进制代码的漏洞检测方法
CN113515442A (zh) * 2021-03-26 2021-10-19 南京航空航天大学 基于函数签名相似度计算的智能合约测试种子推荐方法
CN113268732A (zh) * 2021-04-19 2021-08-17 中国人民解放军战略支援部队信息工程大学 Solidity智能合约相似性检测方法及系统
CN113268732B (zh) * 2021-04-19 2022-12-20 中国人民解放军战略支援部队信息工程大学 Solidity智能合约相似性检测方法及系统
CN113360915A (zh) * 2021-06-09 2021-09-07 扬州大学 基于源代码图表示学习的智能合约多漏洞检测方法及系统
CN113360915B (zh) * 2021-06-09 2023-09-26 扬州大学 基于源代码图表示学习的智能合约多漏洞检测方法及系统
CN113435893B (zh) * 2021-07-01 2022-05-17 支付宝(杭州)信息技术有限公司 智能合约的安全检测方法及装置
CN113435893A (zh) * 2021-07-01 2021-09-24 支付宝(杭州)信息技术有限公司 智能合约的安全检测方法及装置
CN115022026A (zh) * 2022-05-31 2022-09-06 电子科技大学 一种区块链智能合约威胁检测装置及方法
CN115310100A (zh) * 2022-10-12 2022-11-08 鹏城实验室 智能合约漏洞修复方法、设备以及介质
CN116361816A (zh) * 2023-06-01 2023-06-30 江西农业大学 一种智能合约漏洞检测方法、系统、存储介质及设备
CN116361816B (zh) * 2023-06-01 2023-08-11 江西农业大学 一种智能合约漏洞检测方法、系统、存储介质及设备
CN116743499A (zh) * 2023-08-09 2023-09-12 杭州安碣信息安全科技有限公司 一种针对智能合约攻击的模仿交易生成方法
CN116743499B (zh) * 2023-08-09 2023-10-27 杭州安碣信息安全科技有限公司 一种针对智能合约攻击的模仿交易生成方法

Also Published As

Publication number Publication date
CN111125716B (zh) 2022-05-31

Similar Documents

Publication Publication Date Title
CN111125716B (zh) 一种以太坊智能合约漏洞检测方法及装置
CN112733137B (zh) 一种面向漏洞检测的二进制代码相似性分析方法
CN109426615B (zh) 过程间的空指针解引用检测方法、系统、设备以及介质
CN102054149B (zh) 一种恶意代码行为特征提取方法
CN102339252B (zh) 基于xml中间模型以及缺陷模式匹配的静态检测系统
CN108268777B (zh) 一种利用补丁信息进行未知漏洞发现的相似性检测方法
CN111104335B (zh) 一种基于多层次分析的c语言缺陷检测方法及装置
CN104636256A (zh) 一种内存访问异常的检测方法及装置
CN104899147A (zh) 一种面向安全检查的代码静态分析方法
CN111400724A (zh) 基于代码相似性分析的操作系统脆弱性检测方法、系统及介质
CN112733156A (zh) 基于代码属性图的软件脆弱性智能检测方法、系统及介质
CN110990058B (zh) 软件相似性度量方法及装置
CN113326187A (zh) 数据驱动的内存泄漏智能化检测方法及系统
CN113468525A (zh) 针对二进制程序的相似漏洞检测方法及装置
CN115022026A (zh) 一种区块链智能合约威胁检测装置及方法
CN115129591A (zh) 面向二进制代码的复现漏洞检测方法及系统
CN106919403B (zh) 云环境下基于Java字节码的多粒度代码克隆检测方法
CN117725592A (zh) 一种基于有向图注意力网络的智能合约漏洞检测方法
CN116578989B (zh) 基于深度预训练神经网络的智能合约漏洞检测系统及方法
CN116305131B (zh) 脚本静态去混淆方法及系统
CN111966578A (zh) 一种安卓兼容性缺陷修复效果的自动化评估方法
CN116383832A (zh) 一种基于图神经网络的智能合约漏洞检测方法
CN116401670A (zh) 一种无源码场景下的漏洞补丁存在性检测方法及系统
CN115033884A (zh) 基于危险函数参数依赖的二进制代码漏洞检测方法
CN111176623B (zh) 一种基于图卷积神经网络的c++抽象信息恢复方法

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