资讯
主页 > 技术文章 > 正文

腾讯反诈骗TRP引擎发现新病毒家族,控制百万用户手机,制作者嚣张命名为“隐匿恶魔”

发表时间:2017-12-27

 近期,腾讯安全反诈骗实验室的新一代AI引擎TRP,基于应用行为、网络行为等维度进行人工智能学习训练,从海量APK文件检出一款新型流量盗刷病毒家族,其开发者嚣张留下痕迹称其为“ /evil/invisible”——我们将其命名为“隐匿恶魔”该病毒一旦进入用户设备后,其内置云控模块就会下发云控指令控制用户设备执行后台模拟广告点击等非法操作!

“隐匿恶魔”潜入用户手机后,会产生大量的后台网络请求,让手机下载广告和应用,严重影响用户的手机使用体验。

 


                                                                              



前言,  神羊情报分析平台“揪出”幕后黑手

神羊是我们实验室研发的一款情报分析系统,输入病毒样本相关的IP、域名、电话号码或邮箱等线索,就能对线索进行溯源分析并呈现整合结果。

当确认某SDK模块是恶意行为发起方,我们通过神羊定位到名为上海柚*信息技术有限公司与此事有关。我们已将相关线索提交给相关部门评估处理,目前用户可以通过手机管家进行拦截查杀。


一 AI引擎聚类关联发现:多款正规应用被重打包

该恶意病毒家族通过SDK代码集成、应用重打包等方式嵌入各类流行应用中,然后通过应用市场、软件下载站、线下手机店等渠道安装到用户手机;某知名音乐应用也被不慎植入“隐匿恶魔”,某应用市场PC版及非官方ROM也成为了病毒的植入渠道,根据神羊情报,该家族主要通过几种方式大量传播:


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

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

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

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

                                                      



二 详细分析报告如下:

1.样本基本信息

应用名:系统设置

包名:com.android.system.settings

证书:ECC18BE38235706A4A46B96568C57A0D

恶意行为:

                                                          


主要访问域名:

任务下发域名 api.jsi**.com

广告下发域名 a.you***dia.com(注册公司为“上海*信息技术有限公司”)

                    api.miss***eenz.cn(可下发安装APK)

                    api.orange***3.cn(可下发安装APK)

涉及部分广告URL:

                                                     



2.模拟广告点击流程分析

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

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

                                                               

                                                                                                                      图 加载HTML


                                                                  

                                                                                                               图 注入js

2)请求广告

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

初始化任务列表:

                                                       

任务列表:

                                                                                                      

任务字段含义:

                                                          


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

                                                              

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

3)加载广告

广告请求返回如下JSON:

 

                                                         

根据impression_monitor_url创建HTML元素:

 

                                                               

4)模拟点击

                                                                     


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

                                                                                             

                                                      

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

                                                                           

             

Java代码:


                                                                

创建HTML元素:

                                                                

               

访问URL:

                                                                  

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

                                                         

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:

                                                                               

 

4.关键函数接口

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

http://api.jsi**n.com/evil/invisible.html

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

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


JS文件提供的接口

                                                         

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

                                                              

 

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


                                                     

 

6.启动浏览器访问指定页面

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


 

三、 样本传播渠道

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

api.oy***.com

42.51.2***.14

api.Ig***.com


1.线下传播渠道

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


                                                   

 

其推广渠道可能为线下及ROM:

                                               

 


                                           


2.知名应用通过SDK集成

    通过腾讯反诈骗实验室大数据分析发现,某知名音乐应用6.7.5 ~ 6.8.7(最新版本)的版本包含有该恶意SDK模块。

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

此外,爱上Radio(InternetRadio.all)、超级瑞士军刀(com.utooo.android.knife.free)也包含该恶意SDK。

                                                            

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

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

                                                                

             

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

                                                              

             

4.色情应用集成

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

                                                                   







四、 更多安全资讯



                                                                                                                             

                           


资讯排行