导语:最近,我们发现了一个影响十分广泛的自动点击广告软件,事实上,我们了解到Google Play有多达340个这样的应用程序,其中一个名为“阿拉丁冒险世界”的,甚至被下载了500万次。
最近,我们发现了一个影响十分广泛的自动点击广告软件,事实上,我们了解到Google Play有多达340个这样的应用程序,其中一个名为“阿拉丁冒险世界”的,甚至被下载了500万次。这些广告嵌入式应用程序的类型包括休闲游戏,提升设备性能实用程序,如清理工具和加速器,文件管理器,QR及条形码扫描程序、多媒体录像机、播放器、设备充电器和GPS /导航等相关应用程序。
虽然目前大多数这些应用程序已被删除,但是截止2017年8月7日仍有101个可以下载。我们的检测传感器在东南亚国家以及巴西,日本,台湾,俄罗斯,意大利以及美国都检测到了。
我们对这些广告软件的检测主要依赖于GhostClicker(ANDROIDOS_GHOSTCLICKER.AXM),因为它的自动点击程序往往都是隐藏在谷歌最流行的应用程序和应用程序接口(API)的Google移动服务(GMS)中。GhostClicker也可以隐藏在Facebook广告的软件开发工具包(SDK)中。它将自己嵌入这两个伪装成一个名为“logs”的软件,我们猜测这可能是为了避免冒充合法的应用程序组件会引起怀疑。
图1. GhostClicker嵌入的应用程序的下载高达500万次
图2. GhostClicker的代码隐藏在GMS或Facebook Ads的SDK中
其实,GhostClicker是非常普遍而且持久的,但是我们对其仍然很好奇。这些广告软件都会有一些请求。一旦启动,受影响的应用将检索设备的系统属性(http.agent),用于在Android设备中配置User-Agent字符串。如果字符串包含“nexus”,则GhostClicker的进程将不被触发。我们将此例程作为逃避像Android的内置Android应用程序沙箱之类的沙盒的方法,因为Android模拟器/沙盒环境通常被称为“Nexus XXX”。
图3:当设备的http.agent不包含“nexus”时,GhostClicker被触发
我们分析的一些GhostClicker嵌入式应用程序在首次运行时也会要求设备管理权限,但不声明元数据中使用的安全策略,例如擦除数据和重置密码。我们猜想这可能是阻止用户删除应用程序的一种方法,因为这使得卸载应用程序的过程漫长而笨重。这当然不是一个对用户友好的过程,因此我们在卸载使用设备管理的应用程序后都需要在应用程序删除之前先禁用它。
图4.受GhostClicker影响的应用程序请求设备管理权限
图5.无法卸载应用程序的某些用户的快照
GhostClicker通过自动点击获得欺诈性保护
与其他广告软件不同,GhostClicker不使用JavaScript代码查找/检索并单击广告。而是将其代码插入Admob(Google拥有的移动广告平台)中,以获取广告的位置。获取设备的屏幕尺寸(宽度和高度)后,它会计算适当的XY坐标,然后使用dispatchTouchEvent API来模拟点击。事实上,它的绰号是真的:在设备的屏幕上重复点击广告。
为了赚取更多的收入,GhostClicker会产生假的流量。它将弹出在Google Store中的其他应用程序的下载链接,或者通过与其命令和控制(C&C)服务器的通信在设备的浏览器中打开YouTube视频链接。激活设备管理后,GhostClicker将每分钟执行一次这些自动点击。
图6. GhostClicker插入代码以获取AdMob的内容
图7. GhostClicker生成坐标
图8. GhostClicker根据XY坐标构建MotionEvent(模拟触摸)
图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环境做同样的事情,因为它们是使用设备管理的设备。另外阅读应用程序评论还有助于确定应用程序是否执行某些可疑行为。