面向智能合约的预言机辅助动态漏洞利用生成
密码学与安全
2019-09-19 v2
摘要
尽管智能合约涉及高风险,它们常以不严谨的方式开发,使区块链交易的安全性与可靠性面临风险。本文引入 ContraMaster:一个面向智能合约的预言机辅助动态漏洞利用生成框架。现有方法仅对单笔交易进行变异;ContraMaster 超越它们,对交易序列进行变异。ContraMaster 利用数据流、控制流及动态合约状态来引导其变异。随后它监控目标合约程序的执行,并根据通用语义测试预言机验证结果以发现漏洞。作为一种动态技术,它保证每个被发现的漏洞都是对测试预言机的违背,并能够生成利用该漏洞的攻击脚本。与基于规则的方法相比,ContraMaster 未出现任何误报,且易于推广至未知类型的漏洞(例如逻辑错误)。我们在 218 个存在漏洞的智能合约上评估了 ContraMaster。实验结果证实了其实用性及对最先进技术的优势,并揭示了三种新型攻击。
引用
@article{arxiv.1909.06605,
title = {Oracle-Supported Dynamic Exploit Generation for Smart Contracts},
author = {Haijun Wang and Yi Li and Shang-Wei Lin and Cyrille Artho and Lei Ma and Yang Liu},
journal= {arXiv preprint arXiv:1909.06605},
year = {2019}
}