Conference Proceeding Article
Stack-based attacks typically require that attackers have a good understanding of the stack layout of the victim program. In this paper, we leverage specific features on ARM architecture and propose a practical technique that introduces randomness to the stack layout when an Android application executes. We employ minimal binary rewriting on the Android app that produces randomized executable of the same size which can be executed on an unmodified Android operating system. Our experiments on applying this randomization on the most popular 20 free Android apps on Google Play show that the randomization coverage of functions increases from 65% (by a state-of-the-art randomization approach) to 97.6% with, on average, 4 and 7 bits of randomness applied to each 16-bit and 32-bit function, respectively. We also show that it is effective in defending against stack-based memory vulnerabilities and real-world ROP attacks.
Memory layout randomization, Android security
18th annual International Conference on Information Security and Cryptology (ICISC 2015)
City or Country
Liang, Yu; Ma, Xinjie; Wu, Daoyuan; Tang, Xiaoxiao; GAO, Debin; Peng, Guojun; Jia, Chunfu; and Zhang, Huanguo.
Stack Layout Randomization with Minimal Rewriting of Android Binaries. (2015). 18th annual International Conference on Information Security and Cryptology (ICISC 2015). Research Collection School Of Information Systems.
Available at: http://ink.library.smu.edu.sg/sis_research/2919