移动应用安全(Mobile Application Security,MS)针对移动应用普遍存在的破解、篡改、重打包等各类安全风险,提供 Android 应用加固、iOS 源码混淆、SDK 加固等多种加固技术,已服务于金融、互联网、车联网、物联网,运营商等多个行业。稳定、简单、有效,让移动安全建设不再是一种负担。
Android 应用加固
移动应用安全提供的 Android 应用加固分为基础版和企业版。每个版本对应功能如下表所示:
类别 | 功能 | 基础版 | 企业版 |
---|---|---|---|
反编译保护 | 反编译保护 | DEX 反编译保护 | 壳加密算法保护 |
– | AndroidManifest.xml 防篡改 | ||
DEX 文件整体加固保护 | DEX 文件整体加固保护 | ||
– | DEX 虚拟化加固(VMP) | ||
SO 反编译保护 | – | SO 库加壳保护 | |
– | SO 库内存动态清除 | ||
– | SO 库与应用绑定保护 | ||
– | 高级 SO 混淆保护 | ||
– | SO 库字符串加密 | ||
防篡改保护 | APK 防篡改保护 | – | APK 防二次打包保护 |
– | APK 签名文件校验保护 | ||
源代码防篡改保护 | DEX 文件防篡改 | DEX 文件防篡改 | |
– | SO 库防篡改 | ||
资源防篡改保护 | – | assets 资源防篡改 | |
– | res 资源防篡改 | ||
– | raw 资源防篡改 | ||
– | 配置文件防篡改 | ||
防调试保护 | 防调试保护 | – | 防模拟器保护 |
– | 加固壳防动态调试 | ||
– | 防线程动态调试保护 | ||
– | 防进程动态调试保护 | ||
– | 防 JDWP 调试 | ||
– | 防注入保护 | ||
– | 防内存 dump 保护 | ||
– | 防内存数据读取 | ||
– | 防内存数据修改 | ||
数据与资源保护 | 资源防窃取保护 | – | assets 资源防窃取 |
– | res 资源防窃取 | ||
– | raw 资源防窃取 | ||
– | SSL 证书防窃取 | ||
本地数据保护 | – | 本地 databases 目录数据库文件加密 | |
– | 防日志泄漏 | ||
价格 | – | 免费 | 8万/年/APP |
适用范围 | – | 个人开发者适用 | 金融 App 及企业适用 |
iOS源码混淆
常量字符串加密
在源码编译期对常量字符串进行加密,避免攻击者利用常量字符串进行核心代码定位,获取敏感信息。
指令多样化
将某些逻辑指令转换成随机等价的多条逻辑指令组合,增大破解者代码分析的难度,有效隐藏和保护核心算法原始逻辑。
基本块分割
将某个基本块随机分割成多个基本块,并对分割后的基本块进行混排,使控制流更加复杂。
伪控制流
在原有控制流中引入冗余控制逻辑,使应用控制流图复杂化,增大逆向工具分析程序逻辑的难度。
控制流扁平化
遇到循环结构时,会进行结构转换,达到隐藏程序原始逻辑的目的。
应用加固上传失败的原因有哪些?
- 上传的应用未签名,目前移动应用安全仅允许上传已签名应用。
- 已加固的 apk 不可进行重复加固,只需要重签名即可。
- 部分浏览器可能存在不兼容情况,尝试换其他浏览器登录。
- 登录状态有问题,尝试退出浏览器清除缓存后,再重新登录。
- 应用存在安全风险。
注意:
- 若杀毒引擎提示您的应用存在安全风险,移动应用安全则会拒绝您的应用上传、同时拒绝对应用进行加固。一旦出现该情形,建议您检查应用中是否存在违规行为。
- 若您将存在安全风险的应用发布出去,极大可能被渠道市场拒绝,且无法在用户手机安装。对于此类应用,加固能否成功并非最核心要素,因为渠道分发、用户手机都会有类似的安全扫描,均可能发现相关安全风险。
如何查看 apk 的签名信息?
安装好 Java,并配置环境变量。在 cmd 中执行:keytool -printcert -jarfile *.apk 即可看到 apk 的签名 MD5 字段信息。确认加固前后 apk 的签名信息是否一致。
加固失败并提示“应用存在安全风险”是什么原因?
- 说明应用被国内外杀毒引擎判定为恶意,移动应用安全将会拒绝对此类应用进行加固,请检查应用是否有违规行为。
- 移动应用安全采信杀毒引擎判定结果,若您的应用被杀毒引擎判定为恶意,加固已经没有意义。因该类应用将无法上架正规应用市场,且无法安装到用户手机,也注定会被手机的安全防护软件拦截。此类问题非加固造成,需仔细检查应用是否违规。
- 若确认应用本身无风险问题,可在官网进行 申诉。
应用加固后无法安装或登录闪退如何处理?
请确保加固后已重新签名,且加固前后签名保持一致。
应用加固后部分功能异常是什么原因?
通常是因为未(正确)签名导致,请排查以下可能问题:
- 应用加固前后签名不一致,或者未签名。
- 应用本身有签名、文件 MD5 校验等校验机制。
- 多次重复加固极易导致程序异常,请确保只加固一次。推荐使用 移动应用安全控制台 在线加固,请勿用第三方加固包或移动应用安全加固包再次加固。
如何进行应用加固?
您只需要确保使用已签名的安装包在 移动应用安全控制台 直接提交加固即可,可参见 快速入门 进行操作。
移动应用安全加固是否支持重签名?
移动应用安全加固不提供签名工具,建议您可自行查阅市场上常用的签名方案。
移动应用加固工具支持哪些系统?
目前 Apk 加固工具支持 ubuntu16.04 及 CentOS 系统。
应用加固为什么必须重签名?
应用加固不可避免的会破坏原有签名,加固后必须对加固包重签名才能发布至应用市场,否则会被提示 “应用未签名”,请务必确保加固前后的签名一致。
移动应用安全版本更新动态如何查看?
移动应用安全版本更新动态可参见 更新日志。
使用应用加固基础版的用户如何反馈问题?
使用应用加固基础版的用户,若在使用过程中若遇到问题,可以发送邮件至 MS_service@tencent.com 进行反馈,我们收到反馈后,会排期进行处理,应用加固基础版暂不支持实时的响应服务。
暂无评论内容