解密地理位置模拟攻防之道

简介: 有钱赚的地方就有黑灰产。

有钱赚的地方就有黑灰产。

近几年,随着互联网技术的发展,黑灰产的规模也日渐庞大。据统计,国内黑灰产从业者规模超过百万;2021年,黑灰产造成的损失已高达千亿级,可预见的是,凡有利可图、有洞可钻之处,黑产就不会绝迹。而且随着社会经济、生活进一步“互联网化”,黑产规模注定会持续扩大。

黑灰产的产业链也从10年前的小作坊模式发展为现在有明确分工的上、中、下游完整的产业链条。上游负责黑灰产的基础服务,比如代理平台、软件工具等的搭建和编写;中游负责账号的生产销售,比如恶意注册、盗号、洗号等;下游则负责获利套现。

2e729d336d2c4b20aff8f3e7c0e2feaf.png

正所谓,道高一尺,魔高一丈,与黑灰产的攻防战也在悄悄展开。

今天我们就以移动端攻防对抗中的地理位置模拟对抗为例,讲讲与黑灰产“斗智斗勇”的那些事儿。

地理位置模拟开发初衷

地理位置模拟顾名思义就是基于手机地理位置的模拟工具,可以通过对位置的模拟改变当前位置。

最初,地理位置模拟是用来开发App 时测试用的,其主要目的是帮助开发者模拟某些App 的当前地址来实现测试的定位功能,且设备无需root权限,只需通过模拟软件、第三方工具等就可以改变所在位置的经纬度,可以穿越到任何地方。

这对于黑灰产而言,简直是天然的“作案工具”。

比如,在某些特定的营销场景里,黑灰产可以利用地理位置模拟工具修改地理位置,冲破商家对地理位置的限制,恶意骗取营销资源。

不久前,顶象曾在第六期业务安全情报《黑灰产盯上政府消费券,最高套现额超千万》一文中详细介绍过黑灰产的攻击手段和攻击套路——黑产中介为了方便更多的刷手能够顺利参与其中,会提供更改定位的教程,并提供相应的软件。通过作弊软件更改IP、GPS等,刷手们能够立刻模拟成当地的用户,成功参与领券。

bae80353aa5a4f79b8151f5ee1ceeb48.png

再比如,在一些上班打卡的场景里,黑灰产可以通过地理位置模拟轻松实现异地打卡。顶象曾在上期直播《保险代打卡对抗实战》中讲到代打卡作弊业务。

在网上搜索“代打卡”,会出现大量搜索结果,不仅有详细的图文介绍,更有手把手教人如何“考勤作弊”的视频。部分电商平台上也有大量“XX异地考勤打卡助手”、“考勤打卡助手”“考勤打卡更改地址”等产品和服务出售。根据不同的作弊方式推出对应的价格套餐:

方式一使用打卡作弊软件随心飞,收费标准是60元/人/月;

方式二使用蓝牙打卡器+GPS软件,收费标准是150元/人/月;

方式三直接黑产代打卡,收费标准是80元/人/月。

5640d9267f2147c3bed5737961f2b79c.png

黑灰产如何通过地理位置模拟作弊?

在安卓系统中,本身是提供相应的地理位置模拟功能,但其权限只有开发者才可以使用。

a4cf4223c8e0440c86e02d2ba3b5bb9f.png

对于开发者来说,可以直接打开应用根据需求进行位置模拟。

那么,这是不是说明正常用户没有权限就无法进行地理位置模拟呢?

答案是否定的。

事实上,只要你的手机有Root 权限,我们就可以通过代码注入的方式进行相应的地理位置模拟,所谓代码注入就是在App 里植入我们想要执行的代码即可进行相关操作。

e8623b194df5488795707795644c85cd.png

那么,如何检测呢?

事实上,在非Root 权限的手机上,我们打开开发者选项,其系统会提供相应的API,通过调用相应的API,我们就可以检测到当前手机是否打开了地理位置模拟功能。如果这个选项是被打开的,那么当前我们获得的地理位置信息,可能并不是真实的,此时就需要业务方或者App 的开发者做相应的处理。

b54703f346ff4fb1bfda9f16fd1720f0.png

但在有Root 权限的手机上,我们不一定需要打开开发者选项。前文中提到,在有Root 权限的手机上,有可能通过代码注入的方式篡改地理位置,这也就意味着篡改这部分的代码或者信息已经注入到了整个进程中,此时就需要通过其他手段来检测当前的代码是否被注入。

