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. ARMore: Pushing Love Back Into Binaries
 
conference paper

ARMore: Pushing Love Back Into Binaries

Di Bartolomeo, Luca  
•
Moghaddas, Hossein  
•
Payer, Mathias  
January 1, 2023
Proceedings Of The 32Nd Usenix Security Symposium
32nd USENIX Security Symposium

Static rewriting enables late-state code changes (e.g., to add mitigations, to remove unnecessary code, or to instrument for code coverage) at low overhead in security-critical environments. Most research on static rewriting has so far focused on the x86 architecture. However, the prevalence and proliferation of ARM-based devices along with a large amount of personal data (e.g., health and sensor data) that they process calls for efficient introspection and analysis capabilities on the ARM platform. Addressing the unique challenges on aarch64, we introduce ARMore, the first efficient, robust, and heuristic-free static binary rewriter for arbitrary aarch64 binaries that produces reassembleable assembly. The key improvements introduced by ARMore make the recovery of indirect control flow an option rather than a necessity. Instead of crashing, the cost of an uncovered target only causes the small overhead of an additional branch. ARMore can rewrite binaries from different languages and compilers (even arbitrary hand-written assembly), both on PIC and non-PIC code, with or without symbols, including exception handling for C++ and Go binaries, and also including binaries with mixed data and text. ARMore is sound as it does not rely on any assumptions about the input binary. ARMore is also efficient: it does not employ any expensive dynamic translation techniques, incurring negligible overhead (<1% in our evaluated benchmarks). Our AFL++ coverage instrumentation pass enables fuzzing of closed-source aarch64 binaries at three times the speed compared to the state-of-the-art (AFL-QEMU), and we found 58 unique crashes in closed-source software. ARMore is the only static rewriter whose rewritten binaries correctly pass all SQLite3 and core-utils test cases and autopkgtest of 97.5% Debian packages.

  • Details
  • Metrics
Type
conference paper
Web of Science ID

WOS:001066451506029

Author(s)
Di Bartolomeo, Luca  
Moghaddas, Hossein  
Payer, Mathias  
Corporate authors
USENIX Association
Date Issued

2023-01-01

Publisher

Usenix Assoc

Publisher place

Berkeley

Published in
Proceedings Of The 32Nd Usenix Security Symposium
ISBN of the book

978-1-939133-37-3

Start page

6311

End page

6328

Subjects

Technology

•

Code

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
HEXHIVE  
Event nameEvent placeEvent date
32nd USENIX Security Symposium

Anaheim, CA

AUG 09-11, 2023

FunderGrant Number

European Research Council (ERC) under the European Union

850868

DARPA

HR001119S0089-AMP-FP-034

SNSF

PCEGP2_186974

Available on Infoscience
February 20, 2024
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/204638
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