随着数字化的普及,各类App的功能愈加丰富,相关的风险事件和违规现象也越来越多。监管部门对保障App用户合法权益非常重视,自2019年来,联合开展App专项整治工作,与App治理相关的法律文件也相继出台。违法违规的App不仅收到监管机构的通报批评,还面临被下架等监管处罚,因此App开发者和运营者必须加强App安全和合规的重视。
安全与合规是App的关键
针对App安全与合规性要求,《网络安全法》、《个人信息保护法》、《App违法违规收集使用个人信息行为认定方法》、《移动互联网应用程序信息服务管理规定》等均有明文规定。在具体操作层面来看,主要涉及到App五个方面:个人隐私安全、敏感权限安全、数据存储安全、App应用安全和App基础安全。
其中,App基础安全方面需要具有五大能力:
能够对虚拟机、模拟器和Root环境进行检测的能力。
能够防止IDA、JDB等工具调试的能力。
能够防止代码动态注入的能力。
能够防止App被篡改并二次打包的能力。
能够防止脱壳工具的能力。
在App应用安全方面,需要能够保障程序、环境、信息、存储、组件的安全,并能够防范恶意攻击。
程序安全:是否存在恶意代码、病毒木马、恶意行为等风险。
环境安全:App运行环境安全评估,是否存在反调试、注入、内存durmp、加速、二次打包等风险。
信息安全:是否存在敏感信息被拦截监听的风险。
存储安全:是否存在本地存储明文密码、SQL注入、信息残留的风险。
组件安全:是否存在动态组件、组件导出、被系统或三方直接调用的风险。
防范恶意攻击:是否存在动态注入、远程代码执行、漏洞利用等风险。
三方面助力App安全与合规
顶象端加固为App提供安全加固、风险预警及全生命周期风控保障,满足安全和合规要求。
全方位保障App安全
安全威胁与黑客攻击主要通过代码的脆弱性实现的。针对代码安全,顶象端加固能够针对已有应用进行安全性检测,发现应用存在的风险漏洞并针对性进行修复整改,对敏感数据、代码混淆、代码完整性、内存数据等进行保护,从源头上避免系统漏洞对于应用本身造成的安全影响。
顶象端加固能有效防御内存注入、Hook、调试、注入、多开、内存Dump、模拟器、二次打包和日志泄露等攻击威胁,防止App遭入侵、篡改、破解、二次打包等恶意侵害,其独有“蜜罐”功能、保护Android 16种数据和文件,提供7种加密形式,率先支持对iOS免源码加固。并能够对密钥存储文件、配置类文件的进行加密,保障源代码和数据安全。
为App提供实时风险预警
作为顶象防御云的一部分,顶象端加固支持安卓、iOS、H5、小程序等平台,独有云策略、业务安全情报和大数据建模能够力。
基于防御云,顶象端加固能够为App提供移动应用运行是进行安全监测,对移动应用运行时终端设备、运行环境、操作行为进行实时监测,帮助App建立运行时风险的监测、预警、阻断和溯源安全体系。
为App建立全生命周期防控体系
App 应用安全加固呈现常态化、泛边界化和专业化的趋势,这意味着企业自身简单的防护已经无法满足当前网络安全防护的新趋势,亟待建立更为全面的安全防御体系。
顶象端加固从App的设计、开发、发布、维护等全生命周期环节解决移动应用在核心代码安全、逻辑安全、安全功能设计、数据传输链路安全等多个维度的问题,助力筑牢安全防线。
顶象端加固的独有特性
作为基于第五代虚拟机源码保护技术的顶象端加固,通过利用虚拟机技术保护App中的所有代码,包括java、Kotlin、C/C++等多种代码,虚拟机技术主要是通过把核心代码编译成中间的二进制文件,随后生成独特的虚拟机源码,保护执行环境和只有在该环境下才能执行的运行程序。通过基于llvm工具链实现ELF文件的vmp保护。通过虚拟机保护技术,让ELF文件拥有独特的可变指令集,大大提高了指令跟踪,逆向分析的强度和难度。
经过顶象端加固后的App,安全性大幅提升,有效对抗各类攻击威胁。
1.字符串加密。将App的源代码中敏感字符串做随机加密处理。在运行时进行对字符串动态解密,这样就可以避免攻击者,通过利用工具进行静态逆向分析发现关键字符串信息,从而快速定位到应用中的业务代码。
2.控制流平坦化。将so文件中C\C++代码中的执行控制逻辑变换为平坦的控制逻辑,从抽象语法树层面进行深度混淆,使得其在常用反编译工具中,极大的降低反编译逆向代码的可读性,增加逆向代码的分析难度。
3.指令替换。对代码中的运算表达式进行等效转换,使其在常用反编译工具中,提高破解者逆向分析门槛,有效的保护核心算法的原始逻辑。
4.局部变量名称混淆。对源代码中的变量名称进行做混淆操作,混淆后变量名称变成无任何意义的名称。这给分析者加大了分析强度。
5.符号混淆。对App应用中的类名称、函数名称进行混淆操作,增大直接用工具分析难度,让反编译逆向工具,无法直接通过类名称、函数名称进行快速定位App的核心代码。
6.混淆多样化。采用在混淆过程中引入随机性技术,在相同的混淆策略下,每次混淆后的代码均不一致,进一步提升攻击者通过利用工具进行静态分析的难度。
7.不透明谓词。将代码中分支跳转判断条件,由原来的确定值变为表达式,增加程序逻辑的复杂性、降低代码的可读性。
8.防动态调试。对App应用进行防调试保护、检测到配置防动态调试功能的类、方法、函数被IDA逆向工具进行动态调试时候,App应用进行自动退出运行操作,有利于保护App应用直接被动态调试,从而提高攻防对抗的门槛。
9.防动态注入。对App应用进行防动态注入保护,当利用zygote或ptrace技术进行App应用的注入操作时,App应用进行自动退出运行操作,以此进行防御攻击方对App应用的非法操作,避免动态分析执行代码,从而达到动态保护App应用安全。
10.HOOK检测。对App进行防HOOK保护,检测到配置防hook保护功能的类名、方法名、函数名在被frida、xposed等工具动态hook时候,App进行自动退出操作,以此进行提高防御App安全性,保护App不被注入攻击,抵御恶意侵入。
11.代码段检验。对App应用中的代码段进行完整性校验,发现代码段被篡改,App应用进行自动退出运行,防止App应用中的代码逻辑被篡改,以此进行动态保护App的源代码安全性。
12.完整性校验。对App中指定的函数级进行完整性校验,当应用被重新签名和代码的完整性遭到破坏时候,检测点进行触发App程序闪退,以此抵御主流的调试器调试分析,从而达到动态保护程序安全。
顶象端加固已为政务、电商、物流、家居、新能源、互联网的领域的App安全与运营合规服务,进一步提升了机构和企业的业务安全防护能力。