Characterizing the Use of Code Obfuscation in Malicious and Benign Android Apps

Ulf Kargén, Noah Mauthe, N. Shahmehri
{"title":"Characterizing the Use of Code Obfuscation in Malicious and Benign Android Apps","authors":"Ulf Kargén, Noah Mauthe, N. Shahmehri","doi":"10.1145/3600160.3600194","DOIUrl":null,"url":null,"abstract":"Obfuscation is frequently used by both benign and malicious Android apps. Since static analysis of obfuscated apps often produces incomplete or misleading results, the problems of identifying and quantifying the use of specific obfuscation techniques in apps has received significant attention. Even though several existing works have addressed these problems, most studies focus on data obfuscation methods such as identifier renaming and string obfuscation, while more advanced code obfuscation methods, such as reflection and control-flow obfuscation, have received less attention. Moreover, existing approaches to detecting Android code obfuscation have significant limitations, as shown by a detailed survey that we present as part of this paper. This is in part due to a fundamental “bootstrapping” problem: since, on one hand, the landscape of Android code obfuscation is poorly known, researchers have very little guidance when designing new detection methods. On the other hand, the lack of detection methods mean that the obfuscation landscape is bound to remain largely unexplored. In this work, we aim to take the first steps towards addressing this “bootstrapping” problem. To this end, we propose two novel approaches to obfuscation detection and perform a study on over 200,000 malicious apps, in addition to 13,436 apps from Google Play. In particular, we propose a new anomaly-detection-based method for identifying likely control-flow obfuscation, and use it to perform what is, to the best of our knowledge, the first empirical study of control-flow obfuscation in Android apps. In addition to presenting new insights into the use of control-flow obfuscation, we also propose a new approach to characterizing the use of reflection-based obfuscation, which allows us to corroborate earlier findings indicating that this type of obfuscation is much more common in malware than in benign apps.","PeriodicalId":107145,"journal":{"name":"Proceedings of the 18th International Conference on Availability, Reliability and Security","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2023-08-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 18th International Conference on Availability, Reliability and Security","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3600160.3600194","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Obfuscation is frequently used by both benign and malicious Android apps. Since static analysis of obfuscated apps often produces incomplete or misleading results, the problems of identifying and quantifying the use of specific obfuscation techniques in apps has received significant attention. Even though several existing works have addressed these problems, most studies focus on data obfuscation methods such as identifier renaming and string obfuscation, while more advanced code obfuscation methods, such as reflection and control-flow obfuscation, have received less attention. Moreover, existing approaches to detecting Android code obfuscation have significant limitations, as shown by a detailed survey that we present as part of this paper. This is in part due to a fundamental “bootstrapping” problem: since, on one hand, the landscape of Android code obfuscation is poorly known, researchers have very little guidance when designing new detection methods. On the other hand, the lack of detection methods mean that the obfuscation landscape is bound to remain largely unexplored. In this work, we aim to take the first steps towards addressing this “bootstrapping” problem. To this end, we propose two novel approaches to obfuscation detection and perform a study on over 200,000 malicious apps, in addition to 13,436 apps from Google Play. In particular, we propose a new anomaly-detection-based method for identifying likely control-flow obfuscation, and use it to perform what is, to the best of our knowledge, the first empirical study of control-flow obfuscation in Android apps. In addition to presenting new insights into the use of control-flow obfuscation, we also propose a new approach to characterizing the use of reflection-based obfuscation, which allows us to corroborate earlier findings indicating that this type of obfuscation is much more common in malware than in benign apps.
描述代码混淆在恶意和良性Android应用程序中的使用
混淆经常被良性和恶意的Android应用程序使用。由于对混淆应用的静态分析通常会产生不完整或误导性的结果,因此识别和量化应用中特定混淆技术的使用问题受到了极大的关注。尽管已有的一些工作已经解决了这些问题,但大多数研究都集中在数据混淆方法上,如标识符重命名和字符串混淆,而更高级的代码混淆方法,如反射和控制流混淆,受到的关注较少。此外,现有的检测Android代码混淆的方法有很大的局限性,正如我们在本文中提出的一项详细调查所显示的那样。这在一定程度上是由于一个基本的“引导”问题:一方面,Android代码混淆的情况鲜为人知,研究人员在设计新的检测方法时几乎没有指导。另一方面,检测方法的缺乏意味着混淆领域在很大程度上仍未被探索。在这项工作中,我们的目标是迈出解决这个“自举”问题的第一步。为此,我们提出了两种新的混淆检测方法,并对超过20万个恶意应用程序以及来自Google Play的13436个应用程序进行了研究。特别是,我们提出了一种新的基于异常检测的方法来识别可能的控制流混淆,并使用它来执行,据我们所知,Android应用程序中控制流混淆的第一个实证研究。除了对控制流混淆的使用提出新的见解外,我们还提出了一种新的方法来描述基于反射的混淆的使用,这使我们能够证实早期的发现,表明这种类型的混淆在恶意软件中比在良性应用程序中更常见。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信