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

news2024/11/10 7:05:52

市面上已经有很多基于位置服务的应用场景,如运动品类应用基于地理位置生成运动轨迹,企业办公应用基于定位信息进行打卡,游戏品类应用基于位置信息开发区域排名,电商品类应用基于位置发放区域性优惠券等等。在黑灰产嗅探到背后的商业利益后,通过伪造定位信息来达到自己的目的。为了进一步降低技术门槛和对抗难度,虚拟定位工具应运而生。

在以前 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库提供了isProducedByAccessoryisSimulatedBySoftware 属性来识别通过GPX进行的虚拟定位。

图片

图片

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

图片

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

图片

可以看到已经实现了虚拟定位,并且 isSimulatedBySoftware 已经命中。此外我们也可以利用 AnyGo的原理进行识别。

最终该运动品类客户通过我们的产品解决了他们迫在眉睫的问题。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/825161.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自然语言处理学习笔记(二)————语料库与开源工具

目录 1.语料库 2.语料库建设 (1)规范制定 (2)人员培训 (3)人工标注 3.中文处理中的常见语料库 (1)中文分词语料库 (2)词性标注语料库 (3…

Elasticsearch:语义搜索 - Semantic Search in python

当 OpenAI 于 2022 年 11 月发布 ChatGPT 时,引发了人们对人工智能和机器学习的新一波兴趣。 尽管必要的技术创新已经出现了近十年,而且基本原理的历史甚至更早,但这种巨大的转变引发了各种发展的“寒武纪大爆炸”,特别是在大型语…

电容笔和触控笔的区别是什么?好用的苹果平替电容笔

如今,随着无纸化学习以及办公的发展,电容笔更是倍受关注。但是,很多人都对于电容笔和触控笔之间的区别都存在着疑惑。其实,这两种产品很好区分,第一种是电容笔,它是适用于我们最常用的电容屏,例…

视频两侧有黑边怎么处理?教你裁切视频黑边方法

现在的大多数电视是16:9的宽屏,而大多数视频都是4:3的标清或是16:9的高清。当你看一个标清或高清视频时,如果它的比例与你的电视屏幕比例不同,视频两侧就会出现黑边。这些黑边会对视频的质量或观看体验产生影响,那么怎么处理呢&am…

双系统安装后开机时没有GRUB界面,直接进入windows系统

电脑配置:512固态1T机械,安装了win10Ubuntu22.04双系统,ubuntu安装在机械硬盘上。安装完成后没有出现GRUB启动管理供选择进入哪一个系统,直接进入windows系统。 解决办法: 进入Bios(惠普电脑的快捷键是F1…

Python入门指南:从零开始学习Python编程

文章目录 前言安装Python变量以及数据类型总结 前言 Python是一种简单而又强大的编程语言,它在全球范围内广受欢迎,适用于各种应用场景,包括Web开发、数据分析、人工智能和科学计算等。本篇博客将为初学者提供一份Python入门指南,…

甄知科技新一代AIGC产品发布

文/玉娇龙 本文约3200字,阅读全文需要大约3分钟左右 演讲嘉宾:张礼军 甄知科技联合创始人,CTO 首席产品官 一、甄知科技简介 2023年7月29日,甄知科技联合创始人兼 CTO 张礼军作为演讲嘉宾,在2023汉得新一代产品体系发布…

webgpu之旅05

看一下粒子 这次看官方的demo吧分析 这次看官方的demo吧 演示了一个粒子如何用cs动起来 分析 这里是着色部分&#xff0c;看起来没什么特别的&#xff0c;接下来看cs部分 binding(0) group(0) var<uniform> sim_params : SimulationParams; binding(1) group(0) var&l…

《向量数据库指南》——当前向量数据库的赛道有哪些?

当前&#xff0c;向量数据库赛道主要分为四个类别&#xff1a; 基于PG、Clickhouse 等进行魔改或者插件化实现的向量数据库&#xff1a;这类解决方案以现有的关系数据库或列存数据库作为基础&#xff0c;通过修改或插件扩展的方式添加向量搜索功能。PG Vector 是这类解决方案的…

领航ADR新赛道 边界无限靖云甲究竟新在哪儿?

随着5G、物联网、大数据、人工智能和云计算等新技术的加速落地应用&#xff0c;全球已经迈入数字化时代&#xff0c;传统的网络边界持续瓦解&#xff0c;物联网安全、云安全、移动安全、数据安全、安全智能运维等全新的挑战越发受到业界关注&#xff0c;产业技术的发展尤其是云…

Django框架之路由用法

简介 路由简单的来说就是根据用户请求的 URL 链接来判断对应的处理程序&#xff0c;并返回处理结果&#xff0c;也就是 URL 与 Django 的视图建立映射关系。 Django 路由在 urls.py 配置&#xff0c;urls.py 中的每一条配置对应相应的处理方法。 Django 不同版本 urls.py 配…

【NLP概念源和流】 05-引进LSTM网络(第 5/20 部分)

一、说明 在上一篇博客中,我们讨论了原版RNN架构,也讨论了它的局限性。梯度消失是一个非常重要的缺点,它限制了RNN对较短序列的建模。香草 RNN 在相关输入事件和目标信号之间存在超过 5-10 个离散时间步长的时间滞时无法学习。这基本上限制了香草RNN在许多实际问题上的应用,…

【组合计数】CF1151E

Problem - 1151E - Codeforces 题意&#xff1a; 思路&#xff1a; 我们要统计区间数量&#xff0c;有两个思考方向 一个是枚举右端点r&#xff0c;然后计算左端点l的贡献 还有一个就是&#xff0c;更换枚举对象 这道题是后者 因为答案是连通块数量 连通块数量点数-边数…

基于量子同态加密的改进多方量子私有比较

摘要量子同态加密在隐私保护方面具有明显的优势。本文提出了一种改进的基于量子同态加密的多方量子私钥比较协议。首先&#xff0c;引入可信密钥中心&#xff0c;安全辅助加密密钥的分发和解密密钥的更新&#xff0c;同时防止恶意服务器发布虚假结果的攻击;在保证所有参与者得到…

视频太大怎么压缩变小?视频压缩技巧快来学

我们都知道&#xff0c;视频分辨率越高&#xff0c;文件体积也就越大&#xff0c;为了更好的存储、传输和播放&#xff0c;我们需要适当压缩视频的大小&#xff0c;那么怎么才能轻松的将视频文件压缩变小呢&#xff1f;下面就给大家分享几个简单的方法&#xff0c;一起来看看吧…

GlobalSign证书是什么?

GlobalSign自1996年起开始签发可信赖的SSL数字证书&#xff0c;为全球各类企业提供SSL证书服务&#xff0c;在国内大中型企业中普及度高&#xff0c;且支持本地化服务&#xff0c;获得BAT高度认可。GlobalSign证书是电商行业优选证书&#xff0c;也是中国各大互联网公司青睐的S…

危化品行业防雷检测综合解决方案

危化品是指具有毒害、腐蚀、爆炸、燃烧、助燃等性质&#xff0c;能够对人体、设施或者环境造成危害的化学品。危化品的生产、储存、运输、使用等过程中&#xff0c;都存在着遭受雷击引发火灾或者爆炸事故的风险。因此&#xff0c;对危化品场所进行防雷检测&#xff0c;是保障危…

高薪Offer收割机之索引及索引的数据结构

什么是索引,索引的数据结构 索引是帮助数据库高效获取数据的数据结构,索引也是以文件的方式存在磁盘中,索引以某种方式指向数据,所以可以在索引中实现高效的数据查询。 我们以二叉树为例来讲解一下索引的原理。下图左边为原始表数据,右边为在年龄字段上建立的二叉树结构…

Spring系列二:基于注解配置bean【建议收藏】

文章目录 &#x1f497;通过注解配置bean&#x1f35d;基本介绍&#x1f35d;快速入门&#x1f35d;注意事项和细节 &#x1f497;自己实现Spring注解配置Bean机制&#x1f35d;需求说明&#x1f35d;思路分析&#x1f35d;注意事项和细节 &#x1f497;自动装配 Autowired&…

sql 参数自动替换

需求&#xff1a;看日志时&#xff0c;有的sql 非常的长&#xff0c;参数比较多&#xff0c;无法直接在sql 客户端工具执行&#xff0c;如果一个一个的把问号占位符替换为参数太麻烦&#xff0c;因此写个html 小工具&#xff0c;批量替换&#xff1a; 代码&#xff1a; <!…