报告来源:趋势科技
百度moplus SDK的一个被称为虫洞(Wormhole)的漏洞被报导后“一石激起千层浪”,它被植入到14000款app当中,这些app有接近4000个都是由百度出品的。该漏洞被中国的一个漏洞报告平台wooyun.org所发现。
然而,根据我们对这个安全漏洞的研究,发现Moplus SDK具有后门功能,这不一定是由于漏洞或跟漏洞相关。目前,人们之所以称之为漏洞是基于Moplus SDK的访问权限控制以及应该如何限制这种访问的角度。因此,它虽然具有漏洞相关的概念而实际上是一个后门程序,如推送钓鱼网页,插入任意联系人,发送伪造短信,上传本地文件到远程服务器,未经用户授权安装任意应用到Android设备。而执行这些行为唯一的要求是该设备首先需要连接互联网。由于Moplus SDK已经被集成到众多的Android应用程序中,这就意味着有上亿的Android用户受到了影响。我们的研究结果还表明,已经有恶意软件在利用Moplus SDK的漏洞了。
在这篇文章中,我们揭示了Moplus SDK的恶意代码和对Android设备造成的风险。
图1.恶意软件使用的Moplus SDK来进行静默安装
通过Moplus SDK挖掘
Moplus SDK是由中国的搜索引擎巨头百度开发的。在我们的研究中,我们研究了两个不同的应用程序,百度地图(com.baidu.BaiduMap,8.7.0)和“奇闻异录”(com.ufo.dcb.lingyi,1.3)。他们使用的Mo+ SDK的版本虽不同,但大部分代码是相同的
图2 com.ufo.dcb.lingyi使用的Moplus SDK
图3 com.baidu.BaiduMap使用的Moplus SDK
它是如何集成到应用程序?
从应用程序的Manifest文件中可知Moplus SDK被包含在一个独立的进程中。其main service叫做com.baidu.android.moplus.MoPlusService,可以通过不同的广播事件触发,其中包括系统启动的广播。
图4. Moplus被集成到一个独立的背景。实际上,该恶意程序会自动启动
Moplus SDK的后门功能
当用户启动一个应用程序,Moplus SDK会偷偷地在设备上自动设置一个本地HTTP服务器,用来监控通过socket的消息。为了实现这一点,它在代码中集成并修改了用Java编写的一个简单的开源HTTP服务器NanoHttpd。
图5. Moplus SDK在代码中集成并修改了NanoHttpd
绑定到这个HTTP服务器的TCP端口并不总是一样的。在我们的例子中,我们发现com.ufo.dcb.lingyi绑定的端口是6259,而com.baidu.BaiduMap绑定的端口是40310。
图6.绑定到本地的HTTP服务器的TCP端口并不总是一样的
HTTP服务器保持监听TCP端口。它将接收和解析从远程客户端发送的消息。一旦有新的HTTP请求时,它会获取和解析消息头和消息体,并通过覆盖NanoHttpd文档中指定的“server”功能开始执行自己的恶意功能。
图7.从socket连接中监控HTTP请求
图8.调用自己的恶意行为覆盖“server”功能
这是一个典型的命令与控制(C&C)攻击模式。与传统的C&C攻击比较,唯一不同的是在这种情况下,服务器在用户端,而攻击客户端可以在任何地方。有很多恶意功能包含在SDK中,如下载和上传文件等。每个行为都是单独的一个类文件。
图9. Moplus SDK支持的恶意功能
图10.恶意命令及源代码类之间的对应关系
从上述截图可以看出,攻击者可以从用户设备远程获取位置信息,搜索框信息,包信息和其它敏感数据。它可以在用户设备上远程添加联系人,扫描下载文件,上传特定文件。所有这些行为只需简单的通过发送HTTP请求便可以完成。
图11.批量插入任意联系人
“sendintent”是一个特殊的命令,可以用来在设备上发送本地意图。攻击者可以利用它来远程拨打电话,发送虚假消息,并在未经用户同意的情况下安装任意应用。
图12. “sendintent”命令可以被攻击者用于在用户设备上执行恶意控制行为
该SDK还可以检测设备是否root并且静默安装APK
图13.支持静默安装应用
图14.区分root用户以便进行更多的恶意攻击
这些细节清楚地证明了这是一个后门恶意软件。一个攻击者可以攻击已经被Moplus SDK感染的任意设备。我们在Nexus 6 最新的Android 6.0系统上有一个简短的演示(见图16-18)。当百度地图启动后,我们可以发现恶意服务(bdservice_v1)总是在后台运行。
图15.恶意服务bdservice_v1一直在后台运行
图16-18在这一组图中,我们展示了如何自动添加联系人到移动设备上的
因为在本地HTTP服务(由Moplus SDK建立的)中没有进行身份认证,使得攻击行为不仅可以通过app开发者,也可以由任何其它人来触发。只需一个命令,攻击者或者网络罪犯就可以远程控制感染的设备。此外,他们只需要使用nmap进行全网段扫描,测试TCP端口6259或40310的状态,端口状态为OPEN的所有Android设备都可能被远程控制。需要注意的是在同一个局域网内,以及在同一个的3G / 4G网络的所有设备都可以被攻击。
这是一个严重的漏洞,也许甚至比需要包含有钓鱼链接的web网页或用于发送恶意彩信的电话号码才能利用的Stagefright漏洞更糟糕。对于这个安全漏洞,攻击者只需简单地扫描网络IP,不需要用户终端的任何行为或任何社会工程学攻击。
其它的发现
我们已经检测到恶意软件(ANDROIDOS_WORMHOLE.HRXA)在使用Moplus SDK来自动和定期下载用户不需要的应用。当这些应用被下载到用户设备后,如果用户设备已经root了,则应用程序将被自动安装。
SHA1:2FA40A5302D92FB0C5C64CF6197F2D671BA7C30D
集成Moplus SDK的应用程序有哪些?
Moplus SDK是一个开放的SDK,根据我们的数据,总共有14112个应用程序集成了这个SDK,其中4014个是百度官方的应用程序。在受影响的应用中排名前20位的应用如下:
com.qiyi.video com.baidu.video com.baidu.BaiduMap com.baidu.browser.apps com.baidu.appsearch com.nd.android.pandahome2 com.hiapk.marketpho com.baidu.hao123 com.baidu.searchbox tv.pps.mobile com.mfw.roadbook com.tuniu.app.ui com.ifeng.newvideo com.baidu.netdisk com.quanleimu.activity com.dragon.android.pandaspace com.yuedong.sport com.dongqiudi.news air.fyzb3 com.managershare
百度在最新的更新中已经移除了Moplus SDK中的恶意代码,并在其最新的产品中解决了该问题。经审查,百度地图最新的代码,我们发现,他们仍然在用户设备中开启了绑定40310开放端口的NanoHttpd服务。
图19.在最新Moplus更新中本地HTTP服务仍保留与原来相同的TCP端口
虽然删除了部分恶意命令及相应的代码,包括在root手机中自动静默安装应用的恶意代码部分。然而,如图21所示,并非所有的恶意功能都已经被删除,用户设备仍处于危险之中。
图20.部分恶意命令仍保留在最新Moplus SDK
图21.只有红色部分的恶意代码在最新的Moplus SDK中被删除
从外媒的观点中,我们可以看出:
1.虫洞的各种可怕的功能在root的手机上会翻倍:各种静默安装,加载url,消耗话费流量。
2.在非root的手机上可能会出现确认信息(这样就可以发现后门正在运行)。
3.出问题的是Moplus SDK以及出问题的简单原因(HTTP server)
4.为什么国外的安全研究对此漏洞敢于公开?
5.国内对虫洞的报道缺乏客观性。
* 参考来源blog.trendmicro,译者:gh0stbo,VillanCh,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)
-
还分析个毛啊。就是自己弄的后门,被白帽子发现了,然后美名其曰为漏洞。
-
小白难道百度不应该出来说点啥么?一个开发SDK包里有这么严重的后门
-
@ google 看完你的回复我也是醉了 !!!
-
麦子zc百度最近怎么了!
-
虫洞问题依旧不可小视,如果遇到了预装了这种软件(例如先前强势预装的百度app)的设备,在没root的情况下该软件会开机自启动然后驻留进程,这种影响可能也是比较大的...之前我买过一个安卓平板直接是预装的百度无法在非root环境升级...像这种环境估计就是90%几率中招的节奏了
不容错过
- 一周「BUF大事件」(20160625-20160701)supercoco2016-07-02
- 点击一张图片背后的风险mscb2016-10-11
- 4.22,FreeBuf小酒馆(bar.freebuf.com)试营业FB客服2015-04-20
- Splunk大数据分析经验分享:从入门到夺门而逃Porsche2016-12-19
0day
已有 29 条评论
恩 翻译的不错.
@ google 这个应该是原文吧,趋势的那篇本来就是中国人写的.
@ google 看完你的回复我也是醉了 !!!
@ Dicker 原来真是 翻译的 还把图 换成 了 清晰 的 好贴心呀!!
百度最近怎么了!
nices,Fan Yi is Good
虫洞问题依旧不可小视,如果遇到了预装了这种软件(例如先前强势预装的百度app)的设备,在没root的情况下该软件会开机自启动然后驻留进程,这种影响可能也是比较大的…之前我买过一个安卓平板直接是预装的百度无法在非root环境升级…像这种环境估计就是90%几率中招的节奏了
我只看到一只白嫩的小手
同意的顶
楼上这又是在意淫吗
翻译自:http://blog.trendmicro.com/trendlabs-security-intelligence/setting-the-record-straight-on-moplus-sdk-and-the-wormhole-vulnerability/
谁还敢用百度?百度这招也真是醉了,使用百度手助的开发少年,上传百度开发平台的少年,使用moplus sdk的少年注意了!
[喵喵]葫芦娃
很早就有了吧…root之后默认安装百度全家桶,然后只要开一个就全家都跟着打开什么的
是的,中国第一大流氓360,第二就是百度了
@ 刘晓东IT 只支持后一句。。
百度这招也真是醉了,使用百度手助的开发少年,上传百度开发平台的少年,使用moplus sdk的少年注意了!
哦哦。百度全家桶挺恐怖的样子。
A:百度最大的愿望是什么…;B:没有电脑病毒,那样就没有360了[doge]
http://www.fenlog.com/post/112.html
哪些应用有moplus后门,14112个应用是什么
还分析个毛啊。就是自己弄的后门,被白帽子发现了,然后美名其曰为漏洞。
用了一个百度云
说来说去,没有root有个卵用!!!!
百度遭毒多少年了,现在才大张旗鼓展开调查,有个卵用!
难道百度不应该出来说点啥么?一个开发SDK包里有这么严重的后门
是说问题很严重了吗,求科普呀
百度 系统统中招,影响过亿用户。只要装了百度有漏洞的SDK的安卓设备,联网之后就有可能被攻击,而且这个后门完全是开放的,任何人都可以利用!虽然安卓的安全性 千疮百孔 ,但百度能做出这么没下限的事..似乎也并不意外。还有这篇文章
@ asd 不是原文 趋势的是十一月一号发布的。我手慢(本来计划三号翻译发布结果被人抢先了
后门在sdk包里