Protecting Million-User iOS Apps with Obfuscation: Motivations, Pitfalls, and Experience

Pei Wang, Dinghao Wu, Zhaofeng Chen, Tao Wei
{"title":"Protecting Million-User iOS Apps with Obfuscation: Motivations, Pitfalls, and Experience","authors":"Pei Wang, Dinghao Wu, Zhaofeng Chen, Tao Wei","doi":"10.1145/3183519.3183524","DOIUrl":null,"url":null,"abstract":"In recent years, mobile apps have become the infrastructure of many popular Internet services. It is now fairly common that a mobile app serves a large number of users across the globe. Different from web-based services whose important program logic is mostly placed on remote servers, many mobile apps require complicated client-side code to perform tasks that are critical to the businesses. The code of mobile apps can be easily accessed by any party after the software is installed on a rooted or jailbroken device. By examining the code, skilled reverse engineers can learn various knowledge about the design and implementation of an app. Real-world cases have shown that the disclosed critical information allows malicious parties to abuse or exploit the app-provided services for unrightful profits, leading to significant financial losses for app vendors. One of the most viable mitigations against malicious reverse engineering is to obfuscate the software before release. Despite that security by obscurity is typically considered to be an unsound protection methodology, software obfuscation can indeed increase the cost of reverse engineering, thus delivering practical merits for protecting mobile apps. In this paper, we share our experience of applying obfuscation to multiple commercial iOS apps, each of which has millions of users. We discuss the necessity of adopting obfuscation for protecting modern mobile business, the challenges of software obfuscation on the iOS platform, and our efforts in overcoming these obstacles. Our report can benefit many stakeholders in the iOS ecosystem, including developers, security service providers, and Apple as the administrator of the ecosystem.","PeriodicalId":445513,"journal":{"name":"2018 IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3183519.3183524","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

Abstract

In recent years, mobile apps have become the infrastructure of many popular Internet services. It is now fairly common that a mobile app serves a large number of users across the globe. Different from web-based services whose important program logic is mostly placed on remote servers, many mobile apps require complicated client-side code to perform tasks that are critical to the businesses. The code of mobile apps can be easily accessed by any party after the software is installed on a rooted or jailbroken device. By examining the code, skilled reverse engineers can learn various knowledge about the design and implementation of an app. Real-world cases have shown that the disclosed critical information allows malicious parties to abuse or exploit the app-provided services for unrightful profits, leading to significant financial losses for app vendors. One of the most viable mitigations against malicious reverse engineering is to obfuscate the software before release. Despite that security by obscurity is typically considered to be an unsound protection methodology, software obfuscation can indeed increase the cost of reverse engineering, thus delivering practical merits for protecting mobile apps. In this paper, we share our experience of applying obfuscation to multiple commercial iOS apps, each of which has millions of users. We discuss the necessity of adopting obfuscation for protecting modern mobile business, the challenges of software obfuscation on the iOS platform, and our efforts in overcoming these obstacles. Our report can benefit many stakeholders in the iOS ecosystem, including developers, security service providers, and Apple as the administrator of the ecosystem.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
用混淆保护百万用户iOS应用:动机、陷阱和经验
近年来,移动应用程序已经成为许多流行互联网服务的基础设施。现在,一个移动应用程序为全球大量用户提供服务是相当普遍的。基于web的服务的重要程序逻辑大多放在远程服务器上,与之不同的是,许多移动应用程序需要复杂的客户端代码来执行对业务至关重要的任务。移动应用程序的代码可以很容易地被任何一方在根或越狱设备上安装软件后访问。通过检查代码,熟练的逆向工程师可以了解有关应用程序设计和实现的各种知识。现实世界的案例表明,披露的关键信息允许恶意方滥用或利用应用程序提供的服务来获取不正当利润,导致应用程序供应商遭受重大经济损失。针对恶意逆向工程的最可行的缓解方法之一是在发布之前混淆软件。尽管模糊安全通常被认为是一种不可靠的保护方法,但软件混淆确实会增加逆向工程的成本,从而为保护移动应用程序提供实际价值。在本文中,我们将分享我们将混淆应用于多个商业iOS应用的经验,每个应用都拥有数百万用户。我们讨论了采用混淆来保护现代移动业务的必要性,iOS平台上软件混淆的挑战,以及我们为克服这些障碍所做的努力。我们的报告可以使iOS生态系统中的许多利益相关者受益,包括开发者、安全服务提供商和作为生态系统管理员的苹果。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Modern Code Review: A Case Study at Google A Study of the Organizational Dynamics of Software Teams Echoes from Space: Grouping Commands with Large-Scale Telemetry Data Practical Selective Regression Testing with Effective Redundancy in Interleaved Tests Mind the Gap: Can and Should Software Engineering Data Sharing Become a Path of Less Resistance?
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1