虎嗅注:這幾天XCodeGhost事件在業內已有不小轟動,在昨天與微信iPhone版漏洞事件聯繫起來(詳見:《微信都中毒了,蘋果iPhone用戶快換密碼》)讓更多人對XCodeGhost事件始末產生了興趣。919日上午,《自稱 XcodeGhost 作者的傢伙出來澄清:不會影響任何App,更不會獲取隱私數據》,但解讀可能還不夠全面,而來自「騰訊安全應急響應中心」的《你以為這就是全部了?我們來告訴你完整的XCodeGhost事件》從不同角度分析了病毒行為、傳播方式、影響面積甚至還人肉到了作者信息

事件溯

事情要追溯到一周前

912日,我們在跟進一個bug時發現有APP在啟動、退出時會通過網絡向某個域名發送異常的加密流量,行為非常可疑,於是終端安全團隊立即跟進,經過一個周末加班加點的分析和追查,我們基本還原了感染方式、病毒行為、影響面

913日,產品團隊發布了新版本。同時考慮到事件影響面比較廣,我們立即知會了CNCERTCNCERT也馬上採取了相關措施。所以從這個時間點開始,後續的大部分安全風險都得到了控制——可以看看這個時間點前後非法域名在全國的解析情況

914日,CNCERT發布了這個事件的預警公告。我們也更新了移動APP安全檢測系統「金剛」。

1 CNCERT發布的預警公

916日,我們發現AppStore上的TOP5000應用有76款被感染,於是我們向蘋果官方及大部分受影響的廠商同步了這一情況

917日,嗅覺敏銳的國外安全公司paloalto發現了這個問題,併發布第一版分析報告,阿裡移動安全也發布了分析報告

接下來的事情大家都知道了,XCodeGhost事件迅速升溫,成為行業熱點,更多的安全團隊和專家進行了深入分析,爆出了更多資訊

被遺漏的樣本行為分

1、在受感染的APP啟動、後台、恢復、結束時上報資訊至駭客控制的服務

上報的資訊包括:APP版本、APP名稱、本地語言、iOS版本、設備類型、國家碼等設備信息,能精準的區分每一台iOS設備。

上報的功能變數名稱是icloud-analysis.com,同時我們還發現了攻擊者的其他三個尚未使用的功能變數名稱。

2 上傳機器數據的惡意代碼片

2、駭客可以下發偽協議命令在受感染的iPhone中執

駭客能夠通過上報的資訊區分每一台iOS設備,然後如同已經上線的肉雞一般,隨時、隨地、給任何人下發偽協議指令,通過iOS openURL這個API來執行。

相信瞭解iOS開發的同學都知道openURL這個API的強大,駭客通過這個能力,不僅能夠在受感染的iPhone中完成打開網頁、發短訊、打電話等常規手機行為,甚至還可以操作具備偽協議能力的大量協力廠商APP。實際上,iPhone上的APP如果被感染,完全可以理解為駭客已經基本控制了你的手機!

3 控制執行偽協議指令的惡意代碼片

3、駭客可以在受感染的iPhone中彈出內容由服務器控制的對話框視

和遠程執行指令類似,駭客也可以遠程式控制制彈出任何對話框視窗。至於用途,將機器硬體數據上報、遠程執行偽協議命令、遠程彈窗這幾個關鍵詞連起來,反正我們是能夠通過這幾個功能,用一點點社工和誘導的方式,在受感染的iPhone中安裝企業證書APP。裝APP幹什麼?還記得幾個月之前曝光的Hacking TeamiPhone非越獄遠控(RCS)嗎?圖4 控制遠程彈窗的惡意代碼片

4、遠程式控制制模塊協議存在漏洞,可被中間人攻擊

在進行樣本分析的同時,我們還發現這個惡意模塊的網絡協議加密存問題,可以被輕易暴力破解。我們嘗試了中間人攻擊,驗證確實可以代替服務器下發偽協議指令到手機,成為這些肉雞的新主人。

5 存在安全性漏洞的協議解密代碼片

值得一提的是,通過追查我們發現植入的遠程式控制制模塊並不只一個版本。而現已公開的分析中,都未指出模塊具備遠程式控制制能力和自定義彈窗能力,而遠程式控制制模塊本身還存在漏洞可被中間人攻擊,組合利用的威力可想而知。這個事件的危害其實被大大的低估了

感染途

分析過程中我們發現,異常流量APP都是大公司的知名產品,也是都是從AppStore下載並具有官方的數字簽名,因此並不存在APP被惡意篡改的可能。隨後我們把精力集中到開發人員和相關編譯環境中。果然,接下來很快從開發人員的xcode中找到了答案

我們發現開發人員使用的xcode路徑

Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/Frameworks /CoreServices.framework/下,存在一個名為CoreServices.framework的「系統組件」,而從蘋果官方下載的 xcode安裝包,卻不存在這些目錄和「系統組件」。

6 被感染惡意代碼的xcode包路

原來開發人員的xcode安裝包中,被別有用心的人植入了遠程式控制制模塊,通過修改xcode編譯參數,將這個惡意模塊自動的部署到任何通過xcode編譯的蘋果APPiOS/Mac)中

水落石出了,罪魁禍首是開發人員從非蘋果官方管道下載xcode開發環境。

通過百度搜索「xcode」出來的頁面,除了指向蘋果AppStore的那幾個鏈接,其餘的都是通過各種id(除了coderfun,還有使用了很多idlmznetjrl568等)在各種開發社區、人氣社區、下載站發帖,最終全鏈到了不同id的百度雲盤上。為了驗證,團隊小夥伴們下載了近20個各版本的xcode安裝包,發現居然無一例外的都被植入了惡意的CoreServices.framework,可見投放這些帖子的駭客對SEO也有相當的瞭解。

7 XCodeGhost作者在知名論壇上發布xcode的下載

進一步來看,攻擊者做到的效果是只要是通過搜尋引擎下載xcode,都會下載到他們的XCodeGHost,還真的做到了幽靈一樣的存在

影響

在清楚危害和傳播途徑後,我們意識到在如此高級的攻擊手法下,被感染的可能不只一個兩個APP,於是我們馬上對AppStore上的APP進行檢測

最後我們發現AppStore下載量最高的5000APP中有76APPXCodeGhost感染,其中不乏大公司的知名應用,也有不少金融類應用,還有諸多民生類應用。根據保守估計,受這次事件影響的用戶數超過一億

經過這一事件後,開發小夥伴們紛紛表示以後只敢下官方安裝包,還要MD5SHA1雙校驗。而這個事件本身所帶來的思考,遠不止改變不安全的下載習慣這麼簡單

經過這兩年若干次攻擊手法的洗禮後,我們更加清醒的意識到,黑產從業者早已不是單兵作戰的腳本小子,而是能力全面的駭客團隊。

總結來看,移動互聯網安全之路任重道遠。當然,這裡的危機也是安全行業的機遇。


 iPhone改密碼就能安全了嗎?我們來告訴你完整的XCodeGhost事件