iOS rootless无根越狱检测方案

不同于安卓的开源生态,iOS一直秉承着安全性更高的闭源生态,系统中的硬件、软件和服务会经过严格审核和测试,来保障安全性与稳定性。

据FairGurd观察,虽然iOS系统具备一定的安全性,但并非没有漏洞,如市面上常见的作弊手段------iOS越狱

传统越狱作弊标志------安装Cydia管理器

iOS越狱是指通过软件或硬件漏洞,移除或绕过苹果在iOS设备上的操作系统限制,从而获得设备的最高权限。

设备越狱后,用户通过获取的最高权限,可使用 Cydia 管理器等软件,绕过 App Store 安装各种未审核的插件、外挂,修改系统文件,甚至访问系统级别的API。

Cydia管理操作界面

传统的越狱模式为了获取高级用户权限,会重新安装文件系统并修改系统分区,导致越狱后设备无法正常更新,在运行中也会变得不稳定,想要还原设备需要经过一系列复杂操作,作弊成本较高。

并且,传统越狱还会留下破坏文件系统映像、禁用签名检查等较为明显的作弊痕迹,在游戏安全对抗中,可以通过这些痕迹来判断设备是否处于越狱环境,作弊容易被检测。

常见的iOS越狱检测手段

随着传统越狱的缺点越来越多,并且在技术上实现愈发困难,黑灰产发掘出了新的手段「rootless 无根越狱」。

据观察,可实现 rootless 越狱工具十分多样,常见的有unc0ver、rootlessJB、Dopamine工具等。接下来,我们以 Dopamine 工具实现无根越狱过程为例进行分析。

其绕过 App Store 审查的方式采用了基于 CoreTrust 漏洞研发的 Trollstore 工具(又称"巨魔商店")。该工具安装应用是通过ipa安装包,不需要证书,在非越狱环境也可以绕过 App Store ,实现随意安装外部应用。

巨魔商店安装通过ipa包安装Dopamine

通过巨魔商店,下载并安装Dopamine越狱工具,经过一系列设置,就可以为设备写入rootless无根越狱环境,从而为各类修改器、外挂提供便利,实现游戏作弊。

Dopamine越狱工具

与传统越狱相比,rootless无根越狱不授予对文件系统根目录("/")的访问权限, 不会改变系统分区的内容,可以做到随时删除越狱环境,将系统复原。

此外,rootless无根越狱在提供文件系统提取所需的所有内容时,不需要捆绑额外内容,作弊痕迹较少,具有隐藏越狱功能。这些特性使得 rootless 无根越狱得到黑灰产广泛的应用。

Dopamine越狱工具可隐藏、移除越狱

针对iOS端面临的越狱难题,FairGuard在分析了越狱插件的基础上,针对性地开发了越狱检测模块及配套的安全功能,并接入多款热门游戏并验证了出色的保护能力。

✔ 反越狱保护

采用独家检测技术,做到精准识别不误报,会根据多种运行时信息综合判断,对未知反越狱插件/越狱方式做检测,并针对反越狱插件做处理,不漏报。

✔ 反调试保护

双重防护,先使用ptrace、syscall、sysctl、异常等检测方式,再对防护代码进行加密保护,效果更佳。

✔ 反重签名保护

精准校验包体内签名,使用加固时存储的签名,与运行时获取的签名进行对比。

✔ 反修改器保护

在代码对抗防护阶段,FairGuard提供本地检测代码,并保护其有效性。

此外,FairGuard研发了在线特征更新检测功能,获取样本后可第一时间下发特征,用最短的时间保护App的安全性。

相关推荐
游戏开发爱好者82 小时前
基于uni-app的iOS应用上架,从打包到分发的全流程
android·ios·小程序·https·uni-app·iphone·webview
无知的前端3 小时前
一文精通- iOS隐私权限
ios·程序员·app
不自律的笨鸟3 小时前
iPhone 17 Pro 全新配色确定,首款折叠屏 iPhone 将配备 Touch ID 及四颗镜头
ios·iphone
深盾科技4 小时前
探索Swift Package Manager:全面指南
开发语言·ios·swift
vayy18 小时前
uniapp中 ios端 scroll-view 组件内部子元素z-index失效问题
前端·ios·微信小程序·uni-app
我现在不喜欢coding1 天前
为什么runloop中先处理 blocks source0 再处理timer source1?
ios·面试
骑着猪狂飙1 天前
iOS技术之通过Charles抓包http、https数据
网络协议·http·ios·https
Dolphin_海豚2 天前
charles proxying iphone
前端·ios
Magnetic_h2 天前
【iOS】内存管理及部分Runtime复习
笔记·学习·macos·ios·objective-c·cocoa·xcode
jiushiapwojdap3 天前
Flutter上手记:为什么我的按钮能同时在iOS和Android上跳舞?[特殊字符][特殊字符]
android·其他·flutter·ios