SECRMay 17, 2019

Targeted Greybox Fuzzing with Static Lookahead Analysis

arXiv:1905.07147v171 citations
Originality Incremental advance
AI Analysis

This work addresses the need for more efficient bug detection in smart contracts by enabling targeted fuzzing without instrumentation, which is incremental as it builds on existing fuzzing methods with a novel guidance mechanism.

The paper tackles the problem of guiding greybox fuzzing toward specific target locations, such as recently modified code, by introducing an online static analysis technique that analyzes program paths to control the fuzzer's power schedule, and it shows that this targeted approach significantly outperforms standard greybox fuzzing, reaching 83% of challenging targets with up to 14x median speed-up in experiments on 27 Ethereum smart contract benchmarks.

Automatic test generation typically aims to generate inputs that explore new paths in the program under test in order to find bugs. Existing work has, therefore, focused on guiding the exploration toward program parts that are more likely to contain bugs by using an offline static analysis. In this paper, we introduce a novel technique for targeted greybox fuzzing using an online static analysis that guides the fuzzer toward a set of target locations, for instance, located in recently modified parts of the program. This is achieved by first semantically analyzing each program path that is explored by an input in the fuzzer's test suite. The results of this analysis are then used to control the fuzzer's specialized power schedule, which determines how often to fuzz inputs from the test suite. We implemented our technique by extending a state-of-the-art, industrial fuzzer for Ethereum smart contracts and evaluate its effectiveness on 27 real-world benchmarks. Using an online analysis is particularly suitable for the domain of smart contracts since it does not require any code instrumentation---instrumentation to contracts changes their semantics. Our experiments show that targeted fuzzing significantly outperforms standard greybox fuzzing for reaching 83% of the challenging target locations (up to 14x of median speed-up).

Code Implementations2 repos
Foundations

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

Your Notes