Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. Arvin: Greybox Fuzzing Using Approximate Dynamic CFG Analysis
 
conference paper

Arvin: Greybox Fuzzing Using Approximate Dynamic CFG Analysis

Shahini, Sirus
•
Zhang, Mu
•
Payer, Mathias  
Show more
January 1, 2023
Proceedings Of The 2023 Acm Asia Conference On Computer And Communications Security, Asia Ccs 2023
18th ACM ASIA Conference on Computer and Communications Security (ASIA CCS)

Fuzzing has emerged as the most broadly used testing technique to discover bugs. Effective fuzzers rely on coverage to prioritize inputs that exercise new program areas. Edge-based code coverage of the Program Under Test (PUT) is the most commonly used coverage today. It is cheap to collect-a simple counter per basic block edge suffices. Unfortunately, edge coverage lacks context information: it exclusively records how many times each edge was executed but lacks the information necessary to trace actual paths of execution.

Our new fuzzer Arvin gathers probabilistic full traces of PUT executions to construct Dynamic Control Flow Graphs (DCFGs). These DCFGs observe a richer set of program behaviors, such as the "depth" of execution, different paths to reach the same basic block, and targeting specific functions and paths. Prioritizing the most promising inputs based on these behaviors improves fuzzing effectiveness by increasing the diversity of explored basic blocks.

Designing a DCFG-aware fuzzer raises a key challenge: collecting the required information needs complex instrumentation which results in performance overheads. Our prototype approximates DCFG and enables lightweight, asynchronous coordination between fuzzing processes, making DCFG-based fuzzing practical.

By approximating DCFGs, Arvin is fast, resulting in at least an eight-fold increase in fuzzing speed. Because it effectively prioritizes inputs using methods like depth comparison and directed exclusion, which are unavailable to other fuzzers, it finds bugs missed by others. We compare its ability to find bugs using various Linux programs and discover 50 bugs, 23 of which are uniquely found by Arvin.

  • Details
  • Metrics
Type
conference paper
DOI
10.1145/3579856.3582813
Web of Science ID

WOS:001053857900019

Author(s)
Shahini, Sirus
Zhang, Mu
Payer, Mathias  
Ricci, Robert
Date Issued

2023-01-01

Publisher

ASSOC COMPUTING MACHINERY

Publisher place

New York

Published in
Proceedings Of The 2023 Acm Asia Conference On Computer And Communications Security, Asia Ccs 2023
ISBN of the book

979-8-4007-0098-9

Start page

232

End page

246

Subjects

Computer Science, Artificial Intelligence

•

Mathematics, Applied

•

Telecommunications

•

Computer Science

•

Mathematics

•

fuzzer

•

vulnerability

•

control flow graph

•

input prioritization

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
HEXHIVE  
Event nameEvent placeEvent date
18th ACM ASIA Conference on Computer and Communications Security (ASIA CCS)

Melbourne, AUSTRALIA

Jul 10-14, 2023

Available on Infoscience
September 25, 2023
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/200972
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés