CN112631611A - 一种智能庞氏骗局合约识别方法及装置 - Google Patents
一种智能庞氏骗局合约识别方法及装置 Download PDFInfo
- Publication number
- CN112631611A CN112631611A CN202110013895.2A CN202110013895A CN112631611A CN 112631611 A CN112631611 A CN 112631611A CN 202110013895 A CN202110013895 A CN 202110013895A CN 112631611 A CN112631611 A CN 112631611A
- Authority
- CN
- China
- Prior art keywords
- intelligent
- contract
- features
- pompe
- intelligent contract
- 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
Images
Classifications
-
- 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/53—Decompilation; Disassembly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Abstract
本申请公开了一种智能庞氏骗局合约识别方法及装置,其中方法包括:获取待识别的智能合约;根据智能合约的字节码,通过反汇编处理方式,提取操作码特征;根据智能合约的字节码提取智能合约对应的控制流图特征;将操作码特征与控制流图特征作为智能合约识别模型的输入,以通过智能合约识别模型的分类运算,得到智能合约对应的智能庞氏骗局合约识别结果。本申请从字节码角度进一步提取操作码和控制流图,利用训练好的智能合约识别模型,通过分析智能合约运行在区块链上的智能合约字节码,可以在合约生成之初就进行预检测,不依赖交易数据,解决了现有的智能庞氏骗局合约识别方式滞后性严重的技术问题。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种智能庞氏骗局合约识别方法及装置。
背景技术
在第二代区块链中,智能合约是重要组成部分。智能合约是运行在区块链上的程序代码,是无需第三方干预便可自动执行协议的合约条款。智能合约一旦部署上链就无法篡改,所有智能合约都是公开可见的。开发者可以为合约中的每个功能分配访问权限,一旦满足智能合约中的预设条件,将以可预测的方式自动执行相应的功能,期间无需人为介入,不能中止,并且自动将执行结果写入到区块链中。
随着区块链技术的发展,庞氏骗局开始以智能合约的形式出现,这种基于区块链的庞氏骗局被称为智能庞氏骗局,相应的智能合约则被称为智能庞氏骗局合约。借助智能合约的自动执行、不可篡改、匿名发起人等特点,使得区块链成为智能庞氏骗局吸引受害者的有力工具。在这样的环境下,识别涉及庞氏骗局的智能合约成为了区块链技术发展历程上的一个重要课题。
目前涉及庞氏骗局的智能合约识别方式有通过分析合约账户的资金流,对比分析正常智能合约的用户特征和智能庞氏骗局合约的用户特征,判断其是否有用新投资者的资金补贴老投资者的特性来判断是否为智能庞氏骗局合约。但这种识别方式依赖于智能合约的交易数据,存在识别滞后性严重的技术问题。
发明内容
本申请提供了一种智能庞氏骗局合约识别方法及装置,用于解决现有的智能庞氏骗局合约识别方式依赖于智能合约的交易数据,存在识别滞后性严重的技术问题。
首先,本申请第一方面提供了一种智能庞氏骗局合约识别方法,包括:
获取待识别的智能合约;
根据所述智能合约的字节码,通过反汇编处理方式,将所述字节码转换为汇编代码,并提取所述汇编代码中的操作码特征;
根据智能合约的字节码,结合所述操作码特征,提取所述智能合约对应的控制流图特征;
将所述操作码特征与所述控制流图特征作为智能合约识别模型的输入,以通过所述智能合约识别模型的分类运算,得到所述智能合约对应的智能庞氏骗局合约识别结果,其中,所述智能合约识别模型为根据预置的智能合约样本与标准分类模型,通过训练得到的机器学习模型,所述智能合约样本包括:智能庞氏骗局合约样本的操作码特征和控制流图特征。
优选地,所述操作码特征具体包括:堆栈操作码特征、创建账户操作码特征、记录账户操作码特征、限制GAS操作码特征以及跳转操作码特征。
优选地,根据智能合约的字节码,结合所述操作码特征,提取所述智能合约对应的控制流图特征具体包括:
根据智能合约的字节码,结合所述跳转操作码特征,得到所述智能合约的子结构特征,以及各个所述子结构特征之间的关联关系;
根据所述子结构特征和所述关联关系,提取控制流图特征。
优选地,得到所述智能合约对应的智能庞氏骗局合约识别结果之后还包括:
若所述智能庞氏骗局合约识别结果为属于智能庞氏骗局合约,则发布智能庞氏骗局合约告警信息。
优选地,所述标准分类模型具体为:K近邻分类模型、朴素贝叶斯分类模型、支持向量机分类模型或决策树分类模型。
同时,本申请第二方面提供了一种智能庞氏骗局合约识别装置,包括:
智能合约获取单元,用于获取待识别的智能合约;
操作码特征提取单元,用于根据所述智能合约的字节码,通过反汇编处理方式,将所述字节码转换为汇编代码,并提取所述汇编代码中的操作码特征;
控制流图特征提取单元,用于根据智能合约的字节码,结合所述操作码特征,提取所述智能合约对应的控制流图特征;
智能合约识别单元,用于将所述操作码特征与所述控制流图特征作为智能合约识别模型的输入,以通过所述智能合约识别模型的分类运算,得到所述智能合约对应的智能庞氏骗局合约识别结果,其中,所述智能合约识别模型为根据预置的智能合约样本与标准分类模型,通过训练得到的机器学习模型,所述智能合约样本包括:智能庞氏骗局合约样本的操作码特征和控制流图特征。
优选地,所述操作码特征具体包括:堆栈操作码特征、创建账户操作码特征、记录账户操作码特征、限制GAS操作码特征以及跳转操作码特征。
优选地,所述控制流图特征提取单元具体用于:
根据智能合约的字节码,结合所述跳转操作码特征,得到所述智能合约的子结构特征,以及各个所述子结构特征之间的关联关系;
根据所述子结构特征和所述关联关系,提取控制流图特征。
优选地,还包括:
庞氏骗局告警单元,用于若所述智能庞氏骗局合约识别结果为属于智能庞氏骗局合约,则发布智能庞氏骗局合约告警信息。
优选地,所述标准分类模型具体为:K近邻分类模型、朴素贝叶斯分类模型、支持向量机分类模型或决策树分类模型。
从以上技术方案可以看出,本申请具有以下优点:
本申请提供了一种智能庞氏骗局合约识别方法,包括:获取待识别的智能合约;根据所述智能合约的字节码,通过反汇编处理方式,将所述字节码转换为汇编代码,并提取所述汇编代码中的操作码特征;根据智能合约的字节码,结合所述操作码特征,提取所述智能合约对应的控制流图特征;将所述操作码特征与所述控制流图特征作为智能合约识别模型的输入,以通过所述智能合约识别模型的分类运算,得到所述智能合约对应的智能庞氏骗局合约识别结果,其中,所述智能合约识别模型为根据预置的智能合约样本与标准分类模型,通过训练得到的机器学习模型,所述智能合约样本包括:智能庞氏骗局合约样本的操作码特征和控制流图特征。
本申请从字节码角度进一步提取操作码和控制流图,利用训练好的智能合约识别模型,通过分析智能合约运行在区块链上的智能合约字节码,可以在合约生成之初就进行预检测,从源头入手,不依赖交易数据不需要等到合约执行完毕、骗局产生影响再识别,解决了现有的智能庞氏骗局合约识别方式滞后性严重的技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请提供的一种智能庞氏骗局合约识别方法的第一个实施例的流程示意图;
图2为本申请提供的一种智能庞氏骗局合约识别方法的第二个实施例的流程示意图;
图3为本申请提供的一种智能庞氏骗局合约识别装置的第一个实施例的结构示意图。
具体实施方式
目前涉及庞氏骗局的智能合约识别方式有通过分析合约账户的资金流,对比分析正常智能合约的用户特征和智能庞氏骗局合约的用户特征,判断其是否有用新投资者的资金补贴老投资者的特性来判断是否为智能庞氏骗局合约。但这种识别方式依赖于智能合约的交易数据,只有存在实际的交易记录才能有效判断,但由于合约交易已经执行完毕、在识别到该智能合约涉及庞氏骗局时,庞氏骗局早已形成且已造成了一定规模的影响,存在明显的识别滞后性。
有鉴于此,本申请实施例提供了一种智能庞氏骗局合约识别方法及装置,用于解决现有的智能庞氏骗局合约识别方式依赖于智能合约的交易数据,存在识别滞后性严重的技术问题。
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
请参阅图1,本申请第一个实施例提供了一种智能庞氏骗局合约识别方法,包括:
步骤101、获取待识别的智能合约。
步骤102、根据智能合约的字节码,通过反汇编处理方式,将字节码转换为汇编代码,并提取汇编代码中的操作码特征。
需要说明的是,智能合约编译后的字节码以二进制的形式表示,包括部署代码、runtime代码、auxdata三个部分。以太坊虚拟机在创建智能合约的时候,会先创建智能合约账户;接着运行部署代码,运行完成后将runtime代码和auxdata存储到区块链上;之后再把二者的存储地址跟合约账户关联起来,完成智能合约的部署。智能合约部署后真正执行的是runtime代码,因此本申请只针对字节码中的runtime代码分析。
在智能合约反汇编转换模块里将字节码转换成汇编代码。以以太坊为例,可以通过以太坊客户端的evm disasm将字节码反汇编为汇编代码,再进一步提取汇编代码中的操作码特征。以太坊虚拟机已经定义了142种操作码,包括算术运算、位运算、存储操作、跳转操作码等。
步骤103、根据智能合约的字节码,结合操作码特征,提取智能合约对应的控制流图特征。
需要说明的是,控制流图是程序代码的一种表征形式,代表了一个程序执行过程中会遍历到的所有路径。控制流图是以基本块为节点的有向图G=(N,E),其中N是节点集合,表示程序中的基本块;E是基本块之间边的集合。
基于控制流图的形成概念,据智能合约的字节码,结合上述提取的操作码特征,将字节码形式的智能合约转换为相应的控制流图并提取相应特征。
步骤104、将操作码特征与控制流图特征作为智能合约识别模型的输入,以通过智能合约识别模型的分类运算,得到智能合约对应的智能庞氏骗局合约识别结果,其中,智能合约识别模型为根据预置的智能合约样本与标准分类模型,通过训练得到的机器学习模型,智能合约样本包括:智能庞氏骗局合约样本的操作码特征和控制流图特征。
需要说明的是,基于通过步骤102获得的操作码特征和通过步骤103获得的控制流图特征,将操作码特征和控制流图特征作为智能合约识别模型的输入,其中智能合约识别模型为根据预置的智能合约样本与标准分类模型,将智能合约样本的操作码特征和控制流图特征输入到标准分类模型中训练得到的机器学习模型。输入到训练好的智能合约识别模型后,通过智能合约识别模型对操作码特征和控制流图特征进行模型运算,以获得模型运算后输出的智能庞氏骗局合约识别结果,从而根据输出的智能庞氏骗局合约识别结果确定待识别的智能合约是否涉及庞氏骗局。
以上为本申请提供的一种智能庞氏骗局合约识别方法的第一个实施例的详细说明,下面为本申请提供的一种智能庞氏骗局合约识别方法的第二个实施例的详细说明。
请参阅图2,在上述的第一个实施例的基础上,本申请第二个实施例提供了一种智能庞氏骗局合约识别方法,包括:
步骤201、获取待识别的智能合约。
步骤202、根据智能合约的字节码,通过反汇编处理方式,将字节码转换为汇编代码,并提取汇编代码中的操作码特征,操作码特征具体包括:堆栈操作码特征、创建账户操作码特征、记录账户操作码特征、限制GAS操作码特征以及跳转操作码特征。
需要说明的是,智能合约编译后的字节码以二进制的形式表示,包括部署代码、runtime代码、auxdata三个部分。以太坊虚拟机在创建智能合约的时候,会先创建智能合约账户;接着运行部署代码,运行完成后将runtime代码和auxdata存储到区块链上;之后再把二者的存储地址跟合约账户关联起来,完成智能合约的部署。智能合约部署后真正执行的是runtime代码,因此本申请只针对字节码中的runtime代码分析。
在智能合约反汇编转换模块里将字节码转换成汇编代码。以以太坊为例,可以通过以太坊客户端的evm disasm将字节码反汇编为汇编代码,再进一步提取汇编代码中的操作码特征。以太坊虚拟机现已定义了142种操作码,包括算术运算、位运算、存储操作、跳转操作码等。
优选提取的操作码特征具体包括:堆栈操作码特征、创建账户操作码特征、记录账户操作码特征、限制GAS操作码特征以及跳转操作码特征,具体理由如下:
堆栈相关操作码特征,包括但不限于PUSH、DUP、SWAP等。鉴于智能庞氏骗局合约常以谋取钱财为目的,因此会有大量用户转账操作产生,而这涉及到堆栈相关的操作码。
创建账户操作码CREATE特征。智能庞氏骗局合约通常没有理由创建新的账户,CREATE操作码出现的次数会比较少,最好单独分析。
记录账户操作码CALLER特征。智能庞氏骗局合约需要记录投资者。
限制GAS操作码GASLIMIT特征。智能庞氏骗局总是试图保持快速和高回报的形象且合约会被多次调用,每次合约调用都要花费一定的GAS,需对其进行限制。
跳转操作码特征,包括但不限于JUMP、JUMPI等。智能庞氏骗局会有更多的条件跳转操作码,非智能庞氏骗局无条件跳转操作码更多。同时也可以标记所有跳转指令的跳转目的地址、跳转指令的位置以及跳转目的地址和跳转指令之间的前后位置关系等。
步骤203、根据智能合约的字节码,结合跳转操作码特征,得到智能合约的子结构特征,以及各个子结构特征之间的关联关系,根据子结构特征和关联关系,提取控制流图特征。
需要说明的是,控制流图是程序代码的一种表征形式,代表了一个程序执行过程中会遍历到的所有路径。控制流图是以基本块为节点的有向图G=(N,E),其中N是节点集合,表示程序中的基本块;E是基本块之间边的集合。
基于控制流图的形成概念,据智能合约的字节码,结合上述提取的操作码特征,将字节码形式的智能合约转换为相应的控制流图,具体提取过程细节可以参考以下流程:
1)构建智能合约控制流图基本块。基本块指的是程序顺序执行的语句序列。对一个基本块来说,执行时只从其入口进入,从其出口退出。遇到第一条指令,结束当前基本块,并将该指令作为一个新块的第一条指令。遇到跳转、分支、循环指令,将该指令作为当前块的最后一条指令,并结束当前块。遇到其他语句直接将其加入到当前基本块。
2)构建智能合约控制流图有向边。有向边能够显示智能合约内各基本块之间的相互关系、动态执行状态等。如果从基本块A的出口转向基本块B,则从基本块A到B有一条有向边表示从A到B存在一条可执行路径,即在执行完基本块A中的程序后,有可能顺序执行基本块B中的程序。
3)提取智能合约控制流图的子结构特征,其中本实施例提及的子结构特征包括但不限:顺序子结构特征、IF选择子结构特征、WHILE循环子结构特征和CASE选择子结构特征。智能庞氏骗局合约有其独特逻辑结构,在控制流图层面上显示出特别的子结构信息,如含有大量的条件判断等。根据提取的智能合约控制流图,进一步分析分支、循环等智能庞氏骗局合约显著子结构信息。
4)提取智能合约控制流图的图特征,包括但不限于节点数、出度、入度、连通子图、环路复杂性,建立基于控制流图的智能庞氏骗局合约识别图特征。
步骤204、将操作码特征与控制流图特征作为智能合约识别模型的输入,以通过智能合约识别模型的分类运算,得到智能合约对应的智能庞氏骗局合约识别结果,其中,智能合约识别模型为根据预置的智能合约样本与标准分类模型,通过训练得到的机器学习模型,智能合约样本包括:智能庞氏骗局合约样本的操作码特征和控制流图特征。
需要说明的是,本申请用于训练智能合约识别模型的标准分类模型可以采用K近邻分类模型、朴素贝叶斯分类模型、支持向量机分类模型或决策树分类模型,其中,优选采用决策树分类模型中的XGBoost决策树分类模型。
其余与第一个实施例中的步骤104相同,在此不再赘述。
进一步地,步骤204之后还可以包括:
步骤205、若智能庞氏骗局合约识别结果为属于智能庞氏骗局合约,则发布智能庞氏骗局合约告警信息。
当识别出该智能合约属于智能庞氏骗局合约时,发布智能庞氏骗局合约告警信息,以提醒区块链用户对该智能合约提高警惕;相反,若不属于智能庞氏骗局合约,则可以结束流程。
以上为本申请提供的一种智能庞氏骗局合约识别方法的第二个实施例的详细说明,下面为本申请提供的一种智能庞氏骗局合约识别装置的一个实施例的详细说明。
请参阅图3,本申请第三个实施例提供了一种智能庞氏骗局合约识别装置,包括:
智能合约获取单元301,用于获取待识别的智能合约;
操作码特征提取单元302,用于根据智能合约的字节码,通过反汇编处理方式,将字节码转换为汇编代码,并提取汇编代码中的操作码特征;
控制流图特征提取单元303,用于根据智能合约的字节码,结合操作码特征,提取智能合约对应的控制流图特征;
智能合约识别单元304,用于将操作码特征与控制流图特征作为智能合约识别模型的输入,以通过智能合约识别模型的分类运算,得到智能合约对应的智能庞氏骗局合约识别结果,其中,智能合约识别模型为根据预置的智能合约样本与标准分类模型,通过训练得到的机器学习模型,智能合约样本包括:智能庞氏骗局合约样本的操作码特征和控制流图特征。
进一步地,操作码特征具体包括:堆栈操作码特征、创建账户操作码特征、记录账户操作码特征、限制GAS操作码特征以及跳转操作码特征。
进一步地,控制流图特征提取单元303具体用于:
根据智能合约的字节码,结合跳转操作码特征,得到智能合约的子结构特征,以及各个子结构特征之间的关联关系;
根据子结构特征和关联关系,提取控制流图特征。
进一步地,还包括:
庞氏骗局告警单元305,用于若智能庞氏骗局合约识别结果为属于智能庞氏骗局合约,则发布智能庞氏骗局合约告警信息。
进一步地,标准分类模型具体为:K近邻分类模型、朴素贝叶斯分类模型、支持向量机分类模型或决策树分类模型。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种智能庞氏骗局合约识别方法,其特征在于,包括:
获取待识别的智能合约;
根据所述智能合约的字节码,通过反汇编处理方式,将所述字节码转换为汇编代码,并提取所述汇编代码中的操作码特征;
根据智能合约的字节码,结合所述操作码特征,提取所述智能合约对应的控制流图特征;
将所述操作码特征与所述控制流图特征作为智能合约识别模型的输入,以通过所述智能合约识别模型的分类运算,得到所述智能合约对应的智能庞氏骗局合约识别结果,其中,所述智能合约识别模型为根据预置的智能合约样本与标准分类模型,通过训练得到的机器学习模型,所述智能合约样本包括:智能庞氏骗局合约样本的操作码特征和控制流图特征。
2.根据权利要求1所述的一种智能庞氏骗局合约识别方法,其特征在于,所述操作码特征具体包括:堆栈操作码特征、创建账户操作码特征、记录账户操作码特征、限制GAS操作码特征以及跳转操作码特征。
3.根据权利要求2所述的一种智能庞氏骗局合约识别方法,其特征在于,根据智能合约的字节码,结合所述操作码特征,提取所述智能合约对应的控制流图特征具体包括:
根据智能合约的字节码,结合所述跳转操作码特征,得到所述智能合约的子结构特征,以及各个所述子结构特征之间的关联关系;
根据所述子结构特征和所述关联关系,提取控制流图特征。
4.根据权利要求1所述的一种智能庞氏骗局合约识别方法,其特征在于,得到所述智能合约对应的智能庞氏骗局合约识别结果之后还包括:
若所述智能庞氏骗局合约识别结果为属于智能庞氏骗局合约,则发布智能庞氏骗局合约告警信息。
5.根据权利要求1所述的一种智能庞氏骗局合约识别方法,其特征在于,所述标准分类模型具体为:K近邻分类模型、朴素贝叶斯分类模型、支持向量机分类模型或决策树分类模型。
6.一种智能庞氏骗局合约识别装置,其特征在于,包括:
智能合约获取单元,用于获取待识别的智能合约;
操作码特征提取单元,用于根据所述智能合约的字节码,通过反汇编处理方式,将所述字节码转换为汇编代码,并提取所述汇编代码中的操作码特征;
控制流图特征提取单元,用于根据智能合约的字节码,结合所述操作码特征,提取所述智能合约对应的控制流图特征;
智能合约识别单元,用于将所述操作码特征与所述控制流图特征作为智能合约识别模型的输入,以通过所述智能合约识别模型的分类运算,得到所述智能合约对应的智能庞氏骗局合约识别结果,其中,所述智能合约识别模型为根据预置的智能合约样本与标准分类模型,通过训练得到的机器学习模型,所述智能合约样本包括:智能庞氏骗局合约样本的操作码特征和控制流图特征。
7.根据权利要求6所述的一种智能庞氏骗局合约识别装置,其特征在于,所述操作码特征具体包括:堆栈操作码特征、创建账户操作码特征、记录账户操作码特征、限制GAS操作码特征以及跳转操作码特征。
8.根据权利要求7所述的一种智能庞氏骗局合约识别装置,其特征在于,所述控制流图特征提取单元具体用于:
根据智能合约的字节码,结合所述跳转操作码特征,得到所述智能合约的子结构特征,以及各个所述子结构特征之间的关联关系;
根据所述子结构特征和所述关联关系,提取控制流图特征。
9.根据权利要求6所述的一种智能庞氏骗局合约识别装置,其特征在于,还包括:
庞氏骗局告警单元,用于若所述智能庞氏骗局合约识别结果为属于智能庞氏骗局合约,则发布智能庞氏骗局合约告警信息。
10.根据权利要求6所述的一种智能庞氏骗局合约识别装置,其特征在于,所述标准分类模型具体为:K近邻分类模型、朴素贝叶斯分类模型、支持向量机分类模型或决策树分类模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110013895.2A CN112631611B (zh) | 2021-01-06 | 2021-01-06 | 一种智能庞氏骗局合约识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110013895.2A CN112631611B (zh) | 2021-01-06 | 2021-01-06 | 一种智能庞氏骗局合约识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112631611A true CN112631611A (zh) | 2021-04-09 |
CN112631611B CN112631611B (zh) | 2022-06-03 |
Family
ID=75291588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110013895.2A Active CN112631611B (zh) | 2021-01-06 | 2021-01-06 | 一种智能庞氏骗局合约识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112631611B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113191775A (zh) * | 2021-04-22 | 2021-07-30 | 深圳前海移联科技有限公司 | 基于以太坊上交易时序信息的庞氏骗局智能合约检测方法 |
CN113256289A (zh) * | 2021-05-17 | 2021-08-13 | 网易(杭州)网络有限公司 | 区块链的判别方法、装置及电子设备 |
CN113283901A (zh) * | 2021-04-19 | 2021-08-20 | 河南大学 | 一种面向区块链平台的基于字节码的诈骗合约检测方法 |
CN113435893A (zh) * | 2021-07-01 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 智能合约的安全检测方法及装置 |
CN113469679A (zh) * | 2021-05-11 | 2021-10-01 | 深圳前海移联科技有限公司 | 区块链庞氏骗局智能合约的识别方法、系统及电子设备 |
CN113486915A (zh) * | 2021-04-26 | 2021-10-08 | 深圳前海移联科技有限公司 | 一种基于多平台的智能合约分类方法、系统及电子设备 |
CN114511330A (zh) * | 2022-04-18 | 2022-05-17 | 山东省计算中心(国家超级计算济南中心) | 一种基于改进的cnn-rf的以太坊庞氏骗局检测方法及系统 |
CN116820405A (zh) * | 2023-08-31 | 2023-09-29 | 浙江大学 | 一种基于复用分析的evm字节码控制流图构建方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109840429A (zh) * | 2019-01-08 | 2019-06-04 | 北京众享比特科技有限公司 | 智能合约部署、调用方法和装置 |
CN110175454A (zh) * | 2019-04-19 | 2019-08-27 | 肖银皓 | 一种基于人工智能的智能合约安全漏洞挖掘方法及系统 |
US20190392138A1 (en) * | 2018-06-26 | 2019-12-26 | bootstrap legal Inc. | System and Method for Protecting Unknown Vulnerabilities in Smart Contracts |
CN111563237A (zh) * | 2020-03-24 | 2020-08-21 | 博雅正链(北京)科技有限公司 | 一种智能合约安全增强方法 |
-
2021
- 2021-01-06 CN CN202110013895.2A patent/CN112631611B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190392138A1 (en) * | 2018-06-26 | 2019-12-26 | bootstrap legal Inc. | System and Method for Protecting Unknown Vulnerabilities in Smart Contracts |
CN109840429A (zh) * | 2019-01-08 | 2019-06-04 | 北京众享比特科技有限公司 | 智能合约部署、调用方法和装置 |
CN110175454A (zh) * | 2019-04-19 | 2019-08-27 | 肖银皓 | 一种基于人工智能的智能合约安全漏洞挖掘方法及系统 |
CN111563237A (zh) * | 2020-03-24 | 2020-08-21 | 博雅正链(北京)科技有限公司 | 一种智能合约安全增强方法 |
Non-Patent Citations (2)
Title |
---|
WEISONG SUN: "Early Detection of Smart Ponzi Scheme Contracts Based on Behavior Forest Similarity", 《2020 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY》 * |
WEISONG SUN: "Early Detection of Smart Ponzi Scheme Contracts Based on Behavior Forest Similarity", 《2020 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY》, 11 December 2020 (2020-12-11), pages 298 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113283901A (zh) * | 2021-04-19 | 2021-08-20 | 河南大学 | 一种面向区块链平台的基于字节码的诈骗合约检测方法 |
CN113191775A (zh) * | 2021-04-22 | 2021-07-30 | 深圳前海移联科技有限公司 | 基于以太坊上交易时序信息的庞氏骗局智能合约检测方法 |
CN113191775B (zh) * | 2021-04-22 | 2023-10-31 | 深圳前海移联科技有限公司 | 基于以太坊上交易时序信息的庞氏骗局智能合约检测方法 |
CN113486915A (zh) * | 2021-04-26 | 2021-10-08 | 深圳前海移联科技有限公司 | 一种基于多平台的智能合约分类方法、系统及电子设备 |
CN113469679A (zh) * | 2021-05-11 | 2021-10-01 | 深圳前海移联科技有限公司 | 区块链庞氏骗局智能合约的识别方法、系统及电子设备 |
CN113256289A (zh) * | 2021-05-17 | 2021-08-13 | 网易(杭州)网络有限公司 | 区块链的判别方法、装置及电子设备 |
CN113435893A (zh) * | 2021-07-01 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 智能合约的安全检测方法及装置 |
CN113435893B (zh) * | 2021-07-01 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 智能合约的安全检测方法及装置 |
CN114511330A (zh) * | 2022-04-18 | 2022-05-17 | 山东省计算中心(国家超级计算济南中心) | 一种基于改进的cnn-rf的以太坊庞氏骗局检测方法及系统 |
CN116820405A (zh) * | 2023-08-31 | 2023-09-29 | 浙江大学 | 一种基于复用分析的evm字节码控制流图构建方法 |
CN116820405B (zh) * | 2023-08-31 | 2023-12-01 | 浙江大学 | 一种基于复用分析的evm字节码控制流图构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112631611B (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112631611B (zh) | 一种智能庞氏骗局合约识别方法及装置 | |
JP7387781B2 (ja) | ブロックチェーンを介して決定性有限オートマトン(dfa)を実施するシステム及び方法 | |
EP3989131A1 (en) | Method and system for realizing machine learning modeling process | |
KR101879416B1 (ko) | 이상 금융거래 탐지 방법 및 그 전자 장치 | |
US6671874B1 (en) | Universal verification and validation system and method of computer-aided software quality assurance and testing | |
CN109583468B (zh) | 训练样本获取方法,样本预测方法及对应装置 | |
CN110287702B (zh) | 一种二进制漏洞克隆检测方法及装置 | |
CN110008903A (zh) | 人脸识别方法、装置、系统、存储介质和人脸支付方法 | |
CN104050543A (zh) | 流处理系统中的事件处理方法及流处理系统 | |
CN109992250B (zh) | 一种自动编程的方法、装置、服务器及存储介质 | |
CN113360910A (zh) | 恶意应用的检测方法、装置、服务器和可读存储介质 | |
CN110554866A (zh) | 一种基于mvc交易类智能合约交互式设计方法 | |
US10338926B2 (en) | Processor with conditional instructions | |
CN116702157A (zh) | 一种基于神经网络的智能合约漏洞检测方法 | |
CN110648219B (zh) | 一种银行交易系统标准化输入区的方法和装置 | |
Amaratunga | Deep Learning on Windows | |
KR20220101952A (ko) | 비트코인 불법거래 탐지 장치 및 방법 | |
CN113177784B (zh) | 地址类型识别方法及装置 | |
CN116415245A (zh) | 软件检测方法、装置和电子设备 | |
CN107729056A (zh) | 一种只读存储器的程序保存方法及相关装置 | |
CN116028880B (zh) | 训练行为意图识别模型的方法、行为意图识别方法及装置 | |
CN116108450A (zh) | 基于操作码指令聚类的智能合约漏洞检测方法及系统 | |
CN114707990A (zh) | 一种用户行为模式的识别方法和装置 | |
CN115454848A (zh) | 一种银行业务回归测试方法、装置、系统及存储介质 | |
Yousuf et al. | A novel approach to increase scalability while training machine learning algorithms using Bfloat 16 in credit card fraud detection |
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 |