近期,顶象发布了《城市消费券安全调研报告》(以下简称《调研报告》)。《调研报告》从城市消费券的发放规模、核销情况、风险出发,进一步分析除了黑灰产的作弊手段以及作弊工具。
其就作弊手段而言,黑灰产哄抢城市消费券的方式有两种,一种是通过招募刷手哄抢,一种是通过作弊软件批量抢夺。获取到消费券后,再通过虚假交易或二手转售等方式进行套现。
《调研报告》监测发现 500多个黑灰产社群,单个社群人数最高达到2500多人,在线人数高达 600 多人,每个社群中,近四分之一的人在参与消费券的抢购和套现活动。近几十万人在参与或关注消费券的交易信息,已经形完整的抢购、套现产业链条。
此前,我们曾在《如何防范城市消费券被恶意爬取》一文中详细介绍过机器爬虫的作弊手段。
那么,黑灰产是如何通过作弊软件进行批量抢券的?
利用作弊软件绕过消费券领券规则
各地发放的消费券规则中明确规定,消费者只能够领取到所在城市的消费券。针对这个规则,黑灰产通过更改IP地址、伪造GPS定位实现“城市跨越”。
IP 地址就是用户上网时的网络信息地址,GPS 定位就是用户使用网络服务时所处的地理位置 信息。很多电商平台上有 IP 代理的“商品”,几块钱就能够更换任意想换的 IP 地址。而且 黑灰产有一种秒拨 IP 的工具,能够快速无缝切换不同 IP 地址。此外,黑灰产通过一些软件 能够实现对 GPS 定位的伪造,能够实现地理位置的瞬间“跨越”。
通过伪造账号和设备的地址、定位后,黑灰产利用软件可以操控几十个乃至几百个账号,批量领取各个城市的“城市消费券”。
并且这种作弊工具在任何一部手机上都可以实现,即顶象之前讲过的《地理位置模拟攻防》。
地理位置模拟顾名思义就是基于手机地理位置的模拟工具,可以通过对位置的模拟改变当前位置。
最初,地理位置模拟是用来开发App 时测试用的,其主要目的是帮助开发者模拟某些App 的当前地址来实现测试的定位功能,且设备无需root权限,只需通过模拟软件、第三方工具等就可以改变所在位置的经纬度,可以穿越到任何地方。
这对于黑灰产而言,简直是天然的“作案工具”。
此外,顶象在第六期业务安全情报《黑灰产盯上政府消费券,最高套现额超千万》一文中也详细介绍过黑灰产的攻击手段和攻击套路——黑产中介为了方便更多的刷手能够顺利参与其中,会提供更改定位的教程,并提供相应的软件。通过作弊软件更改IP、GPS等,刷手们能够立刻模拟成当地的用户,成功参与领券。
那么,如何检测你的手机是否打开了地理位置模拟功能呢?
两招检测你的手机是否被打开了地理位置模拟
在非Root 权限的手机上,我们打开开发者选项,其系统会提供相应的API,通过调用相应的API,我们就可以检测到当前手机是否打开了地理位置模拟功能。如果这个选项是被打开的,那么当前我们获得的地理位置信息,可能并不是真实的,此时就需要业务方或者App 的开发者做相应的处理。
但在有Root 权限的手机上,我们不一定需要打开开发者选项。在有Root 权限的手机上,有可能通过代码注入的方式篡改地理位置,这也就意味着篡改这部分的代码或者信息已经注入到了整个进程中,此时就需要通过其他手段来检测当前的代码是否被注入。
通常我们的检测方法有两种。
一种是通过检测文件系统中是否存在位置模拟的代码库。以下图为例,可以看到,模拟位置的代码库通过共享代码注入到代码里。一般情况下,我们可以通过检测整体的进程空间,在进程空间里,如果发现了这部分so 文件存在,那么也就说明这部分文件被注入到了内存里,由此也可以判断出当前App 所获得的代码信息及位置信息。
第二种方法是通过逆向分析App代码找那个是否存在加载了位置模拟的代码库。通常情况下,App的代码被注入是通过静态的方法植入到App 里面去的,App在运行过程中把这部分so 文件load 起来。通过逆向分析,我们就可以看到App在代码里面是否存在加载这个位置模拟的相应代码。
以下图为例,可以看到该App在代码执行的过程中,调用了代码加载的一个函数,那么由此可以判断这个App是被感染过的——在安装过程发生之前就已经被攻击者植入了相应的代码,来进行相应的so 文件加载。
当然,要防住黑灰产绝非易事,需要平台和消费者的共同努力。不仅需要有完善规则体系和易用的平台,让用户领取和使用便捷,更需要规范和强化平台的安全能力,防止发生消费券被截留、冒领、去向不明等问题,进而引发新的纠纷和矛盾,更需要消费者对薅羊毛、刷单、隔空刷码等违反市场秩序的行为保持高度警惕和自制,共同维护良好、公平的市场环境。