腾讯安全防盗实验室追踪到暴风影音、天天看、塔读文学等多个应用中集成的某SDK中存在下载恶意子包,并利用webview和js脚本在用户不知情的情况下刷百度广告的恶意操作。
恶意SDK通过众多应用程序开发者开发的常规应用程序通过各种应用程序分发渠道到达数千万用户; 代码,大量的广告展示量和点击量,抢占了大量的广告费用网站刷ip软件,给广告主造成巨大的广告费用损失。
据安全人员详细分析,该恶意SDK主要具有以下特点:
1. SDK被1000+上千应用开发者使用,并通过应用开发者的分发渠道触达用户。 主要涉及的应用包括掌通家园、暴风视频、天天看、塔读文学等,可能潜在影响数千万用户;
2、多次下载并加载量子刷包,从服务器获取刷金额任务,使用webview加载js脚本,实现在用户无感知的情况下手动刷刷任务。
这种流量黑制作给传统广告反作弊带来了巨大的挑战。 传统基于IP、曝光频次、点击率等虚假数据的反作弊策略无法识别这些控制大量真实设备做“肉鸡”的刷量。 作弊行为导致大量广告费用流入黑人手中,却未能给广告商带来理想的广告效果。
SDK恶意进程及影响范围
应用程序中集成的恶意SDK的代码部分不提供实际功能。 被调用后,会定期上报设备相关信息,获取动态分包的下载链接,下载分包并加载调用。 然后由子包执行相应的恶意行为。
恶意SDK的恶意流程示意图:
受恶意SDK影响的主要应用程序列表:
恶意SDK暴力详解
该恶意SDK已被众多中小型应用开发商集成。 我们以塔读文学的应用为例,详细分析其恶意行为。
恶意SDK代码结构
该sdk代码较少,没有实际功能。加载调用后,会设置定时任务,每隔3600秒(1小时)启动GatherService网站刷ip软件,上报设备相关信息,并获取动态子包__gather_impl的下载链接。罐
GatherService链接服务器,获取__gather_impl.jar的下载链接
请求链接:
****.com:5080/gupdate/v1
请求数据:包括uid、应用包名称、设备id、应用版本、手机厂商、型号、系统版本、imei、sdk版本等。
返回内容:包括分包版本、下载url、文件md5
动态加载下载的__gather_impl.jar
子包__gather_impl.jar代码结构,该子包主要功能为:1.上传用户设备信息,2.下载并动态加载子包stat-impl.jar
1)链接服务器并上传用户设备信息
服务器链接:
****.com/userdata/userdata.php(该url在分析过程中已过期,难以链接)
上报内容:包括位置信息(经度和经度)、用户安装列表(软件名称、包名称)、设备信息(厂商、型号、指纹、是否root)、deviceid、手机号码、运营商、imei、mac等。
2)再次请求服务器获取stat-impl.jar的下载链接
请求链接:
****.com:6880/wupdate/v1
请求数据:包括uid、imei、sdk版本、手机厂商、型号、系统版本、应用包名称、设备id、设备指令集等。
返回内容:包括分包版本、下载url、文件md5
子包下载完成后,调用native方法动态加载子包
stat-impl.jar的代码结构:
stat-impl.jar子包加载后,会启动线程com.drudge.rmt.g,其功能主要是利用互联网获取刷新任务和调度任务执行。
主要扫描任务包括:1.刷卡百度搜索关键词,2.使用js脚本手动点击刷卡点击百度广告及亿万广告,3.使用webview扫描网页。
1.使用百度关键词搜索
该任务会根据获取到的json字符串执行相应的操作,包括设置BAIDUID、更新配置、添加任务、设置剪贴板以及使用关键字扫描百度搜索
设置关键字并使用webview加载对应的url
捕获到的刷百度关键词的webview加载请求:
链接服务器****.com:6080/wtask/v1获取相关任务,并将任务内容存放在[package]/cache/volley目录下
2.使用js脚本扫描百度广告
使用webview加载,加载后执行js脚本实现手动滑动、点击、保存等操作手动刷广告
相关js脚本
1)js函数定义滑动、点击、保存等操作
Java层解析并实现js层传递过来的操作命令
2)js函数判断并获取页面元素
...
3)js函数估计页面元素的相对位置,并进行滑动、点击操作
...
捕获刷百度广告的webview加载请求:
3.使用webview扫描网页进行访问
该任务向服务器请求需要访问的url链接,获取对应的网页url后,使用webview加载并访问。
请求需要访问的url链接
求链接
:8080/geturls?k=beike-xinshiye&c=5
返回内容
[“http://m.xinshiye.cc/cars/17/10/21/707989.html?content_id=707989u0026key=x2HAJuZaaa9YWpVa8EXTqOmHHUxhSnj75xhhAS7f6tveQsphsCm3jc9xrhV4RZbRzgm%2FQqzCVc w2dvukM qw25Q%3D%3Du0026_t=1511190410",
“http://m.xinshiye.cc/cars/17/10/11/234818.html?content_id=234818u0026key=NzLZyHQXsCdpS6bkAWab2LSzd2XApbGOJYUuN%2Bm4PFsoWk1l%2FnZSD8M1yp1cuhz%2FdL0uoNG9 3TVt 8ai6zEU%2BQw%3D%3Du0026_t=1511190560",
“http://m.xinshiye.cc/cars/17/11/26/1769446.html?content_id=1769446u0026key=8KLxL1fm2gwNDxqT6nsSAbQ07kcEZRHBrekhzNSJcNaAg1nZmbW49pQ3EaEYJfMUeMlwSX4KzdliXJ 3O37fs9 g%3D%3Du0026_t=1513046929",
“http://m.xinshiye.cc/cars/17/10/31/1444661.html?content_id=1444661u0026key=mODVhDy0zyzBGH1G6sTwDYXqiy3D7pDfymsirda6s5%2BW8tarfIDPjuhT3mkqeMMDKzKr%2BFVC2 Py2gzsNkMni Hw%3D%3Du0026_t=1509589907",
“http://m.xinshiye.cc/cars/17/12/09/1921549.html?content_id=1921549u0026key=0XFxkCX0Bn4k%2Fw5%2FqvlSIOCREqEWoJ5jimqn%2BZAeJIwksQzydyT0AZFAVZJAritm3hpGza4TF NlONZDtoY%2 BfTA%3D%3Du0026_t=1513045278"]
使用webview访问获取url
捕获的webview加载请求不如yoga net:
相关网址整理
安全建议和注意事项
从近期Android端恶意应用的恶意手段来看,恶意开发者已经从直接开发App应用转向开发SDK,并转向Android应用供应链上游。 通过向应用程序开发者提供恶意SDK,恶意开发者可以复用此类应用程序的分发渠道,有效扩大对用户的影响范围。
从恶意SDK的类别来看,黑产从业者主要集中在用户无意识的广告、网站浏览等方向。 通过使用代码分离和动态代码加载技术,实际执行可以完全从云端交付。 该代码控制用户设备作为“肉鸡”进行广告、刷网站等非法活动,隐蔽性极强。
这种交通类违法生产行为正在逐渐增多。 除了给手机用户造成伤害外,也给中国联通的广告反作弊带来了巨大的挑战。 传统基于IP、曝光频次、点击率等虚假数据的反作弊策略无法识别这些控制大量真实设备进行“肉鸡”诈骗的骗局,无法保障合法权益应用程序开发商和广告商的。
对于最终用户,有以下安全建议:
1、尽可能使用应用市场提供的正版官方应用;
2. 虽然移动设备正在进行安全更新;
3、安装手机管家等安全软件进行实时防护。
本研究报告由腾讯安全研究团队输出,宅客频道授权编辑。
-结尾-
热门文章阅读
1、
2、
3.
4.
公众号ID:ikanxue
官方微博:看学安全
商务合作:wsc@kanxue.com