聊聊虚拟定位工具新宠儿:AnyGo的原理与识别 您所在的位置:网站首页 不需要root的模拟定位 聊聊虚拟定位工具新宠儿:AnyGo的原理与识别

聊聊虚拟定位工具新宠儿:AnyGo的原理与识别

2024-05-23 16:13| 来源: 网络整理| 查看: 265

背景:基于位置服务 LBS「Location Based Services」的应用非常多,已经融入到生活中的方方面面。

市面上已经有很多基于位置服务的应用场景,如运动品类应用基于地理位置生成运动轨迹,企业办公应用基于定位信息进行打卡,游戏品类应用基于位置信息开发区域排名,电商品类应用基于位置发放区域性优惠券等等。

在黑灰产嗅探到背后的商业利益后,通过伪造定位信息来达到自己的目的。为了进一步降低技术门槛和对抗难度,虚拟定位工具应运而生。

在以前 iOS 系统上需要越狱系统或通过篡改技术修改 CoreLocation 实现虚拟定位,不仅增加了黑灰产自己的复杂度和设备成本,也为检测带来了更多的检测特征。为了解决这痛点,黑灰产越来越多开始使用AnyGo、iAnyGo、爱思助手等工具进行位置伪造。

一款运动产品的工作人员找到极验,表示他们发现越来越多的代刷在使用AnyGo进行位置伪造,向我们寻求解决办法。在帮助客户解决问题之前,我们先来了解一下AnyGo是一款怎样的虚拟定位软件。

AnyGo 简介

AnyGo 利用 Xcode 提供通过 GPX 文件的定位模拟服务,而无需在 iOS上安装 App 或者需要 iPhone 系统越狱。下面是 AnyGo 界面截图:

AnyGo 模拟定位

AnyGo 通过 GPX 文件,不仅仅可以模拟定位到某一个位置,且可以根据场景模拟运动轨迹,并对全局系统有效:

模拟跑步模拟驾车使用 Xcode 实现 iOS 虚拟定位

既然AnyGo是使用的一种Apple开发中的测试服务,那么我们通过 Xocde 动手操作一下吧。首先在 Xcode 开启Debug的Simulate Location,选定位置或通过GPX文件修改定位信息,即可完成虚拟定位的主要操作。

Simulate Location是通过GPX文件对虚拟的定位进行描述的。其中GPX是一种为应用软件设计的通用的全球定位系统的XML格式数据,可以用来描述点、路径和轨迹。

AnyGo的工作原理

为了弄清楚AnyGo等同类型的虚拟定位工具的原理,我们下面需要了解com.apple.dt.simulatelocation服务和libimobiledevice开源库。AnyGo 通过跨平台开源库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; }lockdown

lockdown 是 iOS 设备上一个开机启动的守护进程,用于 iPhone 进程与系统服务的通讯,以root权限运行,其配置文件声明位于/System/Library/LaunchDaemons/com.apple.mobile.lockdown.plist路径下。未来我们将进一步分享相关内容。

如何对AnyGo检测

如何对这类虚拟定位进行识别?其实,通过 iOS 系统提供的 API 便可进行初步的检测。在 iOS 15+,系统在CLLocation库提供了isProducedByAccessory和isSimulatedBySoftware属性来识别通过GPX进行的虚拟定位。

未篡改获取定位信息返回的结果:

使用 GPX 修改定位后返回结果:

可以看到已经实现了虚拟定位,并且isSimulatedBySoftware已经命中。此外我们也可以利用 AnyGo的原理进行识别。最终该运动品类客户通过我们的产品解决了他们迫在眉睫的问题。

当然除了对虚拟定位的识别外,做好后续的代码对抗也是必不可少的。极验设备验是极验近期推出的一款风控产品,通过三维复合和弱特征归因算法等生成了设备唯一标识符,可以检测不限于虚拟定位、模拟器、篡改、代理、多开、越狱等多种风险,为企业的安全前行保驾护航。

添加Eva微信加入极验读者交流群



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有