CodeMatch: Obfuscation Won't Conceal Your Repackaged App

被引:37
作者
Glanz, Leonid [1 ]
Amann, Sven [1 ]
Eichberg, Michael [1 ]
Reif, Michael [1 ]
Hermann, Ben [1 ]
Lerch, Johannes [1 ]
Mezini, Mira [1 ]
机构
[1] Tech Univ Darmstadt, Darmstadt, Germany
来源
ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING | 2017年
关键词
library detection; repackage detection; obfuscation; code analysis; MALWARE;
D O I
10.1145/3106237.3106305
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
An established way to steal the income of app developers, or to trick users into installing malware, is the creation of repackaged apps. These are clones of - typically - successful apps. To conceal their nature, they are often obfuscated by their creators. But, given that it is a common best practice to obfuscate apps, a trivial identification of repackaged apps is not possible. The problem is further intensified by the prevalent usage of libraries. In many apps, the size of the overall code base is basically determined by the used libraries. Therefore, two apps, where the obfuscated code bases are very similar, do not have to be repackages of each other. To reliably detect repackaged apps, we propose a two step approach which first focuses on the identification and removal of the library code in obfuscated apps. This approach - LibDetect - relies on code representations which abstract over several parts of the underlying bytecode to be resilient against certain obfuscation techniques. Using this approach, we are able to identify on average 70% more used libraries per app than previous approaches. After the removal of an app's library code, we then fuzzy hash the most abstract representation of the remaining app code to ensure that we can identify repackaged apps even if very advanced obfuscation techniques are used. This makes it possible to identify repackaged apps. Using our approach, we found that approximate to 15% of all apps in Android app stores are repackages.
引用
收藏
页码:638 / 648
页数:11
相关论文
共 45 条
[11]  
[Anonymous], 2001, Technical Report
[12]   Reliable Third-Party Library Detection in Android and its Security Applications [J].
Backes, Michael ;
Bugiel, Sven ;
Derr, Erik .
CCS'16: PROCEEDINGS OF THE 2016 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2016, :356-367
[13]   Detecting Android Malware Using Clone Detection [J].
Chen, Jian ;
Alalfi, Manar H. ;
Dean, Thomas R. ;
Zou, Ying .
JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2015, 30 (05) :942-956
[14]   Achieving Accuracy and Scalability Simultaneously in Detecting Application Clones on Android Markets [J].
Chen, Kai ;
Liu, Peng ;
Zhang, Yingjun .
36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, :175-186
[15]  
Collberg C., 1998, Conference Record of POPL '98: 25th ACM SIGPLAN-SIGACT. Symposium on Principles of Programming Languages, P184, DOI 10.1145/268946.268962
[16]  
Crussell Jonathan, 2012, Computer Security - ESORICS 2012. Proceedings 17th European Symposium on Research in Computer Security, P37, DOI 10.1007/978-3-642-33167-1_3
[17]  
Eichberg Michael, 2014, P 3 ACM SIGPLAN INT, P1, DOI DOI 10.1145/2614628.2614630
[18]  
Glanz L., 2017, CODEMATCH ARTIFACTS
[19]  
Gonzalez H., 2014, P INT C SECURITY PRI, P436
[20]  
Google, 2017, ENJ