前言:由于安卓APP是基于Java的,所以极容易被破解,一个不经过加固的APP犹如裸奔一样,毫无防备。之前曾有新闻报道,一些专职的APP打包黑产就是专门从各种渠道找到apk,通过各种破解手段将apk文件破解、反编译,然后加入广告、病毒代码,重新打包投入市场,不明真相的用户将带病毒广告的apk下载下来,甚至因此造成利益损失。
对于移动应用开发工程师来说,应用自动化加固无疑是最便捷的一种安全方式了。通过加固可以在一定程度上达到反编译和防止被二次打包的效果。当然,现在网上很多平台都提供加固服务包括bat在内。加固原理差不多,但是加固强度和兼容性上还是有很大差别的。
笔者周末抽空整理了一些app对目前口碑比较好的几家热门公司的加固平台做了应用加固评测。这次总共选择了5个平台,1款app。同时用这5个平台加固,然后通过操作体验,加固后首次启动时间,加固后应用大小和兼容性上进行评测比较。
以下是五个评测对比的加固平台:
1.360加固保链接http://jiagu.360.cn/
2.阿里聚安全链接http://jaq.alibaba.com/
3.腾讯云应用乐固链接https://www.qcloud.com/product/cr.html
4.梆梆安全链接http://www.bangcle.com/
5.通付盾移动安全云链接http://www.appfortify.cn/pc-index.html
操作难易
首先将应用在选择的5个平台中进行加固,选择的应用是魅力惠,大小为16MB。加固整体流程走下来,全部都是免费使用的。当然部分也有付费版本的高级加固,这次不在评测范围内。
360加固保
360的加固流程大体和阿里聚安全差不多,加固前选择项比较多,可以选择增强服务比如日志分析,X86架构,应用升级通知,对于签名的选择。
阿里聚安全
如果是认证用户可以选择已有的应用或者上传新应用直接开始加固,操作过程很顺畅。加固中会提示先给应用进行恶意代码检测,这点挺人性化的。加固后将文件下载下来再次签名即可发布。另外还有在线多渠道加固可以选择,这个功能比较适合发布渠道多的用户。
腾讯云应用乐固
腾讯云的加固上传应用后默认选择了加固,漏洞检测还有渠道监控。可选项是适配分析,限量每天一次。
梆梆安全
梆梆的整体流程和其他的差不多,可以选择安全评估和应用加固是否同时进行。
通付盾
通付盾加固的界面,选择应用上传后,选择服务点击提交便可。
小结:5个平台加固功能使用下来基本不会出现操作疑问,主要是步骤和流程都太像啦。个人从用户体验这一点来评价的话,腾讯云和通付盾的设计会比较好,在加固完成之后都会有签名工具的下载提供,想得比较周到。
加固前后指标对比
加固等待时间对比
对于加固等待时间这一次对比中也做了记录。同样的应用在不同的平台加固时间也是很不一样,最快的是阿里聚安全,16MB的应用加固用时27秒,而通付盾最久用时3分08秒。当然时间的差别除了和加固引擎不一样之外,也可能是加固强度和加固项目有关。
360加固保 | 阿里聚安全 | 腾讯应用乐固 | 梆梆安全 | 通付盾移动安全云 |
1分20秒 | 35秒 | 1分1秒 | 2分14秒 | 3分8秒 |
加固前后体积对比
加固前 | 360加固保 | 阿里聚安全 | 腾讯应用乐固 | 梆梆安全 | 通付盾移动安全云 |
16MB | 16MB | 15MB | 17MB | 16.5MB | 16.8MB |
阿里聚安全的加固反而使应用包变小1MB,其他的几个则都出现了0-0.8MB的浮动。
加固前后首次启动速度对比
一般来说加固后首次启动速度会略微受到一点影响,但是第二次启动就会正常。通过第三方兼容性测试testin的测试,这五个平台输出的应用签名后兼容性相差不大。这次采用的是覆盖100台主流手机的测试,检测结果如下:
加固前 | 360加固保 | 阿里聚安全 | 腾讯应用乐固 | 梆梆安全 | 通付盾移动安全云 |
2.52秒 | 1.77秒 | 5.02秒 | 3.48秒 | 5.57秒 | 3.82秒 |
除了360加固,其他4各平台加固后启动速度比加固前要慢。其中对速度影响最大的是梆梆安全。
加固前后兼容性对比
加固前 | 360加固保 | 阿里聚安全 | 腾讯应用乐固 | 梆梆安全 | 通付盾移动安全云 |
100% | 99% | 100% | 100% | 99% | 88% |
对于应用的兼容性也是非常重要的一项指标。通过这次的评测,可以发现测试的应用采用通付盾的加固后,兼容性出现了大幅度下降只有88%。而其他四个并没有太多的变化。
总结
最后再来一个汇总的统计表格,看看这几个指标中都是哪些平台得了第一:
操作体验最好 | 加固等待时间最少 | 体积变化率最小 | 启动速度最快 | 加固后兼容性最好 |
通付盾,腾讯云 | 阿里聚安全 | 阿里聚安全 | 360加固保 | 阿里聚安全&腾讯云 |
这里要特别提一下,如果应用市场选择360开发平台的话是不允许使用其他品牌商的加固功能的,这一点体验上就会不太好。目前整个加固市场从这次的样本分析上来看也是大同小异,各位如果想选择加固产品可以重点关注加固后的兼容性还有启动速度这两个维度。
最后是想说明一下这次加固使用的都是免费版自动化加固,目前各个平台也都有提供一些API或者更高强度的加固方案。不过就目前加固技术而言,还是有方法可以对应用脱壳的,对于应用安全来讲除了加固还可以再结合其他的一些方式。比如在应用中嵌入安全组件,进行数据加密和逻辑混淆这种方式。