DyDroid: Measuring Dynamic Code Loading and Its Security Implications in Android Applications

Zhengyang Qu, Shahid Alam, Yan Chen, Xiaoyong Zhou, W. Hong, Ryan D. Riley
{"title":"DyDroid: Measuring Dynamic Code Loading and Its Security Implications in Android Applications","authors":"Zhengyang Qu, Shahid Alam, Yan Chen, Xiaoyong Zhou, W. Hong, Ryan D. Riley","doi":"10.1109/DSN.2017.14","DOIUrl":null,"url":null,"abstract":"Android has provided dynamic code loading (DCL) since API level one. DCL allows an app developer to load additional code at runtime. DCL raises numerous challenges with regards to security and accountability analysis of apps. While previous studies have investigated DCL on Android, in this paper we formulate and answer three critical questions that are missing from previous studies: (1) Where does the loaded code come from (remotely fetched or locally packaged), and who is the responsible entity to invoke its functionality? (2) In what ways is DCL utilized to harden mobile apps, specifically, application obfuscation? (3) What are the security risks and implications that can be found from DCL in off-the-shelf apps? We design and implement DyDroid, a system which uses both dynamic and static analysis to analyze dynamically loaded code. Dynamic analysis is used to automatically exercise apps, capture DCL behavior, and intercept the loaded code. Static analysis is used to investigate malicious behavior and privacy leakage in that dynamically loaded code. We have used DyDroid to analyze over 46K apps with little manual intervention, allowing us to conduct a large-scale measurement to investigate five aspects of DCL, such as source identification, malware detection, vulnerability analysis, obfuscation analysis, and privacy tracking analysis. We have several interesting findings. (1) 27 apps are found to violate the content policy of Google Play by executing code downloaded from remote servers. (2) We determine the distribution, pros/cons, and implications of several common obfuscation methods, including DEX encryption/loading. (3) DCL's stealthiness enables it to be a channel to deploy malware, and we find 87 apps loading malicious binaries which are not detected by existing antivirus tools. (4) We found 14 apps that are vulnerable to code injection attacks due to dynamically loading code which is writable by other apps. (5) DCL is mainly used by third-party SDKs, meaning that app developers may not know what sort of sensitive functionality is injected into their apps.","PeriodicalId":426928,"journal":{"name":"2017 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)","volume":"36 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"24","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/DSN.2017.14","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 24

Abstract

Android has provided dynamic code loading (DCL) since API level one. DCL allows an app developer to load additional code at runtime. DCL raises numerous challenges with regards to security and accountability analysis of apps. While previous studies have investigated DCL on Android, in this paper we formulate and answer three critical questions that are missing from previous studies: (1) Where does the loaded code come from (remotely fetched or locally packaged), and who is the responsible entity to invoke its functionality? (2) In what ways is DCL utilized to harden mobile apps, specifically, application obfuscation? (3) What are the security risks and implications that can be found from DCL in off-the-shelf apps? We design and implement DyDroid, a system which uses both dynamic and static analysis to analyze dynamically loaded code. Dynamic analysis is used to automatically exercise apps, capture DCL behavior, and intercept the loaded code. Static analysis is used to investigate malicious behavior and privacy leakage in that dynamically loaded code. We have used DyDroid to analyze over 46K apps with little manual intervention, allowing us to conduct a large-scale measurement to investigate five aspects of DCL, such as source identification, malware detection, vulnerability analysis, obfuscation analysis, and privacy tracking analysis. We have several interesting findings. (1) 27 apps are found to violate the content policy of Google Play by executing code downloaded from remote servers. (2) We determine the distribution, pros/cons, and implications of several common obfuscation methods, including DEX encryption/loading. (3) DCL's stealthiness enables it to be a channel to deploy malware, and we find 87 apps loading malicious binaries which are not detected by existing antivirus tools. (4) We found 14 apps that are vulnerable to code injection attacks due to dynamically loading code which is writable by other apps. (5) DCL is mainly used by third-party SDKs, meaning that app developers may not know what sort of sensitive functionality is injected into their apps.
测量Android应用程序中的动态代码加载及其安全含义
Android从API级别1开始就提供了动态代码加载(DCL)。DCL允许应用开发者在运行时加载额外的代码。DCL在应用程序的安全性和问责性分析方面提出了许多挑战。虽然以前的研究已经调查了Android上的DCL,但在本文中,我们制定并回答了以前研究中遗漏的三个关键问题:(1)加载的代码来自哪里(远程获取或本地打包),谁是调用其功能的负责实体?(2) DCL以何种方式用于强化移动应用程序,特别是应用程序混淆?(3)现成应用中的DCL存在哪些安全风险和影响?我们设计并实现了DyDroid,这是一个使用动态和静态分析来分析动态加载代码的系统。动态分析用于自动运行应用程序,捕获DCL行为,并拦截加载的代码。静态分析用于调查动态加载代码中的恶意行为和隐私泄露。我们使用DyDroid分析了超过46K个应用程序,几乎没有人工干预,允许我们进行大规模测量,调查DCL的五个方面,如来源识别,恶意软件检测,漏洞分析,混淆分析和隐私跟踪分析。我们有几个有趣的发现。(1) 27个应用程序通过执行从远程服务器下载的代码违反了Google Play的内容政策。(2)我们确定了几种常见混淆方法的分布、优缺点和含义,包括DEX加密/加载。(3) DCL的隐蔽性使其成为部署恶意软件的渠道,我们发现有87个应用程序加载恶意二进制文件,而这些程序未被现有的防病毒工具检测到。(4)我们发现14个应用程序由于动态加载其他应用程序可编写的代码而容易受到代码注入攻击。(5) DCL主要由第三方sdk使用,这意味着应用程序开发人员可能不知道哪些敏感功能被注入到他们的应用程序中。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信