【XcodeGhost風暴事件發展示意圖】駭客找出可以造成超大規模感染的新手法,先從蘋果官方網站取得開發工具Xcode(圖1) ,然後植入惡意程式碼打造一套遭到污染的Xcode(圖2) ,駭客就把這些遭到污染的Xcode上傳中國雲端空間和論壇(圖3) ,並且在論壇四處散布問題Xcode的下載來源(圖4) 。開發者便下載遭到污染的Xcode(圖5),使用受污染的Xcode開發惡意App,並發布遭到污染的App。 受到污染的App會自動連線到受到污染Xcode所內建的命令與控制伺服器,回傳包括應用程式和裝置的資訊。對開發者而言,使用污染Xcode開發的惡意App數量超過4千個,受駭的使用者超過數億人,許多包括臺灣人都經常使用的中國App都在這次受駭App的名單中,例如,騰訊、百度、微信、滴滴打車等App。(資料來源:中國安天,iThome整理製圖,2015年10月)

許多人普遍的印象是,蘋果手機是相對安全的手機,因為App上架審核的過程嚴謹,也減少許多惡意App存在App Store的問題。只不過,這樣的「安全」到今年九月中旬,因為爆發開發者採用山寨版Xcode撰寫程式,導致許多開發出來的App都隱含許多資安風險而破功,形成蘋果公司有史以來最嚴重的資安風險。

這次受到影響的App數量相當龐大,首先這起事件是中國騰訊安全緊急響應中心率先發現後,並通報給中國的國家互聯網應急中心(CNCERT/CC),並在9月14日正式公布第一則關於XcodeGhost的預警通報「關於使用非蘋果官方Xcode存在植入惡意代碼情況的預警通報」,之後,包含中國和國外許多資安研究單位,也紛紛開始對此一由惡意開發工具所打造出的惡意程式展開研究。

像是,美國資安公司Palo Alto  Networks的資安研究單位就揭露,總計有超過39款的iOS應用程式已被這個山寨開發工具XcodeGhost感染,其所開發出來的各種App,包含許多臺灣兩岸三地普遍使用的即時通訊社交軟體微信(WeChat),或者是在中國搭乘計程車一定要使用的滴滴打車(DiDi Taxi)App,中國最大的地圖導航高德地圖(Gaode Map),鐵路訂票一定都要使用的鐵路12306訂票App,都成為此次受駭的App。

其他許多中國金融App也在此次受駭的名單中,根據蘋果公布受影響的前25大App名單中,中國最大的炒股App同花順(Flush)及同花順高清版(Flush HD),都受到XcodeGhost山寨開發工具的感染,當然也包括許多中國受歡迎的手機遊戲App,例如:憤怒的小鳥2(Angry Bird 2)、航海王(One Piece )等,甚至是許多中國雲端音樂播放下載服務App,像是網易雲音樂(NetEase Music )和百度音樂(Baidu Music )等,也都全數受駭。

這次受到污染Xcode開發出來的App中,也有包含中國相當受歡迎的網易雲音樂。此次,全球檢測出有4千個受到感染App的資安公司Fireeye,也實際在行動威脅平臺中,發現網易雲音樂有連線到揭露的命令與控制伺服器網址。圖片來源/FireEye

受到山寨開發工具感染的App數量持續增加,從原本數十個增加到數百個,像是第一個發現這起資安事件的騰訊安全緊急響應中心便針對中國前5千大的App檢測,發現有76款App受感染;奇虎360團隊在其部落格中列出344款受駭的App;在中國最大漏洞揭露平臺烏雲(WooYun)的知識庫中,安天分析小組就指出,截止到2015年9月20日,受到山寨Xcode感染的App數量高達692種(如按版本號計算為858個);全球最大iOS越獄團隊盤古則宣稱,已經檢測到3,418款被感染的不同的iOS應用程式;美國資安公司FireEye調查更顯示,這些使用山寨開發工具被惡意程式感染的數量,已經超過4千個。

