每天有数百人搜索App破解,开发者该怎么保护自己的手机应用呢?

百度上搜索“App破解”,会出现1210万条结果。从App破解的入门知识到逆向工具下载,从破解技术视频到全图文教程。

随着黑客技术的普及化平民化,App——智能手机的应用软件,这个承载我们移动数字工作和生活的重要工具,不仅是黑客眼中的肥肉,也获得更多网友另类关注。

百度搜索“App破解”找到1210万条结果

一旦App被破解,不仅使用者的照片、身份证、手机号、联系住址、邮箱和支付密码等敏感信息会泄露,还可能感染手机的操作系统,进而导致手机被入侵篡改,乃至成为攻击者操控的“僵尸网络”中的一部分。

对于广大移动开发者来说,如何保障自己App的安全、保护App使用者的安全呢?在12月26日今日头条的一个技术沙龙上,顶象技术移动安全负责人梁家辉详细阐述了App存在风险漏洞、App安全技术及新一代App安全防护方案。

顶象技术移动安全负责人梁家辉在今日头条的技术沙龙上讲解App安全保护

App为什么会被破解入侵呢?

安卓App的开发除了部分功能采用C/C++编码外,其余主要都是采用Java进行编码开发功能。Java源码最终编译成smali字符码,以classes.dex保存在App的APK中。

Java是一种解释性语言,功能强大,易用性强。初学者能轻松地学习Java,并编写简单的应用程序。而且Java的基本类库(JDK)是开源的,这就使很多Java开发的应用被逆向破解的门槛很低。目前市面上有大量的逆向破解工具,例如:Dex2Jar、JEB、JD-GUI等等。(打个广告:Dex2Jar作者泮晓波目前供职于顶象技术移动安全团队;因为“未知攻焉知放防”,只有了解怎么如何逆向破解才清楚如何有效防御)。只要懂代码编程,利用这些工具就可以破解市面上那些防御薄弱、存在大量安全漏洞的App。这就很好理解为什么会有如此多人去搜索“App破解”了。

之前曾有媒体报道,有网络黑产专门从各种渠道找到App的apk,然后将apk文件逆向破解,再植入广告、病毒代码,最后重新打包投入公开市场,当不明真相的网友将带病毒广告的App下载后,会带来巨大经济损失。

App的安全保护技术

为App做安全加固无疑是最便捷、有效的一种防护方式了,通过加固可以对App进行安全性强化,一定程度上达到防破解和防止被二次打包的效果。

App加固主要对源码的保护,混淆、常量字符串加密、指令虚机转换;对汇编插花(防IDA F5)、控制流扁平化等;抹除二进制ELF信息、ELF壳、自定义Linker等;对安卓的可执行文件加壳,抽取可执行文件指定等。此外,还可以对js、html、图片、自定义资源进行保护,对anti-debug等环境进行检查等。

App安全防护技术已经历了动态加载、不落地加载、指令抽离、指令转换/VMP、虚机源码保护等五个阶段。每一阶段的安全技术都是一次升级。这五代技术有什么特点呢?详细参见下表 。

五代App安全保护技术比较

五代APP安全保护技术比较:https://www.dingxiang-inc.com/blog/post/2

新一代App安全技术:虚机源码保护

作为下一代App安全加固和保护技术—顶象虚机源码保护,是用虚机技术保护所有的代码,包括Java,Kotlin,C/C++,Objective-C,Swift等多种代码,具备极高的兼容性,能够给与App更高安全级别的保护。

顶象虚机源码保护首先把待保护的核心代码编译成二进制文件,然后生成独特的执行环境和只能在该环境下执行的运行程序。生成的虚机源码保护拥有独特的可变指令集,极大的提高了指令跟踪、逆向分析的难度,并提供了反调试能力和监控能力。

同时,虚机源码保护可以通过自身的探针感知到环境的变化,实时探测到外界对本环境的调试、注入等非正常执行流程变化,将调试动作引入程序陷阱,并发出警报,进而进行实时更新,进一步提高安全强度。

由于虚机源码保护在App内部隔离出独立的执行环境,因此被保护的核心代码的运行程序在此独立的执行环境里运行。即便App本身被破解,这部分核心代码仍然不可见。

虚机源码保护不仅适用于安卓和iOS,Linux、RTOS、STM32等嵌入式系统也支持,因此不仅可以防护App,服务器、物联网固件等均能防护。

* 更多移动安全技术及知识分享,请关注顶象技术:https://www.dingxiang-inc.com/blog

本文来自企鹅号 - 城市科技事媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏知晓程序

小程序可以指纹识别了!我们还发现了一个更大的惊喜

这一次的新能力更新,包括设定分享卡片封面图、支持指纹识别等多种新功能,涵盖了小程序开发、运营和使用的各个方面。

1152
来自专栏老司机的技术博客

人人都能学会的python编程教程1:第一行代码

众所周知,现在IT行业很火,行业薪酬也很高,国家在2017年也发布了人工智能教育的推广计划,人人会编程的时代将要到来。不会编程、不懂编程可能有些跟不上时代的节奏...

4169
来自专栏Jerry的SAP技术分享

SAP成都研究院许聚龙:Hello, Coresystems!

Jerry的前一篇文章《SAP成都研究院数字创新空间沟通S/4HANA和C/4HANA的智能服务演示视频和Coresystems分享预告》已经提到,接下来会由S...

1452
来自专栏phodal

RePractise前端篇: 前端演进史

细细整理了过去接触过的那些前端技术,发现前端演进是段特别有意思的历史。人们总是在过去就做出未来需要的框架,而现在流行的是过去的过去发明过的。如,响应式设计不得不...

1959
来自专栏phodal

我的职业是前端工程师【六】:前端程序员如何有效地提高自己

要成为一个优秀的前端工程师,需要什么技能和学习?答案:练习 在逛知乎、SegmentFault 又或者是相似的技术社区,我们总会看到类似的问题。新手总会关注于,...

2186
来自专栏爱原型爱设计

2018年不可错过的创意404报错设计

404报错页面,作为提醒网站访问者服务器未找到请求资源或文件的页面,时常被UI/UX设计师,产品经理以及网页/软件开发者视作 (包括枯燥的登录页面,加载页面以及...

77120
来自专栏云瓣

基于RN开发的一款视频配音APP(开源)

在如今React、ng、vue三分天下的格局下,不得不让自己加快学习的脚步。虽然经常会陷入各种迷茫,学得越多会发现不会的东西也被无限放大,不过能用新的技术作出一...

3108
来自专栏服务端技术杂谈

程序员必知之前端演进史

细细整理了过去接触过的那些前端技术,发现前端演进是段特别有意思的历史。人们总是在过去就做出未来需要的框架,而现在流行的是过去的过去发明过的。如,响应式设...

3676
来自专栏华章科技

程序员遇到bug时常见的30种反应,你躺枪了么?

开发应用程序是一项压力很大的工作,人无完人,工作中遇到 bug 是很正常的事,有些程序员会生气,沮丧,郁闷,甚至泄气,也有一些程序员则会比较淡定。如何进行修复 ...

961
来自专栏SEO

「技巧」100种提高SEO排名优化技巧(二)

3425

扫码关注云+社区

领取腾讯云代金券