自2007年iPhone OS发布以来,iOS系统已经发展了近17年,凭借着独家的系统环境、安全性更高的闭源生态等优势。iOS从一众手机系统中脱颖而出,与安卓稳坐手机系统市场两把头部交椅。
不同于安卓的开源生态,iOS的闭源生态中的硬件、软件和服务都经过严格审核和测试,其安全性与稳定性有了一定保障,但也导致一部分公司在开发过程中忽视了安全问题,如iOS游戏反外挂、防破解等。
据FairGurd观察总结,虽然iOS系统具备一定的安全性,但并非没有漏洞,如常见的iOS越狱。iOS设备越狱后,可以让用户获取操作系统的最高权限,再通过Cydia管理器等软件,安装App Store以外的扩展软件。
iOS越狱标志——安装Cydia管理器
海外知名iOS越狱团队palera1n在前段时间研发出一个兼容iOS 16的越狱工具,这也意味着苹果最新的系统也能进行越狱。一旦iOS系统越狱后被逆向研究App,产生的后果、造成的损失往往更加严重。
当下游戏市场,多端互通已成为一种趋势。游戏作为一个整体,无论哪一端出现游戏安全问题都会造成严重影响,针对iOS游戏反外挂难题,FairGuard研发了成熟完善的保护方案,并接入多款热门游戏并验证了出色的保护能力。
■ 代码本身防护
FairGuard支持代码逻辑混淆、字符串混淆,是基于LLVM的IR层的混淆Pass,但不是使用开源的LLVM项目。
而是通过HOOK Xcode 执行流程,最大程度的减少用户接入成本、优化体验效果,对用户来说完全无感知。
FairGuard iOS加固方案混淆效果图
■ 代码行为防护
本地存储时的保护(NSUserDefaults,sqlite文件数据加密):
在执行NSUserDefaults、sqlite存储操作的时候对文件进行加密处理再存储。
网络传输数据保护:
对客户端传输数据提供加密方案,有效防止通过网络接口的拦截获取数据。
■ 代码对抗防护
▶ 反调试保护
双重防护,先使用ptrace、syscall、sysctl、异常等检测方式,再对防护代码进行加密保护,效果更佳。
▶ 反越狱保护
多维度综合检测,如检查某些App的安装、文件的存在、目录的访问权限等来综合判断是否越狱。
▶ 反重签名保护
精准校验包体内签名,使用加固时存储的签名,与运行时获取的签名进行对比。
▶ 反修改器保护
在代码对抗防护阶段,FairGuard提供本地检测代码,并保护其有效性。
此外,FairGuard研发了在线特征更新检测功能,获取样本后可第一时间下发特征,用最短的时间保护App的安全性。如下所示:
FairGuard在线特征更新检测功能