kirancodes.me
To Proof Maintenance & Beyond!

VisFuzz: Understanding and Intervening Fuzzing with Interactive Visualization

Chijin Zhou, Mingzhe Wang, Jie Liang, Zhe Liu, Chengnian Sun, Yu Jiang

Abstract

Fuzzing is widely used for vulnerability detection. One of the challenges for an efficient fuzzing is covering code guarded by constraints such as the magic number and nested conditions. Recently, academia has partially addressed the challenge via whitebox methods. However, high-level constraints such as array sorts, virtual function invocations, and tree set queries are yet to be handled. To meet this end, we present VisFuzz, an interactive tool for better understanding and intervening fuzzing process via real-time visualization. It extracts call graph and control flow graph from source code, maps each function and basic block to the line of source code and tracks real-time execution statistics with detail constraint contexts. With VisFuzz, test engineers first locate blocking constraints and then learn its semantic context, which helps to craft targeted inputs or update test drivers. Preliminary evaluations are conducted on four real-world programs in Google fuzzer-test-suite. Given additional 15 minutes to understand and intervene the state of fuzzing, the intervened fuzzing outperform the original pure AFL fuzzing, and the path coverage improvements range from 10.84% to 150.58%, equally fuzzed by for 12 hours.

BibTeX
@inproceedings{Zhou-al:ASE19,
  author    = {Chijin Zhou and
               Mingzhe Wang and
               Jie Liang and
               Zhe Liu and
               Chengnian Sun and
               Yu Jiang},
  title     = {{VisFuzz:} Understanding and Intervening Fuzzing with Interactive Visualization},
  booktitle = {ASE},
  pages     = {1078--1081},
  publisher = {{IEEE}},
  year      = {2019},
}

Related papers