Loading [MathJax]/extensions/MathZoom.js
ProFuzzer: On-the-fly Input Type Probing for Better Zero-Day Vulnerability Discovery | IEEE Conference Publication | IEEE Xplore

ProFuzzer: On-the-fly Input Type Probing for Better Zero-Day Vulnerability Discovery


Abstract:

Existing mutation based fuzzers tend to randomly mutate the input of a program without understanding its underlying syntax and semantics. In this paper, we propose a nove...Show More

Abstract:

Existing mutation based fuzzers tend to randomly mutate the input of a program without understanding its underlying syntax and semantics. In this paper, we propose a novel on-the-fly probing technique (called ProFuzzer) that automatically recovers and understands input fields of critical importance to vulnerability discovery during a fuzzing process and intelligently adapts the mutation strategy to enhance the chance of hitting zero-day targets. Since such probing is transparently piggybacked to the regular fuzzing, no prior knowledge of the input specification is needed. During fuzzing, individual bytes are first mutated and their fuzzing results are automatically analyzed to link those related together and identify the type for the field connecting them; these bytes are further mutated together following type-specific strategies, which substantially prunes the search space. We define the probe types generally across all applications, thereby making our technique application agnostic. Our experiments on standard benchmarks and real-world applications show that ProFuzzer substantially outperforms AFL and its optimized version AFLFast, as well as other state-of-art fuzzers including VUzzer, Driller and QSYM. Within two months, it exposed 42 zero-days in 10 intensively tested programs, generating 30 CVEs.
Date of Conference: 19-23 May 2019
Date Added to IEEE Xplore: 16 September 2019
ISBN Information:

ISSN Information:

Conference Location: San Francisco, CA, USA

References

References is not available for this document.