受駭App數量眾多,而影響到的使用者更是不計其數。由於中國禁用許多歐美的即時行動通訊軟體,只要有與中國民眾溝通聯繫的需要者,以往電腦版是騰訊QQ稱霸,到了智慧型手機普及後,微信成為必須要安裝的溝通App,尤其兩岸三地互動頻繁,許多臺灣民眾的手機都少不了微信。

根據微信官方統計,到2015年8月,微信每個月的活躍使用者超過6億人,用戶涵蓋200多個國家,使用語言版本超過20種;而今年第一季中國iOS市占率達25.4%,若由此大概推估,光是微信這個受駭App,所影響到的潛在受駭使用者就超過1.53億人。

除了這些中國常見的App外,中國有許多生產力類別的App,例如名片掃描的名片王或文件掃描的CamCard等,更是許多歐美國家App下載排行榜常客。這些遭到山寨Xcode感染的受駭App影響所及,不只影響中國、臺灣兩岸三地的使用者,隨著App下載使用無國界,受駭範圍更擴及到全世界。

除了受駭App數量眾多,潛在受駭使用者可能超過1億人,從這起事件更看出一個必須嚴肅以對的關鍵問題,那就是,不論是百度、騰訊、網易,甚至是許多中國銀行保險金融業者等中國第一流的公司,在進行iOS的App開發時,竟然會選擇非官方的山寨版開發工具XcodeGhost作為開發平臺。

和這些大公司有合作關係的業者或是一般使用者,是否還能相信這些「大公司」開發出來的App是安全的呢?現在這個版本的App發現問題,更早期之前的產品是否也安全無虞?未來這些大公司所開發新的App產品,是否還可以信任呢?

安全其實就是一種「信任」的議題,不論是研發產品的公司或者是產品的使用者,是否還能一如以往的相信這些產品的安全性並安心使用,這將會是這些公司面對使用者時,所必須承擔的無形成本。

根據史諾登揭露文件,美國中情局3年前已有類似攻擊手法

這次發生中國開發者使用第三方下載的非官方山寨開發工具XcodeGhost,該開發工具被植入許多惡意行為程式碼,一旦使用這個山寨版開發工具XcodeGhost所開發出來的App,都會在未經使用者同意下,上傳許多應用程式和一些手機裝置資訊到山寨開發工具XcodeGhost內建的第三方命令與控制伺服器(C&C Server)。

根據Palo Alto Networks的研究報告,這個山寨開發工具XcodeGhost於今年3月對外釋出,而在今年3月10日,揭露美國國安局全球監控一事的美國國安局前雇員史諾登(Edward Snowden)則公開一份美國中情局(CIA)於2012年的研究報告。

在該份報告中指出,中情局在2012年已經發現,可以透過偽冒一套蘋果的開發工具Xcode,用來監控所有使用該偽冒開發工具所開發的App及後續的修改版本,而這套偽冒開發工具所開發的App,可以在蘋果App Store上架並販售,且不會被任何人員發覺有異常之處。

研究人員更指出,使用修改過後的Xcode所開發出來的App,一旦安裝到某支蘋果手機時,這個受駭的App就可以竊取蘋果手機上的密碼與訊息,甚至可以強迫手機上所有的App,嵌入竊取到的資訊,並對外傳送到某一個特定的監聽網站。不過,當時並不清楚,應該如何讓開發者都願意使用這個受到感染的Xcode開發工具開發相關的App。同樣的,研究人員也宣稱,他們修改Mac OS的更新程式,未來不只可以安裝Mac OS新的漏洞修補程式,還可以成功安裝鍵盤側錄程式(Keylogger)。

由於史諾登公布的文件和受感染的XcodeGhost在同一個月份對外釋出,雖然無法確認期間有什麼樣的因果關係,或許也可以設想,XcodeGhost作者可能也受到美國中情局該份研究報告的啟發,進而成功實作出一套內建惡意程式碼的山寨版蘋果開發工具。

