轻松篡改定位?Fake Location改定位工具原理分析及处置建议

您所在的位置:网站首页 fakelocation模拟位置 轻松篡改定位?Fake Location改定位工具原理分析及处置建议

轻松篡改定位?Fake Location改定位工具原理分析及处置建议

2023-05-16 18:48| 来源: 网络整理| 查看: 265

近期,威胁猎人情报研究员查阅Fake Location相关线报,在部分社交群聊中发现不少利用Fake Location进行攻击活动的讨论记录。

利用Fake Location进行攻击活动的群聊记录

一、Fake Location技术原理

Fake Location的基本原理,是通过“Hook”手段劫持LocationManagerService服务中的相关函数,达到修改定位的目的。

为方便开发者开发App,Android官方设计了很多系统服务给开发者调用。

在Android系统中,获取地理位置信息需调用Android系统的位置服务,而位置服务运行在包含了大量系统服务程序的system_server进程中,地理位置信息服务程序在system_server中的服务名为:LocationManagerService。

Fake Location通过“Hook”手段劫持了LocationManagerService服务中的相关函数。当App向LocationManagerService发起获取地理位置信息请求时,被劫持的LocationManagerService向App返回预先设置的地理位置信息,通过这种方式完成地理位置信息篡改。

这也是Fake Location的特别之处。不同于市面上传统的改定位工具,通过劫持相关App(将定位信息注入到目标App)实现篡改定位,Fake Location则是直接劫持“系统位置服务”,因不在目标应用进程空间,更加隐蔽而难以检测。

二、Fake Location如何实施攻击?

1. Fake Location启动时释放恶意模块payload

经研究分析发现,Fake Location运行时会释放一些恶意样本到/data/data/com.lerist.fakelocation/files目录,其中较为重要的payload如下表所示:

2. 向system_server进程注入恶意模块payload

威胁猎人风险情报平台通过动态分析手段,对Runtime类的exec(用于执行shell命令)方法进行监测,可以看到payload注入过程大致如下:

3. libfakeloc_init.so被注入到system_server进程中,并加载hook模块

libfakeloc_init.so的主要功能是加载libfakeloc.so(hook模块),libfakeloc.so是一个apk文件,加载libfakeloc.so过程如下:

图为“调用injectDex的init方法”

Fake Location的核心功能都在libfakeloc.so这个apk文件中,libfakeloc.so加载后会执行类com.lerist.inject.fakelocation.InjectDex的init方法,在这个方法里,Fake Location添加了一些“系统服务”,从而可以像调用LocationManagerService系统服务那样调用这些服务,用于跨进程通信。

4.libfakeloc.so劫持LocationManagerService对象的多个函数,其中就包括getLastLocation函数

在创建服务对象内部,libfakeloc.so会劫持系统服务类的关键函数,完成地理位置篡改。以MockLocationService为例,在其启动过程会对LocationManagerService服务部分和位置信息相关的函数进行劫持操作。函数列表如下:

5.在劫持的getLastLocation函数中,判断是否需要改定位

在劫持的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。

面对改定位、改机绕过等日渐猖獗的黑产技术,企业很难从单一技术角度与之正面对抗。威胁猎人的设备风险情报,针对企业面临的过人脸、篡改定位、改机、多开等设备风险,及时监测并分析黑灰产在设备攻防对抗上使用的最新工具和资源,提取攻击模式和监测特征,助力企业及时进行针对性防御。返回搜狐,查看更多



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3