有钱赚的地方就有黑灰产。
近几年,随着互联网技术的发展,黑灰产的规模也日渐庞大。据统计,国内黑灰产从业者规模超过百万;2021年,黑灰产造成的损失已高达千亿级,可预见的是,凡有利可图、有洞可钻之处,黑产就不会绝迹。而且随着社会经济、生活进一步“互联网化”,黑产规模注定会持续扩大。
黑灰产的产业链也从10年前的小作坊模式发展为现在有明确分工的上、中、下游完整的产业链条。上游负责黑灰产的基础服务,比如代理平台、软件工具等的搭建和编写;中游负责账号的生产销售,比如恶意注册、盗号、洗号等;下游则负责获利套现。
正所谓,道高一尺,魔高一丈,与黑灰产的攻防战也在悄悄展开。
今天我们就以移动端攻防对抗中的地理位置模拟对抗为例,讲讲与黑灰产“斗智斗勇”的那些事儿。
地理位置模拟开发初衷地理位置模拟顾名思义就是基于手机地理位置的模拟工具,可以通过对位置的模拟改变当前位置。
最初,地理位置模拟是用来开发App 时测试用的,其主要目的是帮助开发者模拟某些App 的当前地址来实现测试的定位功能,且设备无需Root权限,只需通过模拟软件、第三方工具等就可以改变所在位置的经纬度,可以穿越到任何地方。
这对于黑灰产而言,简直是天然的“作案工具”。
比如,在某些特定的营销场景里,黑灰产可以利用地理位置模拟工具修改地理位置,冲破商家对地理位置的限制,恶意骗取营销资源。
不久前,顶象曾在第六期业务安全情报《第六期 | 黑灰产盯上政府消费券,最高套现额超千万》一文中详细介绍过黑灰产的攻击手段和攻击套路——黑产中介为了方便更多的刷手能够顺利参与其中,会提供更改定位的教程,并提供相应的软件。通过作弊软件更改IP、GPS等,刷手们能够立刻模拟成当地的用户,成功参与领券。
再比如,在一些上班打卡的场景里,黑灰产可以通过地理位置模拟轻松实现异地打卡。顶象曾在上期直播《直播回顾 | 保险代打卡对抗实战这事儿,终于有“参考样本”了》中讲到代打卡作弊业务。
在网上搜索“代打卡”,会出现大量搜索结果,不仅有详细的图文介绍,更有手把手教人如何“考勤作弊”的视频。部分电商平台上也有大量“XX异地考勤打卡助手”、“考勤打卡助手”“考勤打卡更改地址”等产品和服务出售。根据不同的作弊方式推出对应的价格套餐:
方式一使用打卡作弊软件随心飞,收费标准是60元/人/月;
方式二使用蓝牙打卡器 GPS软件,收费标准是150元/人/月;
方式三直接黑产代打卡,收费标准是80元/人/月。
黑灰产如何通过地理位置模拟作弊?
在安卓系统中,本身是提供相应的地理位置模拟功能,但其权限只有开发者才可以使用。
对于开发者来说,可以直接打开应用根据需求进行位置模拟。
那么,这是不是说明正常用户没有权限就无法进行地理位置模拟呢?
答案是否定的。
事实上,只要你的手机有Root 权限,我们就可以通过代码注入的方式进行相应的地理位置模拟,所谓代码注入就是在App 里植入我们想要执行的代码即可进行相关操作。
那么,如何检测呢?
事实上,在非Root 权限的手机上,我们打开开发者选项,其系统会提供相应的API,通过调用相应的API,我们就可以检测到当前手机是否打开了地理位置模拟功能。如果这个选项是被打开的,那么当前我们获得的地理位置信息,可能并不是真实的,此时就需要业务方或者App 的开发者做相应的处理。
但在有Root 权限的手机上,我们不一定需要打开开发者选项。前文中提到,在有Root 权限的手机上,有可能通过代码注入的方式篡改地理位置,这也就意味着篡改这部分的代码或者信息已经注入到了整个进程中,此时就需要通过其他手段来检测当前的代码是否被注入。
通常我们的检测方法有两种。
一种是通过检测文件系统中是否存在位置模拟的代码库。以下图为例,可以看到,模拟位置的代码库通过共享代码注入到代码里。一般情况下,我们可以通过检测整体的进程空间,在进程空间里,如果发现了这部分so 文件存在,那么也就说明这部分文件被注入到了内存里,由此也可以判断出当前App 所获得的代码信息及位置信息。
第二种方法是通过逆向分析App代码找那个是否存在加载了位置模拟的代码库。通常情况下,App的代码被注入是通过静态的方法植入到App 里面去的,App在运行过程中把这部分so 文件load 起来。通过逆向分析,我们就可以看到App在代码里面是否存在加载这个位置模拟的相应代码。
以下图为例,可以看到该App在代码执行的过程中,调用了代码加载的一个函数,那么由此可以判断这个App是被感染过的——在安装过程发生之前就已经被攻击者植入了相应的代码,来进行相应的so 文件加载。
整体来看,黑灰产的对抗工作,不是简单的一环,而是一个完整的链条。
但偷袭者魔高一尺,狙击者道高一丈,与黑灰产之间的攻防注定是一场持久战,需要攻守双方不断磨炼实力。
,