2020 IEEE Secure Development (SecDev) 2020
DOI: 10.1109/secdev45635.2020.00019
|View full text |Cite
|
Sign up to set email alerts
|

Fuzzing Binaries for Memory Safety Errors with QASan

Abstract: Fuzz testing techniques are becoming pervasive for their ever-improving ability to generate crashing trial cases for programs. Memory safety violations however can lead to silent corruptions and errors, and a fuzzer may recognize them only in the presence of sanitization machinery. For closed-source software combining sanitization with fuzzing incurs practical obstacles that we try to tackle with an architecture-independent proposal called QASan for detecting heap memory violations. In our tests QASan is compe… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
14
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
3
3
2

Relationship

0
8

Authors

Journals

citations
Cited by 20 publications
(14 citation statements)
references
References 32 publications
(40 reference statements)
0
14
0
Order By: Relevance
“…Google announced FuzzBench in March 2020 as "a fully automated, open source, free service for evaluating fuzzers". 8 It tests fuzzers in a controlled environment, comparing their performance across a large number of targets taken from Google OSS-Fuzz, a collection of fuzz targets for opensource software. 9 For each target, the service compares the edge coverage obtained by the fuzzers.…”
Section: A Fuzzbenchmentioning
confidence: 99%
See 2 more Smart Citations
“…Google announced FuzzBench in March 2020 as "a fully automated, open source, free service for evaluating fuzzers". 8 It tests fuzzers in a controlled environment, comparing their performance across a large number of targets taken from Google OSS-Fuzz, a collection of fuzz targets for opensource software. 9 For each target, the service compares the edge coverage obtained by the fuzzers.…”
Section: A Fuzzbenchmentioning
confidence: 99%
“…Address sanitizer [23] is a very popular sanitizer that checks for certain memory errors. Since it requires source code to produce instrumented target programs, Fioraldi et al have recently proposed QASan [8], a QEMU-based system that implements similar checks for binaries. There is a plethora of other sanitizers, often requiring source code [26].…”
Section: B Run-time Bug Detectionmentioning
confidence: 99%
See 1 more Smart Citation
“…To date, dozens of techniques have been proposed to detect UAF in testing environments and to prevent UAF exploits in production environments. In terms of detection, most existing solutions rely exclusively on dynamic analysis by instrumenting programs at the IR-level [6], [7], [8], [9], [10], [11], [12] or binary level [13], [14], [15], [16], [17], [18], [19]. While maintaining zero or low false alarms, dynamic analysis approaches have low code coverage and high performance overhead.…”
Section: Introductionmentioning
confidence: 99%
“…State-of-the-art binary instrumentation for fuzzing splits multi-byte comparisons at emulation time to be able to report successful hits of single bytes (cmpcov or LAF-intel [15]). It may even supply the fuzzer with feedback about compare results (cmplog [5], [9]) or inject address sanitization in an efficient way [7], [10]. Still, they are far from perfect and still get stuck on trivial checksums, complex floating-point calculations, and more complex formats like XML.…”
Section: Introductionmentioning
confidence: 99%