FUSE: Single-Pass Binary Co-Instrumentation for Accurate Vulnerability Detection

dc.contributor.authorKumar, Pranaven
dc.contributor.committeechairRavindran, Binoyen
dc.contributor.committeememberGiles, Kendall Everetten
dc.contributor.committeememberVerbeek, Freeken
dc.contributor.departmentElectrical and Computer Engineeringen
dc.date.accessioned2026-06-09T08:01:24Zen
dc.date.available2026-06-09T08:01:24Zen
dc.date.issued2026-06-08en
dc.description.abstractBinary software deployed without source code remains vulnerable to memory safety er- rors that compilers detect via AddressSanitizer (ASAN). Existing binary-level ASAN tools rely on heuristic disassembly that fails on complex programs and produces false positives. We present FUSE, a static binary instrumentation tool that combines ASAN memory-safety checks with AFL++ coverage-guided fuzzing counters in a single pass. Built on FoxDec, a formally verified disassembler, FUSE produces zero spurious ASAN error reports across 19,350 NIST Juliet test cases—every ASAN-flagged error corresponds to a genuine memory-safety violation—and achieves 89.5% rewriting success across 315 binaries from four benchmark suites. In comparison, RetroWrite achieves 46.3% success and produces two genuine ASAN false positives. A register liveness analysis reduces instrumentation overhead by eliminating push/pop pairs at 61% of instrumentation sites, enabling FUSE to match 99.3% of native ASAN throughput on real-world fuzzing targets including zlib, libjpeg-turbo, and libpng. FUSE discovers 3.29× more coverage edges than source-level AFL instrumentation, demon- strating the practical value of combined ASAN+AFL binary instrumentation.en
dc.description.abstractgeneralBinary software deployed without source code remains vulnerable to memory safety er- rors that compilers detect via AddressSanitizer (ASAN). Existing binary-level ASAN tools rely on heuristic disassembly that fails on complex programs and produces false positives. We present FUSE, a static binary instrumentation tool that combines ASAN memory-safety checks with AFL++ coverage-guided fuzzing counters in a single pass. Built on FoxDec, a formally verified disassembler, FUSE produces zero spurious ASAN error reports across 19,350 NIST Juliet test cases—every ASAN-flagged error corresponds to a genuine memory-safety violation—and achieves 89.5% rewriting success across 315 binaries from four benchmark suites. In comparison, RetroWrite achieves 46.3% success and produces two genuine ASAN false positives. A register liveness analysis reduces instrumentation overhead by eliminating push/pop pairs at 61% of instrumentation sites, enabling FUSE to match 99.3% of native ASAN throughput on real-world fuzzing targets including zlib, libjpeg-turbo, and libpng. FUSE discovers 3.29× more coverage edges than source-level AFL instrumentation, demon- strating the practical value of combined ASAN+AFL binary instrumentation.en
dc.description.degreeMaster of Scienceen
dc.format.mediumETDen
dc.identifier.othervt_gsexam:47044en
dc.identifier.urihttps://hdl.handle.net/10919/143288en
dc.language.isoenen
dc.publisherVirginia Techen
dc.rightsCreative Commons Attribution-NonCommercial 4.0 Internationalen
dc.rights.urihttp://creativecommons.org/licenses/by-nc/4.0/en
dc.subject• Security and privacy →Software and application security; Fuzzing; • Software and its engineering →Compilers.en
dc.titleFUSE: Single-Pass Binary Co-Instrumentation for Accurate Vulnerability Detectionen
dc.typeThesisen
thesis.degree.disciplineComputer Engineeringen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 1 of 1
Name:
Kumar_P_T_2026.pdf
Size:
744.67 KB
Format:
Adobe Portable Document Format

Collections