中文

CrossInspector:面向跨合约漏洞检测的静态分析方法

密码学与安全 2024-08-29 v1 软件工程

摘要

随着区块链技术的发展,智能合约漏洞检测日益受到重视。然而,在智能合约字节码层面检测跨合约交互(即跨合约漏洞)时,现有工具常因语义信息恢复不足和合约依赖关系考量不充分,而产生大量误报和漏报。我们提出了 CrossInspector,一个 novel 框架,用于通过静态分析在字节码层面检测跨合约漏洞。CrossInspector 利用训练好的 Transformer 模型恢复语义信息,并考虑智能合约状态变量相关的控制流、数据流和依赖关系,以构建状态依赖图进行精细的过程间分析。此外,CrossInspector 引入了剪枝方法和两个并行优化机制以加速漏洞检测过程。在我们手动构建的数据集上进行的实验表明,CrossInspector 在精确率 (97%) 和召回率 (96.75%) 上均优于当前最先进的工具,同时将整体检测时间从 16.34 秒显著缩短至 7.83 秒,几乎与最快的字节码检测工具持平。此外,我们在随机挑选的 300 份真实世界智能合约上运行 CrossInspector,识别出 11 项先前工具遗漏的跨合约漏洞。

关键词

引用

@article{arxiv.2408.15292,
  title  = {CrossInspector: A Static Analysis Approach for Cross-Contract Vulnerability Detection},
  author = {Xiao Chen},
  journal= {arXiv preprint arXiv:2408.15292},
  year   = {2024}
}