CN113569250B - 一种恶意智能合约识别方法及装置 - Google Patents
一种恶意智能合约识别方法及装置 Download PDFInfo
- Publication number
- CN113569250B CN113569250B CN202110742535.6A CN202110742535A CN113569250B CN 113569250 B CN113569250 B CN 113569250B CN 202110742535 A CN202110742535 A CN 202110742535A CN 113569250 B CN113569250 B CN 113569250B
- Authority
- CN
- China
- Prior art keywords
- contract
- intelligent contract
- attack
- abnormal
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000002159 abnormal effect Effects 0.000 claims abstract description 98
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 238000001514 detection method Methods 0.000 claims description 27
- 238000012360 testing method Methods 0.000 claims description 16
- 235000012907 honey Nutrition 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 claims description 4
- 230000006698 induction Effects 0.000 claims description 3
- 238000005242 forging Methods 0.000 claims 2
- 230000000694 effects Effects 0.000 abstract description 3
- 230000006399 behavior Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 241000238631 Hexapoda Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种恶意智能合约识别方法及装置,所述方法包括:获取智能合约的实时数据;基于预设的异常状态模型,从所述实时数据中提取出特征变量,并根据所述特征变量通过预设的操作函数进行计算得到待测数据;当判断所述待测数据落在所述异常状态模型的异常数值区间时,则将与该待测数据相对应的智能合约判定为合约状态异常。本发明通过对监测到的实时数据经过一系列算法后会得出一组待测数据,当判断待测数据落在区间内则判定为异常状态。由于本发明数据监测的异常状态判断依据是区间,因此适用范围较大,从而有效提升了智能合约异常检测的效果。
Description
技术领域
本发明涉及电子信息技术领域,尤其是涉及一种恶意智能合约识别方法及装置。
背景技术
智能合约是一种可以由互不信任的网络节点共同执行已被双方认证的程序,该程序通过特定的共识协议以数字方式强制节点执行:任何节点甚至智能合约的创建者均无法修改智能合约代码、影响代码执行。而且智能合约在链上无法像传统程序那样通过钩子函数对恶意行为进行阻拦,并且发现漏洞和解决漏洞总存在滞后性。用户委托智能合约来处理和转让有价值的资产,这吸引了大量的黑客关注与大量的恶意攻击。而由于智能合约上链后无法修改的特性,智能合约受到恶意攻击往往会导致比常规网络系统上的攻击更加严重的后果。因此如果能在攻击开始之前判断出该次操作是恶意行为,则可以提高智能合约的安全性。
目前,现有相关技术针对异常状态的检测方式通过调用指令序列的行为信息,将其与预设的攻击特征进行匹配验证,判断其行为是否属于恶意行为。然而这种方式存在一个缺点:需要给出已知漏洞的指令序列,指令序列是精确的,而同一类漏洞是大同小异的,但不一定每个漏洞都会完全按照预设的指令序列执行,因此现有技术的缺点在于定义的指令序列适用范围小。
发明内容
本发明旨在提供一种恶意智能合约识别方法及装置,以解决现有技术对于异常状态的检测方式存在适用范围小的问题。
为了解决上述技术问题,本发明提供了一种恶意智能合约识别方法,包括:
获取智能合约的实时数据;
基于预设的异常状态模型,从所述实时数据中提取出特征变量,并根据所述特征变量通过预设的操作函数进行计算得到待测数据;
当判断所述待测数据落在所述异常状态模型的异常数值区间时,则将与该待测数据相对应的智能合约判定为合约状态异常。
进一步地,所述的恶意智能合约识别方法还包括:
根据预先构建的无诱饵代币蜜罐合约项目获取攻击者的攻击信息;
根据所述攻击信息对所述异常状态模型进行更新。
进一步地,所述的恶意智能合约识别方法还包括:
当判定智能合约为合约状态异常时,或当所述无诱饵代币蜜罐合约项目获取到攻击信息时,利用预先构建的判别网络识别出具有关联关系的关联智能合约,并对所述关联智能合约进行攻击测试。
进一步地,所述当判定智能合约为合约状态异常时,或当所述无诱饵代币蜜罐合约项目获取到攻击信息时,利用预先构建的判别网络识别出具有关联关系的关联智能合约,并对所述关联智能合约进行攻击测试,具体包括:
当判定智能合约为合约状态异常时,提取该智能合约的特征数据和所受到攻击的攻击特征;其中,所述特征数据包括调用关系、继承关系、业务特征、状态特征、接口特征、控制流图;
利用所述判别网络根据所述特征数据识别出具有关联关系的关联智能合约,并利用所述攻击特征对所述关联智能合约进行攻击测试。
进一步地,所述当判定智能合约为合约状态异常时,或当所述无诱饵代币蜜罐合约项目获取到攻击信息时,利用预先构建的判别网络识别出具有关联关系的关联智能合约,并对所述关联智能合约进行攻击测试,具体包括:
当所述无诱饵代币蜜罐合约项目获取到攻击者信息时,根据所述无诱饵代币蜜罐合约项目获取的漏洞特征,利用所述判别网络根据所述漏洞特征识别出具有相同漏洞的关联智能合约,并对所述关联智能合约进行攻击测试。
进一步地,所述无诱饵代币蜜罐合约项目的构建方式包括:
基于已在线部署的智能合约项目,根据业务流程伪造用户及其交易和调用特征,构建得到所述无诱饵代币蜜罐合约项目。
进一步地,所述智能合约的实时数据的获取方式包括:
利用代码插桩方法对目标虚拟机进行实时数据监控,以获取得到所述智能合约的实时数据。
为了解决相同的技术问题,本发明还提供了一种恶意智能合约识别装置,包括:
数据获取模块,用于获取智能合约的实时数据;
特征提取模块,用于基于预设的异常状态模型,从所述实时数据中提取出特征变量,并根据所述特征变量通过预设的操作函数进行计算得到待测数据;
异常判断模块,用于当判断所述待测数据落在所述异常状态模型的异常数值区间时,则将与该待测数据相对应的智能合约判定为合约状态异常。
进一步地,所述的恶意智能合约识别装置还包括:
攻击诱导模块,用于根据预先构建的无诱饵代币蜜罐合约项目获取攻击者的攻击信息;
模型更新模块,用于根据所述攻击信息对所述异常状态模型进行更新。
进一步地,所述的恶意智能合约识别装置还包括:
协同检测模块,用于当判定智能合约为合约状态异常时,或当所述无诱饵代币蜜罐合约项目获取到攻击信息时,利用预先构建的判别网络识别出具有关联关系的关联智能合约,并对所述关联智能合约进行攻击测试。
与现有技术相比,本发明具有如下有益效果:
本发明公开了一种恶意智能合约识别方法及装置,所述方法包括:获取智能合约的实时数据;基于预设的异常状态模型,从所述实时数据中提取出特征变量,并根据所述特征变量通过预设的操作函数进行计算得到待测数据;当判断所述待测数据落在所述异常状态模型的异常数值区间时,则将与该待测数据相对应的智能合约判定为合约状态异常。本发明通过对监测到的实时数据经过一系列算法后会得出一组待测数据,当判断待测数据落在区间内则判定为异常状态。由于本发明数据监测的异常状态判断依据是区间,因此适用范围较大,从而有效提升了智能合约异常检测的效果。
附图说明
图1是本发明一实施例提供的恶意智能合约识别方法的流程示意图;
图2是本发明一实施例提供的智能合约入侵检测系统架构示意图;
图3是本发明一实施例提供的恶意智能合约识别装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,本发明实施例提供了一种恶意智能合约识别方法,包括步骤:
S1、获取智能合约的实时数据。
在本发明实施例中,进一步地,所述智能合约的实时数据的获取方式包括:
利用代码插桩方法对目标虚拟机进行实时数据监控,以获取得到所述智能合约的实时数据。
S2、基于预设的异常状态模型,从所述实时数据中提取出特征变量,并根据所述特征变量通过预设的操作函数进行计算得到待测数据;
S3、当判断所述待测数据落在所述异常状态模型的异常数值区间时,则将与该待测数据相对应的智能合约判定为合约状态异常。
在本发明实施例中,进一步地,所述的恶意智能合约识别方法还包括步骤:
S4、根据预先构建的无诱饵代币蜜罐合约项目获取攻击者的攻击信息。
在本发明实施例中,进一步地,所述无诱饵代币蜜罐合约项目的构建方式包括:
基于已在线部署的智能合约项目,根据业务流程伪造用户及其交易和调用特征,构建得到所述无诱饵代币蜜罐合约项目。
S5、根据所述攻击信息对所述异常状态模型进行更新。
在本发明实施例中,进一步地,所述的恶意智能合约识别方法还包括步骤:
S6、当判定智能合约为合约状态异常时,或当所述无诱饵代币蜜罐合约项目获取到攻击信息时,利用预先构建的判别网络识别出具有关联关系的关联智能合约,并对所述关联智能合约进行攻击测试。
在本发明实施例中,进一步地,步骤S6具体包括:
当判定智能合约为合约状态异常时,提取该智能合约的特征数据和所受到攻击的攻击特征;其中,所述特征数据包括调用关系、继承关系、业务特征、状态特征、接口特征、控制流图;
利用所述判别网络根据所述特征数据识别出具有关联关系的关联智能合约,并利用所述攻击特征对所述关联智能合约进行攻击测试。
在本发明实施例中,进一步地,步骤S6具体还包括:
当所述无诱饵代币蜜罐合约项目获取到攻击者信息时,根据所述无诱饵代币蜜罐合约项目获取的漏洞特征,利用所述判别网络根据所述漏洞特征识别出具有相同漏洞的关联智能合约,并对所述关联智能合约进行攻击测试。
基于上述方案,为便于更好的理解本发明实施例提供的恶意智能合约识别方法,以下进行详细说明:
需要说明的是,鉴于现有技术对于异常状态的检测方式存在适用范围小,成本高的问题,所以本发明采用监测数据状态的方式来实现对异常状态的监测,本发明监测的数据经过一系列算法后会得出一组数据,针对每个数据我们设定了一个区间,数据在区间内则是异常状态。由于数据流监测的异常状态是区间,因此适用范围较大,而且对于类似的漏洞可以做到可拓展性的防护。
本发明实施例将通过已知漏洞建立异常状态模型,通过实时数据与模型的匹配来判定智能合约是否是恶意智能合约。同时还通过“蜜罐技术”获取攻击者的攻击信息,用获得的信息来预防“0-day漏洞”,并通过获取的攻击信息不断升级异常模型状态。最后再通过“协同入侵检测”技术在基于智能合约的调用关系,继承关系,业务特征等数据的前提下考察同一类攻击是否会对某些具有关联关系的一系列智能合约产生类似的影响,从而在关联智能合约间实现攻击行为的协同分析,进而确保具有相似漏洞的合约都能够被加固。
1、智能合约入侵检测:
智能合约存在着大量未经完善代码审计而导致的漏洞和由于虚拟机(例如整数溢出漏洞)、区块链平台(例如:交易顺序依赖)实现机制导致的漏洞。对于已知漏洞,防火墙可在攻击者发起攻击交易(或消息调用)时基于交易(或调用)参数来进行拦截。然而,随着区块链实现技术的而不断迭代更新,“0-day”漏洞也需要被重点关注,而这正是智能合约入侵检测技术希望解决的问题。
本发明实施例的智能合约入侵检测系统架构如图2所示,首先通过监控虚拟机的对智能合约异常状态和蜜罐合约受到的攻击行为进行采集,从而获得状态异常的智能合约上下文环境,并面向与之关联(即具有调用关系,嵌套关系,继承关系等)的合约对攻击行为机理进行分析、研究。
类似于传统入侵检测技术,本发明研发的智能合约的入侵检测技术旨在形成与拦截智能合约交易的智能合约防火墙技术有效联动的机制。入侵检测技术在检测到上链部署智能合约的异常状态后,经过分析形成防火墙拦截策略和规则,从而更新防火墙规则,进而提升防火墙的拦截效率。
智能合约异常状态检测可被分解为两个子问题:(1)如何定义智能合约异常状态;(2)如何检测智能合约异常状态。
显然,基于已知智能合约漏洞可以精确描述智能合约在受到攻击时的状态,但过于局限在漏洞细节会造成对已知漏洞范围外的智能合约异常状态描述能力不足,从而导致无法防范未知漏洞,难以对“0-day”漏洞形成有效反馈。因此,为了从一个更通用的角度描述智能合约的异常状态,本项目对智能合约的通用化异常状态形式化模型描述如下:
f(x1,x2,…)∈A
其中xi(i=1,2,…)可以为智能合约的某个状态数据、调用参数、调用关系、交易费用等,f()为判定智能合约状态是否异常的操作函数,A为异常状态的取值范围。取值范围有两类:
一,连续的异常数值区间,上述异常智能合约状态可形式化描述如下:
f(x1,x2,…)∈∪[α,β]
其中,U[α,β]描述一组预定义的数值区间。
例如:x1,x2是合约某个参数,x3是合约状态数据,异常范围是[4,5.64],x1,x2,x3经过函数f计算,最后输出数值是5,落在异常区间内,则合约状态异常。
二,离散的数值集合(为了便于表达,下文统一采用离散数值集合表达异常状态的取值范围)。考虑到智能合约的异常状态不止一个,一个智能合约的异常状态集合描述如下:
S={si|si=fi(xi1,xi2,...)∈Ai,i=1,2...n}。
例如:x1,x2,x3是合约某个参数,x4是合约状态数据,x5是交易费用,异常范围是{1,1.2,1.8,2.5,3.3,4.1,…},x1,x2,x3,x4,x5经过函数f计算,最后输出数值是1.2,落在异常区间内,则合约状态异常。
基于上述对异常状态的形式定义,异常状态显然与智能合约的实现细节密切相关,对于承载不同应用业务的智能合约,需要重点监控的合约状态也不同。
例如:交易所的币种存量,维持币种间兑换率的k值;银行的参数balance状态等。因此,对于智能合约异常状态的具体定义应由智能合约的开发者根据监控防护需求给出,上述模型就是本发明给出的异常状态的描述模型。
相比于逻辑一致性检测方法,异常状态检测关注的是关联状态的异常数值集合,而逻辑一致性检测方法关注的是正常数值集合,为了确保智能合约的可用性和低误报率,两种方法可以协同使用,同时不会影响其他业务的正常运行。
考虑到异常状态的检测需要匹配异常状态数据,而这些数据无需记录在账本上,因此本项目拟通过在虚拟机代码中插桩(插桩:在代码的部分插入print语句,从而打印出想要查看的关键数据)来查看在区块链上的智能合约的状态。因为异常状态检测不需要对智能合约交易行为进行干预,所以只需要在少量拥有所有数据节点的虚拟机上插桩即可。具体的,在虚拟机验证交易结果的过程中,本项目实时监控虚拟机状态数据,如果链上打印的虚拟机状态数据与链下保存的异常状态匹配,则触发异常状态预警、记录异常行为日志和进一步的异常数据(线下人工分析),而后将分析结果用于防火墙规则更新。
2、智能合约蜜罐构建技术:
在不考虑分叉的情况下,针对智能合约攻击一旦成功则难以撤销,而攻击造成的危害往往很大。因此,为了让承载应用价值的智能合约更好的抵御攻击行为,需要构建智能合约蜜罐。
“蜜罐”是一个术语,专指用于检测并防御黑客攻击的陷阱,因类似诱捕昆虫的蜜罐而得名。在智能合约当中,蜜罐合约故意存在部分漏洞,吸引攻击者进行攻击,蜜罐及其监控者借此收集证据以及包括攻击者地址、攻击时间、攻击方法相关的攻击信息,为分析攻击行为、统计攻击地址、建立攻击者黑白名单等机制提供良好的信息来源。
构建蜜罐的好处在于:一,智能合约蜜罐可以冒充承载应用价值的合约项目吸引攻击者,从而提高攻击者的攻击成本;二,智能合约蜜罐可以搜集“0-day”漏洞信息(攻击者地址、攻击行为特点),从而在攻击者实施攻击前对合约进行加固。
与市场上主流的“诱饵代币蜜罐”不同,本发明中的蜜罐合约是“无诱饵代币逼真蜜罐”。为了逼真的构造智能合约蜜罐,本项目拟对已在线部署的智能合约项目进行仿写,并依据业务流程伪造用户以及面向智能合约蜜罐的交易和调用,进而构造一个由蜜罐组成的智能合约项目。
通过在区块链公链浏览器上开源的智能合约源代码可获得在线部署的智能合约,因为目前最大的智能合约项目群在以太坊上,本项目主要参考etherscan浏览器上开源的智能合约代码(由于访问联盟链浏览器开源的代码量有权限要求,因此本项目暂不参考)。对于业务流程需要代币的智能合约项目,通过自定义内部状态限制“代币”提取/交易权限或通过构造高额花费循环迫使交易回滚,例如:1、定义一个参数a=0且在程序中不对a进行修改,代币提取条件:当a!=0时,代币可以提取。2、写一个循环函数使运行完程序需要的gas始终比已加入的gas多,使程序永远无法完成运行,从而导致交易回滚。
本项目构造的智能合约蜜罐不是通过“诱饵”代币引诱攻击者付费,而是通过构造逼真智能合约蜜罐引诱攻击者攻击,例如:记录黑客的无差别攻击方式或者是记录黑客大范围搜索具有特定漏洞的智能合约的手段(因为他们在搜索到有特定漏洞的智能合约后,可以同时对这些智能合约发动攻击,从而提高他们的攻击效率,而前面的搜查可以理解为侦察兵)。因为只有本项目预设的伪造交易和攻击者交易会访问蜜罐合约,本项目对所有与蜜罐合约的交互行为进行记录(例如:攻击者地址、攻击时间、攻击方法等数据)和分析。
3、智能合约协同入侵检测:
为了研究某一个智能合约实例的攻击行为对于其它合约是否同样具有借鉴意义(例如:同一合约的不同实例、有继承关系的其它合约实例、业务属性类似的其它合约实例等),本发明分析并构建智能合约之间的关联关系,当智能合约的状态诊断为异常或蜜罐合约监控到攻击者访问,则研究类似的攻击是否会对与之关联的智能合约产生类似的影响,从而在关联智能合约间实现攻击行为的协同分析,进而确保具有相似漏洞的合约都能够被加固。
例如:智能合约A受到攻击,采集到攻击信息后,研究人员使用相同的攻击方式攻击与A具有继承关系的智能合约B,C,D…,查看该攻击对它们是否也会产生影响,对结果进行研究分析。
为了判别智能合约间的关联关系,本项目拟基于智能合约的调用关系、继承关系、业务特征、状态特征、接口特征、控制流图等特征数据以表示智能合约特征,同时结合卷积神经网络和图神经网络构造判别网络。并通过在开源合约中嵌入已知漏洞,生成样本智能合约,用以训练判别网络。
在使用判别网络时,将关联智能合约的特征表示输入判别网络,通过网络输出判断智能合约是否相关。再将漏洞特征输入判别网络,通过网络输出查看疑似具有相同漏洞的智能合约。
与现有技术相比,本发明实施例具有如下有益效果:
1、提高入侵检测的覆盖率,降低误报率。现在技术智能合约入侵检测技术采用的是控制流的方式检测合约的异常状态,而本发明实施例是通过数据流来检测合约的异常状态。技术方面是监测数据是否处在异常区间中,可以提高异常状态检测适用范围。
2、在蜜罐合约方面,主流的技术是“诱饵代币”,而本发明的蜜罐合约是“逼真智能合约”,在不放置代币的前提下,搜集黑客攻击方式,为检测系统补充漏洞信息,降低了成本。
3、在协同入侵检测方面,通过判定网络筛选出可能会因为该漏洞产生影响的智能合约,进行研究并且通用化,使入侵检测做到可以通过一个漏洞对同一类漏洞产生相同的检测效果。
需要说明的是,本发明实施例的特定在于,可将黑客发起攻击之前将其拒之门外,保护用户隐私安全。同时不断搜集市场上的新型漏洞,对防火墙不断更新升级。
需要说明的是,对于以上方法或流程实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本发明实施例所必须的。
请参见图3,为了解决相同的技术问题,本发明还提供了一种恶意智能合约识别装置,包括:
数据获取模块1,用于获取智能合约的实时数据;
特征提取模块2,用于基于预设的异常状态模型,从所述实时数据中提取出特征变量,并根据所述特征变量通过预设的操作函数进行计算得到待测数据;
异常判断模块3,用于当判断所述待测数据落在所述异常状态模型的异常数值区间时,则将与该待测数据相对应的智能合约判定为合约状态异常。
进一步地,所述的恶意智能合约识别装置还包括:
攻击诱导模块,用于根据预先构建的无诱饵代币蜜罐合约项目获取攻击者的攻击信息;
模型更新模块,用于根据所述攻击信息对所述异常状态模型进行更新。
进一步地,所述的恶意智能合约识别装置还包括:
协同检测模块,用于当判定智能合约为合约状态异常时,或当所述无诱饵代币蜜罐合约项目获取到攻击信息时,利用预先构建的判别网络识别出具有关联关系的关联智能合约,并对所述关联智能合约进行攻击测试。
可以理解的是上述装置项实施例,是与本发明方法项实施例相对应的,本发明实施例提供的一种恶意智能合约识别装置,可以实现本发明任意一项方法项实施例提供的恶意智能合约识别方法。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (4)
1.一种恶意智能合约识别方法,其特征在于,包括:
获取智能合约的实时数据;
基于预设的异常状态模型,从所述实时数据中提取出特征变量,并根据所述特征变量通过预设的操作函数进行计算得到待测数据;
当判断所述待测数据落在所述异常状态模型的异常数值区间时,则将与该待测数据相对应的智能合约判定为合约状态异常;
根据预先构建的无诱饵代币蜜罐合约项目获取攻击者的攻击信息;
根据所述攻击信息对所述异常状态模型进行更新;
当判定智能合约为合约状态异常时,或当所述无诱饵代币蜜罐合约项目获取到攻击信息时,利用预先构建的判别网络识别出具有关联关系的关联智能合约,并对所述关联智能合约进行攻击测试;
所述无诱饵代币蜜罐合约项目的构建方式包括:
基于已在线部署的智能合约项目,根据业务流程伪造用户及其交易和调用特征,构建得到所述无诱饵代币蜜罐合约项目;
所述智能合约的实时数据的获取方式包括:
利用代码插桩方法对目标虚拟机进行实时数据监控,以获取得到所述智能合约的实时数据。
2.根据权利要求1所述的恶意智能合约识别方法,其特征在于,所述当判定智能合约为合约状态异常时,或当所述无诱饵代币蜜罐合约项目获取到攻击信息时,利用预先构建的判别网络识别出具有关联关系的关联智能合约,并对所述关联智能合约进行攻击测试,具体包括:
当判定智能合约为合约状态异常时,提取该智能合约的特征数据和所受到攻击的攻击特征;其中,所述特征数据包括调用关系、继承关系、业务特征、状态特征、接口特征或控制流图;
利用所述判别网络根据所述特征数据识别出具有关联关系的关联智能合约,并利用所述攻击特征对所述关联智能合约进行攻击测试。
3.根据权利要求1所述的恶意智能合约识别方法,其特征在于,所述当判定智能合约为合约状态异常时,或当所述无诱饵代币蜜罐合约项目获取到攻击信息时,利用预先构建的判别网络识别出具有关联关系的关联智能合约,并对所述关联智能合约进行攻击测试,具体包括:
当所述无诱饵代币蜜罐合约项目获取到攻击者信息时,根据所述无诱饵代币蜜罐合约项目获取的漏洞特征,利用所述判别网络根据所述漏洞特征识别出具有相同漏洞的关联智能合约,并对所述关联智能合约进行攻击测试。
4.一种恶意智能合约识别装置,其特征在于,包括:
数据获取模块,用于获取智能合约的实时数据;
特征提取模块,用于基于预设的异常状态模型,从所述实时数据中提取出特征变量,并根据所述特征变量通过预设的操作函数进行计算得到待测数据;
异常判断模块,用于当判断所述待测数据落在所述异常状态模型的异常数值区间时,则将与该待测数据相对应的智能合约判定为合约状态异常;
攻击诱导模块,用于根据预先构建的无诱饵代币蜜罐合约项目获取攻击者的攻击信息;
模型更新模块,用于根据所述攻击信息对所述异常状态模型进行更新;
协同检测模块,用于当判定智能合约为合约状态异常时,或当所述无诱饵代币蜜罐合约项目获取到攻击信息时,利用预先构建的判别网络识别出具有关联关系的关联智能合约,并对所述关联智能合约进行攻击测试;
所述无诱饵代币蜜罐合约项目的构建方式包括:
基于已在线部署的智能合约项目,根据业务流程伪造用户及其交易和调用特征,构建得到所述无诱饵代币蜜罐合约项目;
所述智能合约的实时数据的获取方式包括:
利用代码插桩方法对目标虚拟机进行实时数据监控,以获取得到所述智能合约的实时数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110742535.6A CN113569250B (zh) | 2021-06-30 | 2021-06-30 | 一种恶意智能合约识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110742535.6A CN113569250B (zh) | 2021-06-30 | 2021-06-30 | 一种恶意智能合约识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113569250A CN113569250A (zh) | 2021-10-29 |
CN113569250B true CN113569250B (zh) | 2023-11-03 |
Family
ID=78163274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110742535.6A Active CN113569250B (zh) | 2021-06-30 | 2021-06-30 | 一种恶意智能合约识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569250B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543105A (zh) * | 2020-11-26 | 2021-03-23 | 齐鲁工业大学 | 一种智能合约下基于角色的完全访问控制方法 |
-
2021
- 2021-06-30 CN CN202110742535.6A patent/CN113569250B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543105A (zh) * | 2020-11-26 | 2021-03-23 | 齐鲁工业大学 | 一种智能合约下基于角色的完全访问控制方法 |
Non-Patent Citations (2)
Title |
---|
基于上下文验证的网络入侵检测模型;田志宏等;计算机研究与发展;第50卷(第3期);第498-508页 * |
智能入侵检测系统中异常分析模块的实现;孙勇毅等;微计算机信息;第26卷(第6-3期);第86-88页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113569250A (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Elsayed et al. | InSDN: A novel SDN intrusion dataset | |
Haddadi et al. | Benchmarking the effect of flow exporters and protocol filters on botnet traffic classification | |
Rieck | Computer security and machine learning: Worst enemies or best friends? | |
Ali et al. | Blockchain and federated learning-based intrusion detection approaches for edge-enabled industrial IoT networks: A survey | |
Shabtai et al. | Using the KBTA method for inferring computer and network security alerts from time-stamped, raw system metrics | |
Manickam et al. | A combined PFCM and recurrent neural network-based intrusion detection system for cloud environment | |
CN117454376A (zh) | 工业互联网数据安全检测响应与溯源方法及装置 | |
Araya et al. | Anomaly-based cyberattacks detection for smart homes: A systematic literature review | |
Nazir et al. | Network intrusion detection: Taxonomy and machine learning applications | |
CN117675274A (zh) | 一种基于soar的数据中心系统 | |
KR102296215B1 (ko) | 지능형 지속 위협 방어를 위한 온톨로지 지식 베이스 기반 보안 요구사항 추천 방법, 이를 수행하는 장치 및 시스템 | |
Barry et al. | Intrusion detection systems | |
CN113569250B (zh) | 一种恶意智能合约识别方法及装置 | |
Gan et al. | A Review on detection of cross-site scripting attacks (XSS) in web security | |
Kassem | Intelligent system using machine learning techniques for security assessment and cyber intrusion detection | |
CN109951484A (zh) | 针对机器学习产品进行攻击的测试方法及系统 | |
Kayacik et al. | Automatically evading IDS using GP authored attacks | |
Siddamsetti et al. | Implementation of Blockchain with Machine Learning Intrusion Detection System for Defending IoT Botnet and Cloud Networks. | |
Laitinen | Vulnerabilities in the wild: Detecting vulnerable Web applications at scale | |
Liu et al. | SEAG: A novel dynamic security risk assessment method for industrial control systems with consideration of social engineering | |
Petersen | Detecting network intrusions | |
Liu et al. | Towards a Collaborative and Systematic Approach to Alert Verification. | |
Olteanu | Evaluating the response effectiveness of XDR technology in a scaled down environment | |
Ramos et al. | Detecting Stealthy Cobalt Strike C&C Activities via Multi-Flow based Machine Learning | |
WORKU | A PREDICTIVE MODEL OF NETWORK INTRUSION DETECTION SYSTEMS USING MACHINE LEARNING APPROACH |
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 |