注:譯文未獲得平底鍋授權,純屬學習性質翻譯
原文:https://www.paloaltonetworks.com/content/dam/paloaltonetworks-com/en_US/assets/pdf/reports/Unit_42/unit42-cool-reaper.pdf
綜述
宇龍酷派是中國第三大以及全球第六大智能手機生產廠商。最近我們研究發現許多高端酷派手機在預裝軟件均包含一個后門程序,我們將此后門稱為:CoolReaper
在看到許多酷派用戶反饋手機上的可疑現象后,我們下載了多個中國區發行的官方固件,其中大多數都包含了coolreaper這款后門應用。
CoolReaper表現出以下行為:
- 靜默下載、安裝或者激活任意應用且不通知用戶
- 清除用戶數據、卸載已安裝應用或者禁用系統應用
- 偽造OTA信息提示用戶升級系統其實是安裝一些推送的應用
- 發送短信或者彩信以及偽造手機中的短信或者彩信
- 撥打電話
- 上傳用戶設備信息、位置信息、應用使用情況、通話記錄、短信記錄到酷派服務器。
手機生產廠商一般會在設備中安裝一些定制軟件,但是coolreaper貌似不那么簡單。一些移動運營商也會預裝一些軟件用于收集用戶使用習慣和數據。Coolreaper比這些做的更多非常類似一個后門。
中國的酷派用戶在網上反饋后門應用靜默安裝軟件已經推送廣告的行為。不過這些反饋信息均被酷派忽略或者刪除。
酷派同時還在他們的許多固件中還更改了底層安卓系統。這些變動主要目的是隱藏后門coolreaper組件不被用戶發現以及不被其他應用分析。這使用殺毒軟件無法輕易檢測到此后門應用。
9月,一個名烏云白帽子發現coolreaper后臺系統的漏洞。后臺呈現出coolreaper的各種操作指令。
現階段酷派手機后門只能影響到中國用戶,但是酷派的國際化戰略意味著這款后門應用將有可能影響全球Android用戶
酷派后門
User Reporting for this Threat
酷派是宇龍集團旗下智能手機品牌,港股編號:02369
根據華爾街日報及易觀國際分析顯示酷派是全球第六大智能手機生產廠商。而實際上,基于最新的IDC數據分析報告酷派占全球3.7%的市場份額。從2012年開始,酷派就已經成為了中國第三大智能手機制造廠商,2014第二季度占有市場份額11.5%。僅排在小米和聯想之后。2014上半年酷派在中國4G手機市場份額占15.8%位居第一。
酷派手機旗艦系列取名halo(又叫大神手機),此系列涵蓋了3G與4G兩種通信制式。
酷派通用也有廉價產品。以下是其官方商城售賣的手機:
- The Halo (Dazen) series: Dazen F1, Dazen F1 Plus, Dazen 1S, Dazen F2, Dazen Note
- The S series: Coolpad S6
- The K series: Coolpad K1
- The Magview series: Magview 9970, Magview 8971
- Others: Coolpad 8730L, Coolpad 8720L, Coolpad 7295, Coolpad 9150W, Coolpad 9080W, Coolpad 5951, Coolpad 7295C, Coolpad 8908
?
相對零售渠道,酷派更大的出貨渠道是中國三大運營商:中國移動、中國聯通以及中國電信。(定制機)
盡管不像蘋果和三星那么出名,酷派在中國依然很暢銷并且在國際市場迅速擴張,尤其是在4G手機市場。2014上半年,酷派生產制造29款新手機,其中12款支持4G網絡。2013全年酷派生產了三千七百二十萬臺設備,并在2014年僅三月一個月中就生產了六百萬臺設備。酷派的目標是在2014年銷售六千萬臺手機,大神系列預計銷售超過一千萬臺。
酷派全球擴張
根據華爾街日報報道,酷派計劃向東南亞、歐洲以及美國市場進軍。
在美國酷派官網銷售以下三種機型:
- Coolpad Quattro 4G (Coolpad 5860E)
- Coolpad Flo
- Coolpad Quattro II
2014年,酷派與MetroPCS公司(已被T-Mobile并購)合作在美國售出了超過一百三十萬的Quattro 4G設備。2014年,酷派與GoSmart Mobile合作開始在美國銷售酷派Flo手機
2013年初,酷派聯合 Vodafone 與 France Télécom 在超過10個歐洲國家銷售8860U 以及 8870U。
2014年7月初,酷派與東南亞的一運營商合作在印度和印尼運作,并且計劃進軍泰國、緬甸以及馬來西亞市場。截至2014年9月,在這些國家已經銷售超過50萬大神系列手機。
CoolReaper: The Coolpad Backdoor
2013年10月報告中的可疑界面開始出現中國用戶的酷派手機中。用戶反饋廣告推送出現在通知欄,通過OTA升級后系統并未得到升級而是出現一些不是用戶安裝的新應用。為了定位這些反常事件我們開始調查酷派官方rom以及酷派修改過的rom
酷派提供大神系列、s系列、k系列zip格式的官方rom以及其他機型的定制官方rom。這些rom均能在酷派官方論壇或者官方服務中心下載到。酷派提供這些固件給用戶OTA升級或者重新刷機. 我們猜測(并未確認)手機出廠時也是刷的這些rom。
2014年11月我們從酷派官方論壇下載了大神系列8個機型的45個官方rom。為了增大測試范圍,我們又下載了其他20個機型的32個第三方rom。這些第三方固件都是基于官方固件修改的。

