CN113312058B - 一种智能合约二进制函数的相似性分析方法 - Google Patents

一种智能合约二进制函数的相似性分析方法 Download PDF

Info

Publication number
CN113312058B
CN113312058B CN202110690580.1A CN202110690580A CN113312058B CN 113312058 B CN113312058 B CN 113312058B CN 202110690580 A CN202110690580 A CN 202110690580A CN 113312058 B CN113312058 B CN 113312058B
Authority
CN
China
Prior art keywords
instruction
binary
graph
edge
binary functions
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
CN202110690580.1A
Other languages
English (en)
Other versions
CN113312058A (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.)
Harbin Engineering University
Original Assignee
Harbin Engineering 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 Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN202110690580.1A priority Critical patent/CN113312058B/zh
Publication of CN113312058A publication Critical patent/CN113312058A/zh
Application granted granted Critical
Publication of CN113312058B publication Critical patent/CN113312058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于区块链智能合约安全检测技术领域,具体涉及一种智能合约二进制函数的相似性分析方法。本发明包括反编译的字节码,生成EVM指令及相应的参数;根据反编译后的EVM指令重建控制流图CFG;将一个合约的CFG划分为若干二进制函数,并且为CFG中的边确定时序关系;提取特征值和图结构;设计了一种基于时序聚合图结构的模型,比较聚合后的图结构可以得出两个二进制函数的相似性。本发明直接对合约的字节码进行研究,不仅能处理大部分缺少源代码的合约,也能使用一些源码层面没有的隐藏信息。

Description

