独家|神秘SDK暗刷百度广告 植入数千款APP

4月22日,雷锋网(公众号:雷锋网)从腾讯安全了解到,腾讯安全反诈骗实验室追踪到暴风影音、天天看、塔读文学等众多应用中集成的某SDK存在下载恶意子包,通过webview配合js脚本在用户无感知的情况下刷百度广告的恶意操作。

该恶意SDK通过众多应用开发者所开发的正规应用,途经各中应用分发渠道触达千万级用户;其背后的黑产则通过恶意SDK留下的后门控制千万用户,动态下发刷量代码,大量刷广告曝光量和点击量,赚取大量广告费用,给广告主造成了巨额广告费损失。

根据安全人员详细分析,此恶意SDK主要存在以下特点:

1、该SDK被1000+千应用开发者使用,通过应用开发者的分发渠道抵达用户。主要涉及的应用包括掌通家园、暴风影音、天天看、塔读文学等,潜在可能影响上千万用户;

2、刷量子包通过多次下载并加载,并从服务器获取刷量任务,使用webview加载js脚本实现在用户无感知的情况下自动化的进行刷量任务。

此类流量黑产给传统的广告反作弊带来了极大挑战,传统通过IP、曝光频率、点击率等表象数据形成的反作弊策略难以识别这种控制大量真实设备做’肉鸡’的刷量作弊,使得大量广告费用流入黑产手中,却无法给广告主带来应有的广告效果。

SDK作恶流程和影响范围

此恶意SDK集成在应用中的那部分代码没有提供实际功能,其在被调用后会定时上报设备相关信息,获取动态子包的下载链接,下载子包并加载调用。然后由子包执行相应的恶意行为。

恶意SDK作恶流程示意图:

TB1PCppSwTqK1RjSZPhXXXfOFXa.png

受恶意SDK影响的主要应用列表:

TB1VgtASCzqK1RjSZFpXXakSXXa.jpg

恶意SDK作恶行为详细分析

此恶意SDK被众多的中小应用开发者集成,我们以应用塔读文学为例,对其恶意行为进行详细分析。

TB1dldtSrPpK1RjSZFFXXa5PpXa.png

恶意SDK代码结构

    

TB1SjxoSCrqK1RjSZK9XXXyypXa.jpg

此sdk代码较少,没有什么实际的功能。其在被加载调用后,会设置定时任务,每隔3600秒(1小时)启动GatherService,上报设备相关信息,获取动态子包__gather_impl.jar的下载链接

TB1Jr0ySrvpK1RjSZFqXXcXUVXa.png

GatherService链接服务器,获取__gather_impl.jar的下载链接 

TB1QbtvSxTpK1RjSZR0XXbEwXXa.png

请求链接:http://gather.andr****.com:5080/gupdate/v1

请求数据:包括uid、应用包名、设备id、应用版本、手机厂商、型号、系统版本、imei、sdk版本等内容

TB1qmhLSxYaK1RjSZFnXXa80pXa.png

返回内容:包括子包的版本、下载url、文件md5

TB1Ou0CSpzqK1RjSZFCXXbbxVXa.png

动态加载下载的__gather_impl.jar 

TB1rj9UXvc3T1VjSZLeXXbZsVXa.png

子包__gather_impl.jar代码结构,此子包的主要功能有:1、上传用户设备信息,2、下载并动态加载子包stat-impl.jar

 

TB13yFESpzqK1RjSZFvXXcB7VXa.png

1)、链接服务器,上传用户设备信息 

TB1_MxvSr2pK1RjSZFsXXaNlXXa.png

服务器链接:http://userdata.andr****.com/userdata/userdata.php (此url在分析时已失效,无法链接)

上报内容:包括位置信息(经纬度),用户安装列表(软件名、包名),设备信息(厂商、型号、fingerprint,是否root),deviceid、手机号、运营商、imei、mac等。 

TB1BuXHSwHqK1RjSZFkXXX.WFXa.png

2)、再次请求服务器,获取stat-impl.jar的下载链接

TB1C10xSCzqK1RjSZFHXXb3CpXa.png

请求链接:http://iupd.andr****.com:6880/wupdate/v1

请求数据:包括uid、imei、sdk版本、手机厂商、型号、系统版本、应用包名、设备id、设备指令集等内容 

TB1vMFASCzqK1RjSZFpXXakSXXa.png

返回内容:包括子包的版本、下载url、文件md5

TB1QG8CSq6qK1RjSZFmXXX0PFXa.png

 子包下载完成后,调用native方法动态加载此子包

TB1k98USyLaK1RjSZFxXXamPFXa.png TB1wgFvSr2pK1RjSZFsXXaNlXXa.png TB1fBptSrPpK1RjSZFFXXa5PpXa.png TB1DKdHSwHqK1RjSZFkXXX.WFXa.png

stat-impl.jar的代码结构:

 

TB1hqBsSCzqK1RjSZFLXXcn2XXa.png

stat-impl.jar子包被加载后,线程com.drudge.rmt.g会被启动,其作用主要是用来联网获取刷量任务,并调度任务的执行。

 

TB1UjJoSCrqK1RjSZK9XXXyypXa.png

主要的刷量任务包括:1、刷百度搜索的关键字,2、使用js脚本实现自动点击、滑动来刷百度广告和亿量广告的点击,3、使用webview刷网页访问。

1、刷百度关键字搜索

此任务会根据获取json字符串,进行相应的操作,包括设置BAIDUID、更新配置、添加任务、设置剪切板和使用关键字刷百度搜索

 