從第三方下載開發工具,潛藏惡意程式而不知

對美國中情局而言,即便設想到可以藉由感染開發工具,讓使用受駭開發工具開發出來的App,都會內建惡意程式的想法,卻遲遲無法實作。最主要的原因在,多數的iOS或是Mac OS的開發者,都習慣從官方網站下載Xcode開發工具,極少從其他第三方雲端硬碟或者是連結下載該檔案。

但是,同樣的開發習慣到中國市場卻有了改變。許多中國iOS或Mac OS的App開發者,選擇不要從官方網站下載蘋果公司提供的開發工具Xcode,而從第三方,例如許多雲端硬碟空間或者是P2P下載。許多臺灣的蘋果開發者認為,除了中國對外連線頻寬受限外,不正確的開發者心態和習慣,都更加重中國開發者採用第三方山寨開發工具的正當性。

曾經開發21世紀房仲業者看屋App、東森新聞和UDN新聞App及愛料理App的App跨界交流協會、日傑資訊App開發顧問江鍾權表示,蘋果推出的Xcode開發工具(IDE)是一套囊括從程式開發、編譯到整合後端App送審流程的開發工具,以目前臺灣頻寬下載該套完整的開發工具,有些時候甚至需要半小時到一小時,更遑論若要從中國連到美國蘋果公司官網下載Xcode,下載耗費時間更久。也因此,他說,許多中國開發者都習慣透過彼此的互助合作,「分享」已經下載的開發工具Xcode。

江鍾權後來也同時開發Android平臺的App,他也觀察到,有些人會把Google推廣的Android Studio官方開發工具和Xcode下載相比,但他認為,把兩套開發工具直接比較並不公平,因為,Android開發者容易忽略一個重要環節,那就是,大約800MB的Android Studio,因為只提供編寫程式的功能,一下載雖然就可以立即使用,但是,開發者仍必須針對所開發的Android版本,額外下載其他大於5GB的函式庫,還不包含App送審流程,整體Android開發工具的容量和提供一條龍開發、編譯和送審流程、大約5.59GB的Xcode相比,容量大小或許差不多,但對開發者提供的便利性則差很多。

除了頻寬和開發習慣外,南臺灣最大行動開發研討會MOPCON副總召,也是臺灣早期開發iOS App並上架的莊志鴻(網路暱稱Mikimoto)表示,早期,所有要下載蘋果Xcode開發工具的人,一定必須要先跟蘋果公司註冊開發者帳號才能下載使用,要註冊帳號就必須支付一年大約99美元的年費。

他進一步解釋,因為許多中國開發者會習慣在中國的各種網路論壇中,彼此分享各自付費的App,透過破解方式再進而分享給大家,每一個分享就會有所謂的積分,而這樣的積分就會讓分享者在該論壇,有更多下載其他破解版程式的權力。

這對於中國開發者和使用者就形成一個「正向」循環,人人都願意至少付費一套應用程式再破解分享給大家使用。當許多中國開發者到使用者都在這樣的循環中,包括iOS和Mac OS的開發者,也因此,只要有一個人付費下載了Xcode再分享,其他人就可以節省這一筆註冊費用。莊志鴻指出,許多中國開發者從過往的開發和使用習慣,加上節省一筆註冊費用,從論壇或彼此分享的第三方雲端硬碟中,下載Xcode開發工具,已經成為一種中國開發界的常態。

不過,付費情況到了2014年已經有所調整,他表示,蘋果因應許多穿戴式裝置的普及,放寬Xcode下載的開發限制,不論是否註冊開發者帳號,包括一般人都可以免費下載安裝Xcode。而在今年9月蘋果新產品發表會上,蘋果執行長庫克甚至宣示,即便沒有開發者帳號,現在也可以把Xcode開發的程式安裝在行動裝置上做測試。「不過,即便現在已經可以免費從蘋果官方下載Xcode,但積習使然,許多中國App開發者,依舊習慣從第三方下載開發工具。」莊志鴻說。

