数字联盟 iOS 加固技术产品团队接受了 51CTO 的专访, 整个过程围绕应用加固技术的演变, 业界常用 iOS 应用加固方法的不足及采用二进制研发的 iOS 应用加固产品 "数字盾甲" 展开.
依托智能手机规模化应用, 促使移动互联网得到长足的发展, 进而各种功能丰富的 APP 走进我们的生活, 带来便捷的同时, App 加固也成为刚需. 有效的加固, 可避免被破解, 盗版, 二次打包, 注入, 反编译等风险, 提升 App 的安全性, 稳定性. 当下, 仍有人觉得 iOS 代码不用做加固, 是因为苹果系统的封闭性导致 iOS 系统下的 App 安全性相对较高. 但是实际上 iOS 应用本身被破解的难度并不高, 不管个人开发者还是大厂皆有保护代码安全的需求.
近日, 数字联盟 iOS 加固技术产品团队接受了 51CTO 的专访, 整个过程围绕应用加固技术的演变, 业界常用 iOS 应用加固方法的不足及采用二进制研发的 iOS 应用加固产品 "数字盾甲" 展开.
应用加固技术的演变
应用加固技术并不是新兴技术, 在移动互联网兴起前就已经存在, 主要作用是防止 PC 端应用被破解或盗取. 软件开发商为了保护版权, 会选择各种方式, 保护自己的软件. 密钥常见的应用加固技术, 起初仅由软件承载, 后续又与硬相件结合, 进行校验和认证, 旨在增强加固力度.
随着智能手机渗透, 安卓系统日益趋近成熟, App 开发大军也逐渐庞大起来, 主要分为两大流派: iOS 系统 和 Android 系统, 分别对应 .ipa 和 .apk 文件格式. XcodeGhost 事件发生后, 人们开始对 App 的安全倍加重视. 从开发角度来说, 源代码安全问题是基于代码审计层次而决定的; 从软件保护角度来说, 解决 App 的安全问题则是对源代码的代码混淆, 资源加密和逻辑加固等; 从用户角度说, 那就是 App 本身的安全性, 是否会对个人隐私财产造成损失, 是否是值得信赖的第三方平台.
安卓端应用批量涌现, 对应的加固技术也如雨后春笋随之而生. 出现这样的现象主要有两个原因, 其一: 庞大的用户群体. 其二: 编程手段过于上层. 也就是安卓端兴起之前, 软件破解通常使用 C2,C++ 等编译性语言, 得到二进制的结果后, 造假分子去破解应用的难度相对较大. 安卓端最初就选择 Java 语言做上层应用的开发, Java 语言拥有标准化, 高透明度的特点, 所以安全性自然就会相对下降. 造假者很容易便可了解到应用开发者的自检码, 虚拟机等规范, 破解难度较低.
安卓领域的加固技术经历关键的几次迭代:
改变原始代码, 躲避初级分析;
在内存中加载代码;
创建虚拟的 CPU 或虚拟机, 把标准官方指令, 变成开发者自己私有化的指令, 进而增加造假者分析和造假的难度.
业界常见 iOS 应用加固技术的不足
用户对 App 技术的核心诉求是无论采用何种手段, 只要保证在不影响产品功能的前提下, 提高被分析和调试难度即可.
张宇平. 数字联盟 CTO
数字联盟 CTO 张宇平表示, 安卓端的加固市场经过多年的演变已经趋近成熟, 但市面上还缺乏有效的 iOS 应用加固技术. 在推广数字联盟反作弊技术产品 "可信 ID" 的过程中发现, 很多客户也有 iOS 应用加固的需求.
那么, 传统的 iOS 应用加固技术有哪些不足呢? 传统的 iOS 应用加固方式一般是通过编译器混淆程序代码, 将有效信息淹没到各种无效信息中, 干扰造假分析人员的视线. 但加密方式大幅度增加代码体积的同时, 还需要将应用的代码提供给第三方加固机构, 再借助编译器去做混淆. 对于客户而言, 需要承担源代码泄露的风险. 在加密 / 隐藏 / 混淆程序代码的过程中, 应用包如果过大, 会影响用户体验和下载意愿.
数字盾甲 iOS 应用加固技术 "守正出奇"
目前看来, 移动端的加固技术基本和 PC 端的发展轨迹雷同, 从 Windows 平台加壳脱壳, 反调试和反反调试到 Andriod 平台. apk 加固, 反调试代码混淆和加强壳. Windows 平台下, ring3 到 ring0 层的反调试技术已经非常成熟. 相对于. ipa 加固,.apk 加固做的相对较好, 业界已经有很多成型的 App 加固方案.
数字盾甲 iOS 应用加固技术 "守正出奇", 沿用了 PC 端高难度的二进制加固技术的同时, 给 iOS 应用加壳, 既避免应用被盗版的风险, 也防止黑客反编译进而保护核心业务逻辑. 此项技术还融入了高级反调试和字符串混淆等技术, 进一步保护应用不被调试器分析, 防止 IDA Pro 等工具通过关键字定位破解核心代码逻辑.
据悉, 使用数字盾甲 iOS 应用加固技术后, 原始 App 体积增加量不会超过 1M, 加固力度不会受到影响, 可谓是 "轻量级加固安全不打折". 对这项技术的需求主要体现在付费应用, 企业应用, 内有交易功能的应用和注重知识产权, 以及珍视自己心血的各类中小开发者所开发的应用上.
当问及数字联盟 iOS 加固技术未来的突破方向, 数字盾甲 iOS 应用加固技术团队表示, 将在代码虚拟化和其他资源 (图片 / 声音) 保护等方面做进一步研发. 目前, 数字联盟的 App 加固技术还没有应用于安卓平台, 主要是因为安卓平台过于复杂, 系统版本多, 设备种类多. 核心技术完备的情况下, 兼容性方面也需要花费大量的时间去进行适配, 安卓平台会稍晚上线.
来源: http://mobile.51cto.com/ahot-578306.htm