我們總共調查了77個酷派手機rom,其中64個包含后門coolreaper。大神系統8個機型有41個rom有后門,其他23個第三方固件設計16種機型也都有后門。我們確認至少有24種不同的酷派手機種存在coolreaper后門。下表是我們分析后的rom后門存在情況。

CoolReaper Files and Versions
在分析的這些rom后門coolreaper分別以下文件名的形式存在:
- /system/app/CP_DMP.apk
- /system/app/CP_DMP.odex
- /system/app/GoogleGmsFramework.apk
- /system/app/GoogleGmsFramework.odex
- /system/lib/libgmsframework.so
libgmsframework.so并不是個庫文件,其實是一個apk文件。在同一個rom里此文件的內容與GoogleGmsFramework.apk相同。唯一區別是這個偽造的庫文件使用調試證書簽名。
我們發現的12個不同此coolreaper版本如下表

開發者使用了編譯日期作為版本號,使用編譯日期+時間作為版本名稱。利用這兩個特征我們可以確認CoolReaper開發日期是2013年10月12號或者更早。
2014年5月我們注意到此后門做了一個版本升級,從2.x升級到3.0。同時后門的文件名由CP_DMP.apk變更為GoogleGmsFramework.apk。我們懷疑酷派這么做是因為網上有用戶反饋CP_DMP.apk是惡意軟件。
Origin
有一種可能Coolreaper后門是由第三方制造的。不過根據分析我們相信后門是由酷派官方制作并且安裝到酷派手機種的。
所有的CoolReaper的簽名是酷派公司的,41個受影響的官方rom中都使用的相同的簽名。
一些官方rom對底層安卓系統做了修改用于使coolreaper消失在用戶和殺軟的視線中。
用于給coolreaper發送控制指令的服務器使用的域名 coolyun.com 和 51Coolpad.com 是由酷派官方注冊的。而且給用戶提供云服務。
11月,Coolreaper后臺控制系統被暴露。酷派確認存在此系統并且許諾修復漏洞。這個控制系統是coolyun.com的子域名。
CoolReaper Analysis
為了分析后門的功能,我們從大神F2種提取一個coolreaper樣本。F2基于android4.4,rom編譯于11月18號
Build ID: 4.4.051.P2.141118.8675
ROM_SHA-1:39240a84070040c27221b477f101bf9b1555d7ce
PATH:/system/app/GoogleGmsFramework.apk
APK_SHA-1:3753244484c4a8b2b2dc8c3b7e119eabd0490398
后門apk使用了ProGuard進行代碼混淆。混淆后的命名使得逆向工作十分困難。為了方便分析代碼,我們參考其意圖嘗試重命名進行還原。讀者將在這份報告中看到許多這樣重命名后的截圖。我們重命名方法遵循以下原則:
CoolPreaper的開發者留下了許多debug信息可以幫助鑒別原類名或者方法名,如果可能我們盡量使用這些命名。

