iOS一直以安全著稱,也是其用戶貶低Android的一個重要理由,可誰想一夜之間,iOS上的惡意軟件泛濫成災,更無語的是這些惡意軟件是由官方APP變成的,比Android市場上仿冒官方的惡意軟件還令人莫名驚詫!
為什么會這樣?之前,一個被修改過的Xcode在國內的網盤和論壇上被傳播,而這個版本的Xcode會在編譯出來的APP里加一些可以被遠程控制的代碼,并且發送數據到某個服務器上。據估算,受到影響的用戶數量會超過1億。這是iOS出現以來,未越獄系統遭遇到的最大安全隱患——不是蘋果無能,而是黑客太狡猾!
事件進展從下架到上架 焦慮48小時9月20日晚上11點多,國內某創業公司運營部負責人張揚(化名)剛從首都機場降落,就開始在手機里刷郵件和公司微信群。公司內部孵化的新APP已經上線半年了,剛剛度過調試階段,進入用戶口碑傳播的高速增長期,加上他們部門剛剛投放的推廣計劃,軟件的用戶數每天都會增加500個以上。正因為如此,他才難得的申請到年假出去轉了一圈,可沒想降落,就發現這兩天的數據有大問題。從9月19日下午開始,軟件的用戶增長突然就停滯了,一直持續到9月20日。這時候張揚才看到公司郵箱里一封來自蘋果的郵件,原來公司的軟件被蘋果下架了!
這封英文郵件讓張揚剛剛度假完的好心情跌到谷底。郵件里的大概內容是:告知它們的APP有感染Xcode的風險所以被下架,通知他們從蘋果的官方渠道下載Xcode,重新提交升級過的軟件才能上架。張揚心里“咯噔”一下,完全顧不上剛下飛機,飛了十多個小時的疲憊,立馬進入公司成立的小群里召開緊急會議。
張揚在網上搜索新聞才發現,很多大的商業軟件也都被卷入了這場事件。國內知名“越獄”以及移動互聯網安全研究團隊盤古表示,已經檢測到超過800個不同版本的應用感染了XcodeGhost病毒,更多的應用仍在檢測中。
小貼士:什么是Xcode?
Xcode 是開發 iPhone / iPad 應用使用最廣泛的開發工具,承擔了將編程代碼轉換為可以實際運行程序的工作(簡稱編譯)。Xcode 通常跟隨著 iOS 操作系統的版本更新而升級,如果需要在應用中支持一些新功能,例如通知中心掛件,Apple Watch 上的應用。需要使用最新版本的 Xcode 進行開發,編譯并提交至蘋果,蘋果審核后發布到 App Store。一般情況下,開發者應該通過蘋果官方的 Mac 應用商店 (Mac App Store) 來下載正版的 Xcode,一個 Xcode 的大小通常在 2G ~ 4G 左右。
實際上,早在9月14日,CNCERT(國家互聯網應急中心)發布預警,指出開發者使用非蘋果公司官方渠道的Xcode工具開發蘋果應用程序(蘋果APP)時,會向正常的蘋果APP中植入惡意代碼。被植入惡意程序的蘋果APP可以在App Store正常下載并安裝使用。該惡意代碼具有信息竊取行為,并具有進行惡意遠程控制的功能。但當時該預警并沒有廣泛引起人們注意。
隨著騰訊、阿里移動、烏云等多個安全公司發布報告并且公布受感染的app,包括12306、滴滴出行、高德地圖等熱門應用,這件事情才開始發酵開來。
到9月19日,蘋果公司開始下架受感染的app。接著,張揚所在的公司也收到了來自蘋果的下架通知郵件。
這可能是蘋果AppStore上線以來,涉及用戶數最多的一起安全事件。“這次事件影響很大,不然蘋果不至于下架這么多的流行應用。”盤古團隊的小G在接受熊熊采訪時說道。
實際上,在業內人士看來,這是迄今為止手機行業最大的一次安全事件,至少有過億用戶受到影響。微信、高德地圖、滴滴打車、網易云音樂等一些知名app都在第一時間對外承認受到了XcodeGhost的影響,不過這些公司在聲明里都表示,這一事件不會對用戶的信息安全造成威脅,并且已經發布了修復惡意程序的新版本應用,用戶自行升級就可以解決。
直到9月22日深夜,整整48個小時過去,張揚所在的公司的開發團隊才重新上線了軟件。“我們的開發是外包的,他們不僅處理了我們的軟件,幾乎兩天無休的還處理了其它一些外包軟件的重新上線。”剛剛放完大假的張揚感覺兩天打了一場仗,“以前沒覺得安全事件和我們這類公司有太大關系,這次事件算是敲響了一次警鐘。”
揭秘:XcodeGhost干了什么?XcodeGhost到底干了什么?XcodeGhost就是一個源碼病毒,可以將惡意代碼加入編譯器,這樣編譯器編譯出來的程序都自然攜帶后門,黑客可以使用這些后門來做壞事,具體到XcodeGhost就是收集iOS的全部信息,并在受感染iPhone中彈出內容由服務器控制的對話窗口。
XcodeGhost作者通過第一個動作獲得的信息來精準區分不同iPhone用戶,然后再通過第二個動作實現進一步的攻擊:可能是偽裝在內購頁面套取你的iCloud密碼;也可能是偽裝成支付失敗,請到某某支付寶放付款的滋養,來獲得金錢等等。
當然,這種攻擊也是非常好識破的。比如XcodeGhost再偽裝內購彈窗時,你會發現它需要輸入Apple ID。但用過蘋果的用戶都知道,Apple ID在iOS系統內部屬于優先級很高的信息,內購彈窗一般都會默認填好Apple ID賬號(除了AppStore以外),只要你輸入密碼。所以一旦發現需要手動輸入Apple ID賬戶的應用彈窗,基本可以確認就是XcodeGhost的釣魚行為了。
此外,蘋果的iOS系統一直被認為很安全是由于蘋果對于APP有著嚴格的安全審核機制,為什么會有數量如此龐大的商業軟件中招?這次病毒為何能夠輕易騙過蘋果?
一位開發者對熊熊表示,這主要是因為病毒收集的信息并不‘敏感’,和很多國內app收集的信息相似,所以這次蘋果并沒有在第一時間就發現。
而對于數量龐大的商業軟件中招原因就更多了。“首先主要還是因為GFW(Great Firewall of China。防火長城,指中國防火墻)的影響下,大量國外網站不能訪問或者難于訪問,很多怕麻煩的開發者就會選擇國內替代品。”一位不愿意具名的程序員對本報記者表示,“從蘋果官方渠道升級Xcode速度太慢了,最少要十幾個小時,中間中斷了可能還要重新下載,這種速度對于如今講究高效開發的我們來說,真是很耽誤時間的事兒。”
還有一位開發者也對熊熊表示,現在很多開發者為了趕進度用盜版軟件是家常便飯,另外根本布可能對所有代碼進行審查,這要耗費太大的精力。
分析:三大疑問解惑謎團疑問一:潛在影響有多大?在瑞星安全研究院院長劉思宇看來,本次攻擊事件的發生絕非偶然,這是一次蓄謀已久的針對APP開發者的"水坑攻擊",其危害之大、范圍之廣,史無前例,也很大程度上挑戰了iOS以及蘋果APP生態鏈的安全性。
實際上,類似XcodeGhost的攻擊手段,是一種面向編譯器的攻擊,該類攻擊并非其第一次被使用。 “2009年就出現過一個‘delphi夢魘’的病毒,一旦感染配置文件,程序員所編譯的所有應用程序都會帶有病毒。還有針對CAD設計的病毒,黑客修改AUTO CAD的配置文件,致使生成的所有設計圖都帶有病毒,其他設計師一打開圖紙就中毒,還有針對網絡運維工程師的。”獵豹安全專家李鐵軍在接受熊熊采訪時表示,以往這些安全事件主要出現在windows平臺上,iOS平臺則是第一次。
就在XcodeGhost事件還未過去,百度安全實驗室在22日稱發現了Unity-4.X被感染的樣本,只是上線域名變更。盤古團布宣布有證據證明一些游戲引擎的下載地址也被感染病毒,例如Unity 和cocos2dx, 并且這些引擎的安卓版也被感染病毒,手段和之前一樣。至此,本來安全問題就不少的安卓也卷入了這次事件。
根據公開資料介紹,Unity是由Unity Technologies開發的一個可創建三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容游戲開發工具。其編輯器運行在Windows和Mac OS X下,可發布游戲至Windows、Mac、Wii、iPhone、Windows Phone 8和Android等平臺。以Unity為引擎開發的游戲包括《紀念碑谷》、《爐石傳說》、《神廟逃亡2》等。
Cocos是由觸控科技推出的游戲開發一站式解決方案,其中Cocos2d-x是一個開源的移動2D游戲框架,其開發的項目可以很容易地建立和運行在iOS,Android,黑莓Blackberry等操作系統中,還支持Windows、Mac和Linux等桌面操作系統。
但小G表示,“相比之下,安卓的影響會比蘋果小很多,具體的我們還在評估。”
疑問二:個人行為還是黑產隱現?在9月19日凌晨,自稱XcodeGhost作者的人在微博發聲明,稱只是個人偶然發現并實行的實驗項目,無威脅行為,并已在“十日前”關閉服務器刪除數據。對于這樣的解釋無法讓安全界人士信服,多家安全公司的技術人員對本報記者表示,這背后會是一個及其龐大的產業鏈導致的現象,沒有那么簡單。
有安全界人士對其行為追蹤發現,半年前就有人開始在大量的iOS開發論壇上散步Xcode的下載鏈接,甚至還有人入侵某論壇版主的ID來修改下載鏈接,而這些鏈接全都指向了同一份網盤文件,如此大規模的非法擴散的舉動,“個人做實驗”的說法根本解釋不同。
有網絡工程師在微博上算了一筆賬,“要達到此次事件如此龐大的數據收集,所需服務器租用費用起碼就每個月50萬美元,絕對不可能是‘苦逼iOS開發者個人一時興起的實驗’。”
小G也表示,這種手法以及一系列的行為不太可能是一個做出來的,應該是有一個團隊在操盤,背后很可能是和黑色產業鏈有關。
還有安全行業相關人士透露,今年8月份的事后,一個代號為KeyRaider的惡意程序盜取了225000個Apple帳號,報告中提到KeyRaider曾向icloud-analysis.com發送信息。“這有兩種可能,第一種可能是XcodeGhost和KeyRaider是同一作者,還有一種可能是KeyRaider作者在2015年2至8月間也使用了感染XcodeGhost的開發環境。”上述人士表示,從代碼分析結果表明第二種可能性較大。
這背后會是一個怎樣的黑色產業鏈?盡管目前還沒有太多證據指向,但據李鐵軍分析,這個黑色產業鏈幕后有幾種可能:第一,收集用戶行為數據做精準分析,比如出售給廣告公司,用種毒的方式來實現廣告投放和app推廣掙錢;第二是利用iCloud發廣告信息和刷榜,這是針對沒有啟用雙重驗證的網民;前兩種都算是比較有底線的利用,還有第三種是惡意的行為,比如遠程鎖定用戶收集詐騙或者勒索等。
疑問三:用戶和開發者應該怎么辦?“我的手機安全嗎?”“升級以后軟件還能用嗎?”、“我在微信、12306都綁定過信用卡,會不會被盜刷?”以前對蘋果安全信心十足的用戶現在也變得十分惶恐。
從目前各個安全公司的報告來看,XcodeGhost收集的數據確實不涉及太敏感和關鍵的信息,目前尚無證據證實XcodeGhost有利用收集用戶信息違法獲利的行為,也沒有收到用戶損失方面的報告。從這個方面來說,即便安裝了受影響的App,iPhone用戶也不必過于緊張。
需要注意的是,之前已經有部分用戶信息被發到目標服務器,盡管目前“投毒者”還沒有動作,“真兇”也沒有抓到,所以用戶還是依然存在“潛在風險”。
安全人士建議,首先用戶應該開啟Apple ID兩步驗證。其次,XcodeGhost 病毒可以在未越獄的 iPhone 上偽造彈窗進行釣魚攻擊,其生成的對話窗口仿真度非常高,很難辨別,因此用戶如果在之前輸入過iTunes密碼,那么一定要盡快進行修改。再次,手機中安裝了受到影響的App的用戶,如果是常用的應用,就暫停使用,等開發者發布新的版本更新后再使用;如果是不常用的應用,可以直接卸載。最后,養成定期修改密碼的好習慣。
獵豹移動表示,這件事給程序員敲響了警鐘:要安全,首先得保證自己的開發工具安全。程序員被黑客暗算的事曾經多次發生,無論如何,建議使用正版、未被非法篡改過的開發工具編寫程序,避免用戶成為受害者;其次,編譯環境、發布環境的安全值得注意,編譯服務器和自動發布服務器,應保持干凈的環境,不要隨意安裝來源不明的可疑軟件。
熊熊采訪手記:一直將未越獄系統列為非常安全的蘋果這次也栽了,栽在源代碼病毒上。原因有很多,因為國內的防火墻,因為開發者的習慣,因為蘋果的檢測機制,因為等等原因。幸運的是,這次事件雖然波及的廠商數量眾多,且很多用戶數量非常龐大的app諸如微信、滴滴出行、12306等都中招,但各家處理的還算迅速,僥幸逃過一次大的危機。
然而,這次事件卻留給我們一個思考,我們的智能設備越來越多,手機、手表、手環、眼睛、耳機到智能家居等等,數據越來越多,留給我們的安全問題也就更多了。比如各類設備會紀錄用戶的個人數據,智能家居和智能汽車能夠掌握的信息就更多了。在一些不同的場合,也有一些黑客演示在幾分鐘之類攻破頂級豪車的智能鎖。在越來越智能的時代,用戶的安全將被如何安放,也成為眾多商業公司應該思考的問題。