SymQEMU: Compilation-based symbolic execution for binaries - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2021

SymQEMU: Compilation-based symbolic execution for binaries

Sebastian Poeplau
  • Fonction : Auteur
  • PersonId : 1125255
Aurélien Francillon

Résumé

Symbolic execution is a powerful technique for software analysis and bug detection. Compilation-based symbolic execution is a recently proposed flavor that has been shown to improve the performance of symbolic execution significantly when source code is available. We demonstrate a novel technique to enable compilation-based symbolic execution of binaries (i.e., without the need for source code). Our system, SymQEMU, builds on top of QEMU, modifying the intermediate representation of the target program before translating it to the host architecture. This enables SymQEMU to compile symbolic-execution capabilities into binaries and reap the associated performance benefits while maintaining architecture independence. We present our approach and implementation, and we show that it outperforms the state-of-the-art binary symbolic executors S2E and QSYM with statistical significance; on some benchmarks, it even achieves better performance than the source-based SymCC. Moreover, our tool has found a previously unknown vulnerability in the well-tested libarchive library, demonstrating its utility in testing real-world software.
Fichier principal
Vignette du fichier
ndss2021_2B-2_24118_paper.pdf (1.83 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03556899 , version 1 (04-02-2022)

Identifiants

Citer

Sebastian Poeplau, Aurélien Francillon. SymQEMU: Compilation-based symbolic execution for binaries. NDSS 2021, Network and Distributed System Security Symposium, Feb 2021, San Diego (virtuel), United States. ⟨10.14722/NDSS.2021.24118⟩. ⟨hal-03556899⟩

Collections

EURECOM ANR
210 Consultations
153 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More