深度分析:安卓上的点击欺诈应用 GhostClicker

简介: 本文讲的是深度分析:安卓上的点击欺诈应用 GhostClicker,最近,我们发现了一个影响十分广泛的自动点击广告软件,事实上,我们了解到Google Play有多达340个这样的应用程序,其中一个名为“阿拉丁冒险世界”的,甚至被下载了500万次。
本文讲的是 深度分析:安卓上的点击欺诈应用 GhostClicker最近,我们发现了一个影响十分广泛的自动点击广告软件,事实上,我们了解到Google Play有多达340个这样的应用程序,其中一个名为“阿拉丁冒险世界”的,甚至被下载了500万次。这些广告嵌入式应用程序的类型包括休闲游戏,提升设备性能实用程序,如清理工具和加速器,文件管理器,QR及条形码扫描程序、多媒体录像机、播放器、设备充电器和GPS /导航等相关应用程序。

虽然目前大多数这些应用程序已被删除,但是截止2017年8月7日仍有101个可以下载。我们的检测传感器在东南亚国家以及巴西,日本,台湾,俄罗斯,意大利以及美国都检测到了。

我们对这些广告软件的检测主要依赖于GhostClicker(ANDROIDOS_GHOSTCLICKER.AXM),因为它的自动点击程序往往都是隐藏在谷歌最流行的应用程序和应用程序接口(API)的Google移动服务(GMS)中。GhostClicker也可以隐藏在Facebook广告的软件开发工具包(SDK)中。它将自己嵌入这两个伪装成一个名为“logs”的软件,我们猜测这可能是为了避免冒充合法的应用程序组件会引起怀疑。

 深度分析:安卓上的点击欺诈应用 GhostClicker

图1. GhostClicker嵌入的应用程序的下载高达500万次

 深度分析:安卓上的点击欺诈应用 GhostClicker

图2. GhostClicker的代码隐藏在GMS或Facebook Ads的SDK中

其实,GhostClicker是非常普遍而且持久的,但是我们对其仍然很好奇。这些广告软件都会有一些请求。一旦启动,受影响的应用将检索设备的系统属性(http.agent),用于在Android设备中配置User-Agent字符串。如果字符串包含“nexus”,则GhostClicker的进程将不被触发。我们将此例程作为逃避像Android的内置Android应用程序沙箱之类的沙盒的方法,因为Android模拟器/沙盒环境通常被称为“Nexus XXX”。

 深度分析:安卓上的点击欺诈应用 GhostClicker

图3:当设备的http.agent不包含“nexus”时,GhostClicker被触发

我们分析的一些GhostClicker嵌入式应用程序在首次运行时也会要求设备管理权限,但不声明元数据中使用的安全策略,例如擦除数据和重置密码。我们猜想这可能是阻止用户删除应用程序的一种方法,因为这使得卸载应用程序的过程漫长而笨重。这当然不是一个对用户友好的过程,因此我们在卸载使用设备管理的应用程序后都需要在应用程序删除之前先禁用它。

深度分析:安卓上的点击欺诈应用 GhostClicker

图4.受GhostClicker影响的应用程序请求设备管理权限

 深度分析:安卓上的点击欺诈应用 GhostClicker

图5.无法卸载应用程序的某些用户的快照

GhostClicker通过自动点击获得欺诈性保护

与其他广告软件不同,GhostClicker不使用JavaScript代码查找/检索并单击广告。而是将其代码插入Admob(Google拥有的移动广告平台)中,以获取广告的位置。获取设备的屏幕尺寸(宽度和高度)后,它会计算适当的XY坐标,然后使用dispatchTouchEvent API来模拟点击。事实上,它的绰号是真的:在设备的屏幕上重复点击广告。

为了赚取更多的收入,GhostClicker会产生假的流量。它将弹出在Google Store中的其他应用程序的下载链接,或者通过与其命令和控制(C&C)服务器的通信在设备的浏览器中打开YouTube视频链接。激活设备管理后,GhostClicker将每分钟执行一次这些自动点击。

 深度分析:安卓上的点击欺诈应用 GhostClicker

图6. GhostClicker插入代码以获取AdMob的内容

 深度分析:安卓上的点击欺诈应用 GhostClicker

图7. GhostClicker生成坐标

 深度分析:安卓上的点击欺诈应用 GhostClicker

图8. GhostClicker根据XY坐标构建MotionEvent(模拟触摸)

 深度分析:安卓上的点击欺诈应用 GhostClicker

图9. GhostClicker使用dispatchTouchEvent API自动点击广告

