2023-08-02 11:32:39 • 10 min read
2023-08-02 11:32:39 • 10 min read
CoreLocation
实现虚拟定位,不仅增加了黑灰产自己的复杂度和设备成本,也为检测带来了更多的检测特征。为了解决这痛点,黑灰产越来越多开始使用AnyGo、iAnyGo、爱思助手等工具进行位置伪造。Simulate Location
,选定位置或通过GPX文件修改定位信息,即可完成虚拟定位的主要操作。Simulate Location
是通过GPX文件对虚拟的定位进行描述的。其中GPX是一种为应用软件设计的通用的全球定位系统的XML格式数据,可以用来描述点、路径和轨迹。com.apple.dt.simulatelocation
服务和 libimobiledevice
开源库。libimobiledevice
提供的 Wi-Fi 或 USB通讯能力与 iOS 设备连接,并向设备上的lockdown进程发送开启 com.apple.dt.simulatelocation
服务命令。该服务会使用指定的 GPX 文件进行系统全局的虚拟定位,从而让系统上的所有应用使用虚假的定位信息。以下是部分 libimobiledevice
源码:#define DT_SIMULATELOCATION_SERVICE "com.apple.dt.simulatelocation"
if (lockdownd_start_service(lockdown, DT_SIMULATELOCATION_SERVICE, &svc) != LOCKDOWN_E_SUCCESS) {
lockdownd_client_free(lockdown);
idevice_free(device);
printf("ERROR: Could not start the simulatelocation service. Make sure a developer disk image is mounted!\n");
return -1;
}
/System/Library/LaunchDaemons/com.apple.mobile.lockdown.plist
路径下。未来我们将进一步分享相关内容。CLLocation
库提供了isProducedByAccessory
和isSimulatedBySoftware
属性来识别通过GPX进行的虚拟定位。isSimulatedBySoftware
已经命中。此外我们也可以利用 AnyGo的原理进行识别。极验
极验