一种智能合约二进制函数的相似性分析方法
技术领域
本发明属于区块链智能合约安全检测技术领域,具体涉及一种智能合约二进制函数的相似性分析方法。
背景技术
以太坊智能合约的发展已经较为成熟,目前已被以太坊验证的合约多达百万级别,大部分合约都只上传二进制代码,因此二进制代码成为以太坊的主流。因此在二进制层面上研究智能合约是比较常见的。人们关注智能合约更在意漏洞检测的问题,却忽视了分析智能合约相似性的问题。对于二进制代码,它的变化并不是无穷无尽的,因为它的产生是来源于机器规则,它看起来复杂难懂,但其内部必然藏着巨大的规律性。利用这个规律性,不仅可以发现智能合约漏洞,也能将智能合约进行分类,重复检测等工作。例如,发现某个二进制函数中存在漏洞,则可以将与这个二进制函数相似的函数全部找到,研究这些二进制函数中是否存在相同漏洞。
发明内容
本发明的目的在于提供一种智能合约二进制函数的相似性分析方法。
本发明的目的通过如下技术方案来实现:包括以下步骤:
步骤1:获取智能合约的字节码文件;对字节码文件进行反编译,生成EVM指令及相应的参数;根据反编译后的EVM指令重建控制流图CFG;
步骤2:将智能合约的CFG划分为二进制函数,并且为CFG中的边确定时序关系;
步骤2.1:定义起始位置,将指令集中第一条指令所在的block作为扫描的起始点,并且将这个起始点所包含的其他block合起来作为入口函数,成为Dispatcher函数;
步骤2.2:遍历所有block内的指令集,判断是否出现PUSH4这个指令,之后需要判断 PUSH4后面的三条指令是否分别是EQ,PUSH1或PUSH2,和JUMPI,只有PUSH4后面的三条指令也满足条件才能确定PUSH4后面的内容是一个二进制函数,使用PUSH4后面的内容作为二进制函数的名称;
步骤2.3:确定边的时序关系,将所有block按照入口地址大小进行从小到大排序,从第一个block分出的边开始标注,将所有与第一个block相连的边按照block入口地址大小进行标号,之后对与第二个block相连的边进行排序;
步骤3:定义关键指令作为特征值,提取各二进制函数的特征值和图结构;
所述的关键指令包括存储指令、比较操作指令、算数操作指令、获取交易中的转账金额指令、获取当前环境的gas价格指令、调用智能合约指令、调用智能合约并重新设置调用方信息指令、调用智能合约并允许被叫方更改自己的存储区指令;
步骤4:采用基于时序聚合图结构的图神经网络模型,比较聚合后的图结构,得出两个二进制函数的相似性;
图神经网络模型输入为两个二进制函数,通过图神经网络模型对这两个二进制函数进行处理,得到二进制函数的向量表示;计算这两个二进制函数的相似度,若这两个二进制函数的相似度大于既定阈值,则认定这两个二进制函数相似;
图神经网络模型对输入数据进行处理,包括边传递阶段,读出阶段和匹配阶段三个阶段;
在边传递阶段,图神经网络模型按照时间顺序沿着边依次传递信息,消息每一时间步传递给一个边;当时间为0时,需要对每个结点的隐藏层状态根据输入的每个节点的特征值进行初始化;当时间为k时,消息会经过第k时序的边并且更新这条边所指向的节点的状态;
在读出阶段,计算整个图G的向量,用于聚合G中所有节点的最终形态;图神经网络模型包含特征值和由核心节点构成的图G={V,E};V包含所有核心节点;E包含所有的边, E={e1,e2,…,eN},ek表示第k时序边,E中还包含当前边的类型,这是由源码转换成二进制函数过程中生成的;时间为k时,要传递的消息mk是基于ek边的起始节点的隐藏状态hsk和边类型tk计算的:
Figure BDA0003126553270000021
mk=Wkxk+bk
其中,
Figure BDA0003126553270000022
表示拼接操作,矩阵Wk和偏置向量bk为网络参数;初始消息xk包含从ek的起始节点和ek节点的信息,然后通过Wk和bk转换成一个向量;收到消息后,ek的终止节点根据传来的消息和之前的状态进行更新,hek根据以下更新:
Figure BDA0003126553270000023
Figure BDA0003126553270000024
其中,U、Z、R是矩阵;b1和b2是偏差向量;
在连续遍历G中的所有边之后,通过读出所有节点的最终隐藏状态来计算G的向量;若第i个节点的最终隐藏层状态为
Figure BDA0003126553270000025
最终的图向量为
Figure BDA0003126553270000026
Figure BDA0003126553270000027
其中,f是一个映射函数;|V|代表核心节点的数量;
将两个二进制函数分别进行边传递阶段和读出阶段后,得到了两个二进制函数的图向量,在匹配阶段通过余弦距离计算这两个图向量的相似度。
本发明的有益效果在于:
本发明在二进制层面上首先转换成二进制函数,然后去掉完全相同的二进制函数。针对不同的二进制函数,设计了一个图神经网络模型,输入是两个二进制函数,输出是这两个二进制函数的相似性。本发明直接对合约的字节码进行研究,不仅能处理大部分缺少源代码的合约,也能使用一些源码层面没有的隐藏信息。
附图说明
图1为本发明的总体流程图。
图2为智能合约CFG的示意图。
图3为CFG划分成二进制函数及生成时序的示意图。
图4为二进制函数提取特征值和图结构算法的伪代码图。
图5为图神经网络模型的结构图。
具体实施方式
下面结合附图对本发明做进一步描述。
本发明的提供了一种智能合约二进制函数的相似性分析方法,以太坊智能合约虽然数量上已经十分庞大,但是智能合约的功能分类和重复率问题还没有人研究。本发明设计图神经网络模型进行以太坊智能合约二进制函数相似性检测,其中,通过反编译字节码生成控制流图,提取特征值和图结构作为图神经网络模型的输入,输出为二进制函数的相似性。
本发明在二进制层面上首先转换成二进制函数,然后去掉完全相同的二进制函数。针对不同的二进制函数,设计了一个图神经网络模型,输入是两个二进制函数,输出是这两个二进制函数的相似性。本发明直接对合约的字节码进行研究,不仅能处理大部分缺少源代码的合约,也能使用一些源码层面没有的隐藏信息。
本发明的目的是这样实现的:首先需要反编译字节码文件,经过反编译的字节码会生成 EVM指令(即opCode)及相应的参数。之后根据反编译后的EVM指令构建控制流图CFG(Control Flow Graph),通过对CFG图进行拆分,将一个CFG图分为若干独立的小的CFG图也就是二进制函数,针对这些二进制函数选取一些特殊指令作为特征值,加上二进制函数的图结构,作为图神经网络模型的输入。图神经网络模型包含一个信息传播阶段和读取阶段。信息传播阶段根据时序信息在边上传递信息。然后使用读取函数计算整个图的一个标签,用以确定最终的结果。
如图1所示,本发明公开的智能合约二进制函数相似性检测方法,包括如下步骤:
反编译及CFG构建,经过反编译的字节码会生成EVM指令(即opCode)及相应的参数。之后根据反编译后的EVM指令重建控制流图CFG。
生成二进制函数及时序,将一个合约的CFG划分为若干二进制函数,并且为CFG中的边确定时序关系。
提取特征值和图结构,本方案根据以太坊智能合约的特性,选择了一些关键指令用以区分不同二进制函数。
图神经网络模型设计实现,设计了一种基于时序聚合图结构的模型,比较聚合后的图结构可以得出两个二进制函数的相似性。
下面对本发明公开的智能合约二进制函数相似性检测方法作进一步的说明。
1、CFG构建:
二进制函数是在字节码的CFG的基础上生成的,因此,需要先将字节码转换成CFG,将字节码转换成CFG需要两步:反编译生成汇编指令和使用汇编指令构建CFG。本发明的重点是设计图神经网络模型判断两个二进制函数的相似性的问题,因此反编译和构建CFG使用了 octopus这个工具。Octopus第一步会将字节码先转换成汇编指令集,第二步将汇编指令集转换成CFG图需要的元素,block集和edge集,然后生成了CFG文件。Block集是一些指令的集合,并且每个block集还有名字,方便区分。Edge集除了表明这条边的起始点和终点,还包括边的类型。边的类型包括以下五类:unconditional,conditional_true,conditional_false, fallthrough和call。如图2所示,展示了一个以太坊智能合约经过octopus工具处理后生成的部分结构。
2、二进制函数
为了生成二进制函数,需要确定从那个block开始,因此需要定义起始位置,将指令集中第一条指令所在的block作为扫描的起始点,并且将这个起始点所包含的其他block合起来作为入口函数,成为Dispatcher函数。生成二进制函数,第一步先遍历所有block内的指令集,首先判断是否出现PUSH4这个指令,之后需要判断PUSH4后面的三条指令是否分别是EQ, PUSH1或PUSH2,和JUMPI。只有PUSH4后面的三条指令也满足条件才能确定PUSH4后面的内容是一个二进制函数,使用PUSH4后面的内容作为二进制函数的名称。如图3所示,该CFG中展示了三个被调用的二进制函数,并且这三个函数的入口地址也在后面指令给出了,例如37位置调用二进制函数fun_3f4ba83a,后面跟着EQ指令,在后面PUSH2指令后的0x7d即为该二进制函数的入口地址。
生成二进制函数后,还需要确定边的时序关系,边的关系是整个合约的边的关系,整个合约显示为一个CFG,并且在CFG中存在着顺序执行和分支,因此形成时序的思想就是根据程序顺序执行的思想,将所有block按照入口地址大小进行从小到大排序,从第一个block分出的边开始标注,将所有与第一个block相连的边按照block入口地址大小进行标号,之后对与第二个block相连的边进行排序。如图3,从入口地址为0的第一个block开始,判断d<78,因此将与d为入口地址的block相连的边标为1,与78为入口地址的block相连的边为第二条边,之后按顺序标注d为入口地址的block的边。
3、特征值定义
图神经网络需要的输入信息包括图结构和特征值信息,这些信息是对每个二进制函数进行处理得到的结果。
为了更加全面的保存二进制函数信息,定义了8类关键指令,通过统计这8类关键指令数量来与其他二进制函数进行区分。
第一类指令为存储指令,主要有三个,分别为MSTORE,MSTORE8和SSTORE指令。作用如下:
MSTORE将1word(256bit)存入内存
MSTORE8将1byte(8bit)存入内存
SSTORE 1word宽度数据存入存储区
第二类指令为比较操作指令,分别为LT,GT,SLT,SGT,EQ,ISZERO指令,作用如下:
Figure BDA0003126553270000051
第三类指令为算数操作指令,分别为ADD,MUL,SUB,DIV,SDIV,MOD,SMOD, ADDMOD,MULMOD,EXP,SIGNEXTEND指令。作用如下:
Figure BDA0003126553270000052
剩下的5类指令每类指令只有一个指令,这5类指令其作用如下:
Figure BDA0003126553270000053
根据以太坊智能合约的特性,定义了以上8类指令,是对指令的出现频率进行调查,并且考虑到这些指令数量不会很多,并且作用也比较大,因此选择了这些指令。
4、保存图结构信息
图结构信息需要选择一些关键的block,保存这些关键block的特征值和边的关系。因此需要定义关键block,通过定义关键指令,判断block是否含有关键指令来判断block是否需要保留。关键指令如下:
Figure BDA0003126553270000061
生成二进制函数后,虽然可以直接生成其对应的图结构,但是考虑到图神经网络模型要处理的是图结构,而直接使用二进制函数生成的图结构中会有一些干扰的block,这些block 含有的指令数量比较少,并且指令也都是很普遍的指令,提取的特征值为全0。这类block的数量也比较庞大,因此为了筛选掉作用比较小的block,定义了关键指令。
5、图神经网络模型设计
图神经网络模型输入为两个二进制函数,通过图神经网络模型对这两个二进制函数进行处理,得到二进制函数的向量表示。最后计算这两个二进制函数的相似度。若这两个二进制函数的相似度大于既定阈值,则认定这两个二进制函数相似。图神经网络模型对输入数据进行处理,包括边传递阶段,读出阶段和匹配阶段三个阶段。图神经网络模型的总体流程图如 5所示。在边传递阶段,图神经网络模型按照时间顺序沿着边依次传递信息。之前的输入数据中包括了边的时序关系,就是用于边传递过程传递信息。在边传递阶段,消息每一时间步传递给一个边。当时间为0时,需要对每个结点的隐藏层状态根据输入的每个节点的特征值进行初始化。当时间为k时,消息会经过第k时序的边并且更新这条边所指向的节点的状态。然后在读出阶段计算整个图G的向量,用于聚合G中所有节点的最终形态。图神经网络模型包含特征值和由核心节点构成的图G={V,E},其中,V包含所有核心节点,E包含所有的边。 E={e1,e2,…,eN},其中ek表示第k时序边,并且E中还包含当前边的类型,这是由源码转换成二进制函数过程中生成的。时间为k时,要传递的消息mk是基于ek边的起始节点的隐藏状态hsk和边类型tk计算的:
Figure BDA0003126553270000071
mk=Wkxk+bk
其中,
Figure BDA0003126553270000072
表示拼接操作,矩阵Wk和偏置向量b为网络参数。初始消息xk包含从ek的起始节点和ek节点的信息,然后通过Wk和b转换成一个向量。收到消息后,ek的终止节点根据传来的消息和之前的状态进行更新。hek根据以下更新:
Figure BDA0003126553270000073
Figure BDA0003126553270000074
其中U,Z,R是矩阵,而b1和b2是偏差向量。
读出阶段是在连续遍历G中的所有边之后,通过读出所有节点的最终隐藏状态来计算G 的向量。若第i个节点的最终隐藏层状态为
Figure BDA0003126553270000075
最终的图向量为
Figure BDA0003126553270000076
Figure BDA0003126553270000077
其中f是一个映射函数,|V|代表核心节点的数量。
将两个二进制函数分别进行边传递阶段和读出阶段后,得到了两个二进制函数的图向量,在匹配阶段就是通过余弦距离计算这两个图向量的的相似度。此处得到的相似度在[0,1]之间,两个二进制函数是否相似的阈值则是对各个相似度的二进制函数对进行人工匹配,最终得到的阈值。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (1)