通常我们的检测方法有两种。

一种是通过检测文件系统中是否存在位置模拟的代码库。以下图为例,可以看到,模拟位置的代码库通过共享代码注入到代码里。一般情况下,我们可以通过检测整体的进程空间,在进程空间里,如果发现了这部分so 文件存在,那么也就说明这部分文件被注入到了内存里,由此也可以判断出当前App 所获得的代码信息及位置信息。

3ab5e9569aa648ea9a186109b94d1e7b.png

第二种方法是通过逆向分析App代码找那个是否存在加载了位置模拟的代码库。通常情况下,App的代码被注入是通过静态的方法植入到App 里面去的,App在运行过程中把这部分so 文件load 起来。通过逆向分析,我们就可以看到App在代码里面是否存在加载这个位置模拟的相应代码。

以下图为例,可以看到该App在代码执行的过程中,调用了代码加载的一个函数,那么由此可以判断这个App是被感染过的——在安装过程发生之前就已经被攻击者植入了相应的代码,来进行相应的so 文件加载。
321b7d5a70ce44c3a23bb610ae7a01b3.png

整体来看,黑灰产的对抗工作,不是简单的一环,而是一个完整的链条。

但偷袭者魔高一尺,狙击者道高一丈,与黑灰产之间的攻防注定是一场持久战,需要攻守双方不断磨炼实力。

相关文章
|
安全 API 数据安全/隐私保护
API接口知识小结
应用程序接口API(Application Programming Interface),是提供特定业务输出能力、连接不同系统的一种约定。这里包括外部系统与提供服务的系统(中后台系统)或后台不同系统之间的交互点。包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。
|
关系型数据库 数据库 PostgreSQL
PostgreSQL批量删除数据
当需要对一些不需要的历史数据进行大批量删除时, 在使用delete语句时,会发现在删除一些数据时会非常慢 比如 DELETE FROM test where id < 10000; 删除缓慢的原因主要在于外键约束,当数据库在有约束的情况下,无论进行删除或者更新操作, 都会对相关表进行一个校验,判断相关表的相关记录是否被删除或者更新。 这个检查的过程会非常慢, 尤其在外建表又关联着外建表的这种层层嵌套的情况下。
2459 0
|
2月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
2月前
|
机器学习/深度学习 传感器 数据采集
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
480 0
|
存储 编译器 C语言
C语言:文件缓冲区刷新方式有几种
C语言中文件缓冲区的刷新方式主要包括三种:自动刷新(如遇到换行符或缓冲区满)、显式调用 fflush() 函数强制刷新、以及关闭文件时自动刷新。这些方法确保数据及时写入文件。
|
弹性计算 安全 网络安全
阿里云国际版无法远程连接Windows服务器的解决方法
阿里云国际版无法远程连接Windows服务器的解决方法
|
安全 数据安全/隐私保护 虚拟化
win11家庭版怎么升级专业版
Windows 11家庭版用户常需升级到专业版以解锁远程桌面、组策略和BitLocker等高级功能。在升级前,备份数据、确保系统更新至最新。购买正版密钥后,通过“设置”-&gt;“系统”-&gt;“激活”输入密钥进行升级。遵循提示完成升级过程,系统会自动应用专业版特性。如有问题,参考官方文档或寻求技术支持。
win11家庭版怎么升级专业版
|
机器学习/深度学习 人工智能 vr&ar
【深度学习】python之人工智能应用篇——图像生成技术(一)
图像生成是计算机视觉和计算机图形学领域的一个重要研究方向,它指的是通过计算机算法和技术生成或合成图像的过程。随着深度学习、生成模型等技术的发展,图像生成领域取得了显著的进步,并在多个应用场景中发挥着重要作用。
354 6
|
Go 开发者
一文详解Go语言接口嵌套组合的精髓!
一文详解Go语言接口嵌套组合的精髓!
485 0
|
弹性计算 Java 关系型数据库
分库分表比较推荐的方案
ShardingSphere 绝对可以说是当前分库分表的首选!ShardingSphere 的功能完善,除了支持读写分离和分库分表,还提供分布式事务、数据库治理等功能。另外,ShardingSphere 的生态体系完善,社区活跃,文档完善,更新和发布比较频繁
446 0