Home > Research > Publications & Outputs > Exploiting Binary-level Code Virtualization to ...

Electronic data

  • access

    Accepted author manuscript, 1.53 MB, PDF document

    Available under license: CC BY: Creative Commons Attribution 4.0 International License

Links

Text available via DOI:

View graph of relations

Exploiting Binary-level Code Virtualization to Protect Android Applications Against App Repackaging

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

Exploiting Binary-level Code Virtualization to Protect Android Applications Against App Repackaging. / He, Zhongkai; Ye, Guixin; Yuan, Lu et al.
In: IEEE Access, Vol. 7, 06.06.2019, p. 115062 - 115074.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

APA

Vancouver

He Z, Ye G, Yuan L, Tang Z, Wang X, Ren J et al. Exploiting Binary-level Code Virtualization to Protect Android Applications Against App Repackaging. IEEE Access. 2019 Jun 6;7:115062 - 115074. doi: 10.1109/ACCESS.2019.2921417

Author

He, Zhongkai ; Ye, Guixin ; Yuan, Lu et al. / Exploiting Binary-level Code Virtualization to Protect Android Applications Against App Repackaging. In: IEEE Access. 2019 ; Vol. 7. pp. 115062 - 115074.

Bibtex

@article{a289627eb8604b1b8bed93b71634da9e,
title = "Exploiting Binary-level Code Virtualization to Protect Android Applications Against App Repackaging",
abstract = "Application repackaging is a severe problem for Android systems. Many Android malware programs pass the mobile platform fundamental security barriers through repackaging other legitimate apps. Most of the existing anti-repackaging schemes only work at the Android DEX bytecode level, but not for the shared object files consisting of native ARM-based machine instructions. Lacking the protection at the native machine code level opens a door for attackers to launch repackaging attacks on the shared libraries that are commonly used on Android apps. This paper presents CodeCloak, a novel anti-repackaging system to protect Android apps at the native code level. CodeCloak employs binary-level code virtualization techniques to protect the target application. At the native machine code level, it uses a newly designed stack-based virtualization structure to obfuscate and protect critical algorithm implementations that have been compiled into native instructions. It leverages multiple dynamic code protection schemes to increase the diversity of the program behavior at runtime, aiming to increase the difficulties for performing code reverse engineering. We evaluate CodeCloak under typical app repackaging scenarios. Experimental results show that CodeCloak can effectively protect apps against repackaging attacks at the cost of minimum overhead.",
author = "Zhongkai He and Guixin Ye and Lu Yuan and Zhanyong Tang and Xiaofeng Wang and Jie Ren and Wei Wang and Jianfeng Yang and Dingyi Fang and Zheng Wang",
year = "2019",
month = jun,
day = "6",
doi = "10.1109/ACCESS.2019.2921417",
language = "English",
volume = "7",
pages = "115062 -- 115074",
journal = "IEEE Access",
issn = "2169-3536",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

RIS

TY - JOUR

T1 - Exploiting Binary-level Code Virtualization to Protect Android Applications Against App Repackaging

AU - He, Zhongkai

AU - Ye, Guixin

AU - Yuan, Lu

AU - Tang, Zhanyong

AU - Wang, Xiaofeng

AU - Ren, Jie

AU - Wang, Wei

AU - Yang, Jianfeng

AU - Fang, Dingyi

AU - Wang, Zheng

PY - 2019/6/6

Y1 - 2019/6/6

N2 - Application repackaging is a severe problem for Android systems. Many Android malware programs pass the mobile platform fundamental security barriers through repackaging other legitimate apps. Most of the existing anti-repackaging schemes only work at the Android DEX bytecode level, but not for the shared object files consisting of native ARM-based machine instructions. Lacking the protection at the native machine code level opens a door for attackers to launch repackaging attacks on the shared libraries that are commonly used on Android apps. This paper presents CodeCloak, a novel anti-repackaging system to protect Android apps at the native code level. CodeCloak employs binary-level code virtualization techniques to protect the target application. At the native machine code level, it uses a newly designed stack-based virtualization structure to obfuscate and protect critical algorithm implementations that have been compiled into native instructions. It leverages multiple dynamic code protection schemes to increase the diversity of the program behavior at runtime, aiming to increase the difficulties for performing code reverse engineering. We evaluate CodeCloak under typical app repackaging scenarios. Experimental results show that CodeCloak can effectively protect apps against repackaging attacks at the cost of minimum overhead.

AB - Application repackaging is a severe problem for Android systems. Many Android malware programs pass the mobile platform fundamental security barriers through repackaging other legitimate apps. Most of the existing anti-repackaging schemes only work at the Android DEX bytecode level, but not for the shared object files consisting of native ARM-based machine instructions. Lacking the protection at the native machine code level opens a door for attackers to launch repackaging attacks on the shared libraries that are commonly used on Android apps. This paper presents CodeCloak, a novel anti-repackaging system to protect Android apps at the native code level. CodeCloak employs binary-level code virtualization techniques to protect the target application. At the native machine code level, it uses a newly designed stack-based virtualization structure to obfuscate and protect critical algorithm implementations that have been compiled into native instructions. It leverages multiple dynamic code protection schemes to increase the diversity of the program behavior at runtime, aiming to increase the difficulties for performing code reverse engineering. We evaluate CodeCloak under typical app repackaging scenarios. Experimental results show that CodeCloak can effectively protect apps against repackaging attacks at the cost of minimum overhead.

U2 - 10.1109/ACCESS.2019.2921417

DO - 10.1109/ACCESS.2019.2921417

M3 - Journal article

VL - 7

SP - 115062

EP - 115074

JO - IEEE Access

JF - IEEE Access

SN - 2169-3536

ER -