1.一种智能合约二进制函数的相似性分析方法,其特征在于,包括以下步骤:
步骤1:获取智能合约的字节码文件;对字节码文件进行反编译,生成EVM指令及相应的参数;根据反编译后的EVM指令重建控制流图CFG;
步骤2:将智能合约的CFG划分为二进制函数,并且为CFG中的边确定时序关系;
步骤2.1:定义起始位置,将指令集中第一条指令所在的block作为扫描的起始点,并且将这个起始点所包含的其他block合起来作为入口函数,成为Dispatcher函数;
步骤2.2:遍历所有block内的指令集,判断是否出现PUSH4这个指令,之后需要判断PUSH4后面的三条指令是否分别是EQ,PUSH1或PUSH2,和JUMPI,只有PUSH4后面的三条指令也满足条件才能确定PUSH4后面的内容是一个二进制函数,使用PUSH4后面的内容作为二进制函数的名称;
步骤2.3:确定边的时序关系,将所有block按照入口地址大小进行从小到大排序,从第一个block分出的边开始标注,将所有与第一个block相连的边按照block入口地址大小进行标号,之后对与第二个block相连的边进行排序;
步骤3:定义关键指令作为特征值,提取各二进制函数的特征值和图结构;
所述的关键指令包括存储指令、比较操作指令、算数操作指令、获取交易中的转账金额指令、获取当前环境的gas价格指令、调用智能合约指令、调用智能合约并重新设置调用方信息指令、调用智能合约并允许被叫方更改自己的存储区指令;
步骤4:采用基于时序聚合图结构的图神经网络模型,比较聚合后的图结构,得出两个二进制函数的相似性;
图神经网络模型输入为两个二进制函数,通过图神经网络模型对这两个二进制函数进行处理,得到二进制函数的向量表示;计算这两个二进制函数的相似度,若这两个二进制函数的相似度大于既定阈值,则认定这两个二进制函数相似;
图神经网络模型对输入数据进行处理,包括边传递阶段,读出阶段和匹配阶段三个阶段;
在边传递阶段,图神经网络模型按照时间顺序沿着边依次传递信息,消息每一时间步传递给一个边;当时间为0时,需要对每个结点的隐藏层状态根据输入的每个节点的特征值进行初始化;当时间为k时,消息会经过第k时序的边并且更新这条边所指向的节点的状态;
在读出阶段,计算整个图G的向量,用于聚合G中所有节点的最终形态;图神经网络模型包含特征值和由核心节点构成的图G={V,E};V包含所有核心节点;E包含所有的边,E={e1,e2,…,eN},ek表示第k时序边,E中还包含当前边的类型,这是由源码转换成二进制函数过程中生成的;时间为k时,要传递的消息mk是基于ek边的起始节点的隐藏状态hsk和边类型tk计算的:
Figure FDA0003126553260000021
mk=Wkxk+bk
其中,
Figure FDA0003126553260000022
表示拼接操作,矩阵Wk和偏置向量bk为网络参数;初始消息xk包含从ek的起始节点和ek节点的信息,然后通过Wk和bk转换成一个向量;收到消息后,ek的终止节点根据传来的消息和之前的状态进行更新,hek根据以下更新:
Figure FDA0003126553260000023
Figure FDA0003126553260000024
其中,U、Z、R是矩阵;b1和b2是偏差向量;
在连续遍历G中的所有边之后,通过读出所有节点的最终隐藏状态来计算G的向量;若第i个节点的最终隐藏层状态为
Figure FDA0003126553260000025
最终的图向量为
Figure FDA0003126553260000026
Figure FDA0003126553260000027
其中,f是一个映射函数;|V|代表核心节点的数量;
将两个二进制函数分别进行边传递阶段和读出阶段后,得到了两个二进制函数的图向量,在匹配阶段通过余弦距离计算这两个图向量的相似度。
CN202110690580.1A 2021-06-22 2021-06-22 一种智能合约二进制函数的相似性分析方法 Active CN113312058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110690580.1A CN113312058B (zh) 2021-06-22 2021-06-22 一种智能合约二进制函数的相似性分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110690580.1A CN113312058B (zh) 2021-06-22 2021-06-22 一种智能合约二进制函数的相似性分析方法

