android-加固方案对比

作者: android 发布时间: 2017-08-17 浏览: 1634 次 编辑

目前成熟的第四方解决方案

1. 娜迦

针对Android平台下的APP被逆向分析,破解,植入木马病毒后,用户敏感信息泄露或者被钓鱼网站劫持,NAGA android保护采用防止静态分析与防止动态调试全面防护的思路,在未保护程序运行的不同周期采取不同程度的加固措施,可以针对银行、基金、券商,电商等需在线支付领域及游戏领域,提供定制型APP安全解决方案。

主要实现:

    1. 类抽取:保护dex文件,防止静态分析及动态破解
    2. 代码加解密:保护so文件,防止静态破解
    3. 网络访问控制:保护so文件,拦截恶意广告,阻止注入型木马
    4. 敏感文件检测:保护so文件,防止静态调试
    5. 整体包裹:保护dex文件,防止静态破解
    6. 利用重定位清除ELF头:保护so文件,利用系统机制ELF头已经被系统清除,不兼容X86处理器
    7. 字符串表加密:保护so文件,防止静态破解
    8. 检查核心库:保护so文件,防止功能性数据库被劫持
    9. 检查调试器:保护so文件,防止动态调试
    10. Xposed检查:保护so文件,防止so文件,防止静态调试,防dump 防xposed脱壳神器对加固apk进行一键脱壳
    11. 防止跟踪:保护so文件,防止动态跟踪
    12. 强力清除ELF头:保护so文件,防止静态分析
    13. 中间码乱序:保护smali文件,dex保护,防止静态分析,不兼容Android5.0 ART模式
    14. 重定位加密壳段:保护so文件,对抗静态分析
    15. 壳完整性检查:保护so文件,防止对APP程序中的壳段进行修改、调试 兼容性100%

扩展阅读:娜迦社区

2. 爱加密

爱加密主要功能

1. 漏洞分析

    1. 文件检查:检查dex、res文件是否存在源代码、资源文件被窃取、替换等安全问题
    2. 漏洞扫描:扫描签名、XML文件是否存在安全漏洞、存在被注入、嵌入代码等风险。
    3. 后门检测:检测App是否存在被二次打包,然后植入后门程序或第三方代码等风险。
    4. 一键生成:一键生成App关于源码、文件、权限、关键字等方面的安全风险分析报告。

2. 加密服务

    1. DEX加壳保护:DEX文件加壳保护对DEX文件进行加壳防护,防止被静态反编译工具破解获取源码。
    2. 内存防dump保护:防止通过使用内存dump方法对应用进行非法破解
    3. 资源文件保护:应用的资源文件被修改后将无法正常运行
    4. 防二次打包保护:保护应用在被非法二次打包后不能正常运行。
    5. 防调试器保护:防止通过使用调试器工具(例:zjdroid)对应用进行非法破解
    6. 多渠道打包:上传1个APK,通过选择android:name和填写android:value来实现对每一个渠道的包的生成和加密
    7. 漏洞分析服务:漏洞分析采用文件检查、漏洞扫描、后门检测等技术方向对APK进行静态分析并支持一键生成分析报告
    8. 渠道监测服务:监控国内400多个渠道市场入口,对应用的各渠道的下载量、版本信息、正盗版进行一站监控
    9. 签名工具:爱加密提供纯绿色签名工具,支持Windows、Linux和MAC系统,同时支持批量签名
    10. DEX专业加壳保护:本服务是对安卓DEX文件进行加壳保护,有效防止所有静态调试器对APK进行破解
    11. DEX专业加花保护:本服务对安卓DEX文件进行加入花指令(无效字节码)保护
    12. 资源文件指纹签名保护:对资源文件指纹签名进行验证保护,有效防止资源文件被篡改
    13. 高级防二次打包保护:本服务对APK进行防止二次打包保护,防止APK被使用非法手段修改替换文件后进行二次打包
    14. 高级防调试器保护:防止通过使用调试器工具(如:zjdroid、APK改之理、ida等)对应用进行非法破解
    15. 高级内存保护:本服务是对内存数据的专业高级保护,可防止内存调试,防止通过dump获取源码,防止内存修改
    16. 截屏防护:防止黑客通过截屏形式获取应用账号、应用密码、支付银行卡号、支付银行卡密码,支持安卓所有机型
    17. 本地数据文件保护:对APK应用的网络缓存数据、本地储存数据(提供SDK)进行深度保护
    18. 源码优化:1) 一键清除Log(开发日志)信息;2) 一键优化减少加密后增大的源用包大小
    19. 防止脚本:本服务爱加密提供防止脚本SDK,用户根据开发帮助文档进行二次开发,此保护项可有效防止游戏非法使用脚本
    20. 防止加速器:防止游戏使用加速器,破坏游戏公平(如:防八门神器和葫芦侠中的加速器功能)
    21. 防止模拟器运行:防止模拟器非法运行(可以防止运行在PC上的任何类型的android模拟器)
    22. 防止内购破解:防止游戏被内购破解(如:游戏内部有支付项,可以防止支付项相关内容被破解)
    23. SO文件保护:so文件专业保护,对so文件进行优化压缩、源码加密隐藏、防止调试器逆向分析

