【信息安全等级保护资讯网】专注网络安全等级保护,欢迎您的光临!
等级保护咨询电话:13865983726
信息安全等级保护资讯网
了解最新等级保护动态及等保资讯
等保资讯
等保资讯 您的位置:首页>等保资讯 >
网络安全攻防:Android App防护
时间:2021-05-19阅读量:1224来源:转载关键词:Android App防护 返回列表

1. 风险


盗版:修改代码、资源,篡改资源、数据,添加恶意代码以及病毒。


山寨:应用图标、名称、内容被复制或模仿。


2. 防护


(1)App反编译保护:将原classes.dex中的所有方法代码提取出来,单独加密,运行是动态劫持Dalvik虚拟机中解析方法的代码,将解密后的代码交给虚拟机执行引擎。


(2)App反汇编保护:SO库的加密保护技术与PC领域的加壳技术类似。加壳技术是指利用特殊的算法,将可以执行的程序文件或动态链接库文件的编码进行改变,以达到机密程序编码的目的,阻止反编译工具的逆向分析。


(3)App防篡改保护:防篡改的技术原理是采用完整性校验技术对安装包自身进行校验,校验的对象包括原包中所有文件(代码、资源文件、配置文件等),一旦校验失败,即认为客户端为非法客户端并阻止运行。


(4)防破解技术主要有4种实现方式:代码混淆(ProGuard)技术、签名比对技术、NDK.so动态库技术、动态加载技术。


3. 防破解技术


(1)代码混淆技术(ProGuard)。该技术主要是进行代码混淆,降低代码逆向编译后的可读性,但该技术无法防止加壳技术进行加壳(加入吸费、广告、病毒等代码),而且只要是细心的人,依然可以对代码进行逆向分析,所以该技术并没有从根本上解决破解问题,只是增加了破解难度。


(2)签名比对技术。该技术主要防止加壳技术进行加壳,但代码逆向分析风险依然存在。而且该技术并不能根本解决被加壳问题,如果破解者将签名比对代码注释掉,再编译回来,该技术就被破解了。


(3)NDK.so动态库技术。该技术实现是将重要核心代码全部放在C文件中,利用NDK技术,将核心代码编译成.so动态库,再用JNI进行调用。该技术虽然能将核心代码保护起来,但被加壳风险依然存在。


(4)动态加载技术。该技术在Java中是一个比较成熟的技术,而Android中该技术还没有被充分利用起来。


Copyright © 2020-2021 信息安全等级保护资讯网 All Rights Reserved. 备案号码:皖ICP备19012162号-3
本站文章内容部分来源于网络转载,版权归作者所有。文章内容仅代表作者独立观点,不代表本站立场,转载目的在于传递更多信息。如有侵权,请联系删除。