CN112749389B - 一种检测智能合约破坏敏感数据漏洞的检测方法及装置 - Google Patents

一种检测智能合约破坏敏感数据漏洞的检测方法及装置 Download PDF

Info

Publication number
CN112749389B
CN112749389B CN202011600188.5A CN202011600188A CN112749389B CN 112749389 B CN112749389 B CN 112749389B CN 202011600188 A CN202011600188 A CN 202011600188A CN 112749389 B CN112749389 B CN 112749389B
Authority
CN
China
Prior art keywords
intelligent contract
determining
instruction
vulnerability
index position
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.)
Active
Application number
CN202011600188.5A
Other languages
English (en)
Other versions
CN112749389A (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.)
South China Normal University
Original Assignee
South China Normal 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 South China Normal University filed Critical South China Normal University
Priority to CN202011600188.5A priority Critical patent/CN112749389B/zh
Publication of CN112749389A publication Critical patent/CN112749389A/zh
Application granted granted Critical
Publication of CN112749389B publication Critical patent/CN112749389B/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/55Detecting local intrusion or implementing counter-measures
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly

Abstract

本发明公开了一种检测智能合约破坏敏感数据漏洞的检测方法及装置,方法包括:根据以太坊智能合约反编译技术,构建智能合约字节码的控制流图;根据所述控制流图,获取所述智能合约的执行路径;根据所述智能合约字节码,确定所有变量之间的数据传递关系;根据所述执行路径和所述数据传递关系,检测目标指令;所述目标指令用于读取index位置的存储值;根据所述目标指令的动作状态,确定漏洞检测结果。本发明能够准确及时检测出智能合约破坏敏感数据的漏洞,提高了安全性,可广泛应用于区块链技术领域。

Description