代碼質量較高,開發者保持使用特定的框架。重命名的時候依據此框架。
當我們無法識別開發者意圖命名時,我們根據此此對象的功能來命名。
更改方法名使得代碼可讀性更高而且并不影響代碼邏輯。
System Application with System User ID
在安裝有后門的固件中,CoolReaper以系統應用安裝。所有的樣本都有著同樣的包名"com.android.update.dmp"。特征字符"DMP"出現在文件名、包名、C2的URL中以及其他地址,我們懷疑DMP就是 “Data Management Platform.”的縮寫。
在配置文件AnroidManifest.xml中,coolreaper定義了android:sharedUserId屬性為“android.uid.system”

這樣做coolreaper將擁有系統UID并以system權限運行。目的是將其變成系統應用而非第三方應用。
下面是從官方固件中提取的coolreaper的簽名信息
Owner: [email protected], CN=YuLong, OU=YuLong, O=YuLong,
L=ShenZhen, ST=GuangDong, C=CN
Issuer: [email protected], CN=YuLong, OU=YuLong, O=YuLong,
L=ShenZhen, ST=GuangDong, C=CN
Serial number: fb1ecd58cb8358f7
Valid from: Fri Oct 22 08:26:53 PDT 2010 until: Fri Sep 21 08:26:53 PDT 2035
Certificate fingerprints:
MD5: DB:DB:3B:ED:34:72:B1:B3:C4:CA:59:BE:CD:33:9F:44
SHA1: 5D:F8:F0:82:12:61:A2:34:D1:11:02:8E:FD:DF:FA:3C:88:89:76:49
Signature algorithm name: SHA1withRSA
Version: 3
User Interface
CoolReaper顯示的應用名字是"Android System",并且使用了其他真正系統應用的圖標。CoolReaper在應用桌面是不可見的。
CoolReaper實現了很少的用戶交互的組件。其中一些是不生效的,比如 com.android.update.dm.MainActivity . 還有一些惡意意圖的功能,像組件 com.android.update.dmp.PretendedOTADialog 用于顯示一些偽造的OTA升級通知。 com.android.update.dmp.weblinkhandler.WebLinkActivity 用于通過遠程控制打開指定頁面。
大多數的惡意功能均是靜默實現不需要與用戶進行交互,用戶很難發現和阻止。
Code Structure
CoolReaper主要代碼可以分割成兩個組件:DMP和ICU
在DMP的java class都有前綴"com.android.update.dmp"。他們負責接收從C2服務器發送的命令、下載相關文件表現為本地惡意行為。此組件可以通過開機、聯網、點亮屏幕觸發。當這些事件發生時,DMP在后臺啟動一個服務:com.android.update.dmp.SystemOptService
在ICU組件中的java class前綴為:com.android.icu,他們負責手機用戶信息并發送到C2服務器。ICU以系統服務形式運行:com.android.icu.service.SystemPipeService
以上分析顯示DMP和ICU是分別開發的,他們有著不一樣的功能、不一樣的路徑、不同的的C2地址并且不相互影響。
Component Functionalities
CoolReaper中的DMp和ICU組件實現了很多功能,當他們組合起來時變成一個非常強大的后門。
DMP組件主要負責遠程控制設備,此組件的具備以下功能:
- 下載指定APK文件,OTA升級且不需要用戶確認
- 后臺安裝apk不需要用戶確認
- 啟動任意已安裝的應用且不需要用戶確認
- 啟動任意應用指定的服務不需要用戶確認
- 后臺靜默卸載任意應用不需用戶確認
- 桌面任意創建或者刪除快捷方式
- 清除指定應用數據不需要用戶確認
- 禁用或者激活任意系統應用不需要用戶確認
- 通知用戶正常OTA升級
- 偽造OTA升級通知
- 使用之前下載好的升級包強制OTA升級
- 撥打任意電話不需要用戶確認
- 發送指定短信內容到指定號碼不需用戶確認
- 插入任意指定短信活彩信到收信箱并且在通知欄顯示偽造通知
- 通過默認瀏覽器打開指定鏈接
- 設置或者獲取系統變量
- 彈出通知欄或者對話框,如果用戶點擊將會下載指定apk
- 彈出通知欄,用戶點擊后撥打指定號碼
- 彈出通知欄,用戶點擊后顯示指定頁面
- 彈出通知欄,用戶點擊后登錄或者安全指定應用
- 上傳用戶磁盤信息到c2服務器
- 上傳用戶手機是否root的信息到C2服務器
另一方面,ICU組件主要負責手機用戶信息發送到C2服務器,ICU收集如下信息:
- 設備硬件信息
- 設備地理位置信息包括城市、省份信息
- 安裝的應用以及使用頻率信息
- 通話數以及短信收發數量
- 網絡信息,包括聯網類型以及聯網時間
上述功能明顯表明CoolReaper可以扮演后門的角色。后臺操作者可以輕易的在用戶設備上卸載或者禁用安全軟件、安裝惡意軟件、竊取用戶信息以及注入虛假信息。
除了這些功能外,代碼里許多調試字符串就包含"backboor"關鍵字。比如下面的類"BackDoorManager"含有有一個方法"processBackDoor"