Publications (2)

Publication Number Publication Date
CN113312058A CN113312058A (zh) 2021-08-27
CN113312058B true CN113312058B (zh) 2022-09-02

Family

ID=77379659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110690580.1A Active CN113312058B (zh) 2021-06-22 2021-06-22 一种智能合约二进制函数的相似性分析方法

Country Status (1)

Country Link
CN (1) CN113312058B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116483734B (zh) * 2023-06-16 2024-03-19 荣耀终端有限公司 一种基于编译器的插桩方法、系统及相关电子设备
CN117271987B (zh) * 2023-11-23 2024-02-06 国网吉林省电力有限公司长春供电公司 一种配电设备环境状态数据智能采集处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488582A (zh) * 2020-04-01 2020-08-04 杭州云象网络技术有限公司 一种基于图神经网络的智能合约重入性漏洞检测的方法
CN112035842A (zh) * 2020-08-17 2020-12-04 杭州云象网络技术有限公司 一种基于编码解码器的智能合约漏洞检测可解释性方法
CN112308210A (zh) * 2020-10-27 2021-02-02 中国人民解放军战略支援部队信息工程大学 基于神经网络的跨架构二进制函数相似性检测方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11080273B2 (en) * 2017-03-20 2021-08-03 International Business Machines Corporation Image support for cognitive intelligence queries
CN112163226B (zh) * 2020-11-30 2021-02-26 中国人民解放军国防科技大学 基于图自动编码器的二进制函数相似性检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488582A (zh) * 2020-04-01 2020-08-04 杭州云象网络技术有限公司 一种基于图神经网络的智能合约重入性漏洞检测的方法
CN112035842A (zh) * 2020-08-17 2020-12-04 杭州云象网络技术有限公司 一种基于编码解码器的智能合约漏洞检测可解释性方法
CN112308210A (zh) * 2020-10-27 2021-02-02 中国人民解放军战略支援部队信息工程大学 基于神经网络的跨架构二进制函数相似性检测方法及系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A Semantics-Based Hybrid Approach on Binary Code Similarity Comparison;Yikun Hu等;《IEEE Transactions on Software Engineering》;20190323;1241-1258 *
An Optimal Checkpointing Model with Online OCI Adjustment for Stream Processing Applications;Yuan Zhuang等;《 2018 27th International Conference on Computer Communication and Networks (ICCCN) 》;20190630;1-9 *
Investigating Graph Embedding Neural Networks with Unsupervised Features Extraction for Binary Analysis;Luca Massarelli等;《Workshop on Binary Analysis Research》;20190101;1-11 *
Neural Network-based Graph Embedding for Cross-Platform;Xiaojun Xu等;《Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security》;20171030;363-376 *
基于图神经网络的二进制函数相似度检测算法研究及实现;赵朋磊;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20190815;I138-1420 *

