Title
NORAX: Enabling Execute-Only Memory for COTS Binaries on AArch64
Abstract
Code reuse attacks exploiting memory disclosure vulnerabilities can bypass all deployed mitigations. One promising defense against this class of attacks is to enable execute-only memory (XOM) protection on top of fine-grained address space layout randomization (ASLR). However, recent works implementing XOM, despite their efficacy, only protect programs that have been (re)built with new compiler support, leaving commercial-off-the-shelf (COTS) binaries and source-unavailable programs unprotected. We present the design and implementation of NORAX, a practical system that retrofits XOM into stripped COTS binaries on AArch64 platforms. Unlike previous techniques, NORAX requires neither source code nor debugging symbols. NORAX statically transforms existing binaries so that during runtime their code sections can be loaded into XOM memory pages with embedded data relocated and data references properly updated. NORAX allows transformed binaries to leverage the new hardware-based XOM support—a feature widely available on AArch64 platforms (e.g., recent mobile devices) yet virtually unused due to the incompatibility of existing binaries. Furthermore, NORAX is designed to co-exist with other COTS binary hardening techniques, such as in-place randomization (IPR). We apply NORAX to the commonly used Android system binaries running on SAMSUNG Galaxy S6 and LG Nexus 5X devices. The results show that NORAX on average slows down the execution of transformed binaries by 1.18% and increases their memory footprint by 2.21%, suggesting NORAX is practical for real-world adoption.
Year
DOI
Venue
2017
10.1109/SP.2017.30
2017 IEEE Symposium on Security and Privacy (SP)
Keywords
Field
DocType
NORAX,execute-only memory,XOM,memory disclosure,address space layout randomization,ASLR,programs protection,compiler support,commercial-off-the-shelf binaries,COTS binaries,AArch64 platforms,Android system
Android (operating system),Source code,Address space layout randomization,Computer security,Computer science,Compiler,Mobile device,Code reuse,Memory footprint,Debugging,Embedded system
Conference
ISSN
ISBN
Citations 
1081-6011
978-1-5090-5534-0
5
PageRank 
References 
Authors
0.39
35
8
Name
Order
Citations
PageRank
Yaohui Chen1354.41
Dongli Zhang250.39
Ruowen Wang3393.06
Rui Qiao4793.42
Ahmed M. Azab540016.83
Long Lu669933.95
Hayawardh Vijayakumar7110.81
Wenbo Shen81789.87