PDF
摘要
针对传统智能合约漏洞检测方法检测精度较低、误报率较高,以及基于神经网络的方法对字节码级智能合约特征挖掘不足的问题,提出了一种基于语义感知图神经网络的智能合约字节码漏洞检测方法。首先,以智能合约字节码划分基本块作为节点,并从字节码中提取基本块间的调用关系作为边,以此生成控制流图(control flow graph,CFG),传入图卷积神经网络(graph convolutional network,GCN)中进行训练得到图节点的特征表示;其次,对合约字节码指令序列进行分词,再转化为词向量嵌入到低维空间,传入长短期记忆(long short-term memory,LSTM)网络进行训练,得到字节码语义信息的向量表示;最后,将生成的节点特征和语义特征进行拼接后传入全连接层进行降维,结合语义信息和节点特征对智能合约进行漏洞检测。利用公开数据集中的真实智能合约进行训练和测试,在通过传统方法和人工标签的两类漏洞分类数据集中进行验证。使用本文提出的方法与3种传统智能合约漏洞检测工具及1种基于神经网络的智能合约漏洞检测方法进行对比。实验结果表明本文提出的基于语义感知图神经网络智能合约字节码漏洞检测方法在各类指标上均有较大提升,能够检测出其余4种方法未检测出的具有漏洞的合约,说明在图神经网络中加入字节码语义信息能够有效提升检测精度,降低误报率。
关键词
智能合约字节码
/
图卷积神经网络
/
语义感知
/
漏洞检测
Key words
基于语义感知图神经网络的智能合约字节码漏洞检测方法[J].
工程科学与技术, 2022, 54(02): 49-55 DOI:10.15961/j.jsuese.202100880