Also Published As

Publication number Publication date
CN113312058A (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
CN111783100B (zh) 基于图卷积网络对代码图表示学习的源代码漏洞检测方法
CN111488582B (zh) 一种基于图神经网络的智能合约重入性漏洞检测的方法
CN113360915B (zh) 基于源代码图表示学习的智能合约多漏洞检测方法及系统
CN110348214B (zh) 对恶意代码检测的方法及系统
CN113312058B (zh) 一种智能合约二进制函数的相似性分析方法
CN109582772B (zh) 合同信息提取方法、装置、计算机设备和存储介质
CN109753800A (zh) 融合频繁项集与随机森林算法的Android恶意应用检测方法及系统
CN111352907A (zh) 流水文件解析方法、装置、计算机设备和存储介质
CN110427756A (zh) 基于胶囊网络的安卓恶意软件检测方法及装置
CN110990058B (zh) 软件相似性度量方法及装置
CN112016967B (zh) 一种交易数据处理方法与装置
CN113904844B (zh) 基于跨模态教师-学生网络的智能合约漏洞检测方法
CN116361810A (zh) 一种基于符号执行的智能合约漏洞检测方法
CN110110213A (zh) 挖掘用户职业的方法、装置、计算机可读存储介质和终端设备
CN112949907A (zh) 一种工程造价的定额匹配方法、装置、设备及存储介质
CN116340952A (zh) 一种基于操作码程序依赖图的智能合约漏洞检测方法
CN116150757A (zh) 一种基于cnn-lstm多分类模型的智能合约未知漏洞检测方法
CN107577943A (zh) 基于机器学习的样本预测方法、装置及服务器
CN113449753A (zh) 业务风险预测方法、装置和系统
CN116702157B (zh) 一种基于神经网络的智能合约漏洞检测方法
CN112926647B (zh) 模型训练方法、域名检测方法及装置
CN113886832A (zh) 智能合约漏洞检测方法、系统、计算机设备和存储介质
CN110443044A (zh) 区块链客户端漏洞挖掘方法、装置、设备及存储介质
CN114201756A (zh) 一种智能合约代码片段的漏洞检测方法和相关装置
CN117149996B (zh) 面向人工智能应用的人机界面数字会话挖掘方法及ai系统

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