一、概要 依托腾讯安全大数据,腾讯安全反诈骗实验室自研的TRP-AI反病毒引擎捕获到多款知名应用在用户设备上存在私自提权,静默植入应用等恶意操作。腾讯安全研究人员通过溯源分析,发现这些应用集成的某“XX推”信息推送SDK存在重大嫌疑,通过细致分析,我们发现该SDK开发商可以通过云端控制的方式对目标用户下发包含恶意功能的代码包,进行Root提权,静默应用安装等隐秘操作。我们将该信息推送SDK称为“寄生推”SDK。 腾讯安全专家分析发现该“寄生推”推送SDK主要存在以下特点: 1、涉及300多款应用,潜在可影响近2千万用户 多款百万级别用户量的应用都集成了“寄生推”SDK。 2、“寄生推”推送SDK开发商可通过后门云控开启恶意功能 “寄生推”通过SDK预留的“后门”,云端动态更新下发恶意代码包,Root用户手机,植入恶意应用到用户设备系统目录,进行恶意广告行为和应用推广,以实现牟取灰色收益。 3、数十万被感染用户设备ROM内被植入恶意子包 根据腾讯安全反诈骗实验室大数据显示,已有数十万用户设备ROM内被植入相关的恶意子包,对用户的影响巨大。
二、“寄生推”恶意家族影响范围 “寄生推”SDK作恶流程 “寄生推”SDK影响的主要应用列表 “寄生推”SDK从17年9月份开始下发恶意代码包,并植入恶意子包到被它成功Root过的用户设备上,其植入的恶意子包影响用户量的变化趋势如下,每个恶意子包影响用户量都在20万以上。 恶意子包影响范围主要在国内,在国外其它地区存在少量的感染用户 三、“寄生推”恶意行为详细分析 3.1、“寄生推”SDK结构介绍 “寄生推”SDK提供的jar包含两个部分:一部分是接口性质的代码,用于加载和调用实现功能的jar包,这部分会直接集成到使用了“寄生推”SDK的应用的Dex文件中;另一部分是实现具体功能的jar包,包括ixintui_plugin.jar和stat_plugin.jar,这两个jar包实际上是已经编译好的dex文件,应用集成“寄生推”SDK后,这部分内容会存放在应用的Assets目录下,在应用运行时被动态加载并调用。正是“寄生推”SDK采用的这种代码分离和动态加载技术,使得它可以从云端控制下发实际运行的代码包,为它后面的恶意行为做好了铺垫。 “寄生推”SDK结构 集成了“寄生推”SDK的应用XXX浏览器反编译后的目录结构 1)、ixintui_plugin.jar和stat_plugin.jar的加载和更新机制介绍 ixintui的Provider和PushService每次被调起时,都会调用com.ixintui.*****.a.a.e方法,尝试加载最新的ixintui_plugin_vx.jar,若最新的插件不存在,则加载Assets目录下默认的ixintui_plugin.jar; ixintui_plugin.jar中的com.****.a.b.q方法则会尝试去加载最新的stat_plugin_vx.jar,若最新的插件不存在,则加载Assets目录下默认的stat_plugin.jar ixintui_plugin.jar中的com.****.c.a方法会去连接服务器请求更新,并根据服务器返回的信息进行相应的更新操作。 相关请求数据和返回结果示例:云端通过返回代码包插件的version、sign和url来控制插件的更新 从“寄生推”SDK中ixintui_plugin.jar和stat_plugin.jar这两个功能代码包的加载和更新机制来看,其云端服务器完全掌握了下发代码包的控制权,可以通过云端配置,任意的下发执行包含不同功能的代码包,实现恶意代码包和非恶意代码包之间的随时切换,具备很强的隐蔽性。 2)云端下发的恶意的代码包分析 我们以分析人员在分析过程中捕获到的一个恶意代码包stat_plugin_7804.jar为例来分析恶意代码包的行为 stat_plugin_7084.jar代码结构和默认的stat_plugin.jar的代码结构对比如下,明显stat_plugin_7084.jar多出了一块代码 stat_plugin_7804.jar会下载2个包含Root方案的zip包,后台私自Root用户手机,并植入恶意应用到用户手机的Rom内。 dp.eiffelwrapper.NetHelper下载包含Root方案1的zip包 Zip包结构,其中eiffellib.jar为root工具包,a.apk为待植入的恶意应用 加载调用eiffellib.jar,eiffellib.jar使用超级Root大师的root方案来进行root提权 dp.eiffelwrapper.NetHelperKing 下载包含Root方案2的zip包 Zip包结构,其中case_test为root方案,其余APK文件为待植入的恶意应用 执行case_test中的Root命令,Root完成后执行pas.sh脚本 pas.sh脚本,其作用是将恶意应用copy到系统ROM内 在恶意应用植入成功后,恶意代码包通过startservice的方式拉起恶意应用的服务 恶意子包和Root的影响范围 被植入的恶意子包主要有 通过数据关联分析,被植入的恶意子包的影响用户量变化趋势如下 受恶意Root影响的用户设备Android系统版本分布如下 3.3、被安装的恶意应用分析 被植入系统ROM内的恶意代码包主要分为两类 1)、恶意应用类型1列表: 这类恶意应用为无图标应用,其代码结构如下,与寄生推的SDK相比,只实现了一个 PushReceiver用于接收推送消息。其作用和集成寄生推SDK的其他应用类似,主要是作为执行寄生推恶意代码包的宿主,长期隐藏在用户手机上。 2)、恶意应用类型2列表 系统打印服务和计算器的应用代码结构如下,主要代码包含寄生推SDK和修改过后的VirtualApp框架。其主要作用是接收推送消息,构建任务列表,下载插件应用,并用VA框架安装和调起插件应用,实现弹出广告和地下推广应用等恶意行为。 多媒体服务代码结构如下,较之前的版本又作了一层加壳对抗,运行时从assets目录释放加载mm.jar,mm.jar的代码结构和之前的版本一致。 恶意应用注册BroadcastReveiver接收推送消息 解析推送请求,构建任务 使用修改后的VirtualAPP框架对下载的插件包进行操作,包括安装、调起等 应用在运行中访问http://*********rms_r.zip下载插件包,该插件也是包含Root方案和未知的应用APK文件 调起插件包,调用其中的root方案,尝试获取root 安装未知应用到用户设备上 地下推广的主要应用 根据腾讯反诈骗实验室的大数据关联分析,我们发下恶意应用推广的应用主要有:
3.4、相关的C2服务器信息
http://a.**************.nvwa05.zip ...... 四、相关溯源分析 C2服务器http://a. *****.com反查 五、安全建议和防范手段 从“寄生推”SDK的作恶手法来看,恶意开发者有从开发App应用向开发SDK的转变的趋势,恶意SDK的开发者通过使用代码分离和动态代码加载技术,可以完全从云端控制SDK中实际执行的代码,具有很强的隐蔽性和对抗杀毒软件的能力。通过云端控制下发运行逻辑可以绕过大多应用市场的安装包检测和杀毒软件的mi-guan检测,导致受感染的应用混入应用市场,不仅对用户造成了危害,也伤害了这些集成恶意SDK的应用的口碑,给应用开发者也带来重大损失。 为尽可能的避免恶意SDK的危害,我们给应用市场、开发者和用户提出了以下几条建议: 1、SDK开发者应尽可能的避免使用云控、热补丁等动态代码加载技术; 2、应用开发者在集成使用第三方提供的SDK时要谨慎接入具有动态更新能力的SDK,防止恶意SDK影响自身应用的口碑; 3、对应用市场来说,要加强和细化管理,增强对恶意应用和恶意SDK的识别能力; 4、对使用软件的用户来说,安装手机管家等安全软件,腾讯手机管家已经全面查杀这类恶意软件,能很好保护设备安全。 六、附录 相关样本sha1 集成了寄生推SDK的部分应用 046a3***********************7137ae4d b0468***********************9337e5f7 1429a***********************92627b1e 3b4a7***********************70c0874da c06df************************78b417a3 99b2c**************************5ff8ae 5cba4************************dbea387b1 7af969************************a0ef374a 84568************************930c912 008c1************************68c06c8 24c60************************3f365e45 583e7*************************73302b 77f1cce************************098901 c6ec22************************37ac44 affaa41************************60a499e 7f822f*************************fa36184 029c3a*************************f1c6d 5305f7**************************dda5e f84101*************************202ad7 e834a6************************07bfa39 2264fb************************f81919 f1a28d************************19d7671 7aea88************************eabee0d6 ec580e************************17c9071 54db12************************f75d64c 851c51************************bdfbfcd e96d44************************ded5f3 39a2bff************************d27176f 58d00a************************35c25c0 4062398************************5fa4dc7 12e429de************************dd10a d2f7c715************************f18dd a22d9a12************************cd85d c7f3e174************************f184c b4da702************************0d04c5d0 70ef2521************************a3237a bfc3015************************200323 32c6d712************************7ed2b2 ed457fa6************************a86d2 恶意应用类型1 37ba4b2***********************6d4ed8cfe ae073484***********************06d b4241**************************5dddde69 cf9f50a***********************ac675ee1a 恶意应用类型2 27a3617***********************a4c522ef b20952c***********************dbf4fbf6 41fa446***********************9340b13
|