【編者按】本文來(lái)自騰訊安全應(yīng)急中心,作者Gmxp。
前言
這幾天安全圈幾乎被XCodeGhost事件刷屏,大家都非常關(guān)注,各安全團(tuán)隊(duì)都很給力,紛紛從不同角度分析了病毒行為、傳播方式、影響面積甚至還人肉到了作者信息。拜讀了所有網(wǎng)上公開(kāi)或者半公開(kāi)的分析報(bào)告后,我們認(rèn)為,這還不是全部,所以我們來(lái)補(bǔ)充下完整的XCodeGhost事件。
由于行文倉(cāng)促,難免有諸多錯(cuò)漏之處,還望同行批評(píng)指正。
事件溯源
事情要追溯到一周前。
9月12日,我們?cè)诟M(jìn)一個(gè)bug時(shí)發(fā)現(xiàn)有APP在啟動(dòng)、退出時(shí)會(huì)通過(guò)網(wǎng)絡(luò)向某個(gè)域名發(fā)送異常的加密流量,行為非??梢?,于是終端安全團(tuán)隊(duì)立即跟進(jìn),經(jīng)過(guò)一個(gè)周末加班加點(diǎn)的分析和追查,我們基本還原了感染方式、病毒行為、影響面。
9月13日,產(chǎn)品團(tuán)隊(duì)發(fā)布了新版本。同時(shí)考慮到事件影響面比較廣,我們立即知會(huì)了CNCERT,CNCERT也馬上采取了相關(guān)措施。所以從這個(gè)時(shí)間點(diǎn)開(kāi)始,后續(xù)的大部分安全風(fēng)險(xiǎn)都得到了控制——可以看看這個(gè)時(shí)間點(diǎn)前后非法域名在全國(guó)的解析情況。
9月14日,CNCERT發(fā)布了這個(gè)事件的預(yù)警公告。我們也更新了移動(dòng)APP安全檢測(cè)系統(tǒng)“金剛”。
(CNCERT發(fā)布的預(yù)警公告)
9月16日,我們發(fā)現(xiàn)AppStore上的TOP5000應(yīng)用有76款被感染,于是我們向蘋(píng)果官方及大部分受影響的廠商同步了這一情況。
9月17日,嗅覺(jué)敏銳的國(guó)外安全公司paloalto發(fā)現(xiàn)了這個(gè)問(wèn)題,并發(fā)布第一版分析報(bào)告,阿里移動(dòng)安全也發(fā)布了分析報(bào)告。
接下來(lái)的事情大家都知道了,XCodeGhost事件迅速升溫,成為行業(yè)熱點(diǎn),更多的安全團(tuán)隊(duì)和專家進(jìn)行了深入分析,爆出了更多信息。
被遺漏的樣本行為分析
1)在受感染的APP啟動(dòng)、后臺(tái)、恢復(fù)、結(jié)束時(shí)上報(bào)信息至黑客控制的服務(wù)器
上報(bào)的信息包括:APP版本、APP名稱、本地語(yǔ)言、iOS版本、設(shè)備類型、國(guó)家碼等設(shè)備信息,能精準(zhǔn)的區(qū)分每一臺(tái)iOS設(shè)備。
上報(bào)的域名是icloud-analysis.com,同時(shí)我們還發(fā)現(xiàn)了攻擊者的其他三個(gè)尚未使用的域名。
(上傳機(jī)器數(shù)據(jù)的惡意代碼片段)
2)黑客可以下發(fā)偽協(xié)議命令在受感染的iPhone中執(zhí)行
黑客能夠通過(guò)上報(bào)的信息區(qū)分每一臺(tái)iOS設(shè)備,然后如同已經(jīng)上線的肉雞一般,隨時(shí)、隨地、給任何人下發(fā)偽協(xié)議指令,通過(guò)iOS openURL這個(gè)API來(lái)執(zhí)行。
相信了解iOS開(kāi)發(fā)的同學(xué)都知道openURL這個(gè)API的強(qiáng)大,黑客通過(guò)這個(gè)能力,不僅能夠在受感染的iPhone中完成打開(kāi)網(wǎng)頁(yè)、發(fā)短信、打電話等常規(guī)手機(jī)行為,甚至還可以操作具備偽協(xié)議能力的大量第三方APP。實(shí)際上,iPhone上的APP如果被感染,完全可以理解為黑客已經(jīng)基本控制了你的手機(jī)!
(控制執(zhí)行偽協(xié)議指令的惡意代碼片段)
3)黑客可以在受感染的iPhone中彈出內(nèi)容由服務(wù)器控制的對(duì)話框窗口
和遠(yuǎn)程執(zhí)行指令類似,黑客也可以遠(yuǎn)程控制彈出任何對(duì)話框窗口。至于用途,將機(jī)器硬件數(shù)據(jù)上報(bào)、遠(yuǎn)程執(zhí)行偽協(xié)議命令、遠(yuǎn)程彈窗這幾個(gè)關(guān)鍵詞連起來(lái),反正我們是能夠通過(guò)這幾個(gè)功能,用一點(diǎn)點(diǎn)社工和誘導(dǎo)的方式,在受感染的iPhone中安裝企業(yè)證書(shū)APP。裝APP干什么?還記得幾個(gè)月之前曝光的Hacking Team的iPhone非越獄遠(yuǎn)控(RCS)嗎?
?。刂七h(yuǎn)程彈窗的惡意代碼片段)
4)遠(yuǎn)程控制模塊協(xié)議存在漏洞,可被中間人攻擊
在進(jìn)行樣本分析的同時(shí),我們還發(fā)現(xiàn)這個(gè)惡意模塊的網(wǎng)絡(luò)協(xié)議加密存問(wèn)題,可以被輕易暴力破解。我們嘗試了中間人攻擊,驗(yàn)證確實(shí)可以代替服務(wù)器下發(fā)偽協(xié)議指令到手機(jī),成為這些肉雞的新主人。
(存在安全漏洞的協(xié)議解密代碼片段)
值得一提的是,通過(guò)追查我們發(fā)現(xiàn)植入的遠(yuǎn)程控制模塊并不只一個(gè)版本。而現(xiàn)已公開(kāi)的分析中,都未指出模塊具備遠(yuǎn)程控制能力和自定義彈窗能力,而遠(yuǎn)程控制模塊本身還存在漏洞可被中間人攻擊,組合利用的威力可想而知。這個(gè)事件的危害其實(shí)被大大的低估了。
感染途徑
分析過(guò)程中我們發(fā)現(xiàn),異常流量APP都是大公司的知名產(chǎn)品,也是都是從AppStore下載并具有官方的數(shù)字簽名,因此并不存在APP被惡意篡改的可能。隨后我們把精力集中到開(kāi)發(fā)人員和相關(guān)編譯環(huán)境中。果然,接下來(lái)很快從開(kāi)發(fā)人員的xcode中找到了答案。
我們發(fā)現(xiàn)開(kāi)發(fā)人員使用的xcode路徑Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/下,存在一個(gè)名為CoreServices.framework的“系統(tǒng)組件”,而從蘋(píng)果官方下載的xcode安裝包,卻不存在這些目錄和“系統(tǒng)組件”。
?。ū桓腥緪阂獯a的xcode包路徑)
原來(lái)開(kāi)發(fā)人員的xcode安裝包中,被別有用心的人植入了遠(yuǎn)程控制模塊,通過(guò)修改xcode編譯參數(shù),將這個(gè)惡意模塊自動(dòng)的部署到任何通過(guò)xcode編譯的蘋(píng)果APP(iOS/Mac)中。
水落石出了,罪魁禍?zhǔn)资情_(kāi)發(fā)人員從非蘋(píng)果官方渠道下載xcode開(kāi)發(fā)環(huán)境。
通過(guò)百度搜索“xcode”出來(lái)的頁(yè)面,除了指向蘋(píng)果AppStore的那幾個(gè)鏈接,其余的都是通過(guò)各種id(除了coderfun,還有使用了很多id,如lmznet、jrl568等)在各種開(kāi)發(fā)社區(qū)、人氣社區(qū)、下載站發(fā)帖,最終全鏈到了不同id的百度云盤(pán)上。為了驗(yàn)證,團(tuán)隊(duì)小伙伴們下載了近20個(gè)各版本的xcode安裝包,發(fā)現(xiàn)居然無(wú)一例外的都被植入了惡意的CoreServices.framework,可見(jiàn)投放這些帖子的黑客對(duì)SEO也有相當(dāng)?shù)牧私狻?/p>
?。╔CodeGhost作者在知名論壇上發(fā)布xcode的下載帖)
進(jìn)一步來(lái)看,攻擊者做到的效果是只要是通過(guò)搜索引擎下載xcode,都會(huì)下載到他們的XCodeGHost,還真的做到了幽靈一樣的存在。
影響到底多大?
在清楚危害和傳播途徑后,我們意識(shí)到在如此高級(jí)的攻擊手法下,被感染的可能不只一個(gè)兩個(gè)APP,于是我們馬上對(duì)AppStore上的APP進(jìn)行檢測(cè)。
最后我們發(fā)現(xiàn)AppStore下載量最高的5000個(gè)APP中有76款A(yù)PP被XCodeGhost感染,其中不乏大公司的知名應(yīng)用,也有不少金融類應(yīng)用,還有諸多民生類應(yīng)用。根據(jù)保守估計(jì),受這次事件影響的用戶數(shù)超過(guò)一億。
后記
經(jīng)過(guò)這一事件后,開(kāi)發(fā)小伙伴們紛紛表示以后只敢下官方安裝包,還要MD5和SHA1雙校驗(yàn)。而這個(gè)事件本身所帶來(lái)的思考,遠(yuǎn)不止改變不安全的下載習(xí)慣這么簡(jiǎn)單。
經(jīng)過(guò)這兩年若干次攻擊手法的洗禮后,我們更加清醒的意識(shí)到——
黑產(chǎn)從業(yè)者早已不是單兵作戰(zhàn)的腳本小子,而是能力全面的黑客團(tuán)隊(duì)。
總結(jié)來(lái)看,移動(dòng)互聯(lián)網(wǎng)安全之路任重道遠(yuǎn)。當(dāng)然,這里的危機(jī)也是安全行業(yè)的機(jī)遇。