Moplus SDK 的後門行為以及相關的 Wormhole 漏洞
這是一項重大問題,甚至比 Stagefright 漏洞還要嚴重,因為後者還需經由網路釣魚連結將使用者帶到某個網站,或是透過使用者的電話號碼才能發送惡意簡訊。但此 SDK 卻讓駭客只需單純地掃瞄網路 IP 位址,而且不需使用者配合採取任何動作,也不需任何社交工程技巧。
一個名為 Wormhole (蟲洞)的漏洞,據報專門攻擊百度的 Moplus SDK 軟體開發套件,最近因其攻擊成功之後所帶來的嚴重後果而聲名大噪。此漏洞是由中國的漏洞通報開放平台 WooYun.og 所舉報。
然而,經過趨勢科技的仔細研究之後發現,Moplus SDK 本身就內含一些後門功能,所以前述攻擊不必然是因為漏洞所引起或與之相關。目前,普遍的看法是此問題源自於 Moplus SDK 的存取權限控管沒有做好適當管制。因此,這個看似漏洞的問題,其實是該 SDK 本身內含後門功能所造成,例如:推送網路釣魚網頁、隨意插入聯絡人資訊、傳送假冒的簡訊、將本地端檔案上傳至遠端伺服器,以及未經使用者允許就安裝任何應用程式到 Android 裝置上。 而且只要裝置連上網際網路,這些功能就能順利執行。如今,Moplus SDK 已內含在許多 Android 應用程式當中,目前大約有 1 億名 Android 用戶受到影響。此外,我們也發現,已經有一個使用 Moplus SDK 的惡意程式在網路上流傳。
此篇部落格將探討 Moplus SDK 當中的惡意功能,以及這些功能將為 Android 裝置帶來什麼風險。
圖 1:一個利用 Moplus SDK 將自己偷偷安裝到裝置上的惡意程式。
挖掘 Moplus SDK 的祕密
Moplus SDK 是由中國搜尋引擎龍頭百度所開發。在此次調查當中,我們檢視了兩個不同的 App,一個是「百度地图」(百度地圖) (com.baidu.BaiduMap,8.7.0) 另一個是「奇闻异录」(奇聞異錄) ( com.ufo.dcb.lingyi,1.3)。雖然它們內含的 SDK 版本有所不同,但程式碼卻大同小異。
圖 2:「奇聞異錄」(com.ufo.dcb.lingyi) 當中的 Moplus SDK。
圖 3:「百度地圖」(com.baidu.BaiduMap) 當中的 Moplus SDK。
它以何種形式包含在 App 當中?
從應用程式的 Manifest 檔案可以看出,Moplus SDK 是包含在某個獨立的背景執行程序 (Process) 當中。其主要服務為 com.baidu.android.moplus.MoPlusService,可經由各種不同的廣播接收程式觸發,例如裝置的開機事件。
圖 4:Moplus SDK 是包含在一個獨立的背景服務當中。實際上,這個惡意的執行程序會在裝置每次啟動時自動執行。
Moplus SDK 如何提供後門功能?
當使用者啟動一個應用程式時,Moplus SDK 會自動在裝置背景啟動一個本地端 HTTP 伺服器來持續監控網路連線 (socket) 所收發的訊息。為了達成這項目的,SDK 當中內建了一個修改過的 NanoHttpd 開放原始碼 HTTP 伺服器 (以 Java 撰寫)。
圖 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 攻擊相比,唯一的差別在於 HTTP 伺服器是在使用者裝置上,而發動攻擊的 HTTP 用戶端則可在世界的任何一個角落。此 SDK 的惡意功能很多 (例如上傳或下載檔案),而且每一項都有獨立的類別 (class) 檔案。
圖 9:Moplus SDK 所支援的惡意功能。
圖 10:惡意功能與其對應的原始類別檔案。
如上圖所示,駭客可以從遠端取得裝置所在的定位資訊、搜尋方塊資訊、程式封裝資訊,以及使用者裝置上的其他敏感資訊。此 SDK 可從遠端新增聯絡人、掃瞄下載檔案,以及上傳使用者裝置上的特定檔案。這所有功能都只要從遠端發送一個簡單的 HTTP 請求就能達成。
圖 11: 隨意新增一整批聯絡人的程式碼。
此 SDK 有一個特殊指令叫「sendintent」,可用來設定裝置的本地端 Intent。如此一來,就能不必經過使用者同意,直接從遠端撥打電話、發送假冒的簡訊以及隨意安裝任何應用程式。
圖 12:一個叫做「sendintent」的指令可讓駭客遙控使用者裝置執行一些惡意行為。
此外,這個 SDK 還支援暗中安裝 APK 檔案,而且還能區分已解鎖 (root) 的裝置。
圖 13:支援暗中安裝應用程式。
圖 14:擁有系統管理員 (root) 權限的使用者可讓駭客發動更侵略性的攻擊。
以上發現證實了我們的判斷:這是一個後門程式而非漏洞。任何已經感染 Moplus SDK 的裝置都可能遭到攻擊。我們已經在使用最新 Android 6.0 作業系統的 Nexus 6 手機上做過簡單示範 (參閱圖 16 至 18)。每當「百度地圖」啟動時,我們就會看某個惡意服務 (bdservice_v1) 在背後持續執行。
圖 15:惡意服務「bdservice_v1」會在背後持續執行。
圖 16 至 18:在這幾張圖片當中,我們示範如何在行動裝置當中新增一個聯絡人。
由於 Moplus SDK 所啟動的本地端 HTTP 伺服器本身並無身分驗證功能,因此,不僅原本的 App 開發人員可以發動攻擊,事實上任何人都可以這麼做。只要一道指令,駭客就能從遠端遙控受感染的裝置。此外,他們只需利用 NMAP 通訊協定來掃瞄整個網路,並測試 TCP 連接埠 6259 或 40310 是否開啟即可。任何這兩個連接埠處於開啟狀態的 Android 裝置都有可能遭到遠端遙控。請注意,同一區域網路 (LAN) 以及同一 3G/4G 網路下的所有裝置都有可能遭到攻擊。
這是一項重大問題,甚至比 Stagefright 漏洞還要嚴重,因為後者還需經由網路釣魚連結將使用者帶到某個網站,或是透過使用者的電話號碼才能發送惡意簡訊。但此 SDK 卻讓駭客只需單純地掃瞄網路 IP 位址,而且不需使用者配合採取任何動作,也不需任何社交工程技巧。
其他發現和反制措施
目前我們已偵測到一個使用 Moplus SDK 的惡意程式 (ANDROIDOS_WORMHOLE.HRXA) 在網路上流傳,它會自動定期在裝置上安裝一些不當應用程式。如果是已經解鎖 (root) 的使用者裝置,它還可以暗中安裝應用程式。
Sha1雜湊碼: 2FA40A5302D92FB0C5C64CF6197F2D671BA7C30D。
有哪些應用程式內含 Moplus SDK?
Moplus SDK 並非開放的 SDK,照理說應該只有百度自己在用。但根據我們的資料,目前總共有 14112 個 App 內含這套 SDK,其中有 4014 個是百度官方自己的 App。以下是內含此 SDK 的前 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 內的一些惡意程式碼,並且在最新的產品當中修正了這個問題。在檢查過「百度地圖」的最新程式碼之後,我們發現他們還是保留了 NanoHttpd 伺服器,並且仍然使用 40310 號連接埠。
圖 19:最新版的 Moplus SDK 仍保留了 HTTP 伺服器,並且使用相同的 TCP 連接埠。
他們移除了某些惡意指令以及對應的程式碼。此外,他們也移除了自動在已解鎖裝置上暗中安裝應用程式的部分。如圖 21 所示,並非所有的惡意功能都已經從 Moplus SDK 清除,因此使用者裝置仍有危險。
圖 20:某些惡意指令仍保留在最新版的 Moplus SDK 當中。
圖 21:最新版的 Moplus SDK 只移除了紅色標示部分的惡意功能。
趨勢科技如何保護使用者的安全?
趨勢科技的 行動安全防護 可偵測此惡意SDK (ANDROIDOS_WORMHOLE.HRXA),不讓它有機會安裝到裝置上。此外,應用程式病毒掃瞄功能也能掃瞄已安裝的應用程式是否有惡意程式。同時,我們的持續更新與雲端掃瞄技術,還能提供不間斷的行動惡意程式防護。
除此之外,我們也建議使用者移除任何已遭感染的應用程式,除非未來出現更新版本證明該 SDK 的惡意行為已經徹底清除。目前我們仍在密切追蹤其更新狀況。
我們已經將此問題向 Google 和百度反應。
原文出處:Setting the Record Straight on Moplus SDK and the Wormhole Vulnerability| 作者:Seven Shen (行動裝置威脅分析師)
00
《現在加入趨勢科技LINE@,留言即刻輸入 888 看本月好友禮 》
《 想了解更多關於網路安全的秘訣和建議,只要到趨勢科技粉絲網頁 或下面的按鈕按讚 》
《提醒》將滑鼠游標移動到粉絲頁右上方的「已說讚」欄位,勾選「搶先看」選項,最新貼文就會優先顯示在動態消息頂端,讓你不會錯過任何更新。
【推薦】防毒軟體大評比: 惡意程式防禦力 PC- cillin雲端版榮獲第一名!
【推薦】PC-cillin 雲端版 榮獲世界著名防毒評鑑機構高度評比
趨勢科技PC-cillin雲端版 ,榮獲 AV-TEST 「最佳防護」獎,領先28 款家用資安產品防毒軟體 ,可跨平台同時支援安裝於Windows、Mac電腦及Android、iOS 智慧型手機與平板電腦,採用全球獨家趨勢科技「主動式雲端截毒技術」,以領先業界平均 50 倍的速度防禦惡意威脅!即刻免費下載