[发明专利]一种基于图匹配网络的智能合约庞氏骗局检测方法及系统有效
申请号: | 202110302875.7 | 申请日: | 2021-03-22 |
公开(公告)号: | CN113127933B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 龚晓庆;薛永康;李笑;张成;叶贵鑫;汤战勇;房鼎益 | 申请(专利权)人: | 西北大学 |
主分类号: | G06F21/64 | 分类号: | G06F21/64;G06N3/04;G06N3/084;G06N20/00;G06F16/27 |
代理公司: | 西安恒泰知识产权代理事务所 61216 | 代理人: | 赵中霞 |
地址: | 710069 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 匹配 网络 智能 合约 骗局 检测 方法 系统 | ||
本发明公开了一种基于图匹配网络的智能合约庞氏骗局检测方法及系统,该方法获取庞氏骗局数据集,庞氏骗局数据集包括多个智能合约地址、智能合约及其对应的标签,为智能合约字节码构造控制流图,利用深度学习中的图匹配网络技术,训练神经网络,为智能合约静态审计提供技术支持,缩小审计的范围,减少了用户和监管人员发现恶意合约的时间,而且漏报率和误报率较低。本发明基于开源代码数据集,使用静态审计技术。
技术领域
本发明属于智能合约审计领域,涉及智能合约的图表示法和深度学习技术中的图匹配网络。该检测方法可以直接应用于智能合约中的庞氏骗局检测,可以自动对智能合约进行庞氏骗局的检测,判断智能合约是否是庞氏骗局,为后续智能合约静态审计的研究提供了技术支持。
背景技术
智能合约中的庞氏骗局可能导致安全问题,造成用户的财产损失,每年以太坊中庞氏骗局的金额可达百万美元。部分合约可以通过各种开源的工具检测出其中的庞氏骗局,而仍有一部分骗局被隐藏起来,导致检测工具检测失败。庞氏骗局以高利润广泛吸引平台投资者,制造赚钱的假象进而骗取更多的投资。这些诈骗合约在财务和平台上都会产生灾难性的影响。这些骗局通常是由诈骗者精心设计并隐藏在合约中的,并且区块链技术在某种程度上处于法律体系的灰色地带,没有完善的法律约束,并且由于其匿名性的特点,在诈骗发生后无法追查和制裁。
智能合约静态审计的是网络安全的一个基本问题,对问题合约的挖掘和发现也成为网络安全的热门问题之一。目前已有的庞氏骗局检测方法分为基于规则的检测和基于机器学习的检测方法,在全球网络安全竞争日益激烈的情况之下,智能合约静态审计技术也在不断智能化,集中体现为检测方法更多样化、技术形态更丰富,以及引入机器学习辅助甚至完全替代人工分析。
虽然已有多种基于规则的庞氏骗局检测方法和基于机器学习的庞氏骗局检测方法,但是前者由于规则的不全面性,无法识别出较复杂的庞氏骗局且误报率较高;而后者由于简单的将指令频率作为检测特征,其特征对智能合约的语义表达不完整使得检测效果提升有限。随着近些年开源代码库的广泛使用和图神经网络的迅速发展,使用数据驱动技术研究程序特性已成为可能。
在基于规则的庞氏骗局检测方法中,核心技术是智能合约的表示。MassimoBartoletti等人提出了一种字节码文件克隆检测方法,使用蒙特卡罗算法来估计任意两个合约之间的归一化编辑距离,再根据编辑距离来判断是否是庞氏骗局。这种基于文本的合约检测方法容易实现且开销很小,但是缺点也很明显:基于规则的检测会丢失大量信息,仅能检测到部分语法结构的相似性,并不能很好的处理语义相似。在机器学习的庞氏骗局检测方法中,核心技术是智能合约中庞氏骗局相关特征的提取。中山大学的Weili Chen团队提出了一种基于特征提取的合约检测方法。手动分析合约的账户信息与交易流,提取账户特征,交易特征与代码特征,采用XGBoost对智能合约的账户和代码进行分类,检测是否为庞氏骗局。但是基于提取特征的分类方法还是会不可避免的丢失一些信息,并且仅通过opcode的频率来检测代码特征并不能很好的把握合约语义。而文章中提到的账户信息则需要分析账户的资金流等特征,在出现庞氏骗局交易之后,与庞氏骗局相关的账户特征才会出现,因此无法在合约部署之初阻止骗局发生。
在智能合约庞氏骗局检测的前沿领域,将机器学习方法引入庞氏骗局检测时,通常是将智能合约的源码或字节码视作文本字符串,提取出可疑代码的文本或数字特征,然后输入进机器学习模型中。但是智能合约的源代码和字节码具有结构性,代码的本质并不是字符串,而是一个具有复杂拓扑的数据结构,字符串只是对这种数据结构的一种编码,在编译的过程中,首先要把代码的字符串解析为这种数据结构,之后才能进行语义分析、检查等过程。将源代码字符串解析为这种数据结构需要对代码进行词法分析、语法分析,通常用控制流图(Control Flow Graph,CFG)来表示这种数据结构。用字符串来表示智能合约会损失掉很多结构信息,同时字符串也很难表达出智能合约的语法信息和语义信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北大学,未经西北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110302875.7/2.html,转载请声明来源钻瓜专利网。