當啟動偽造OTA升級功能時,反饋報告里的信息是"the preset app back door is opened!",以及在默認配置文件中一個item取名為"isBackDoorMsgSended"

這些調試信息、反饋信息自身顯然不是惡意軟件,但是通過這些字符串可以看出CoolReaper的制作者的意圖是想在設備中安置后門。
CoolReaper包含太多功能不能再這里一一描述。附錄中將貼出其后門功能的代碼截圖
Command and Control Servers and the Coolyun Service
CoolReaper的DMP和ICU組件使用不同URL群作為他們的指令服務器。
DMP組件的后臺的域名和ip信息如下:
- dmp.51Coolpad.com
- dmp.coolyun.com
- 13.142.37.149

在我們分析時這些域名解析到13.142.37.149,CoolReaper有能力在任何時候更新C2的地址

DMP組件使用HTTP POST請求與C2服務器通信,當獲取到命令或者上傳信息的時候,它會使用特別的User-agent:"UAC/1.0.0 (Android <Build.VERSION.RELEASE>; Linux)"。這里的<Build. VERSION.RELEASE>是安裝在手機中android操作的系統的版本。

在CMP組件里,Coolreaper使用了13個不用的URL用來注冊設備、獲取指令、返回執行結果、上傳執行信息、下載apk文件以及執行其他任務。這些URL如下:
- http://dmp.51Coolpad.com/dmp/api/getfirstpushmsg
- http://dmp.coolyun.com/dmp/api/userregister
- http://dmp.coolyun.com/dmp/api/getstrategy
- http://dmp.coolyun.com/dmp/api/getpushmsg
- http://dmp.coolyun.com/dmp/api/reportpushmsg
- http://dmp.coolyun.com/dmp/api/updatepushmsg
- http://dmp.coolyun.com/dmp/api/exceptupload
- http://dmp.coolyun.com/dmp/api/setuserstate
- http://dmp.coolyun.com/dmp/api/getapkupdate
- http://dmp.coolyun.com/dmp/api/strategyandupdate
- http://dmp.coolyun.com/dmp/api/ctruleservlet
- http://dmp.coolyun.com/dmp/api/ctrulereportservlet
- http://dmp.coolyun.com/dmp/api/strategyandupdate
ICU組件使用如下URL下載配置數據以及上傳用戶信息:
- http://icudata.coolyun.com/
- http://icudata.51Coolpad.com/
- http://113.142.37.246/filereceiver
- http://icucfg.coolyun.com/
- http://icucfg.51Coolpad.com/
- http://113.142.37.246/icucfg
- http://file.Coolpadfuns.cn/actioncollect
coolyun.com除了發送指令控制設備外還解析為酷派官方云服務:酷云。

通過酷云,酷派提供服務以及應用給安卓用戶。我們對比了CoolReaper以及酷云客戶端來確認它是否是酷云的合法管理應用
酷云客戶端的包名為:com.android.coolwind 。它在cooyun.com以及各大應用市場均能下載。我們注冊了一個酷云帳號發現其只給用戶提供了少量服務,包括備份聯系人以及云存儲。這些功能和coolReaper比起來簡直小巫見大巫。
事實上,處理使用同樣的C2域名外,CoolReaper和酷云唯一的關系就是ICU組件在設備上收集酷云帳號并且發送到C2服務器。
CoolReaper Back-End
一般來說像像CoolReaper這種后門的后臺控制系統是很難被找到或者公開的,但是最近酷派開發給我們了一個機會去見識下酷派到底是怎么使用這個后門的。
2014年9月19號,烏云白帽子"愛上平地山"在烏云網上報酷派漏洞

