近日,据彭博社报道,iOS 17预计开放“侧载”机制。所谓的“侧载”是指:iPhone用户下载APP时,可选择不在APP store中下载,可在相关APP官网或者第三方应用市场进行下载。
众所周知,APP闭源生态是苹果公司最核心的竞争力,但迫于欧盟出台的《数字市场法》相关规定,苹果不得不开放侧载,否则将面临欧盟对其开出的全球收入20%的罚款。
对于开发者来说,这个消息令人喜忧参半。侧载机制的加入将允许开发者更灵活地发布应用程序,同时可以节省部分App Store收取的费用。
但同时,开发者也要更加关注应用程序的质量、安全性和隐私保护,大量的外部应用势必会对闭源生态产生冲击,用户会更容易受到恶意软件、诈骗、数据跟踪和其他问题的影响。
如游戏应用,可能会面临新一轮外挂、破解的问题。iOS端游戏作弊方式将不仅仅突破传统的iOS“越狱”,进而催生出一系列黑灰产,游戏安全对抗程度会更加激烈。
iOS越狱标志——安装Cydia管理器
针对iOS游戏遇到的外挂、破解问题,FairGuard研发了成熟完善的保护方案,并接入多款热门游戏并验证了出色的保护能力。
■ 代码本身防护
FairGuard支持代码逻辑混淆、字符串混淆,是基于LLVM的IR层的混淆Pass,但不是使用开源的LLVM项目。而是通过HOOK Xcode 执行流程,最小程度的减少用户接入成本和体验效果,对用户来说完全无感知。
FairGuard iOS加固方案混淆效果图
■ 代码行为防护
本地存储时的保护(NSUserDefaults,sqlite文件数据加密):在执行NSUserDefaults、sqlite存储操作的时候对文件进行加密处理再存储。
网络传输数据保护:对客户端传输数据提供加密方案,有效防止通过网络接口的拦截获取数据。
■ 代码对抗防护
反调试保护
可以使用网上公开的ptrace、syscall、sysctl、异常等检测方式,之后再对这段防护代码加上之前的保护,效果更佳。
反越狱保护
可以从多个维度检测,例如检查某些App的安装、文件的存在、目录的访问权限等来综合判断是否越狱。
反重签名保护
可以用加固时存储的签名,与运行时获取的签名进行对比。
反修改器保护
在代码对抗防护阶段,FairGuard提供本地检测代码,并保护其有效性。
此外,FairGuard研发了在线特征更新检测功能,获取样本后可第一时间下发特征,用最短的时间保护App的安全性。如下所示:
FairGuard在线特征更新检测功能