NCScope: Hardware-Assisted Analyzer for Native Code in Android Apps

被引:7
|
作者
Zhou, Hao [1 ]
Wu, Shuohan [1 ]
Luo, Xiapu [1 ]
Wang, Ting [2 ]
Zhou, Yajin [3 ]
Zhang, Chao [4 ]
Cai, Haipeng [5 ]
机构
[1] Hong Kong Polytech Univ, Hong Kong, Peoples R China
[2] Penn State Univ, State Coll, PA USA
[3] Zhejiang Univ, Hangzhou, Zhejiang, Peoples R China
[4] Tsinghua Univ, BNRist, Beijing, Peoples R China
[5] Washington State Univ, Pullman, WA 99164 USA
基金
中国国家自然科学基金; 美国国家科学基金会;
关键词
Android; Dynamic Analysis; App Analysis;
D O I
10.1145/3533767.3534410
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:629 / 641
页数:13
相关论文
共 50 条
  • [41] NativeSummary: Summarizing Native Binary Code for Inter-language Static Analysis of Android Apps
    Wang, Jikai
    Wang, Haoyu
    PROCEEDINGS OF THE 33RD ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2024, 2024, : 971 - 982
  • [42] Interactive space deformation with hardware-assisted rendering
    Kurzion, Y
    Yagel, R
    IEEE COMPUTER GRAPHICS AND APPLICATIONS, 1997, 17 (05) : 66 - 77
  • [43] On Locating Malicious Code in Piggybacked Android Apps
    Li, Li
    Li, Daoyuan
    Bissyande, Tegawende F.
    Klein, Jacques
    Cai, Haipeng
    Lo, David
    Le Traon, Yves
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2017, 32 (06) : 1108 - 1124
  • [44] Characterizing the Exception Handling Code of Android Apps
    Queiroz, Francisco Diogo
    Coelho, Roberta
    PROCEEDINGS OF 2016 X BRAZILIAN SYMPOSIUM ON SOFTWARE COMPONENTS, ARCHITECTURES AND REUSE (SBCARS), 2016, : 131 - 140
  • [45] On Locating Malicious Code in Piggybacked Android Apps
    Li Li
    Daoyuan Li
    Tegawendé F. Bissyandé
    Jacques Klein
    Haipeng Cai
    David Lo
    Yves Le Traon
    Journal of Computer Science and Technology, 2017, 32 : 1108 - 1124
  • [46] Cider: Native Execution of iOS Apps on Android
    Andrus, Jeremy
    Van't Hof, Alexander
    AlDuaij, Naser
    Dall, Christoffer
    Viennot, Nicolas
    Nieh, Jason
    ACM SIGPLAN NOTICES, 2014, 49 (04) : 367 - 381
  • [47] Hardware-Assisted Code-Pointer Tagging for Forward-Edge Control-Flow Integrity
    Kim, Yonghae
    Kar, Anurag
    Lee, Jaewon
    Lee, Jaekyu
    Kim, Hyesoon
    IEEE COMPUTER ARCHITECTURE LETTERS, 2023, 22 (02) : 117 - 120
  • [48] Converting Android Native Apps to Flutter Cross-Platform Apps
    Cheon, Yoonsik
    Chavez, Carlos
    2021 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND COMPUTATIONAL INTELLIGENCE (CSCI 2021), 2021, : 1898 - 1904
  • [49] Hardware-Assisted On-Demand Hypervisor Activation for Efficient Security Critical Code Execution on Mobile Devices
    Cho, Yeongpil
    Shin, Junbum
    Kwon, Donghyun
    Ham, MyungJoo
    Kim, Yuna
    Paek, Yunheung
    PROCEEDINGS OF USENIX ATC '16: 2016 USENIX ANNUAL TECHNICAL CONFERENCE, 2016, : 565 - 578
  • [50] Native Simulation of Complex VLIW Instruction Sets using Static Binary Translation and Hardware-Assisted Virtualization
    Hamayun, Mian-Muhammad
    Petrot, Frederic
    Fournel, Nicolas
    2013 18TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE (ASP-DAC), 2013, : 576 - 581