一种检测智能合约破坏敏感数据漏洞的检测方法及装置
技术领域
本发明涉及区块链技术领域,尤其是一种检测智能合约破坏敏感数据漏洞的检测方法及装置。
背景技术
随着区块链技术的日益成熟,目前,区块链平台以太坊首先引入了智能合约作为一个图灵完备的程序,可以自动化区块链的交易去实现复杂的功能。因此,开发者可以发布基于ERC代币标准下的以太坊区块链虚拟代币。在过去的几年里,人们的注意力已经从几个智能合约组成的金融去中心化应用(DApp)上转移。在去中心化金融(DeFi)中,金融活动(例如虚拟代币的交换,存储和借贷)是由不可信网络中的共识算法来保证的。由于去中心化金融应用帮助用户处理并且转移宝贵的财产,所以攻击去中心化金融应用是有利可图的。因此,去中心化金融应用的安全性受到广泛关注。
然而,现有技术不能检测到针对Uniswap的漏洞的攻击,主要在于缺乏对此漏洞行为特征以及数据传递依赖关系的分析和提取。
1.首先,现有分析技术通过监控账号和账户间的以太币流动来检测安全性漏洞,此特征无法识别出针对Uniswap的漏洞的攻击。现有技术无法监控到数据的传递依赖关系,容易漏判此漏洞。
2.其次,因为针对Uniswap的漏洞的攻击并没有出现对控制流干预的行为特征,而现有技术是通过是否干预控制流的行为特征进行判别,为此漏判此漏洞。Uniswap的攻击通过非法的数据传递依赖污染敏感数据(例如:利用不一致状态下的全局变量计算转账金额,并发起转账,攻击者可以通过少量的代币获取大量的以太币),达到攻击目的。
发明内容
有鉴于此,本发明实施例提供一种安全性高的,检测智能合约破坏敏感数据漏洞的检测方法及装置。
本发明的一方面提供了一种检测智能合约破坏敏感数据漏洞的检测方法,包括:
根据以太坊智能合约反编译技术,构建智能合约字节码的控制流图;
根据所述控制流图,获取所述智能合约的执行路径;
根据所述智能合约字节码,确定所有变量之间的数据传递关系;
根据所述执行路径和所述数据传递关系,检测目标指令;所述目标指令用于读取index位置的存储值;
根据所述目标指令的动作状态,确定漏洞检测结果。
优选地,所述方法还包括:
根据所述执行路径和所述数据传递关系,判断是否存在目标指令,当不存在目标指令时,确定漏洞检测结果为不存在漏洞。
优选地,所述根据所述目标指令的动作状态,确定漏洞检测结果,包括:
检测公有函数上是否存在第一指令,若是,则执行下一步骤;反之,则确定漏洞检测结果为不存在漏洞;
根据所述index位置的存储值的状态信息,确定漏洞检测结果。
优选地,所述根据所述index位置的存储值的状态信息,确定漏洞检测结果,包括:
判断所述index位置的存储值是否存在不一致状态,若是,则确定漏洞检测结果为存在漏洞;反之,则确定漏洞检测结果为不存在漏洞。
优选地,所述判断所述index位置的存储值是否存在不一致状态,包括:
确定一条可执行路径,所述可执行路径中包括第二指令、第三指令和第四指令,其中,所述第二指令和第三指令用于外部调用,所述第四指令用于更新所述index位置的存储值;第三指令和第四指令用于判定智能合约在执行阶段是否会出现所述index位置的存储值处于不一致状态;
根据所述可执行路径,确定所述index位置的存储值是否存在不一致状态。
本发明实施例还提供了一种检测智能合约破坏敏感数据漏洞的检测装置,包括:
构架模块,用于根据以太坊智能合约反编译技术,构建智能合约字节码的控制流图;
获取模块,用于根据所述控制流图,获取所述智能合约的执行路径;
第一确定模块,用于根据所述智能合约字节码,确定所有变量之间的数据传递关系;
检测模块,用于根据所述执行路径和所述数据传递关系,检测目标指令;所述目标指令用于读取index位置的存储值;
第二确定模块,用于根据所述目标指令的动作状态,确定漏洞检测结果。
本发明实施例还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明的实施例根据以太坊智能合约反编译技术,构建智能合约字节码的控制流图;根据所述控制流图,获取所述智能合约的执行路径;根据所述智能合约字节码,确定所有变量之间的数据传递关系;根据所述执行路径和所述数据传递关系,检测目标指令;所述目标指令用于读取index位置的存储值;根据所述目标指令的动作状态,确定漏洞检测结果。本发明能够准确及时检测出智能合约破坏敏感数据的漏洞,提高了安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的整体步骤流程图;
图2为本发明实施例提供的检测方法的实现流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
针对现有技术存在的问题,本发明根据对智能合约破坏敏感数据漏洞的分析,针对污染敏感数据漏洞的行为特征建立详细模型,并基于该模型提出一种可以检测此漏洞的方法。针对智能合约编译后所生成的字节码,通过静态分析技术,检测智能合约是否存在触发污染敏感数据的执行路径,检测工具发现此类路径则进行告警。本发明实施例提供了一种检测智能合约破坏敏感数据漏洞的检测方法,如图1所示,该方法具体包括:
根据以太坊智能合约反编译技术,构建智能合约字节码的控制流图;
根据所述控制流图,获取所述智能合约的执行路径;
根据所述智能合约字节码,确定所有变量之间的数据传递关系;
根据所述执行路径和所述数据传递关系,检测目标指令;所述目标指令用于读取index位置的存储值;
根据所述目标指令的动作状态,确定漏洞检测结果。
优选地,所述方法还包括:
根据所述执行路径和所述数据传递关系,判断是否存在目标指令,当不存在目标指令时,确定漏洞检测结果为不存在漏洞。
优选地,所述根据所述目标指令的动作状态,确定漏洞检测结果,包括:
检测公有函数上是否存在第一指令,若是,则执行下一步骤;反之,则确定漏洞检测结果为不存在漏洞;其中,所述第一指令用于读取index位置的存储值;
根据所述index位置的存储值的状态信息,确定漏洞检测结果。
优选地,所述根据所述index位置的存储值的状态信息,确定漏洞检测结果,包括:
判断所述index位置的存储值是否存在不一致状态,若是,则确定漏洞检测结果为存在漏洞;反之,则确定漏洞检测结果为不存在漏洞。
优选地,所述判断所述index位置的存储值是否存在不一致状态,包括:
确定一条可执行路径,所述可执行路径中包括第二指令、第三指令和第四指令,其中,所述第二指令和第三指令用于外部调用,所述第四指令用于更新所述index位置的存储值;第三指令和第四指令用于判定智能合约在执行阶段是否会出现所述index位置的存储值处于不一致状态;
根据所述可执行路径,确定所述index位置的存储值是否存在不一致状态。
图2是本发明实施例提供的一种具体实施环境下的漏洞检测流程图,参考该流程图,下面详细描述本发明的检测方法的实现流程:
如图2所示,针对以太坊智能合约的字节码,“恶意消除重入影响”漏洞的检测流程主要如下:
1.利用以太坊智能合约反编译技术,从以太坊智能合约字节码(由16进制数字组成的字符串序列)出发,构建控制流图,从控制流图分析出智能合约的执行路径。反编译技术是通过他人软件的可执行程序进行逆向分析,推导出其执行过程。控制流图是以基本块(单入口、单出口的最长指令序列)为节点,以基本块之间的跳转关系为边所组成的有向图。通过遍历控制流图,可以分析出智能合约的所有执行路径。
2.从智能合约字节码中分析出所有变量(包括存放在storage中,可以持久化,通过SSTORE等指令进行读取的全局变量、存放在栈和内存中,不可持久化通过MLOAD等指令进行读取局部变量)之间的数据传递关系。
3.检测公有函数(在源代码以public关键字进行申明,可以通过ABI的方式被外部用户进行调用的函数)中是否存在读取index位置存储值(全局变量)的指令stmt1。若存在则跳转值步骤5,否则跳转至步骤4。
4.报告不存在污染敏感数据漏洞。
5.检测是否存在一个数据流可从该index位置存储值流至敏感位置,例如作为交易金额流至外部调用(stmt2)。若存在则跳转值步骤6,否则跳转至步骤4。
6.检测index位置存储值是否存在不一致状态,检测条件如下(a-b),若存在则跳转值步骤7,否则跳转至步骤4。
a)检测是否存在一条可执行路径stmt2-stmt3-stmt4,stmt2和stmt3进行外部调用(例如CALL、DELEGATECALL、CALLCODE等),stmt4更新index位置的存储值。stmt3-stmt4路径主要用于判定智能合约在执行阶段是否会出现index位置存储值处于不一致状态。不一致的状态主要是指先在发生外部调用后再进行存储值更新的全局变量。
b)检测外部调用stmt3所能使用的gas是否充足。
7.报告存在污染敏感数据漏洞。
综上所述,本发明基于对污染敏感数据行为特征进行详细建模,并以漏洞攻击行为特征的方式进行表达描述,从而可以基于该特征利用智能合约的执行路径和相关数据的传递依赖关系,可以在字节码层次上识别出污染敏感数据智能合约漏洞。
与现有的技术相比,本发明所提出的检测方法,通过静态分析智能合约中的执行路径和数据传递依赖关系,结合污染敏感数据漏洞的行为特征,可以检测潜在的污染敏感数据漏洞,从而给予智能合约开发者在部署合约之前发现漏洞的机会,提高智能合约在部署之后的安全性。
本发明实施例还提供了一种检测智能合约破坏敏感数据漏洞的检测装置,包括:
构架模块,用于根据以太坊智能合约反编译技术,构建智能合约字节码的控制流图;
获取模块,用于根据所述控制流图,获取所述智能合约的执行路径;
第一确定模块,用于根据所述智能合约字节码,确定所有变量之间的数据传递关系;
检测模块,用于根据所述执行路径和所述数据传递关系,检测目标指令;所述目标指令用于读取index位置的存储值;
第二确定模块,用于根据所述目标指令的动作状态,确定漏洞检测结果。
本发明实施例还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (4)

