Xcode Ghost事件說明及處理建議

2015/09/22

在2015年9月,在大陸知名部落格上爆出了非官方下載的Apple Xcode IDE可能遭植入惡意程式碼的消息,這個問題是由於在中國大陸的特殊網路環境架構下,開發者對外連線至各廠商官網都需經過長城防火牆(Great FireWall),導致開發者可能因受到防火牆的攔阻無法至官方網站下載開發需要的IDE,因此開發者可能會透過其他第三方檔案下載網站(如百度網盤、迅雷等)下載所需的IDE,一般透過官方下載的檔案,官方大多會提供該檔案的完整性驗證資訊(如檔案的hash值),但第三方檔案下載網站大多缺乏完整性驗證這類資訊,導致開發者可能會下載到遭植入惡意程式代碼的二次打包產物。

而在本次事件當中,若發者下載到遭二次打包後的Xcode Ghost IDE,經由該IDE開發出的所有APP均可能遭植入惡意後門程式代碼,此問題也連帶影響到支援Xcode的所有平台 (如iOS、Mac OS X等),若執行經Xcode Ghost開發出具惡意程式代碼的App,將可能導致系統向駭客的中控伺服器 (C&C Server)上傳部份機敏資訊 (如Timestamp、app、bundle、name、os、type、status、version、language、country、adfv等資訊),另外在App編譯過程中也同時會在程式碼內籤入惡意廣告功能,但若開發者依循官方的軟體開發原則申請上架,且因官方無法對該App做更深層的檢查導致該惡意App成功上架,該官方App推廣平台也間接的成為了惡意App的散佈管道。

在目前台灣的App市場中,許多廠商均會透過向第三方App開發工作室外包開發專案,在這個情況下大多數廠商將無法得知此第三方工作室的工作環境是否安全,使用的IDE是否為官方下載,開發中使用的插件是否具風險或是漏洞等問題,雖然目前Apple AppStore已宣稱將受感染的App下架處理,但官方的App推廣平台的上架機制未來應當依舊無法找出如此案件發生的問題,針對App的安全責任相對的就落在了廠商、開發者的身上。

針對本次事件,開發者簡易的環境檢查方式可參考如下:

1. 使用快速鍵 "Command + Shift + G"

2. 填入目錄名稱『/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs』,然後按下前往按鈕

3. 如果出現名為『Library』的資料夾,表示這台電腦上的Xcode為受感染的版本


針對開發者提供的建議如下:

1. 將透過非官方下載的Xcode IDE移除,之後透過Apple官方的開發者中心下載正版的Xcode。

2. 若使用有問題的Xcode編譯過的App重新透過正版Xcode進行編譯。

3. 盡快向Apple AppStore說明解釋,並將透過正版Xcode編譯更新後的App上架提供給使用者進行更新。

由於本次Xcode Ghost事件最主要的影響範圍為中國大陸開發的App,建議個人用戶可檢查自身裝置App安裝清單

若有安裝中國大陸開發的App (如本次已知受影響的 微信、滴滴打車以及憤怒鳥 2等)則可參考建議如下:

1. 若開發商提供修復版本應立即更新。

2. 若開發商尚未提供修復版本,應暫時將該App移除。

3. 立即修改iCloud等密碼降低資訊外洩的可能性。

目前網路上已知更多受感染的App相關資訊可參考如下:

Security firm published list of some of the iOS apps infected by XcodeGhost - including Angry Birds 2

Malware XcodeGhost Infects 39 iOS Apps, Including WeChat, Affecting Hundreds of Millions of Users

其他訊息