TB1gzxJSsfpK1RjSZFOXXa6nFXa.png

设置关键字,使用webview加载对应的url

TB1USFpSwTqK1RjSZPhXXXfOFXa.png

捕获到的刷百度关键字的webview加载请求: 

 

TB1cHdCSq6qK1RjSZFmXXX0PFXa.png

链接服务器http://tw.andr****.com:6080/wtask/v1获取相关任务,并将任务内容存入[package]/cache/volley目录下 

TB1YsxBSAvoK1RjSZFNXXcxMVXa.png TB1_m4BSrrpK1RjSZTEXXcWAVXa.png TB19KXASwHqK1RjSZFPXXcwapXa.png

2、使用js脚本刷百度广告

使用webview加载http://mobads.baidu.com/ads/index.htm,并在加载完成后执行js脚本实现自动滑动、点击、保存等操作来自动刷广告

TB1bCtySAvoK1RjSZFDXXXY3pXa.png

相关的js脚本

1)、js函数定义滑动、点击、保存等操作 

TB1OvXxSCzqK1RjSZFHXXb3CpXa.png

Java层解析并实现js层传递过来的操作命令

 

TB1MRxxSxTpK1RjSZFMXXbG_VXa.png

2)、js函数判断并获取页面元素 

TB1VbNvSxTpK1RjSZR0XXbEwXXa.png

...

 

TB1Z2VxSyrpK1RjSZFhXXXSdXXa.png

3)、js函数计算页面元素相对位置,并进行滑动、点击操作 

TB168JzSpzqK1RjSZFoXXbfcXXa.png

...

捕获到的刷百度广告的webview加载请求:

TB17aJsSCzqK1RjSZFLXXcn2XXa.png

3、使用webview刷网页访问

此任务向服务器请求需要访问的url链接,在获取到相应的网页url后,使用webview加载进行访问。

请求需要访问的url链接

 

TB1pRNzSpzqK1RjSZFoXXbfcXXa.png

请求链接

http://us.yiqimeng.men:8080/geturls?k=beike-xinshiye&c=5

返回内容

["http://m.xinshiye.cc/cars/17/10/21/707989.html?content_id=707989u0026key=x2HAJuZaaa9YWpVa8EXTqOmHHUxhSnj75xhhAS7f6tveQsphsCm3jc9xrhV4RZbRzgm%2FQqzCVcw2dvukMqw25Q%3D%3Du0026_t=1511190410",

"http://m.xinshiye.cc/cars/17/10/11/234818.html?content_id=234818u0026key=NzLZyHQXsCdpS6bkAWab2LSzd2XApbGOJYUuN%2Bm4PFsoWk1l%2FnZSD8M1yp1cuhz%2FdL0uoNG93TVt8ai6zEU%2BQw%3D%3Du0026_t=1511190560",

"http://m.xinshiye.cc/cars/17/11/26/1769446.html?content_id=1769446u0026key=8KLxL1fm2gwNDxqT6nsSAbQ07kcEZRHBrekhzNSJcNaAg1nZmbW49pQ3EaEYJfMUeMlwSX4KzdliXJ3O37fs9g%3D%3Du0026_t=1513046929",

"http://m.xinshiye.cc/cars/17/10/31/1444661.html?content_id=1444661u0026key=mODVhDy0zyzBGH1G6sTwDYXqiy3D7pDfymsirda6s5%2BW8tarfIDPjuhT3mkqeMMDKzKr%2BFVC2Py2gzsNkMniHw%3D%3Du0026_t=1509589907",

"http://m.xinshiye.cc/cars/17/12/09/1921549.html?content_id=1921549u0026key=0XFxkCX0Bn4k%2Fw5%2FqvlSIOCREqEWoJ5jimqn%2BZAeJIwksQzydyT0AZFAVZJAritm3hpGza4TFNlONZDtoY%2BfTA%3D%3Du0026_t=1513045278"]

使用webview访问获取url

 

TB1ugVASCzqK1RjSZFpXXakSXXa.png

捕获到的刷求医不如健身网的webview加载请求: 

TB1TYh0SxjaK1RjSZKzXXXVwXXa.png

相关URL整理

TB1vDtvSBLoK1RjSZFuXXXn0XXa.png

安全建议和防范手段

从近期Android端恶意应用的作恶手法来看,恶意开发者更多地从直接开发App应用转向开发SDK,向Android应用供应链的上游转移。通过提供恶意的SDK给应用开发者,恶意开发者可以复用这些应用的分发渠道,十分有效的扩大影响用户的范围。而在恶意SDK的类别方面,黑产从业者主要把精力放在用户无感知的广告刷量和网站刷量等方向,通过使用代码分离和动态代码加载技术,可以完全从云端下发实际执行的代码,控制用户设备作为“肉鸡”进行广告、网站刷量等黑产行为,具有很强的隐蔽性。

这类流量型黑产逐渐增多,不仅对手机用户造成了危害,同时也给移动端广告反作弊带来了很大的挑战,传统基于IP、曝光频率、点击率等表象数据形成的反作弊策略难以识别这种控制大量真实设备做’肉鸡’的刷量作弊,难以保障应用开发者和广告主的正当权益。

针对终端用户,有如下安全建议:

1、尽可能使用正版和官方应用市场提供的APP应用;

2、移动设备即使进行安全更新;

3、安装手机管家等安全软件,实时进行防护。

本研究报告由腾讯安全研究团队输出,授权雷锋网编辑。

雷锋网

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值