ItyFuzz:基于快照的智能合约模糊测试器
密码学与安全
2023-06-30 v1 软件工程
摘要
智能合约是关键金融工具,其安全性至关重要。然而,由于所有交易背后存在持久的区块链状态,智能合约程序难以进行模糊测试。对交易序列进行变异十分复杂,且常常导致对输入空间与程序空间的次优探索。本文提出一种新颖的基于快照的智能合约测试模糊测试器 ItyFuzz。在 ItyFuzz 中,我们不存储交易序列并从中变异,而是对状态和单例交易进行快照。为探索有趣的状态,ItyFuzz 引入数据流路点机制以识别具有更大潜在动量的状态。ItyFuzz 还结合比较路点来剪枝状态空间。通过维护状态快照,ItyFuzz 能够快速合成重入攻击等具体漏洞利用。由于 ItyFuzz 测试单个智能合约的响应时间为秒级,它可用于链上测试,相较于本地开发测试具有诸多优势。最后,我们在真实世界智能合约及一些被攻击的链上 DeFi 项目上评估 ItyFuzz。ItyFuzz 在指令覆盖率方面优于现有模糊测试器,并能快速发现并生成链上项目的真实漏洞利用。
引用
@article{arxiv.2306.17135,
title = {ItyFuzz: Snapshot-Based Fuzzer for Smart Contract},
author = {Chaofan Shou and Shangyin Tan and Koushik Sen},
journal= {arXiv preprint arXiv:2306.17135},
year = {2023}
}
备注
ISSTA 2023