1.一种检测智能合约破坏敏感数据漏洞的检测方法,其特征在于,包括:
根据以太坊智能合约反编译技术,构建智能合约字节码的控制流图;
根据所述控制流图,获取所述智能合约的执行路径;
根据所述智能合约字节码,确定所有变量之间的数据传递关系;
根据所述执行路径和所述数据传递关系,检测目标指令;所述目标指令用于读取index位置的存储值;
根据所述目标指令的动作状态,确定漏洞检测结果;所述根据所述目标指令的动作状态,确定漏洞检测结果,包括:
检测公有函数上是否存在第一指令,若是,则执行下一步骤;反之,则确定漏洞检测结果为不存在漏洞;其中,所述第一指令用于读取index位置的存储值;
根据所述index位置的存储值的状态信息,确定漏洞检测结果;所述根据所述index位置的存储值的状态信息,确定漏洞检测结果,包括:
判断所述index位置的存储值是否存在不一致状态,若是,则确定漏洞检测结果为存在漏洞;反之,则确定漏洞检测结果为不存在漏洞;所述判断所述index位置的存储值是否存在不一致状态,包括:
确定一条可执行路径,所述可执行路径中包括第二指令、第三指令和第四指令,其中,所述第二指令和第三指令用于外部调用,所述第四指令用于更新所述index位置的存储值;第三指令和第四指令用于判定智能合约在执行阶段是否会出现所述index位置的存储值处于不一致状态;
根据所述可执行路径,确定所述index位置的存储值是否存在不一致状态。
2.根据权利要求1所述的一种检测智能合约破坏敏感数据漏洞的检测方法,其特征在于,所述方法还包括:
根据所述执行路径和所述数据传递关系,判断是否存在所述目标指令,当不存在目标指令时,确定漏洞检测结果为不存在漏洞。
3.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1-2中任一项所述的方法。
4.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1-2中任一项所述的方法。
CN202011600188.5A 2020-12-29 2020-12-29 一种检测智能合约破坏敏感数据漏洞的检测方法及装置 Active CN112749389B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011600188.5A CN112749389B (zh) 2020-12-29 2020-12-29 一种检测智能合约破坏敏感数据漏洞的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011600188.5A CN112749389B (zh) 2020-12-29 2020-12-29 一种检测智能合约破坏敏感数据漏洞的检测方法及装置

