本篇面對(duì)普通的智能手機(jī)用戶蔫磨,因此不會(huì)有太復(fù)雜的技術(shù)細(xì)節(jié)纳寂,希望能夠提供風(fēng)險(xiǎn)預(yù)警和合理的保護(hù)措施指引主穗。
什么是XcodeGhost事件?
簡(jiǎn)單說(shuō)毙芜,有人在開發(fā)者的工具上做了一點(diǎn)手腳忽媒,凡是用這個(gè)動(dòng)過(guò)手腳的開發(fā)工具上發(fā)布的App,均帶有特定功能的后門腋粥。騰訊的安全團(tuán)隊(duì)在微信6.2.5發(fā)布版本上發(fā)現(xiàn)了這個(gè)問(wèn)題后晦雨,提交給了中國(guó)國(guó)家計(jì)算機(jī)應(yīng)急響應(yīng)中心(CN-CERT),并及時(shí)發(fā)布了6.2.6的升級(jí)隘冲。隨后在社交網(wǎng)絡(luò)上闹瞧,在網(wǎng)易承認(rèn)他們的網(wǎng)易云音樂(lè)App受到感染后,這個(gè)問(wèn)題逐漸得到關(guān)注展辞,于18日開始得到大部分的國(guó)內(nèi)安全奥邮、開發(fā)人員的關(guān)注。簡(jiǎn)單的過(guò)程可以參考 wiki: 2015年中國(guó)大陸蘋果app泄漏事件罗珍,比較詳細(xì)的細(xì)節(jié)可以參考針對(duì)此次XcodeGhost攻擊行為的分析 和 深扒300款iOS應(yīng)用被植入惡意代碼事件始末
初步分析
目前研究下來(lái)后門首先會(huì)收集使用者的初步信息洽腺,比如“應(yīng)用名、應(yīng)用版本號(hào)覆旱、系統(tǒng)版本號(hào)蘸朋、語(yǔ)言、國(guó)家名扣唱、開發(fā)者符號(hào)藕坯、App安裝時(shí)間团南、設(shè)備名稱、設(shè)備類型”堕担,提交到特定服務(wù)器已慢。這里并沒(méi)有什么太多的隱私信息,很大部分是因?yàn)樘O果對(duì)于上App Store的App霹购,有沙盒的限制佑惠,也就是說(shuō),只能訪問(wèn)特定的系統(tǒng)接口來(lái)獲取信息齐疙,不能任意訪問(wèn)其他App和系統(tǒng)的其他部分膜楷,大部分的讀寫操作都是App范圍內(nèi)的區(qū)域。
這時(shí)贞奋,應(yīng)對(duì)策略很簡(jiǎn)單赌厅,對(duì)于已經(jīng)發(fā)現(xiàn)涉及的App,停止使用即可轿塔。至少?gòu)鸟v留任務(wù)中刪除特愿,如果擔(dān)心的話,直接刪除App即可勾缭。目前蘋果已經(jīng)將受到影響的App全部下架揍障,升級(jí)版本一般會(huì)在2-4個(gè)星期后重新發(fā)布。
進(jìn)一步研究
有安全團(tuán)隊(duì)進(jìn)行了反編譯深入研究俩由,發(fā)現(xiàn)除了收集一些不太重要的信息外毒嫡,這個(gè)幽靈還保留了幾個(gè)比較危險(xiǎn)的功能。
在提交信息得到應(yīng)答后幻梯,可以根據(jù)應(yīng)答做出幾個(gè)自定義行為兜畸。這里的自定義行為包含彈出系統(tǒng)的對(duì)話框、利用URL的方式在App間進(jìn)行跳轉(zhuǎn)碘梢。
從蘋果的系統(tǒng)限制來(lái)說(shuō)咬摇,URL跳轉(zhuǎn)是一個(gè)正常且受到保護(hù)的功能,比如在打電話的時(shí)候煞躬,會(huì)額外彈出一個(gè)窗口讓用戶確認(rèn)菲嘴,因此并不能造成明確的損害。但是這個(gè)功能靈活性大汰翠,能夠跨越App之間傳遞一些數(shù)據(jù)龄坪,一旦發(fā)現(xiàn)某個(gè)App處理URL跳轉(zhuǎn)的時(shí)候存在問(wèn)題,那么就可以有針對(duì)性的進(jìn)行攻擊复唤,導(dǎo)致嚴(yán)重后果健田。就算不是針對(duì)性攻擊,通過(guò)URL直接安裝或者替換一個(gè)App佛纫,也是存在可能性的妓局,而這個(gè)不請(qǐng)自來(lái)的App沒(méi)有經(jīng)過(guò)蘋果的審核流程总放,可能會(huì)存在不遵循沙盒限制的行為。
同樣的好爬,彈出系統(tǒng)對(duì)話框局雄,也存在一些風(fēng)險(xiǎn),比如如果仿冒一個(gè)內(nèi)購(gòu)的密碼輸入框等等存炮,很可能會(huì)欺騙用戶輸入了他們的蘋果賬號(hào)的密碼炬搭。我們知道,蘋果賬號(hào)很多都綁定了銀行卡穆桂,或者有禮物卡的余額宫盔,一旦密碼被盜就涉及到了錢的問(wèn)題。
盡管這兩點(diǎn)目前分析結(jié)果是風(fēng)險(xiǎn)不大:跳轉(zhuǎn)功能只用來(lái)跳轉(zhuǎn)到App Store的其他軟件展示界面享完,用來(lái)引流灼芭;彈出對(duì)話框也只是用于消息提示,直接獲取蘋果賬號(hào)可能還存在障礙般又。但一旦被充分利用了彼绷,就很危險(xiǎn)了。
另有分析指出茴迁,在App內(nèi)購(gòu)?fù)瓿珊罂猎ぃ@個(gè)幽靈會(huì)把返回的加密數(shù)據(jù)一并發(fā)送給服務(wù)器收集。由于數(shù)據(jù)是加密的笋熬,并不知道收集者如何利用或者解密數(shù)據(jù)。這個(gè)數(shù)據(jù)有點(diǎn)敏感腻菇,有可能包含你的信用卡信息和登錄賬號(hào)密碼的某個(gè)等價(jià)授權(quán)胳螟。考慮到目前的云計(jì)算服務(wù)器的能力筹吐,一旦未來(lái)某天被解密出來(lái)后利用糖耸,還是有一點(diǎn)點(diǎn)小風(fēng)險(xiǎn)的。
綜合上述討論丘薛,修改蘋果賬號(hào)的密碼是上策嘉竟。
更多幽靈
經(jīng)過(guò)幾天發(fā)酵后,有消息說(shuō)洋侨,有更多的開發(fā)工具受到影響舍扰。有兩個(gè)有關(guān)游戲引擎的模塊,也有被污染的版本希坚,而游戲引擎是跨平臺(tái)的边苹。
這意味著三大智能平臺(tái)手機(jī),包括蘋果的iOS裁僧、谷歌的Android和微軟的Windows Phone均可能被幽靈染指个束。所不同的是慕购,iOS系統(tǒng)限制嚴(yán)格,還不是很容易直接套取信息茬底,而Android由于權(quán)限管理體系很多不能撤回沪悲,因此如果的確有可以執(zhí)行的代碼,那么其危害遠(yuǎn)大于iOS阱表。
基于此殿如,更好的辦法就是,凡是在手機(jī)上輸入過(guò)捶枢、臨時(shí)保存過(guò)的所有密碼握截,都要進(jìn)行更換。
關(guān)于安全意識(shí)
在整個(gè)安全體系中烂叔,所有機(jī)制的安全級(jí)別提高后谨胞,往往人就成了安全的最薄弱環(huán)節(jié)。
幽靈躲在正常的App背后蒜鸡,無(wú)論做什么都是一件非晨枧可怕的事情,因?yàn)樗烊猾@取了人們對(duì)App的信任逢防。
所以叶沛,提高人的安全意識(shí)是需要不懈余力地反復(fù)宣傳的。開發(fā)者的錯(cuò)誤讓用戶買單忘朝,這已經(jīng)是一件非常丟人的事情了灰署。
關(guān)于iOS的安全性
我仍然認(rèn)為iOS在安全性和隱私保護(hù)上,比Android嚴(yán)格局嘁,因此就算有這樣的幽靈事件溉箕,我還是覺(jué)得iOS的安全性高于Android。
作為手機(jī)用戶我該做什么悦昵?
前文都已經(jīng)給出恰當(dāng)?shù)慕ㄗh了肴茄。最好呢,能夠開啟2步驗(yàn)證(如果支持)但指,每個(gè)賬號(hào)使用不同的密碼寡痰。如果擔(dān)心記不住密碼,可以嘗試使用Keepass Password Safe棋凳、1Password拦坠、Last Pass等密碼管理軟件或者服務(wù)。