首页> 安全资讯 > 移动应用安全加固技术到底有多重要

移动应用安全加固技术到底有多重要

发布时间:2021-08-04

据统计,超97%的Android应用遭受盗版侵袭,病毒木马肆虐、流氓软件和钓鱼应用随处可见,严重影响了开发者收益、客户端安全和体验。爱加密移动应用安全加固平台,可从根本上解决移动应用的安全缺陷和风险,通过Android应用加固、iOS应用加固、游戏应用加固、H5文件加固、微信小程序加固、SDK加固、SO文件加固和源对源混淆加固等技术,使加固后的移动应用具备防逆向分析、防二次打包、防动态调试、防进程注入、防数据篡改等安全保护能力。

 

爱加密始终以创新发展为宗旨,通过不断的提升产品和服务质量,为金融、政府、能源、交通、运营商等广大行业用户提供完善的移动安全服务。爱加密移动应用安全加固平台,优化了AAB加固能力;增强了源对源动态保护技术;全面支持服务端jar加固、PHP加固、Python加固等,安全防护能力不断提升,并以自主核心技术为突破点,持续引领行业风向标。

 

一、平台架构

 

 

 

 

二、源对源混淆-iOS端

 

 

字符串加密

对程序中的字符串进行保护,增大程序的分析难度:对字符串采取随机加密方式,运行时动态解密。

 

控制流扁平化

C/C++代码中的函数所对应的控制流进行“横向”变扁边长,使其在常用反编译工具中,增加破解者分析难度,有效的保护核心算法的原始逻辑。

 

等效指令替换

C/C++函数中的运算表达式进行等效转换,使其在常用反编译工具中,增加破解者分析难度,有效的保护核心算法的原始逻辑。

 

虚假控制流

C/C++函数中,插入一些虚假的不可达指令或多余的跳转指令,在运行时刻这些插入的指令不会运行,在静态分析时难以被发现,从而保护用户的源代码安全。

 

局部变量名混淆

对源代码中的变量名进行混淆,混淆后的变量名为无意义的名称。

 

完整性保护

对应用进行完整性校验,发现应用被重签名,应用自动退出运行。

 

代码段校验

对应用代码段进行完整性校验,发现代码段被篡改,应用自动退出运行。

 

资源文件完整性校验

对应用资源文件进行完整性校验,发现资源文件被篡改,则退出运行。

 

不透明谓词

将代码中分支跳转判断条件由原来的确定值变为表达式,增加程序逻辑复杂性,降低代码可读性。

 

符号混淆

对方法名、类名进行混淆,增大分析难度,无法通过方法名、类名快速定位程序核心代码。

 

防动态调试

对应用进行防调试保护,检测到配置防动态调试功能的类、方法、函数被GDB、Xcode、LLDB工具进行动态调试时,应用自动退出运行。

 

防动态注入

当利用Framework或者Dylib等第三方库的方式对应用进行动态注入(越狱环境利用Cydia直接注入,非越狱环境利用yololib注入后重签)时,自动退出运行。

 

Hook检测

对应用进行防Hook保护,检测到配置防Hook保护功能的类、方法、函数在被Frida、Cydia Substrate工具动态注入时,应用自动退出运行。

 

混淆多样性

采用随机化技术,相同加固策略下,每次混淆的输出结果是随机且不重复的,增强了代码的保护能力。

 

过滤指定文件/目录

对填写的指定文件或者指定目录下面的所有文件不进行混淆。

 

三、AAB加固

 

 

防逆向保护

 

二代DEX整体加密保护


DEX文件进行整体加密,防止通过第三方反编译工具获取源码;

防止对DEX文件进行Java层动态调试。


 

三代代码分离保护


DEX文件中的方法名和方法体分离加密,防止查看;

按需解密,使用到函数时进行解密,内存中的DEX不连续存储;

防止通过内存DUMP获取明文DEX。


 

四代混合加密保护


防止apktool、dex2jar等工具对APK进行反编译;

抽取加密APK内全部代码,防止查看;

防止通过内存DUMP获取APK源代码。


 

五代VMP保护(虚拟指令集技术)


