CN114491513A - 基于知识图谱的区块链智能合约重入攻击检测系统与方法 - Google Patents
基于知识图谱的区块链智能合约重入攻击检测系统与方法 Download PDFInfo
- Publication number
- CN114491513A CN114491513A CN202210054252.7A CN202210054252A CN114491513A CN 114491513 A CN114491513 A CN 114491513A CN 202210054252 A CN202210054252 A CN 202210054252A CN 114491513 A CN114491513 A CN 114491513A
- Authority
- CN
- China
- Prior art keywords
- contract
- relation
- knowledge graph
- intelligent contract
- reentry
- 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 57
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012544 monitoring process Methods 0.000 claims abstract description 28
- 230000003993 interaction Effects 0.000 claims abstract description 24
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 238000004458 analytical method Methods 0.000 claims abstract description 15
- 238000012800 visualization Methods 0.000 claims abstract description 9
- 238000003860 storage Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 11
- 230000006399 behavior Effects 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 abstract description 7
- 238000007726 management method Methods 0.000 abstract description 6
- 238000010276 construction Methods 0.000 abstract description 2
- 238000012806 monitoring device Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于知识图谱的区块链智能合约重入攻击检测系统与方法,包括:智能合约监控器、可疑路径分析器、合约代码反汇编器、合约交互关系提取器和知识图谱管理器,所述合约代码反汇编器、合约交互关系提取器和知识图谱管理器组成预处理子系统,实现对合约交互关系知识图谱的构建、存储、可视化及管理;所述智能合约监控器和可疑路径分析器组成实时监控子系统,结合预处理子系统给出的可疑路径集进行分析、检测和警告。本发明将知识图谱融入合约安全性检测,可理清整个区块链上所有智能合约之间的交互关系,并实时、高效、深入地进行重入漏洞的攻击检测。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种基于知识图谱的区块链智能合约重入攻击检测系统与方法。
背景技术
区块链是一种共享的分布式账本技术,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。智能合约是一种运行于区块链上的特殊应用程序,它允许在没有第三方监控的情况下进行不可逆的可信交易,整个存储、读取、执行过程在区块链上进行,且执行的字节码和过程公开可见。
现阶段的智能合约重入漏洞检测工具大多基于静态的源代码或字节码分析。然而,一方面,静态检测存在路径爆炸的问题,因此对于深层次的重入漏洞难以捕捉。动态分析方法相比之下具有自动化程度高、误报率低、实时分析等优点,可以执行并覆盖到较深的执行路径。但现有的动态检测技术仍然存在数据存储量巨大、交易数据利用不充分、需嵌入以太坊客户端等不足。
发明内容
本发明提出了一种基于知识图谱的区块链智能合约重入攻击检测系统与方法,用以解决现有技术中因无法捕捉智能合约临时调用关系、知识实体对象类型复杂等导致攻击检测效果不佳的技术问题。
为了解决上述技术问题,本发明第一方面公开了基于知识图谱的区块链智能合约重入攻击检测系统,包括:
预处理子系统,用于提取智能合约的固定调用关系,并根据提取的固定调用关系和智能合约创建知识图谱,并对创建的知识图谱进行管理;
实时监控子系统,用于实时检测是智能合约是否产生临时调用,若是,则反馈至预处理子系统,以对当前的知识图谱的关系属性进行更新,并进行后续可疑路径分析和合约监控操作,知识图谱的关系属性为智能合约之间的调用关系。
在一种实施方式中,预处理子系统包括:
合约代码反汇编器,用于将智能合约的字节码反汇编为智能合约操作码;
合约交互关系提取器,用于在智能合约操作码中提取与该智能合约对应的固定调用关系,具体为存储于storage中地址变量的位置和编译进操作码的地址常量;
知识图谱管理器,用于根据提取的固定调用关系和智能合约创建知识图谱,并进行知识图谱的更新,其中,更新知识图谱包括关系属性和节点的更新,关系属性为智能合约间的调用关系和节点为智能合约。
在一种实施方式中,实时监控子系统包括:
临时调用捕获器,用于实时检测合约是否有新的临时调用产生,若是,则触发知识图谱管理器更新当前知识图谱的关系属性;
可疑路径分析器,用于接收来自知识图谱管理器的关系子图,根据关系子图中每个节点的属性关系和重入攻击发生时合约间反复相互调用的特点,分析出所有发生重入攻击的可疑路径集;
智能合约监控器,用于从以太坊主链实时接收智能合约运行的信息,分析合约运行时的具体路径,并与可疑路径集进行匹配,检查是否存在可疑行为。
在一种实施方式中,所述系统还包括警报子系统,用于在实时监控子系统发现合约进入可疑路径时,触发攻击预警报告。
在一种实施方式中,所述系统还包括可视化子系统,用于对知识图谱进行可视化表示。
在一种实施方式中,所述系统还包括数据库系统,用于存储本地重入攻击检测各模块的合约检测用例,并对检测结果进行准确率、覆盖范围和效率分析,得到测试报告。
基于同样的发明构思,本发明第二方面提供了基于知识图谱的区块链智能合约重入攻击检测方法,包括:
a)接收用户输入或链上智能合约的字节码;
b)通过合约代码反汇编器将字节码转换为自定义标准的操作码;
c)通过合约交互关系提取器收集与合约相关的固定调用关系的相关信息并存储于本地;
d)通过临时调用捕获器实时监控输入的参数中是否含有某个智能合约的地址;
f)通过知识图谱管理器载入c)存储的本地信息构建固定调用关系,并接收 d)收集的临时调用关系生成或更新关于合约的调用关系知识图谱;
g)通过可疑路径分析器根据传入的调用关系分析出所有可能发生重入攻击的可疑路径,构成可疑路径集,并将路径集传送给临时调用捕获器;
h)临时调用捕获器接收链上智能合约运行过程,分析实时路径,并与可疑路径集中的所有可疑路径进行匹配,检查是否存在可疑行为;
i)智能合约运行结束后,通过知识图谱管理器检查固定调用关系是否发生改变,同时删除运行的合约相关的所有临时调用关系
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本发明提供的系统,通过预处理子系统提取智能合约的固定调用关系,并根据提取的固定调用关系和智能合约创建知识图谱,并对创建的知识图谱进行管理;通过实时监控子系统实时检测是智能合约是否产生临时调用,若是,则反馈至预处理子系统,以对当前的知识图谱的关系属性进行更新,并进行后续可疑路径分析和合约监控操作,知识图谱的关系属性为智能合约之间的调用关系。将知识图谱融入合约安全性检测,可理清整个区块链上所有智能合约之间的交互关系,并实时、高效、深入地进行重入漏洞的攻击检测,改善了重入攻击检测的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中提供的基于知识图谱的区块链智能合约重入攻击检测系统的功能划分示意图;
图2为本发明实施例中基于知识图谱的区块链智能合约重入攻击检测系统的整体框架图;
图3为本发明实施例中基于知识图谱的关系属性管理框架图;
图4为本发明实施例中智能合约重入检测流程图。
具体实施方式
本申请发明人通过大量的研究与实践发现,现有的静态检测和动态检测均存在一定的问题,虽然,现有技术中也提出了基于智能合约知识图谱的合约缺陷检测方法,但是该方法基于单个Solidity语言的代码文件构建知识图谱,存在无法捕捉合约临时调用关系、知识实体对象类型复杂、不支持人工进行更深入的分析等不足。
因此,在结合知识图谱的基础上,如何设计具有高级语言无关性、支持合约临时调用捕捉和交互关系可视化、知识实体类型统一的重入检测方法,实现重入漏洞更深入、细粒度的自动化检测和分析十分重要。
本发明提供的方法与现有技术相比具有以下的主要优点:
第一,在算法设计方面,给出了时间复杂度为O(n)的重入攻击检测算法;
第二,在合约调用交互管理方面,将知识图谱用于检测智能合约重入攻击。
本发明的主要创新点在于将知识图谱用于智能合约攻击检测,定义了智能合约之间调用关系的种类,从智能合约调用语义入手提取智能合约之间的固定调用关系,并利用知识图谱描述关系的能力,存储、整合合约间调用形成合约间交互关系。与其它已有的方法相比,这个方法在一定程度上解决了由从智能合约实体构建的知识图谱结构复杂、临时调用无法动态捕捉、依赖高级语言类型等问题,极大地减小了已部署上链的智能合约由重入漏洞产生的危害。同时,可以理清整个区块链上所有智能合约之间的交互关系,并且以图的形式清晰地展示在研究人员面前,方便研究人员从调用关系上进行更深层次的研究。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了基于知识图谱的区块链智能合约重入攻击检测系统,包括:
预处理子系统,用于提取智能合约的固定调用关系,并根据提取的固定调用关系和智能合约创建知识图谱,并对创建的知识图谱进行管理;
实时监控子系统,用于实时检测是智能合约是否产生临时调用,若是,则反馈至预处理子系统,以对当前的知识图谱的关系属性进行更新,并进行后续可疑路径分析和合约监控操作,知识图谱的关系属性为智能合约之间的调用关系。
具体来说,知识图谱是一种结构化的语义知识库,用于清晰地描述事物与事物之间的关系。其强大的关系描述能力和快速的关系搜索能力,为对智能合约相对简单的交互调用关系进行高效动态行为分析提供了保障。
本发明提供的系统中,预处理子系统,实现对合约交互关系知识图谱的构建、存储、可视化及管理;一种实时监控子系统,负责结合预处理子系统给出的可疑路径集进行分析、检测和警告。
在一种实施方式中,预处理子系统包括:
合约代码反汇编器,用于将智能合约的字节码反汇编为智能合约操作码;
合约交互关系提取器,用于在智能合约操作码中提取与该智能合约对应的固定调用关系,具体为存储于storage中地址变量的位置和编译进操作码的地址常量;
知识图谱管理器,用于根据提取的固定调用关系和智能合约创建知识图谱,并进行知识图谱的更新,其中,更新知识图谱包括关系属性和节点的更新,关系属性为智能合约间的调用关系和节点为智能合约。
具体来说,通过合约代码反汇编器将智能合约的字节码反汇编为智能合约操作码,是为了方便程序员阅读和下一步固定调用关系的提取。
知识图谱的更新包括合约间调用关系的更新和合约实体节点的增加和删除。
在一种实施方式中,实时监控子系统包括:
临时调用捕获器,用于实时检测合约是否有新的临时调用产生,若是,则触发知识图谱管理器更新当前知识图谱的关系属性;
可疑路径分析器,用于接收来自知识图谱管理器的关系子图,根据关系子图中每个节点的属性关系和重入攻击发生时合约间反复相互调用的特点,分析出所有发生重入攻击的可疑路径集;
智能合约监控器,用于从以太坊主链实时接收智能合约运行的信息,分析合约运行时的具体路径,并与可疑路径集进行匹配,检查是否存在可疑行为。
本发明在前面划分的重入攻击检测系统的基础上,在过程层面上抽象出了一个重入攻击的检测模型,即通过用户输入或链上爬取的合约字节码,依照既定的重入检测算法将被运行中的智能合约的相关调用信息进行提取、管理,并进行实时监控、检测和报告。
在一种实施方式中,所述系统还包括警报子系统,用于在实时监控子系统发现合约进入可疑路径时,触发攻击预警报告。
在一种实施方式中,所述系统还包括可视化子系统,用于对知识图谱进行可视化表示。
具体实施过程中,可视化子系统对合约间调用关系进行知识图谱的neo4j的图数据库存储和可视化表示,方便用户查看并开展进一步深入的其他研究工作。
在一种实施方式中,所述系统还包括数据库系统,用于存储本地重入攻击检测各模块的合约检测用例,并对检测结果进行准确率、覆盖范围和效率分析,得到测试报告。
如图1所示,该实施例提供的区块链智能合约重入攻击检测系统包括:
预处理子系统,用于实现对合约固定调用关系的提取和交互关系知识图谱的管理;
实时监控子系统,用于负责实时监控合约运行过程,分析合约可疑路径;
可视化子系统,用于对合约间调用关系进行知识图谱存储和可视化表示,方便用户查看;
警报系子统,用于实时监控子系统发现合约进入可疑路径时,触发攻击预警报告;
数据库系统,用于存储本地重入攻击检测各模块的合约检测用例,并对检测结果进行准确率、覆盖范围和效率分析,得到测试报告。
预处理子系统具体又包括:
合约代码反汇编器用于将智能合约的字节码反汇编为智能合约操作码。这一步是为了方便程序员阅读和下一步的关系提取;
合约交互关系提取器用于在智能合约操作码中提取有关该智能合约的调用关系,尤其是存储于storage中地址变量的位置和编译进操作码的地址常量,即固定调用关系;
知识图谱管理器用于创建知识图谱、更新知识图谱并提取存入的关系。其中,更新知识图谱包括更新关系和增删节点。
实时监控子系统具体又包括:
临时调用捕获器用于实时检测合约是否有新的调用产生,若是,则触发知识图谱管理器更新当前知识图谱的关系属性,并进行后续可疑路径分析和合约监控操作。
智能合约监控器用于接收智能合约运行的信息,分析合约运行时的具体路径,并与可疑路径集进行匹配,检查是否存在可疑行为。当合约执行进入可疑路径时,系统会给出实时警告和预测路径及结果报告。
可疑路径分析器用于接收来自知识图谱管理器的关系子图,根据图中每个节点的关系和重入攻击的特点,分析出所有发生重入攻击的可疑路径集。
图2为本发明实施例中基于知识图谱的区块链智能合约重入攻击检测系统的整体框架图。
其整体的工作过程是:
(1)系统启动,接收用户输入或链上合约的字节码作为输入;
(2)合约代码反汇编器依据字节码生成自定义操作码;
(3)合约交互关系提取器从操作码提取出固定调用关系,输出给知识图谱管理器;
(4)智能合约监控器(临时调用捕获器)从以太坊监测该合约交互动态,得到临时调用关系,反馈给知识图谱管理器;
(5)知识图谱管理器生成合约交互知识图谱,输出给可视化子系统,并将调用关系输出给可疑路径分析器;
(6)可疑路径分析器根据调用关系集合按照一定策略分析出可疑路径集合,反馈给合约监控器。同时,用户可在可视化界面查看当前已发现的合约交互环境;
(7)合约监控器在监测的同时会捕获合约新的交互上下文,若结合可疑路径,发现存在重入风险,则会触发预警子系统,发送预警报告。
如图3所示,合约重入攻击检测系统可利用知识图谱技术完成对智能合约交互环境的管理,包括:
1)知识图谱管理器获得基于已知合约集的完整合约调用关系集合后,能够构建完整的知识图谱,并以适当的方式表示出来,例如图的形式;
2)动态地新增/删除合约的实例。知识图谱能够针对链上实际运行动态和用户要求实时进行合约节点的增删;
3)除合约节点本身以外,知识图谱管理器能够随着合约的更新而完成对合约间关系的更新。其中,临时调用关系存在时间短,且变动较为频繁,因此对关系的更新速度非常重要。
如图4所示,重入攻击检测系统调用各个子系统,对目标合约进行检测的步骤包括:
a)系统启动,接受合约字节码作为输入;
b)反汇编合约字节码,生成自定义的操作码文件;
c)依据操作码文件和链上交互上下文提取固定和临时合约调用关系集合;
d)针对合约与关系构建或更新知识图谱,生成可视化图像表示;
e)分析交互关系,生成可疑路径集合;
f)结合可疑路径集合,系统监控链上合约实时交互是否存在重入风险。若是,则发出预警报告;若否,则转至步骤g);
g)检查链上临时调用关系是否发生变化。若是,则转至步骤d);若否,则转至步骤f);
h)用户可手动暂停系统完成检测。
实施例二
基于同样的发明构思,本实施例提供了基于知识图谱的区块链智能合约重入攻击检测方法,包括:
a)接收用户输入或链上智能合约的字节码;
b)通过合约代码反汇编器将字节码转换为自定义标准的操作码;
c)通过合约交互关系提取器收集与合约相关的固定调用关系的相关信息并存储于本地;
d)通过临时调用捕获器实时监控输入的参数中是否含有某个智能合约的地址;
f)通过知识图谱管理器载入c)存储的本地信息构建固定调用关系,并接收 d)收集的临时调用关系生成或更新关于合约的调用关系知识图谱;
g)通过可疑路径分析器根据传入的调用关系分析出所有可能发生重入攻击的可疑路径,构成可疑路径集,并将路径集传送给临时调用捕获器;
h)临时调用捕获器接收链上智能合约运行过程,分析实时路径,并与可疑路径集中的所有可疑路径进行匹配,检查是否存在可疑行为;
i)智能合约运行结束后,通过知识图谱管理器检查固定调用关系是否发生改变,同时删除运行的合约相关的所有临时调用关系。
具体实施过程中,方法的工作过程如图4所示:
1.系统启动,用户输入合约字节码文件test.hex或合约地址address,系统自动爬取合约字节码。
2.开启合约代码反汇编器,根据字节码生成自定义操作码文件opcode。
3.系统分别依据操作码文件和链上交互上下文提取固定和临时合约调用关系集合,合并生成合约调用关系属性集合callSet。
4.针对合约与关系构建或更新知识图谱,结合neo4j图数据库,生成可视化图像表示。
5.可疑路径分析器分析交互关系集合,生成可疑路径集合。
6.结合可疑路径集合,系统监控链上合约实时交互是否存在重入风险。若是,则发出预警报告,其中需要包含路径预测和可能造成的结果和损失;若否,则转至步骤7)。
7.实时监控子系统检查链上临时调用关系是否发生变化。若是,则转至步骤 4);若否,则转至步骤6)。
8.用户随时可手动暂停系统完成检测,并查看检测日志。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (7)
1.基于知识图谱的区块链智能合约重入攻击检测系统,其特征在于,包括:
预处理子系统,用于提取智能合约的固定调用关系,并根据提取的固定调用关系和智能合约创建知识图谱,并对创建的知识图谱进行管理;
实时监控子系统,用于实时检测是智能合约是否产生临时调用,若是,则反馈至预处理子系统,以对当前的知识图谱的关系属性进行更新,并进行后续可疑路径分析和合约监控操作,知识图谱的关系属性为智能合约之间的调用关系。
2.如权利要求1所述的基于知识图谱的区块链智能合约重入攻击检测系统,其特征在于,预处理子系统包括:
合约代码反汇编器,用于将智能合约的字节码反汇编为智能合约操作码;
合约交互关系提取器,用于在智能合约操作码中提取与该智能合约对应的固定调用关系,具体为存储于storage中地址变量的位置和编译进操作码的地址常量;
知识图谱管理器,用于根据提取的固定调用关系和智能合约创建知识图谱,并进行知识图谱的更新,其中,更新知识图谱包括关系属性和节点的更新,关系属性为智能合约间的调用关系和节点为智能合约。
3.如权利要求2所述的基于知识图谱的区块链智能合约重入攻击检测系统,其特征在于,实时监控子系统包括:
临时调用捕获器,用于实时检测合约是否有新的临时调用产生,若是,则触发知识图谱管理器更新当前知识图谱的关系属性;
可疑路径分析器,用于接收来自知识图谱管理器的关系子图,根据关系子图中每个节点的属性关系和重入攻击发生时合约间反复相互调用的特点,分析出所有发生重入攻击的可疑路径集;
智能合约监控器,用于从以太坊主链实时接收智能合约运行的信息,分析合约运行时的具体路径,并与可疑路径集进行匹配,检查是否存在可疑行为。
4.如权利要求1所述的基于知识图谱的区块链智能合约重入攻击检测系统,其特征在于,所述系统还包括警报子系统,用于在实时监控子系统发现合约进入可疑路径时,触发攻击预警报告。
5.如权利要求1所述的基于知识图谱的区块链智能合约重入攻击检测系统,其特征在于,所述系统还包括可视化子系统,用于对知识图谱进行可视化表示。
6.如权利要求1所述的基于知识图谱的区块链智能合约重入攻击检测系统,其特征在于,所述系统还包括数据库系统,用于存储本地重入攻击检测各模块的合约检测用例,并对检测结果进行准确率、覆盖范围和效率分析,得到测试报告。
7.基于知识图谱的区块链智能合约重入攻击检测方法,其特征在于,包括:
a)接收用户输入或链上智能合约的字节码;
b)通过合约代码反汇编器将字节码转换为自定义标准的操作码;
c)通过合约交互关系提取器收集与合约相关的固定调用关系的相关信息并存储于本地;
d)通过临时调用捕获器实时监控输入的参数中是否含有某个智能合约的地址;
f)通过知识图谱管理器载入c)存储的本地信息构建固定调用关系,并接收d)收集的临时调用关系生成或更新关于合约的调用关系知识图谱;
g)通过可疑路径分析器根据传入的调用关系分析出所有可能发生重入攻击的可疑路径,构成可疑路径集,并将路径集传送给临时调用捕获器;
h)临时调用捕获器接收链上智能合约运行过程,分析实时路径,并与可疑路径集中的所有可疑路径进行匹配,检查是否存在可疑行为;
i)智能合约运行结束后,通过知识图谱管理器检查固定调用关系是否发生改变,同时删除运行的合约相关的所有临时调用关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210054252.7A CN114491513B (zh) | 2022-01-18 | 2022-01-18 | 基于知识图谱的区块链智能合约重入攻击检测系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210054252.7A CN114491513B (zh) | 2022-01-18 | 2022-01-18 | 基于知识图谱的区块链智能合约重入攻击检测系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114491513A true CN114491513A (zh) | 2022-05-13 |
CN114491513B CN114491513B (zh) | 2024-07-16 |
Family
ID=81512749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210054252.7A Active CN114491513B (zh) | 2022-01-18 | 2022-01-18 | 基于知识图谱的区块链智能合约重入攻击检测系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114491513B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117834258A (zh) * | 2023-12-29 | 2024-04-05 | 蚂蚁智安安全技术(上海)有限公司 | 一种针对区块链合约的重入攻击检测方法和装置 |
CN117834263A (zh) * | 2023-12-29 | 2024-04-05 | 蚂蚁智安安全技术(上海)有限公司 | 一种针对区块链合约的重入攻击检测方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860263A (zh) * | 2021-03-08 | 2021-05-28 | 东南大学 | 一种基于智能合约知识图谱的合约缺陷检测方法 |
WO2021139283A1 (zh) * | 2020-06-16 | 2021-07-15 | 平安科技(深圳)有限公司 | 基于深度学习技术的知识图谱问答方法、装置及设备 |
US20210365555A1 (en) * | 2018-03-18 | 2021-11-25 | Valid Network Ltd | A method and system for detecting and preventing issues in smart contracts based on historical behavior analysis |
-
2022
- 2022-01-18 CN CN202210054252.7A patent/CN114491513B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210365555A1 (en) * | 2018-03-18 | 2021-11-25 | Valid Network Ltd | A method and system for detecting and preventing issues in smart contracts based on historical behavior analysis |
WO2021139283A1 (zh) * | 2020-06-16 | 2021-07-15 | 平安科技(深圳)有限公司 | 基于深度学习技术的知识图谱问答方法、装置及设备 |
CN112860263A (zh) * | 2021-03-08 | 2021-05-28 | 东南大学 | 一种基于智能合约知识图谱的合约缺陷检测方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117834258A (zh) * | 2023-12-29 | 2024-04-05 | 蚂蚁智安安全技术(上海)有限公司 | 一种针对区块链合约的重入攻击检测方法和装置 |
CN117834263A (zh) * | 2023-12-29 | 2024-04-05 | 蚂蚁智安安全技术(上海)有限公司 | 一种针对区块链合约的重入攻击检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114491513B (zh) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108471429B (zh) | 一种网络攻击告警方法及系统 | |
CN108683687B (zh) | 一种网络攻击识别方法及系统 | |
CN108881263B (zh) | 一种网络攻击结果检测方法及系统 | |
CN102790706B (zh) | 海量事件安全分析方法及装置 | |
CN112541022A (zh) | 异常对象检测方法、装置、存储介质及电子设备 | |
CN108833185B (zh) | 一种网络攻击路线还原方法及系统 | |
CN114491513B (zh) | 基于知识图谱的区块链智能合约重入攻击检测系统与方法 | |
CN114528457B (zh) | Web指纹检测方法及相关设备 | |
CN111813960A (zh) | 基于知识图谱的数据安全审计模型装置、方法及终端设备 | |
CN115270131A (zh) | 一种Java反序列化漏洞检测方法及系统 | |
CN114338188B (zh) | 一种基于进程行为序列分片的恶意软件智能云检测系统 | |
CN114205216B (zh) | 微服务故障的根因定位方法、装置、电子设备和介质 | |
CN117744087B (zh) | 基于静态分析的智能设备远程代码执行漏洞检测方法 | |
CN112688966A (zh) | webshell检测方法、装置、介质和设备 | |
CN114584351A (zh) | 一种监控方法、装置、电子设备以及存储介质 | |
CN113836237A (zh) | 对数据库的数据操作进行审计的方法及装置 | |
CN113886829B (zh) | 一种失陷主机检测方法、装置、电子设备及存储介质 | |
CN116915484A (zh) | 元宇宙网络威胁事件推演方法 | |
CN114826639B (zh) | 基于函数调用链跟踪的应用攻击检测方法及装置 | |
CN110443044A (zh) | 区块链客户端漏洞挖掘方法、装置、设备及存储介质 | |
CN115589339B (zh) | 网络攻击类型识别方法、装置、设备以及存储介质 | |
CN115296917B (zh) | 资产暴露面信息获取方法、装置、设备以及存储介质 | |
CN114338187B (zh) | 基于决策树的终端安全检测方法及装置 | |
CN111190813B (zh) | 基于自动化测试的安卓应用网络行为信息提取系统及方法 | |
Prasad et al. | Detection of Ethereum Smart Contracts Vulnerabilities Over Blockchain |
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 |