我们搜索了GhostClicker的踪迹,发现它是自己早期的迭代。更新版本删除了自动点击功能和设备管理权限请求,这可能使的广告软件更加隐蔽。用户解锁屏幕后,如果设备连接到具有数据的网络,广告软件将以特定间隔弹出插页式广告。我们在“阿拉丁的冒险世界”遇到了这个版本的GhostClicker。

回顾广告软件的时间表,我们也看到嵌入GhostClicker的应用程序不断发布了将近一年时间。而GhostClicker早在06年8月就出现了,当时隐藏在GMS的SDK中。到2017年3月,GhostClicker去除了自动点击并利用Admob,Startapp和Facebook Ads在收到C&C命令时弹出插页式广告。到5月份,它重新整合自动点击并隐藏在Facebook Ads的SDK中。

缓解措施

广告是移动生态系统中的无害主义者。然而,GhostClicker则展示了广告软件如何进行入侵,当然更不用说挤占设备的资源 – CPU,电池和互联网数据等。另外其还可能在不知情或者同意的情况下收集个人信息,,使用户的隐私处于危险之中。除此之外,广告软件还可以将用户暴露于那些远不止是广告软件的真正的恶意软件中。

GhostClicker可以通过限制使用设备管理功能来进行缓解,还可以利用创建安全感知的应用程序,如企业设备或BYOD管理和防病毒应用程序。日常用户这样子做了防范的话问题不大。

建议对操作系统进行更新(或询问您的OEM有关更新可用性),并采用最佳做法来保护个人移动设备。企业也应该对其公司设备或BYOD环境做同样的事情,因为它们是使用设备管理的设备。另外阅读应用程序评论还有助于确定应用程序是否执行某些可疑行为。




原文发布时间为:2017年8月22日
本文作者:鲁班七号
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
6天前
|
XML 存储 数据库
如何使用Android Studio创建一个基本的音乐播放器应用
如何使用Android Studio创建一个基本的音乐播放器应用
18 0
|
12天前
|
Java Android开发 iOS开发
深入探讨移动操作系统的性能优化:安卓与iOS的对比分析
在现代移动设备中,操作系统的性能优化至关重要。本文从系统架构、内存管理、电池续航和应用程序运行效率等多个维度,深入探讨了安卓(Android)和iOS两大主流移动操作系统的优化策略及其实际效果,旨在为开发者和用户提供更清晰的了解和选择依据。
22 0
|
7天前
|
安全 JavaScript 前端开发
kotlin开发安卓app,JetPack Compose框架,给webview新增一个按钮,点击刷新网页
在Kotlin中开发Android应用,使用Jetpack Compose框架时,可以通过添加一个按钮到TopAppBar来实现WebView页面的刷新功能。按钮位于右上角,点击后调用`webViewState?.reload()`来刷新网页内容。以下是代码摘要:
|
9天前
|
安全 Android开发 iOS开发
探索Android与iOS开发的差异:平台特性与用户体验的对比分析
在移动应用开发的广阔天地中,Android和iOS两大阵营各据一方。本文将深入探讨这两个操作系统在开发环境、编程语言、用户界面设计及市场分布等方面的主要区别。通过比较分析,我们将揭示各自平台的特有优势,并讨论如何根据目标受众和业务需求选择适合的开发平台。
|
3天前
|
Java Linux API
微信API:探究Android平台下Hook技术的比较与应用场景分析
微信API:探究Android平台下Hook技术的比较与应用场景分析
14 0
|
3天前
|
安全 Android开发 iOS开发
探索安卓与iOS开发的差异:平台特性与用户体验的对比分析
移动应用开发的两大阵营——安卓与iOS,各自拥有独特的开发环境、用户群体和市场定位。本文将深入探讨这两个操作系统在应用开发过程中的主要差异,包括编程语言、开发工具、用户界面设计、性能优化、安全性考量以及发布流程等方面。通过比较分析,旨在为开发者提供跨平台开发的见解和策略,以优化应用性能和提升用户体验。
9 0
|
3天前
|
缓存 Java Linux
Android 匿名内存深入分析
Android 匿名内存深入分析
7 0
|
6天前
|
XML BI 数据库
一个基于Android Studio的简易记事本应用
一个基于Android Studio的简易记事本应用
11 0
|
10天前
|
前端开发 测试技术 API
探索安卓应用的架构演进:从MVC到MVVM
本篇文章将深入探讨安卓应用开发中的架构演进,特别关注从传统的MVC(Model-View-Controller)到现代流行的MVVM(Model-View-ViewModel)架构的转变。通过对比两种架构的设计理念、实现方式和实际应用案例,解析MVVM在提高代码可维护性和可测试性方面的优势。
17 0
|
11天前
|
JSON Android开发 C++
Android c++ core guideline checker 应用
Android c++ core guideline checker 应用