【Author】 Ashraf, Imran; Ma, Xiaoxue; Jiang, Bo; Chan, W. K.
【Source】IEEE ACCESS
【Abstract】Ethereum is a kind of blockchain platform where developers may develop and run programs called smart contracts. It inherently relies on gas consumption within a specified allowance to constrain code execution, making every instruction along an execution path to be a location for raising an exception. In this paper, we present GasFuzzer, the first work in exploring the effects of gas allowance manipulation to expose gas-oriented exception security vulnerabilities. GasFuzzer consists of two phases. The first phase introduces a gas-greedy strategy to favor transactions having higher gas consumption for mutation to obtain test transactions with different gas consumptions. The second phase introduces a novel notion of fractional gas consumption coverage and a novel gas-leveling strategy. It applies them to mutate the gas allowances of some of these transactions resulting in the highest gas consumptions produced in the first phase followed by applying these allowance-mutated transactions together with those which remained non-mutated to fuzz test the smart contract. We report an evaluation of GasFuzzer via an experiment on 3170 real-world smart contracts deployed on the public Ethereum Blockchain between October 2017 and July 2019. The findings show that GasFuzzer with gas-greedy strategy can detect more Exceptions Disorder kind of security vulnerabilities (7 more cases) than the previous state-of-the-art black-box fuzzer, and GasFuzzer with gas-leveling strategy and gas coverage criterion can detect 6 additional cases of Exceptions Disorder security vulnerabilities, which is significant.
【Keywords】Fuzzing; Licenses; Virtual machining; Computer science; Blockchain; Ethereum; smart contract; fuzzing; software testing; Fuzzer; security vulnerability; gas consumption; atomicity violation; vulnerability triggering
【发表时间】2020
【收录时间】2022-08-16
【文献类型】Article
【论文大主题】智能合约
【论文小主题】智能合约安全与漏洞检测
【影响因子】3.476
评论