首页安全播报安全快讯 › AI引擎赋能: 揭秘百万地下暗流EvilJS隐匿者家族幕后

AI引擎赋能: 揭秘百万地下暗流EvilJS隐匿者家族幕后

2017-11-24

一. 概述

近期腾讯反诈骗实验室和移动安全实验室研发新一代的AI引擎TRP,从应用行为,网络行为等维度进行人工智能学习训练,并对检测能力泛化,最终在海量APK文件检出一款新型的流量盗刷应用,确认某SDK模块是恶意行为发起方,并通过神羊线索关联系统定位到名为上海柚**信息技术有限公司存在重大嫌疑。

该恶意病毒家族通过SDK代码集成,应用重打包植入等方式嵌入各类流行应用中,然后通过应用市场,软件下载站,线下手机店等渠道安装到用户手机设备中,一旦进入用户设备后其内置云控模块会在云端下发控制指令非法占用用户的手机设备执行后台模拟点击广告,模拟Google Play刷量等后台操作。腾讯反诈骗实验室和移动安全实验室安全专家注意到开发者嚣张的在代码中留下” /evil/invisible”的字符串信息(evil中文作恶的意思),为此将该恶意病毒家族命名为” EvilJS隐匿者”病毒家族。

腾讯反诈骗实验室和移动安全实验室通过AI引擎聚类关联发现,不仅**米音乐等多款流行正规应用都不慎植入EvilJS隐匿者,还通过某应用市场PC版及非官方ROM将包含恶意的后门程序植入到用户设备中,根据神羊威胁情报信息显示该家族主要通过几种方式大量传播:

·伪装成系统应用并通过某些PC应用市场模块进行线下推广

·通过非官方ROM植入用户手机

·通过合作植入到一些流行应用中

·通过重打包流行应用然后诱导用户下载

EvilJS隐匿者潜入用户后,会在WIFI环境下产生大量的后台网络请求用户下载广告和应用,对用户体验造成不良影响。


目前腾讯手机管家已经全面支持查杀该家族,用户可以下载腾讯手机管家进行查杀拦截。


 

影响范围:


 

二、详细分析

2.1  样本基本信息

应用名:系统**

包名:com.android.system.se****

证书:ECC18BE38********568C57A0D

恶意行为:


主要访问域名:


2.2  模拟广告点击流程分析涉及部分广告URL:

样本通过WebView加载HTML页面,并注入invisible.js到页面中,并提供模拟点击、滑动操作的接口。样本从服务器拉取广告任务,通过动态构造HTML元素加载广告,并点击广告,必要时由Java代码实现模拟点击、滑动操作。

1) 通过WebView加载URL,http://api.js***.com/evil/invisible.html,并通过loadUrl注入http://api.js***.com/evil/invisible.js


图 加载HTML


图 注入js

2)  请求广告

广告加载主要由http://api.js***.com/evil/invisible.html完成

初始化任务列表:


任务列表:


任务字段含义:


根据任务列表,向a.yo***edia.com请求广告信息:


广告请求的设备信息由Java代码提供。

3) 加载广告

广告请求返回如下JSON:

根据impression_monitor_url创建HTML元素:




4) 模拟点击


点击操作实质上是通过访问广告请求的click_url实现:

   

如果是apk,则调用Java代码下载:


Java代码:


否则创建HTML元素:


访问URL:


5) 针对百度提供的广告页面,模拟滚动后点击相应标签:


      

2.3   模拟Google Play Store

样本内包含了Google账号,并可模拟Google Play下载并安装应用,并模拟Google Play发送Google Play Install Referrer,启动应用。可以达到刷量的目的。

1) 内置Google账号

应用内置了Play Store相关配置,也可通过JS代码下发。包含明文的Google账号密码:


账号和密码可动态更新:


2)  从Play Store下载应用

首先获得认证的Token:


获得文件下载地址并保存:


下载APK文件并安装:


3) 启动应用

可以由服务端启动应用,对应的Java接口函数为loadAppF()、startApp()。两者的区别在于startApp()会模拟Google Play发送Google Play Install Referrer。Referrer被应用用于追踪安装行为,包括安装源和与之相关的广告事件。模拟Referrer可视为模拟Google Play安装应用。

启动应用过程如下:

函数loadLPPage()可受控打开某个URL获得Referer

                     

服务端控制调用startApp()启动应用:

                     

发送Referer:

             

                   

2.4   关键函数接口

由2.2分析可知,样本加载分别HTML文件和JS,

http://api.js***.com/evil/invisible.html

http://api.js***.com/evil/invisible.js

其中HTML文件提供模拟点击广告的功能,JS文件提供模拟点击API接口。

JS文件提供的接口


与此对应Java代码通过WebView.addJavascriptInterface函数使得JS代码可以调用如下Android代码:



2.5   有root权限的情况下静默安装


2.6   启动浏览器访问指定页面

loadLPPage()除了获得Google Play Install Referrer之外,还可以使用浏览器打开指定URL:



三、样本传播渠道

通过AI引擎网络行为分析发现,其任务还可通过以下三个同功能服务器进行下发:


1.   

线下传播渠道

我们发现一款名为USBHelper的部分版本也被植入EvilJS隐匿者恶意代码

 

通过其它线索显示USBHelper是有***45开发的一款推广应用,其用户量高达450W+。从shouji.***45.com(***45王牌手机联盟)下载推广信息:

     

其推广渠道为线下及ROM:


从***45官方网站可知,***45提供USBHelper给ROM作者,通过非官方ROM植入用户手机:


2.   知名应用通过SDK集成

通过腾讯反诈骗实验室和移动安全实验室大数据分析发现,**米音乐6.7.5 ~ 6.8.7(最新版本)的版本包含有该恶意SDK模块。

**米音乐6.7.5仅部分样本包含该恶意SDK,到6.8.7版本,所有样本均包含该恶意SDK。最新版本的用户数88W+。

此外,爱上***(Internet***.all)、超级瑞士**(com.utooo.android.***.free)也包含该恶意SDK。

3.  知名应用/游戏重打包

含有该恶意SDK的重打包应用(用户量较大的样本):


含有该恶意SDK的游戏(用户量较大的样本):


4.   色情应用集成

部分色情样本也包含该恶意SDK。


 

安全快讯 更多

手机丢了应该怎么办?

手机丢了应该怎么办?

2021-08-16
做兼职,这些陷阱别踩!

做兼职,这些陷阱别踩!

2021-08-16
人之间的区别是什么?

人之间的区别是什么?

2021-08-16

安全视频 更多

小管说安全(4)——狗阿旺的案情回顾

2017-12-06

手柄助手完美适配光荣使命

2017-11-30

小管说安全(3)——谣言有毒

2017-10-24