前两天微信朋友圈被趋势科技报百度安卓后门的帖子刷屏了,各类公关稿队形之整齐,队伍之庞大,声势之浩大,在公众目光里绝不输给上次xcodeghost事件。虽说发生一个波及面较大(app数量和应用数量)以及危害较高的漏洞值得注意, 然而这次由于发生在一家具有行业影响力的巨头企业身上,一系列后门说、流氓说、阴谋说就全来了。要知道曾经的心脏流血给全球互联网带来了巨大影响后,openSSL换来的可是老罗的捐赠和极客圈的同情。
作为一个安全圈的专业混子,我个人的观点是--百度SDK的漏洞是一件悲剧,如果就这么认为它是后门或是阴谋的话,那会是另一个悲剧。 这就好比出轨是一件悲剧,如果你因此就不相信爱情的话,那你是另一个悲剧。
先说一下百度moplus是个什么东西。moplus是一套安卓的SDK,它的作用是让移动应用通过这个SDK,曾经用户的交互体验。比如用户需要定位一个位置,或是在应用内发现一个商户,需要快速添加到通讯录或是拨打电话,通过这个SDK就可以快速达成。同类的SDK有比如个推(实现消息推送)或是环信(应用内即时通讯)等。SDK本身是一个中立的词汇,不属于后门。
为什么会被人认为是后门呢? 几个帖子里的主要论点是:
1. 内置HTTP服务器。
2. 接口功能过于强大,以至于被恶意利用后可以操作的事情过多。
首先说一下内置HTTP服务器, 这东西在安卓其实挺常见,并没有违反任何条例,这样干的app本身或是第三方插件多了去了,所以内置HTTP服务器本身并没有太大问题, 记得7月份乌云也有过一个百度SDK漏洞就描述过百度有一个SDK是开7777端口的,直到上个月底被公开,也没有太大的反响,因为危害并不高,而且很快就修复了。
那么最主要的问题就是接口过于强大,导致一旦有了安全问题后可被利用的功能过强,恶意利用者可以造成巨大的损害。 这就好比你负责看守一些很重要的财物的时候,一旦这些财物被打劫了,你就有很容易被认为是里应外合。
moplus比较重要的接口有哪些呢? 我例举一下备受争议的几条:
添加通讯录功能:addcontactinfo
用户通过搜索结果搜索出一个商户信息,在搜索结果页中可以显示这个商户的联系方式,通过搜索结果页可以快速的添加商户电话号码到通讯录。
这个功能应该算是一个合理的功能,被恶意利用的话有一定的危害但是还不至于造成损失。
获取用户安装列表:getapplist
用户通过搜索结果搜索出一个视频,在搜索结果页中需要获得用户安装的视频软件信息,当用户点击视频检索时可以使用指定的视频播放器打开这个视频。
这个东西是最受争议的,因为如果往恶意来说的话,可以说在收集你所下载了哪些应用的数据,牵涉到隐私。但是对用户来说损害是较小的,可以带来很多方便。这一点仁者见仁智者见智。
获取用户的地理位置信息:geolocation
用户通过搜索结果页搜索美食,电影等,在搜索结果页中需要获取用户的位置属性,根据用户的属性把用户周边的美食,电影展现在搜索结果页中。
这一点也是被攻击的较多的, 这个功能是很常见的,对于很多人来说也是必须的,我觉得大可不必被认为侵犯隐私,你使用打车或是其他O2O软件的时候也会显示当前位置的,真要被用来追杀或是催债你也没辙。
下载文件到指定目录:downloadfile
用户通过搜索结果页查找应用,找到对应的搜索结果,点击安装按钮,可以实现下载功能,下载完成后,如果用户的手机存在root权限,会自动静默安装,如果不存在root权限,会弹出系统安装界面安装
这个东西看起来是最重量级的,然而目前的结果来看,并未有人利用这一功能做出任何影响用户强装强卸软件的行为。
以上的接口功能在未爆出安全漏洞之前就一直存在,也没有被app投诉过侵犯隐私等,所以当SDK是默认安全可信的前提下,这些并不是恶意接口。 然而由于舆论压力过大,百度还是下线了moplus。
有时候人们在不明真相的时候总是容易先入为主扣一个帽子,从而省去思考的成本, 可是安全是一门艺术,更是一门科学,科学要的就是用严谨的逻辑去分析,论证,而不是人云亦云, 长期下来企业就不得不用公关团队去压制漏洞而非从技术上正面去面对, 在我看来,这才是最大的悲剧。
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!