中文站

实战拆解!移动应用破解及防护策略典型案例

随着人们对智能手机依赖的程度越来越高,因智能手机软件安全导致用户信息泄露、财产损失事件频发,人们开始越来越关注App安全这个领域。从开发的角度来讲则是App源代码安全问题,基于代码审计层次的;从软件保护角度来讲app安全则是对源代码的代码混淆,资源加密,逻辑加固;从用户的角度来讲就是App本身的安全性,是否会对个人隐私财产造成损失。

App作为业务开展的重要载体,目前仍然是黑灰产进行攻击和破解的重要目标。网易易盾对正规渠道的线上App的抽样调查结果显示,仍有30%的App存在安全漏洞,这些安全漏洞直接埋下App被破解、业务数据泄露、App内容被篡改的安全隐患。

根据App的业务类型,不同类型的App有多种被破解的方式。黑灰产破解App永远是为了谋利,故破解App的场景会有一些通用典型的场景。本系列内容将通过对各类App被破解的场景进行梳理,便于大家对App破解场景和App安全加固的必要性有更进一步的认识。


本文以工具类App被破解后自动解锁付费会员/付费功能为例:

该App为一款音视频剪辑App,某音频剪辑在上线不久后被破解,导致其付费功能被免费使用,对客户造成较大资损,严重影响公司的经营,后及时对接易盾应用安全团队,为其提供保护服务。

1、破解版的App可直接解锁App的付费会员功能(如字幕识别、文字动画、合拍视频等),对App开发者造成严重资损。

2、除自动解锁付费功能之外,破解版的App一般会在其中植入恶意代码/第三方SDK,黑灰产通过App非法采集用户的关键数据(如用户设备信息、手机号、个人基本信息)等,进行非法谋利活动。


原本需要付费的功能,下载破解版后直接可以解锁付费版功能。

破解者替换了classes.dex文件,通过类似热更的方式篡改了付费相关逻辑;修改了AndroidManifest.xml配置文件中的Application接管App运行的入口;并且在APK的assets目录下插入了用于hook的so文件与插件文件,如下所示:


破解包Hook了java层签名,以获取接口用来绕过App的签名校验。另外,在运行时,破解者解压出了原APK包,重定向APK的路径到解压出的原APK包路径。传统的完整性校验以及native层的签名校验,因此而失效。这是由于输入的APK路径已经被劫持了,使用“伪造”的原包APK路径进行校验,无法检测到破解行为。


网易易盾在了解分析后通过三种方式对其完成了加固保护。

1、签名校验:对Android系统获取签名相关接口进行校验,如果发现被Hook则主动闪退,并且对PMS Hook方式绕过签名校验的行为进行检测,使这种签名绕过方式失效。

2、完整性校验:加固时对APK中关键文件信息进行缓存,APP运行时获取APK路径并遍历其中文件,对比加固过程中缓存的文件信息,发现被篡改则主动闪退。在获取APK路径时进行校验,发现被重定向则主动退出,避免通过重定向攻击完整性校验导致校验无效。

3、方法级校验:加固时对关键方法信息抽取缓存,APP运行时接管系统关键接口,当调用关键方法时,对其指令特征进行校验,发现特征被篡改,则主动闪退。

同时,网易易盾还提供场景化解决方案与加固策略,成功为该客户的App应用实现加固保护。

对于开发者而言,App加固是保护其知识产权和商业利益的关键措施。开发者投入大量的时间、精力和资金来开发独特的应用程序,如果App容易被破解,那么未经授权的第三方可能会复制或修改App,从而侵犯开发者的版权,损害其商业利益。此外,破解行为可能导致应用程序的非法传播,使得开发者无法通过正常的渠道获得收益。

App加固技术对于保护移动应用的安全至关重要。它不仅能够防止应用被轻易反编译和篡改,保护敏感数据和资源,还能增强应用的鲁棒性,提升用户体验和信任度。在移动应用市场竞争激烈的今天,加强应用的安全性已经成为开发者不可忽视的一部分。点击了解易盾应用加固服务