Publications (2)

Publication Number Publication Date
CN112749389A CN112749389A (zh) 2021-05-04
CN112749389B true CN112749389B (zh) 2023-03-14

Family

ID=75646963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011600188.5A Active CN112749389B (zh) 2020-12-29 2020-12-29 一种检测智能合约破坏敏感数据漏洞的检测方法及装置

Country Status (1)

Country Link
CN (1) CN112749389B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113435893B (zh) * 2021-07-01 2022-05-17 支付宝(杭州)信息技术有限公司 智能合约的安全检测方法及装置
CN113672515B (zh) * 2021-08-26 2023-08-04 北京航空航天大学 一种基于符号执行的wasm智能合约漏洞检测方法
CN115293777B (zh) * 2022-10-09 2023-02-24 湖南三湘银行股份有限公司 基于区块链智能合约的区块链钱包操作提醒方法及系统
CN116820405B (zh) * 2023-08-31 2023-12-01 浙江大学 一种基于复用分析的evm字节码控制流图构建方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175454A (zh) * 2019-04-19 2019-08-27 肖银皓 一种基于人工智能的智能合约安全漏洞挖掘方法及系统
CN110597731A (zh) * 2019-09-20 2019-12-20 北京丁牛科技有限公司 一种漏洞检测方法、装置及电子设备
CN111488582A (zh) * 2020-04-01 2020-08-04 杭州云象网络技术有限公司 一种基于图神经网络的智能合约重入性漏洞检测的方法
CN111737357A (zh) * 2020-07-17 2020-10-02 支付宝(杭州)信息技术有限公司 一种智能合约污点追踪方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11144893B2 (en) * 2017-10-30 2021-10-12 Nec Corporation Method and system for securing smart contracts in blockchains

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175454A (zh) * 2019-04-19 2019-08-27 肖银皓 一种基于人工智能的智能合约安全漏洞挖掘方法及系统
CN110597731A (zh) * 2019-09-20 2019-12-20 北京丁牛科技有限公司 一种漏洞检测方法、装置及电子设备
CN111488582A (zh) * 2020-04-01 2020-08-04 杭州云象网络技术有限公司 一种基于图神经网络的智能合约重入性漏洞检测的方法
CN111737357A (zh) * 2020-07-17 2020-10-02 支付宝(杭州)信息技术有限公司 一种智能合约污点追踪方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ContractGuard:面向以太坊区块链智能合约的入侵检测系统;赵淦森等;《网络与信息安全学报》;20200415(第02期);35-53 *
基于符号执行的智能合约漏洞检测方案;赵伟等;《计算机应用》;20200410(第04期);947-953 *
智能合约安全漏洞研究综述;倪远东等;《信息安全学报》;20200515(第03期);78-99 *

