一种基于编码解码器的智能合约漏洞检测可解释性方法技术

技术编号:26598187 阅读:53 留言:0更新日期:2020-12-04 21:20
本发明专利技术提出了基于编码解码器的智能合约漏洞检测可解释方法,其通过专家规则抽取方法、合约图构建方法、基于神经网络的特征提取方法以及可解释性模型,实现智能合约漏洞检测以及可解释性。具体包括:提取相应漏洞的专家规则;前馈神经网络提取专家规则特征;智能合约源码转化合约图结构并进行规范化;图神经网络提取合约图特征;构建基于Encoder‑Decoder框架的可解释性模型,引入注意力机制,检测智能合约漏洞并给出作用权重值。相较于现有的智能合约漏洞检测工具,本发明专利技术尝试结合了深度学习的神经网络模型技术,进一步的提高了检测结果的准确率;相较于传统深度学习模型的“黑箱”性,该发明专利技术提供了一种可解释性方案,展望了智能合约漏洞检测的新方向。

【技术实现步骤摘要】
一种基于编码解码器的智能合约漏洞检测可解释性方法
本专利技术属于区块链智能合约安全领域,具体涉及一种基于编码解码器的智能合约漏洞检测可解释性方法。
技术介绍
近年来,区块链技术以其去中心化、不可篡改、可追溯性等特点,迅速成为行业关注的焦点之一。智能合约是运行在区块链上的程序片段,以代码的方式定义一套自动执行的合约规则,实现了“代码即法律”的逻辑,极大扩展了智能合约应用的可能性。截至目前,来自各类区块链平台上的智能合约持有价值超过100亿美元的数字货币。然而,拥有巨额财富的智能合约易遭到恶意攻击者的觊觎,导致智能合约安全问题频发,俨然成为区块链安全的重灾区。例如,2016年“TheDAO”合约重入漏洞导致360万以太币被盗;2017年Parity钱包因权限问题导致价值1.5亿美元以太币被冻结;2018年美国BEC代币合约的整数溢出问题导致其9亿美元市值瞬间归零。因此,急需一种高效且准确的智能合约漏洞检测方法,减少或避免有潜在威胁的智能合约。当前存在的智能合约漏洞检测工具,例如Security,SmartCheck,Oyente等,本文档来自技高网...

【技术保护点】
1.一种基于编码解码器的智能合约漏洞检测可解释性方法,其特征在于,通过构建基于编码解码器的可解释性模型实现智能合约漏洞检测及可解释性说明,该方法具体包括如下步骤:/n收集并制作智能合约源码数据集,利用开源漏洞检测工具以及人工审计方式标注智能合约漏洞;/n对智能合约源码数据集进行分析,利用自动提取工具提取智能合约漏洞的专家规则;/n构建前馈神经网络提取合约漏洞专家规则特征P

【技术特征摘要】
1.一种基于编码解码器的智能合约漏洞检测可解释性方法,其特征在于,通过构建基于编码解码器的可解释性模型实现智能合约漏洞检测及可解释性说明,该方法具体包括如下步骤:
收集并制作智能合约源码数据集,利用开源漏洞检测工具以及人工审计方式标注智能合约漏洞;
对智能合约源码数据集进行分析,利用自动提取工具提取智能合约漏洞的专家规则;
构建前馈神经网络提取合约漏洞专家规则特征Pr;
利用智能合约自动化抽图工具,将智能合约源码数据集转换为对应的智能合约图形式;
利用智能合约图节点消融工具,对智能合约图进行消融处理,使不同合约图规范化成统一结构;
构建图神经网络提取规范化后智能合约图特征Gr;
构建基于编码解码器的可解释性模型,引入注意力机制,将专家规则特征Pr与智能合约图特征Gr输入可解释性模型进行训练;
可解释性模型训练完成后,输入智能合约测试集进行检测,输出漏洞检测结果、特征向量以及特征向量作用权重值。


2.根据权利要求1所述的基于编码解码器的智能合约漏洞检测可解释性方法,其特征在于,所述对智能合约源码数据集进行分析,利用自动提取工具提取智能合约漏洞的专家规则具体为:
漏洞对应与专家规则相互对应,每个漏洞对应的专家规则至少有一个,利用专家规则抽取工具自动提取后,使用one-hot编码形式化表示所有专家规则,定义digit变量标记该专家规则是否存在,存在为“1”,不存在为“0”。


3.根据权利要求1所述的基于编码解码器的智能合约漏洞检测可解释性方法,其特征在于,所述构建前馈神经网络提取专家规则特征具体为:
构建前馈神经网络,将智能合约漏洞对应的专家规则one-hot编码输入到前馈神经网络中进行训练,提取出高语义表达的专家规则特征Pr。


4.根据权利要求1所述的基于编码解码器的智能合约漏洞检测可解释性方法,其特征在于,所述利用智能合约自动化抽图工具,将智能合约源码数据集转换为对应的智能合约图形式具体为:
定位导致智能合约漏洞的关键函数与代码段,根据智能合约中不同函数和代码的关键程度不同,对应合约图节点和有向边扮演的角色也不同,利用自动化抽图工具抽取核心节点、辅助节点、Fallback节点及有向时序边,将智能合约数据集源码转化为相应的智能合约图。


5.根据权利要求1所述的基于编码解码器的智能合约漏洞检测可解释性方法,其特征在于,所述利用智能合约图节点消融工具,对智能合约图进行消融处理,使不同合约图规范化成统一结构具体为:...

【专利技术属性】
技术研发人员:黄步添丁杰钱鹏杨书诚刘振广陈建海周伟华
申请(专利权)人:杭州云象网络技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1