自定义虚拟指令,防止在内存中还原代码;

防止内存DUMP获取核心数据和代码;

增加黑客反编译代码后对业务逻辑的理解难度。


 

so加壳


so库文件进行高强度加壳加密;

防止在内存中整体DUMP出未加密的so库;

防止通过IDA Pro还原so库。


 

so Linker

爱加密so Linker安全加固对整个so文件进行加密压缩,包括代码段、导出表和字符串等,运行时再解密解压缩到内存,从而有效的防止so数据的泄露。使用so Linker,隐藏so的基地址,有效的防止so被DUMP。

 

使用函数运行时动态加解密技术(FRAEP),在运行前进行解密,运行结束后进行加密,从而保证了so即使被DUMP,也无法反汇编出源码(so函数指令不运行时,在内存中处于加密状态)。so Linker代码使用爱加密自有的so VMP技术保护,大大增强了反调试代码被跟踪的难度。

 

so防调用


so同APP的绑定,保证so文件无法被复制到其他APK中使用

防止攻击者直接调用so库功能

防止通过篡改APK制作恶意软件、钓鱼应用


 

数据防泄密

 

防日志泄露


拦截日志输出接口;

拦截到的日志信息不在进行输出打印操作。


 

本地Sharepferences数据加密


Sharepreferences读写过程中的自动拦截加密、解密;

加密so库进行加固,混淆保护,防止算法本身被破解。


 

防调试保护

 

防止动态调试


防止GDB、IDA Pro等动态调试工具调试APK;

保护内存数据不被读取;

保护内存数据不被篡改。


 

防止内存代码注入


实时检测APK运行环境,监控内存和进程状态;

检测到内存注入时,则自动退出。


 

防模拟器


实时检测APK运行环境;

发现APK运行在模拟器环境,则弹出警告信息或自动退出;

防止各类通过模拟器执行的攻击手段。


 

trace分析


防止应用被TraceView工具分析,防止跟踪查看APP的执行流程、函数调用图,保护APP的核心业务逻辑。


 

HOOK框架检测


HOOK攻击框架检测,可以检测部分Xposed框架、Substrate框架、Frida框架

检测到HOOK框架自动退出运行。


 

页面数据保护

 

 防截屏


防止APK被自动化截取界面;

保护用户的账号、密码、银行卡等数据安全。


 

防劫持


防止APK正常界面被恶意替换为仿冒界面;

应用遭受劫持攻击时,自动弹出警告信息,提醒用户;

防止各类钓鱼应用。


 

四、服务端Jar加固

 

 

对服务端Jar(Web服务端应用的开发涉及到第三方SDK)以及Windows上面的可执行Jar文件进行虚拟化保护,防止通过逆向分析获取源代码,保护SDK代码、业务逻辑不被泄漏。

 

VMP保护

对服务端Jar进行VMP保护,将原始指令转化为爱加密自定义虚拟机指令,使用自定义虚拟机解释器解释执行,防止通过逆向分析获取源代码,保护SDK代码、业务逻辑不被泄漏。

 

字符串加密

Jar进行语法分析以及逻辑分析,解析出代码中字符串的位置,然后对字符串进行混淆以及加密,使破解者无法使用它来快速定位程序核心代码的位置。

 

防调试

防止通过动态调试的方式获取服务端Jar的核心代码逻辑。检测到Jar被动态调试,则自动退出运行。

 

五、PHP加固

 

 

PHP文件中的源代码进行加密,加密后无法直接查看PHP文件中明文的源代码。

 

平台优势:

 

1、加固包增量小

加密后包增量大小不超过原包“±5%”。

 

2、兼容性好

加固包兼容性高达99%,实现ART全面兼容。

 

3、全面的移动应用安全加固技术

支持Android应用加固、iOS应用加固、游戏应用加固、H5文件加固、Android SDK加固、so文件加固。

 

4、高效的性能,节约时间

应用加固时间短,可即时获取加固后的应用。

 

5、无人工操作,节约成本

全自动一键操作,无需专业的安全技术人员参与,大幅降低人力开销及技术学习成本。

 

 


加入收藏