[发明专利]一种智能合约二进制函数的相似性分析方法有效

专利信息
申请号: 202110690580.1 申请日: 2021-06-22
公开(公告)号: CN113312058B 公开(公告)日: 2022-09-02
发明(设计)人: 庄园;王宝宝;孙建国;武俊鹏;董宇欣;王小芳 申请(专利权)人: 哈尔滨工程大学
主分类号: G06F8/53 分类号: G06F8/53;G06N3/04;G06N3/08
代理公司: 暂无信息 代理人: 暂无信息
地址: 150001 黑龙江省哈尔滨市南岗区*** 国省代码: 黑龙江;23
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 智能 合约 二进制 函数 相似性 分析 方法
【说明书】:

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

技术领域

本发明属于区块链智能合约安全检测技术领域,具体涉及一种智能合约二进制函数的相似性分析方法。

背景技术

以太坊智能合约的发展已经较为成熟,目前已被以太坊验证的合约多达百万级别,大部分合约都只上传二进制代码,因此二进制代码成为以太坊的主流。因此在二进制层面上研究智能合约是比较常见的。人们关注智能合约更在意漏洞检测的问题,却忽视了分析智能合约相似性的问题。对于二进制代码,它的变化并不是无穷无尽的,因为它的产生是来源于机器规则,它看起来复杂难懂,但其内部必然藏着巨大的规律性。利用这个规律性,不仅可以发现智能合约漏洞,也能将智能合约进行分类,重复检测等工作。例如,发现某个二进制函数中存在漏洞,则可以将与这个二进制函数相似的函数全部找到,研究这些二进制函数中是否存在相同漏洞。

发明内容

本发明的目的在于提供一种智能合约二进制函数的相似性分析方法。

本发明的目的通过如下技术方案来实现:包括以下步骤:

步骤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时序的边并且更新这条边所指向的节点的状态;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110690580.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top