3. 渠道监测

渠道数据监控

精准识别渠道正盗版

盗版APP详情分析

扩展阅读:加密资讯

3. 梆梆加固

提供的移动应用保护服务:

    1. 防逆向保护:以加密代码的方式阻止反编译,从而防止被窃取代码和创意
    2. 防篡改保护:通过对app的完整性保护,防止app被篡改或者盗版
    3. 反调试保护:阻止应用运行中被动态注入,防止被外挂,木马偷窃账号密码,修改交易金额等
    4. 存储数据加密保护:更底层,跨文件格式的数据加密,防止应用数据被窃取
    5. 环境监测和保护:云监测设备环境,防止盗版应用,恶意应用的钓鱼攻击

扩展阅读:安全SDK下载

4. 360加固保

加固保为移动应用提供专业安全的保护,可防止应用被逆向分析、反编译、二次打包,防止嵌入各类病毒、广告等恶意代码,从源头保护数据安全和开发者利益,
360的加固流程大体和阿里聚安全差不多,加固前选择项比较多,可以选择增强服务比如日志分析,X86架构,应用升级通知,对于签名的选择。

主要提供:

    1. 反篡改:通过签名校验保护,能有效避免应用被二次打包,杜绝盗版应用的产生
    2. 反窃取:对内存数据进行变换处理和动态跟踪,有效防止数据被获取和修改
    3. 反逆向:对代码进行加密压缩,可防止破解者还原真实代码逻辑,避免被复制
    4. 反调试:多重手段防止代码注入,可避免外挂、木马、窃取账号密码等行为

5. 阿里聚安

如果是认证用户可以选择已有的应用或者上传新应用直接开始加固,操作过程很顺畅。加固中会提示先给应用进行恶意代码检测,这点挺人性化的。加固后将文件下载下来再次签名即可发布。另外还有在线多渠道加固可以选择,这个功能比较适合发布渠道多的用户。

6. 腾讯云应用乐

腾讯云的加固上传应用后默认选择了加固,漏洞检测还有渠道监控。可选项是适配分析,限量每天一次。

加固前后指标对

加固等待时间对

对于加固等待时间这一次对比中也做了记录。同样的应用在不同的平台加固时间也是很不一样,最快的是阿里聚安全,16MB的应用加固用时27秒,而通付盾最久用时3分08秒。当然时间的差别除了和加固引擎不一样之外,也可能是加固强度和加固项目有关。

加固前后体积对

阿里聚安全的加固反而使应用包变小1MB,其他的几个则都出现了0-0.8MB的浮动。

加固前后首次启动速度对

一般来说加固后首次启动速度会略微受到一点影响,但是第二次启动就会正常。通过第三方兼容性测试testin的测试,这五个平台输出的应用签名后兼容性相差不大。这次采用的是覆盖100台主流手机的测试,检测结果如下:

除了360加固,其他4各平台加固后启动速度比加固前要慢。其中对速度影响最大的是梆梆安全。

加固前后兼容性对

对于应用的兼容性也是非常重要的一项指标。通过这次的评测,可以发现测试的应用采用通付盾的加固后,兼容性出现了大幅度下降只有88%。而其他四个并没有太多的变化。

最后再来一个汇总的统计表格,看看这几个指标中都是哪些平台得了第一:

这里要特别提一下,如果应用市场选择360开发平台的话是不允许使用其他品牌商的加固功能的,这一点体验上就会不太好。目前整个加固市场从这次的样本分析上来看也是大同小异,各位如果想选择加固产品可以重点关注加固后的兼容性还有启动速度这两个维度。

最后是想说明一下这次加固使用的都是免费版自动化加固,目前各个平台也都有提供一些API或者更高强度的加固方案。不过就目前加固技术而言,还是有方法可以对应用脱壳的,对于应用安全来讲除了加固还可以再结合其他的一些方式。比如在应用中嵌入安全组件,进行数据加密和逻辑混淆这种方式。

注意点

其实,就个人而言,最终的参数,就是首次启动时间,其次就是兼容性。然后才是安全性,如果使用的体验不好,再安全的应用也没什么用。所以个人还是比较偏爱360的。

但是首次启动的时间,往往和加密的复杂度相关,所以,有的时候,首次加密时间越长有的时候可以认为越安全,但是安全没有绝对的。

网上,有一些安全论坛的大牛们,,使用打进包里面so文件,或者其他文件,进行二进制的读取,和寻找规律,如果不是全量数据的加密,而是使用基础结构变化的加固方案,还是有破解的风险的,还是那句那,复杂度往往会带来首次启动时间过长。