莊志鴻繼之表示,對臺灣開發者而言,多數仍從蘋果官網下載開發工具,也甚少會使用普遍在中國使用的第三方下載或被其他開發者「編譯」過的開發工具,例如XcodeGhost,也因此,目前受駭的App多以中國開發的App為主,尚未見臺灣開發的App遭到波及。

XcodeGhost新增惡意程式函式庫,隱身描述檔而開發者不自知

中國普遍從許多第三方下載各種免費的App或者是開發工具,不論是因為不想要付費或者是習慣使然,各種從非官方的第三方下載應用程式,就給有心人士可趁之機。

因為這些App都需要經過編譯的過程,類似在微軟作業系統中的執行檔(.exe),在蘋果iOS或者是Mac作業系統中,則稱之為IPA檔案。不過,在這次XcodeGhost開發事件中,為什麼許多有經驗的蘋果開發者,都無法察覺利用XcodeGhost所開發的App,已經被額外加料了呢?

根據烏雲平臺知識庫所揭露的資安研究報告,這個XcodeGhost隱藏了惡意程式的函式庫,對於開發App的開發者而言,這些惡意程式都隱身在山寨開發工具中的描述檔,只有開發人員完成程式開發後,要進入編譯程式的動作時,會呼叫開發工具的描述檔一起編譯程式。

多數的開發人員往往都不會檢查描述檔中是否有任何異樣,更何況,XcodeGhost作者是新增一個原本不存在的CoreServices函式庫,呼叫這個描述檔進行程式編譯時,就會將這個CoreServices函式庫也一併內建在開發的App中,這個被感染的App就會依照CoreServices的指令,傳送相關的資料到特定的第三方網站。

這個CoreServices主要的功能就是會先收集一些iPhone手機和App的基本信息,包括:應用程式名稱、每個App專屬的Bundle ID、當下時間、設備名稱、設備類型、系統版本、語言和國家,甚至也會包括每一個被感染App的執行狀態,像是Launch、Running、Suspend、Terminate、ResignActive、AlertView等資訊;這些資訊則會利用DES加密機制,回傳到作者設立在亞馬遜EC2雲端平臺上的中繼站,包括:init.icloud-analysis.com、init.crash-analytics.com和init.icloud-diagnostics.com。

有一些資安專家認為,XcodeGhost所蒐集的資訊和一般應用程式所蒐集的資訊大同小異,隨著這樣的事件被揭露,許多中繼站服務關閉,且資料也被刪除的情況下,這起XcodeGhost資安事件已經做了基本的災害控管,情況相對不嚴重。

雖然連蘋果官方都跳出來宣示,這次的XcodeGhost資安事件並沒有蒐集使用者資訊,但是,江鍾權認為,不論XcodeGhost是有心或是無意蒐集這些資訊,在未告知且未經當事人同意情況下蒐集的個人或裝置資訊,都已經是非常明顯的隱私侵犯行為。他表示,不因惡小而為之,即便這樣的隱私侵犯行為傷害性小,卻不能因為傷害小而不在意,甚至縱容這樣的惡意行為發生。

自稱是XcodeGhost作者也發表一份公開道歉信函中表示,除了蒐集這些應用程式和裝置資訊外,並沒有蒐集其他影響使用者或違反個人隱私的相關資訊;而即使已經嵌入了行動廣告的功能,也並未啟用這些廣告服務;相關的程式碼除了上傳GitHub以召公信外,設立在亞馬遜雲端平臺上的中繼站也已經關閉,且已經刪除相關的蒐集資訊。作者更宣稱:「(XcodeGhost)以前是一次錯誤的實驗,以後只是徹底死亡的代碼而已。」