烏云負責任的漏洞披露流程,意味著漏洞細節不能馬上公開。盡管如此,作為一個烏云白帽子我們能在酷派確定漏洞一個天數后看到漏洞細節。
漏洞細節是一個代碼執行導致被getshell,然后白帽子進入了酷云權限管理平臺:auth.coolyun.com。平臺上顯示有如下功能:
- PUSH偽裝OTA推app
- 靜默安裝apk
- PUSH激活應用
- PUSH后臺命令

通過安全牛的報道,得到一張沒有馬賽克的后臺系統截圖。顯示該系統具有如下功能:
- 靜默安裝apk
- 靜默卸載apk
- 后臺激活第三方應用
- 后臺激活第三方服務
- PUSH后臺指令下發
- PUSH推送APK
- PUSH激活應用
- PUSH打開網頁鏈接
- PUSH推送HTML
- PUSH推送撥打電話
- PUSH短信偽裝插入
- PUSH彩信偽裝插入
- PUSH偽裝OTA推APP
- PUSH推OTA升級包
- PUSH發OTA升級廣播

上面的描述的功能和分析的CoolReaper實現的代碼均能對應上
2014年11月21日,安全牛發表了第二篇文章酷派公關陳述:僅用于內部測試。要求安全牛撤稿,安全牛要求其發送正式信函并且出示相關證明,之后酷派并未回應。
Hiding CoolReaper from Users
酷派手機的固件除了包含CoolReaper后門外還做其他改動意圖來隱藏此后門
Hidden from list of Installed Packages
第一處變動位于/system/framework/services.odex 此文件為安裝系統實現了基礎服務以及其他組件。酷派修改了PMS中的getInstalledPackages方法用于收集安裝于android的包。改動還特意照顧了"com. android.update.dmp"酷派后門,用于阻止其返回給請求程序。

此處改動不僅從用戶角度隱藏了此后門包同時也能規避殺軟和MDM。也就是說殺軟是無法掃描到它以及判斷它是否為惡意軟件。
Disable Notifications Menu
第二處改動是在 /system/app/SystemUI.odex 。酷派更改了com.android.systemui.statusbar.BaseStatusBar類的getNotificationLongClicker方法。
通常來講,當android應用在系統通知欄顯示通知時,用戶可以通過長按通知欄來鑒別此通知的來源而且可以禁用此通知。
但是通過更改代碼,任何CoolReaper的通知信息都將阻止用戶去鑒別來源。

Evading Pre-Installed Antivirus Program
第三處改動是用于預安裝酷派自家的安全應用"酷管家",此款應用提供基本殺毒以及其他安全服務。每當應用安裝或者更新的時候,酷管家都將進行安全掃描。與之前的改動類似,如果掃到包名為"com.android.update.dmp"將會繞過其掃描。

CoolReaper Reach and Impact
Customer Reports
9月30號在谷歌搜索后門CoolReaper的應用名“CP_DMP.apk”,我們發現有236條搜索結果。其中大多數是酷派用戶在論壇討論此文件

從2013年9月開始,用戶開始討論他們的酷派手機發生的一些如下莫名行為:
- 設備自動升級
- 設備頻繁在通知欄收到廣告通知
- 設備靜默安裝許多游戲
- 設備提示OTA升級,重啟后發現系統并未升級只是多出了11個新應用

用戶抱怨之后不久,coolreaper進行了一次升級,版本由2.x升級到3.0.應用名由CM_DMP.apk變為GoogleGmsFramework.apk。我們認為此次升級的意圖是為了隱藏后門來躲避用戶已經定位的文件。這招貌似成功逃過了用戶通過應用名"CP_DMP.apk"來定位后門的方法。下圖的帖子中一個用戶詢問:為何刪除了CP_DMP.apk,幾天后廣告又出現了,我們該怎么搞它?

Geographic Range of Impact
我們不知道多少酷派設備包含coolreaper后門,考慮到coolreaper被加入到最近12月生產的24種機型里,以及IDC公布的酷派銷售目標,故影響的設備非常可能超過一千萬。
大多受影響的設備都是在中國,貌似這個后門是為中國人定制的。后門的一處代碼顯示通過判斷設備SIM卡的IMSI來確定其運營商歸屬

