Publication | Closed Access
IntelliGen: Automatic Driver Synthesis for Fuzz Testing
26
Citations
26
References
2021
Year
Unknown Venue
EngineeringSoftware EngineeringFuzz DriversSoftware AnalysisFormal VerificationHardware SecurityValid Fuzz DriversStatic CheckingFuzzingComputer EngineeringComputer ScienceStatic Program AnalysisAutomatic Driver SynthesisSoftware DesignMutation-based TestingProgram AnalysisSoftware TestingVulnerability DetectionSymbolic Execution
Fuzzing is a technique widely used in vulnerability detection. The process usually involves writing effective fuzz driver programs, which, when done manually, can be extremely labor intensive. Previous attempts at automation leave much to be desired, in either degree of automation or quality of output. In this paper, we propose IntelliGen, a framework that constructs valid fuzz drivers automatically. First, IntelliGen determines a set of entry functions and evaluates their respective chance of exhibiting a vulnerability. Then, IntelliGen generates fuzz drivers for the entry functions through hierarchical parameter replacement and type inference. We implemented IntelliGen and evaluated its effectiveness on real-world programs selected from the Android Open-Source Project, Google's fuzzer-testsuite and industrial collaborators. IntelliGen covered on average 1.08X-2.03X more basic blocks and 1.36X-2.06X more paths over state-of-the-art fuzz driver synthesizers FUDGE and FuzzGen. IntelliGen performed on par with manually written drivers and found 10 more bugs.
| Year | Citations | |
|---|---|---|
Page 1
Page 1