臺灣FireEye技術顧問林秉忠表示,一般要判斷這種編譯過的程式是否有潛藏的資安風險,可以從兩種面向著手測試,一種是靜態的程式碼檢測,另外一種則是動態的沙箱分析。

此次,林秉忠指出,FireEye全球檢測出超過4千個App是使用受到感染的山寨XcodeGhost開發的,就是使用動態的沙箱測試,在模擬的環境中實測該App執行後,觀察會有哪些行為,包括是否有異常的行為,例如蒐集資訊對外傳送,並連線到某些非官方、特定的網站等等,都可以判斷是否為惡意App。

許多App從程式撰寫到編譯完成後,一直到提交審查及在AppStore上架,林秉忠認為,這樣的過程對於多數App開發者而言,是沒有能力也缺乏工具做檢查,同樣也缺乏檢查的動機。這對於某一些企業App開發者而言,也潛藏開發的風險,是否能在這樣的流程中,加入對App品質與安全的檢查,將是提升App品質重要的關鍵之一。

這次爆發的XcodeGhost事件,從事件揭露到作者公開道歉,紛紛擾擾大約為期一周的時間,事件發生後,中國雲端服務公司包括百度、迅雷、騰訊等公司,第一時間就清查各種存放雲端儲存空間的惡意開發工具XcodeGhost,避免中國開發者誤下載惡意的開發工具;而亞馬遜也第一時間清查釣魚網站並關閉;身為事主的蘋果公司,更在第一時間就和資安公司合作,清查所有上架的App,確認是否是使用惡意開發工具XcodeGhost進行開發,一旦發現,則強制從AppStore下架,並要求開發者重新上架乾淨安全的App。

根據蘋果公司公布的前25大受駭的App名單,手機遊戲類App仍是最受歡迎的App,其他則有與日常生活相關的App、音樂服務類的App、金融相關App、行動通訊類App,以及提供下單訂貨功能的App都包含在內。

 

前25大遭XcodeGhost感染的惡意App

●微信 (版本:6.2.6)

●網易雲音樂 (版本:3.0.0)

●洋碼頭—海外掃貨神器 (版本:2.5.1)

●自由之戰- 真• 5 V 5 ( 第一MOBA手遊) (版本:1.1.0)

●航海王啟航 (正版授權-跨服公會戰500VS500!)(版本:2.8.1)

●下廚房-美食菜譜 (版本:4.4.0)

●《混沌與秩序之英雄戰歌》—多人玩家線上遊戲 (版本:2.2.1)

●暗黑黎明-冰臨城下(全球第一ARPG手遊) (版本:1.6.1)

●喜歡和你在一起 (版本:1.1.7)

●保衛蘿蔔1 (版本:1.8.0)

●同花順HD (版本:5.84.01)

●摩擦-同城陌生人交友聊天必備神器 (版本:2.5.2)

●喜馬拉雅FM(聽書社區)電臺有聲小說英語相聲新聞 (版本:4.3.20)

●滴滴出行 (版本:4.1.0)58同城-招聘找工作、二手車、二手房、租房 (版本:6.2.2)

●高德地圖(專業的手機地圖)(版本:7.5.0)

●鐵路12306  (版本:2.11)

●同花順 (版本:9.62.01)

●中國聯通手機營業 (官方版)(版本:3.3)

●保衛蘿蔔2:每日一戰 (版本:1.7.1)

●奇跡暖暖 (版本:1.5.0)

●我叫MT2-跨服天梯賽 (版本:2.0.6)

●憤怒的小鳥2-李易峰至愛手遊 (版本:2.2.1)

●百度音樂 (版本:5.2.10)

●鈴聲多多 (版本:1.4.0)

資料來源:蘋果公司,2015年10月

 

 

【相關報導請參考【iThome資安事件簿1】解讀XcodeGhost風暴


Advertisement

更多 iThome相關內容