2014年11月25日,我們在加利福利亞購買一部酷派FLo手機并未發現其包含有CoolReaper后門,這個手機制造時間超過一年,應該是它制造日期太早沒來得及放入后門。我們并未分析前面提到的另兩款在美國銷售的機型以及其在歐洲和東南亞銷售的機型。只有中國發行的ROM可以被下載。
Coolreaper存在非中國地區可能基于以下幾個原因:
- 在C2C網站像eBay這也,一些酷派手機從中國用戶手中流出
- CoolReaper已經被安裝在國外銷售的機型中只是并未出現在我們所分析的設備
- 通過官方OTA升級CoolReaper被遠程安裝,CP_OTA.apk具有此功能。這個包被安裝在美國銷售的酷派FLo上。有用戶抱怨,刪除CP_DMP.apk后,其有被自動重新安裝。這個重新安裝的過程可能是通過ota機制實現實的。
2014年10月,兩位用戶反饋酷派5950t被植入后門

除了上面兩位用戶的反饋,11月11號我們檢測到CoolReaper控制指令http請求報文。

Detection and Protection
CoolReaper很難被殺軟檢測到以及刪除。酷派通過更改android底層系統來繞過安全軟件的檢測coolreaper。coolreaper使用的是酷派官方證書簽名,這也又可以繞過一些基于白名單機制的檢測的安全軟件。另外,如果殺軟能檢測到此后門,也沒有在非ROOT的情況下刪除后門的權限,因為coolreaper是以系統應用安裝的。
2014年4月以及7月。三個coolreaper的樣本被上傳到VirusTotal。8月23、24,安全機構將這三個樣本定性為惡意、可疑文件。盡管樣本被標識為"Generic"或者"agent"族,這些表明安全機構沒有精確定位到此惡意應用。一些機構將其定位為"Trojan.Android.Andup.a"是不準確的。

酷派個人用戶,我們建議通過root explorer軟件查看你的手機是否有以下文件:
- /system/app/CP_DMP.apk
- /system/app/CP_DMP.odex
- /system/app/GoogleGmsFramework.apk
- /system/app/GoogleGmsFramework.apk
- /system/lib/libgmsframework.so
如果存在以上任意一個文件,你的手機就很有可能存在CoolReaper后門。如果你的手機已經root,你可以使用root權限輕易的刪除這些文件。不過,酷派還是有可能通過OTA升級給你安裝新的后門。
Conclusions and Risks
基于以上分析我們對Coolreaper做了如下總結:
- Coolreaper使用酷派官方數字證書簽名,安裝在酷派官方固件中使用酷派的服務器控制發送指令
- 酷派承認存在手機管理接口,而這個接口的功能更Coolreaper實現的功能對應。這個接口的服務存在漏洞以及被人利用入侵
- 酷派官方固件做了改動來避免用戶以及殺軟發現coolreaper
- 在許多用戶反饋和抱怨被強制推送了廣告和應用后酷派并未解決這些問題
也許酷派制作這款程序的目的是為了幫助用戶提升用戶體驗。手機廠商在設備上安裝定制軟件,但是coolreaper功能已經完全超出了用戶的預期。這個后門能讓酷派完全控制任意酷派手機。中國用戶已經反饋此系統正用于推送廣告和應用。
事實上coolreaper的管理接口很可能被攻擊者利用漏洞拿下,這樣對用戶的威脅將會更大。盡管現在被修復一個,但是誰能保證以后不再有了。
已知的coolreaper后門僅影響中國用戶,但是隨著酷派的全國擴張這個后門很可能影響到全球Android用戶。
Appendix A:
Significant Malicious Behaviors
Coolreaper實現的大多數功能都能歸類為惡意意圖,下列代碼展示此后門的各種行為。
后臺安裝下載apk

后臺卸載apk

打開指定應用

清除指定應用數據

激活禁用指定系統應用

偽造ota更新用于打開后門

撥打指定號碼

發送任意短信

偽造任意短信到收信箱

彈出收到偽造短信的通知

偽造任意彩信到收信箱

獲取或者設置系統變量

亚洲欧美在线