Also Published As

Publication number Publication date
CN112749389A (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN112749389B (zh) 一种检测智能合约破坏敏感数据漏洞的检测方法及装置
US7376970B2 (en) System and method for proactive computer virus protection
Feng et al. Formalizing sensitivity in static analysis for intrusion detection
CN101616151B (zh) 一种自动化的网络攻击特征生成方法
EP2975873A1 (en) A computer implemented method for classifying mobile applications and computer programs thereof
KR20180032566A (ko) 다수 소프트웨어 개체들에 걸쳐서 악성 행동을 트래킹하기 위한 시스템들 및 방법들
CN111695119B (zh) 一种基于细粒度静态污点分析与符号执行的web漏洞检测方法
US10198576B2 (en) Identification of mislabeled samples via phantom nodes in label propagation
Zhang et al. BDA: practical dependence analysis for binary executables by unbiased whole-program path sampling and per-path abstract interpretation
CN110765000B (zh) 一种程序测试方法及装置
CN112711760B (zh) 检测智能合约恶意消除重入影响漏洞的检测方法和装置
KR101640479B1 (ko) 소스코드기반 소프트웨어 취약점 공격행위 분석시스템
WO2009152511A2 (en) Control flow deviation detection for software security
US20120030762A1 (en) Functional patching/hooking detection and prevention
Ebad et al. Measuring software obfuscation quality–a systematic literature review
CN115455435A (zh) 一种智能合约模糊测试方法、装置、存储介质及电子设备
Sadeghi et al. Mining the categorized software repositories to improve the analysis of security vulnerabilities
CN110717181B (zh) 基于新型程序依赖图的非控制数据攻击检测方法及装置
JP7019533B2 (ja) 攻撃検知装置、攻撃検知システム、攻撃検知方法および攻撃検知プログラム
CN117033164B (zh) 一种智能合约安全漏洞检测方法和系统
CN117081818A (zh) 基于智能合约防火墙的攻击交易识别与拦截方法及系统
Yu et al. ReDetect: Reentrancy vulnerability detection in smart contracts with high accuracy
CN114647845A (zh) 一种恶意样本延时代码的检测识别方法及装置
Kelly et al. Automatically validating the effectiveness of software diversity schemes
Norouzi et al. The greed trap: Uncovering intrinsic ethereum honeypots through symbolic execution

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