国内刊号:31-1289/TP
国际刊号:1000-3428
发布日期:
作者:徐瀅, 傅紫薇, 张伟, 陈云芳
单位:南京邮电大学计算机学院,江苏 南京 210023
关键词:区块链安全,智能合约,漏洞检测,抽象语法树,深度学习
基金:国家自然科学基金(62072252)
在目前基于深度学习的智能合约漏洞检测方案中,直接使用字节码或源码进行文本序列的特征表达存在对程序语义特征理解不足的问题。基于抽象语法树(AST)嵌入的智能合约漏洞检测技术充分考虑了合约向量化表达需要的语法和语义特征以及合适的处理粒度,能够更加准确地捕捉智能合约漏洞特征。根据Solidity语法树解析设计一种AST嵌入的智能合约向量化方法,对语句级别的节点类型递归划分生成一系列语句树,然后采用递归神经网络自底向上地对每个语句树进行编码,将复杂的AST结构转化为语句级别的特征向量,在此基础上构建基于注意力机制的双向门控循环神经网络(BiGRU-ATT)模型,实现对语句树序列特征的学习,完成对重入漏洞、未校验返回值、时间戳依赖、访问权限控制和拒绝服务攻击5种典型漏洞的检测及分类。实验结果表明,基于AST嵌入的向量化方法相较于直接将源码视为文本序列进行向量化的方法在微观F1值(micro-F1)和宏观F1值(macro-F1)指标上分别提高了13和10百分点,在时间戳依赖、访问权限控制以及拒绝服务攻击漏洞分类任务中,BiGRU-ATT模型的F1值高达88%以上。
来源:2025年第9期
《计算机工程》期刊编辑部