作者: Yaohui Chen , Dongli Zhang , Ruowen Wang , Rui Qiao , Ahmed M. Azab
DOI: 10.1109/SP.2017.30
关键词: Memory footprint 、 Code reuse 、 Debugging 、 Address space layout randomization 、 Compiler 、 Embedded system 、 Computer science 、 Source code
摘要: Code reuse attacks exploiting memory disclosure vulnerabilities can bypass all deployed mitigations. One promising defense against this class of is to enable execute-only (XOM) protection on top 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 unprotected. We present the design implementation NORAX, a practical system retrofits XOM into stripped COTS AArch64 platforms. Unlike previous techniques, NORAX requires neither source code nor debugging symbols. statically transforms existing so during runtime sections be loaded pages embedded data relocated references properly updated. allows transformed leverage hardware-based support—a feature widely available platforms (e.g., mobile devices) yet virtually unused due incompatibility binaries. Furthermore, designed co-exist other binary hardening such as in-place (IPR). apply commonly used Android running SAMSUNG Galaxy S6 LG Nexus 5X devices. The results show average slows down execution by 1.18% increases footprint 2.21%, suggesting for real-world adoption.