CRSep 14, 2019

Oracle-Supported Dynamic Exploit Generation for Smart Contracts

arXiv:1909.06605v275 citations
AI Analysis

This work addresses security risks in blockchain transactions by providing a more effective tool for smart contract vulnerability detection, though it builds incrementally on existing dynamic techniques.

The authors tackled the problem of undisciplined smart contract development by introducing ContraMaster, an oracle-supported dynamic exploit generation framework that mutates transaction sequences to discover vulnerabilities, achieving no false positives and revealing three new attack types on 218 vulnerable contracts.

Despite the high stakes involved in smart contracts, they are often developed in an undisciplined manner, leaving the security and reliability of blockchain transactions at risk. In this paper, we introduce ContraMaster: an oracle-supported dynamic exploit generation framework for smart contracts. Existing approaches mutate only single transactions; ContraMaster exceeds these by mutating the transaction sequences. ContraMaster uses data-flow, control-flow, and the dynamic contract state to guide its mutations. It then monitors the executions of target contract programs, and validates the results against a general-purpose semantic test oracle to discover vulnerabilities. Being a dynamic technique, it guarantees that each discovered vulnerability is a violation of the test oracle and is able to generate the attack script to exploit this vulnerability. In contrast to rule-based approaches, ContraMaster has not shown any false positives, and it easily generalizes to unknown types of vulnerabilities (e.g., logic errors). We evaluate ContraMaster on 218 vulnerable smart contracts. The experimental results confirm its practical applicability and advantages over the state-of-the-art techniques, and also reveal three new types of attacks.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes