Abstract
More and more Android apps implement their functionalities in native code, so does malware. Although various approaches have been designed to analyze the native code used by apps, they usually generate incomplete and biased results due to their limitations in obtaining and analyzing high-fidelity execution traces and memory data with low overheads. To fill the gap, in this paper, we propose and develop a novel hardware-assisted analyzer for native code in apps. We leverage ETM, a hardware feature of ARM platform, and eBPF, a kernel component of Android system, to collect real execution traces and relevant memory data of target apps, and design new methods to scrutinize native code according to the collected data. To show the unique capability of NCScope, we apply it to four applications that cannot be accomplished by existing tools, including systematic studies on self-protection and anti-analysis mechanisms implemented in native code of apps, analysis of memory corruption in native code, and identification of performance differences between functions in native code. The results uncover that only 26.8% of the analyzed financial apps implement self-protection methods in native code, implying that the security of financial apps is far from expected. Meanwhile, 78.3% of the malicious apps under analysis have anti-analysis behaviors, suggesting that NCScope is very useful to malware analysis. Moreover, NCScope can effectively detect bugs in native code and identify performance differences.
Original language | English |
---|---|
Title of host publication | Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) |
Publisher | Association for Computing Machinery (ACM) |
Pages | 629-641 |
Number of pages | 808 |
ISBN (Electronic) | 10.1145/3533767 |
ISBN (Print) | 9781450393799 |
Publication status | Published - 18 Jul 2022 |
Event | 31st ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA'22) - Virtual Duration: 18 Jul 2022 → 22 Jul 2022 https://conf.researchr.org/program/issta-2022/program-issta-2022/ |
Competition
Competition | 31st ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA'22) |
---|---|
Abbreviated title | ISSTA |
Period | 18/07/22 → 22/07/22 |
Internet address |
Fingerprint
Dive into the research topics of 'NCScope: hardware-assisted analyzer for native code in Android apps'. Together they form a unique fingerprint.Prizes
-
ACM SIGSOFT Distinguished Paper Award, "NCScope: Hardware-Assisted Analyzer for Native Code in Android Apps"
Zhou, H. (Recipient), Wu, S. (Recipient), Luo, X. (Recipient), Wang, T. (Recipient), Zhou, Y. (Recipient), Zhang, C. (Recipient) & Cai, H. (Recipient), Jul 2022
Prize: Prize (research)