MANDO:用于细粒度检测智能合约漏洞的多级异构图嵌入方法
软件工程
2022-09-08 v2 机器学习
摘要
学习由不同类型节点和边构成的异构图能够提升同构图技术的效果。此类图的一个有趣示例是表示可能软件代码执行流的控制流图。由于这类图能表征更多代码语义信息,开发针对此类图的技术与工具对于检测软件漏洞以提升其可靠性极为有益。然而,现有异构图技术仍不足以处理节点与边类型数量庞大且多变的复杂图。本文以以太坊智能合约为例,将其表示为基于控制流图与包含不同类型节点和链接的调用图所构建的异构合约图。我们提出MANDO,一种新的异构图表示方法来学习此类异构合约图的结构。MANDO提取定制的元路径,其由不同类型节点及其邻居间的关系连接组成。此外,它开发了多元路径异构图注意力网络,以学习异构合约图中不同类型节点及其元路径的多级嵌入,从而更准确地捕获智能合约的代码语义,并有助于细粒度行级与粗粒度合约级漏洞检测。我们对大规模智能合约数据集的广泛评估表明,MANDO在粗粒度合约级上改善了其他技术的漏洞检测结果。更重要的是,它是首个能够识别细粒度行级漏洞的基于学习的方法,并且在F1-score上比传统基于代码分析的漏洞检测方法显著提升了11.35%至70.81%。
引用
@article{arxiv.2208.13252,
title = {MANDO: Multi-Level Heterogeneous Graph Embeddings for Fine-Grained Detection of Smart Contract Vulnerabilities},
author = {Hoang H. Nguyen and Nhat-Minh Nguyen and Chunyao Xie and Zahra Ahmadi and Daniel Kudendo and Thanh-Nam Doan and Lingxiao Jiang},
journal= {arXiv preprint arXiv:2208.13252},
year = {2022}
}
备注
Accepted at the 9th IEEE International Conference on Data Science and Advanced Analytics (DSAA 2022 - Research Track)