手机如何翻墙更新
近期,威胁猎人karma风险情报平台捕获到Fake Location改定位新款工具,工具适用于Android平台,可以通过Root环境对手机所处的位置进行模拟,并支持模拟时位置的快速切换,从而达到修改定位的目的。
威胁猎人情报研究员在部分地图类应用和打车类应用中通过该工具进行地理位置篡改测试,均能篡改成功。如下是测试效果图:
进一步研究调查发现,Fake Location可以随意篡改系统地理位置信息,可被广泛应用于如下业务场景:
营销活动薅羊毛:电商、银行类App经常会在指定城市开展营销活动。配合Fake Location可以快速切换到目标城市,获得参与营销活动资格;
虚拟站街:通过Fake Location篡改地理位置信息,通过在社交软件设置虚拟定位手机如何翻墙更新,实现虚拟站街行为,吸引不明真相的社交用户,进一步实施色情诈骗等行为;
游戏外挂:借助Fake Location篡改地理位置信息,对一些依赖地理位置信息的App实施攻击行为,比较典型有宝可精灵,一起来捉妖这两款游戏,通过篡改定位,可以瞬移到精灵坐标处,严重破坏游戏平衡,不利于游戏业务健康有序发展。
可见,只要是依赖于地理位置信息的App业务场景,都是Fake Location的潜在攻击对象。
据有关新闻报道,2021年,多名不法分子利用公司货运平台漏洞,用Fake Location改定位工具进行虚假跑单来骗取平台赠送的优惠券金额差价,经缜密侦查,涉案金额达100万余元。
近期,威胁猎人情报研究员查阅Fake Location相关线报,在部分社交群聊中发现不少利用Fake Location进行攻击活动的讨论记录。
在Android系统中,获取地理位置信息需调用Android系统的位置服务,而位置服务运行在包含了大量系统服务程序的system_server进程中,地理位置信息服务程序在system_server中的服务名为:LocationManagerService。
这也是Fake Location的特别之处。不同于市面上传统的改定位工具,通过劫持相关App(将定位信息注入到目标App)实现篡改定位,Fake Location则是直接劫持“系统位置服务”,因不在目标应用进程空间,更加隐蔽而难以检测。
威胁猎人风险情报平台通过动态分析手段,对Runtime类的exec(用于执行shell命令)方法进行监测,可以看到payload注入过程大致如下:
在创建服务对象内部,libfakeloc.so会劫持系统服务类的关键函数,完成地理位置篡改。以MockLocationService为例,在其启动过程会对LocationManagerService服务部分和位置信息相关的函数进行劫持操作。函数列表如下:
在劫持的getLastLocation中,首先判断是否需要改定位(当有用户使用了Fake Location的位置模拟功能时则需要篡改)。
如果需要改定位,直接调用getLastLocation_bak(getLastLocation_bak是原getLastLocation的备份),构造一个Location对象(伪造的位置信息),填充伪造的经纬度信息并返回,达到篡改位置信息目的。如果不需要改定位,则调用原本的getLastLocation函数并返回正常的地理位置信息。
未来,将有越来越多的恶意工具通过劫持系统服务进程的方式来伪造数据,在实现预定目标的同时,规避App的风控检测。
1)通过检测特征文件判断是否安装Fake Location。Fake Location并没有直接劫持目标App,所以在目标App里面不会留下异常特征,检测较为困难,但是其运行过程会释放一些特征文件,因此可以通过检测特征文件判断是否安装Fake Location;
2)从系统服务的角度来检测Fake Location。Fake Location注册了自定义的系统服务,也可以从系统服务这个角度来进行检测,判定是否安装Fake Location。
本文为澎湃号作者或机构在澎湃新闻上传并发布,仅代表该作者或机构观点,不代表澎湃新闻的观点或立场,澎湃新闻仅提供信息发布平台。申请澎湃号请用电脑访问。