百度moplus事件的幕後“黑手”到底是什麼?
前兩天微信朋友圈被趨勢科技報百度安卓後門的帖子刷屏了,各類公關稿隊形之整齊,隊伍之龐大,聲勢之浩大,在公眾目光裏絕不輸給上次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。
有時候人們在不明真相的時候總是容易先入為主扣一個帽子,從而省去思考的成本, 可是安全是一門藝術,更是一門科學,科學要的就是用嚴謹的邏輯去分析,論證,而不是人云亦云, 長期下來企業就不得不用公關團隊去壓制漏洞而非從技術上正面去面對, 在我看來,這才是最大的悲劇。