XCode編譯器里有鬼 –51CTO剖析“蘋果APP中毒事件”
原創(chuàng)一款隱藏在XCode編譯器里的病毒為剛剛推送的iOS9慶生。
蘋果中毒已經(jīng)不是***次了,但去百度“蘋果會中病毒嗎?”這個問題,絕大多數(shù)的答案是:不越獄根本不會。的確去年流行一時的WireLurker也才感染了30萬用戶,對于國內(nèi)數(shù)以千萬計的蘋果用戶拉說不值一提。這次,情況嚴(yán)重了許多。
9月17日上午,微博用戶@JoeyBlue_ 曝光稱,有開發(fā)者用了非官方渠道下載的Xcode編譯出來的應(yīng)用被注入了第三方的代碼,會向一個網(wǎng)站上傳數(shù)據(jù)。
51CTO記者***時間通過烏云知識庫作者蒸米了解到:對注入的病毒樣本“XcodeGhost“進(jìn)行分析,確認(rèn)了上述說法。經(jīng)分析,該病毒會收集應(yīng)用和系統(tǒng)的基本信息,包括時間、bundle id(包名)、應(yīng)用名稱、系統(tǒng)版本、語言、國家等,并上傳到init.icloud-analysis.com(該域名為病毒作者申請,用于收集數(shù)據(jù)信息)。
隨后,18日上午,硅谷安全公司Palo Alto跟蹤事件后發(fā)現(xiàn)國內(nèi)知名應(yīng)用網(wǎng)易云音樂中招,當(dāng)前App Store上架的網(wǎng)易云音樂***版v2.8.3已經(jīng)感染病毒,會將手機(jī)隱私信息上傳至病毒作者的服務(wù)器上(Palo Alto還發(fā)現(xiàn)存在更多收集數(shù)據(jù)的域名)。
問題在于一款A(yù)PP從開發(fā)到上線進(jìn)入用戶手機(jī),當(dāng)中存在眾多環(huán)節(jié),那么這款隱藏于XCode編譯器里的病毒是如何通過一道道審查的呢?
暢通無阻的病毒
如前文所說,病毒就藏身于從第三方下載XCode編譯器里,以至釀成大禍。烏云白帽子王彪告訴記者:“由于用戶體驗不佳,像網(wǎng)絡(luò)優(yōu)化不夠,許多開發(fā)人員覺得從Mac App store下載官方插件的速度相比于網(wǎng)盤和迅雷要慢許多,因此才選擇從第三方下載。”
不過一款A(yù)PP開發(fā)完成之后,從理論上說是需要進(jìn)行安全檢查的,而針對這款病毒只需要做一個簡單的云端數(shù)據(jù)測試,來檢測數(shù)據(jù)是否都返回到自己這里就可以發(fā)現(xiàn)病毒所在。
王彪說:”尤其是在涉及到用戶敏感數(shù)據(jù)和支付業(yè)務(wù)時,如果由于疏忽對用戶造成了損失是一件非常嚴(yán)重的事情。“
另外,不同于網(wǎng)站,APP的更新成本更高,絕大多數(shù)的APP都會對老版本提供支持,如果在上線之初沒有做好安全測試,對于用戶的傷害無疑是巨大且長期的。
話又說回來,App Store的審核嚴(yán)格到變態(tài),所以相比于第三方應(yīng)用市場的Android應(yīng)用都要安全規(guī)范得多。為什么這次的病毒也騙過了App Store?
王彪分析:”因為這病毒收集信息包括時間、bundle id(包名)、應(yīng)用名稱、系統(tǒng)版本、語言、國家等,目前看到還沒有用戶敏感信息,加之國內(nèi)一些APP也會收集同樣的信息,蘋果可能有疏忽讓病毒趁虛而入。
長懸的達(dá)摩克利斯之劍
說到這里,事情大致可以看清楚了。從開發(fā)到上線的每一個過程都恰巧被病毒鉆了空子。當(dāng)然信息安全問題也不是一天兩天了,它就像一把長懸在用戶和APP頭上的達(dá)摩克利斯之劍。不過值得慶幸的是,王彪告訴記者這次隱藏在XCode編譯器的病毒暫時還沒有看到收集用戶的敏感信息,所以大家可以稍稍放心。不過也建議,蘋果用戶開啟iCloud二次驗證功能,加強自身安全使用習(xí)慣。
安全問題總是被掛在嘴邊,卻沒有被提上日程。
附檢查方法(來自烏云)
惡意Xcode包含有如下文件“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/CoreService”;正常的Xcode的SDK目錄下沒有Library目錄(來自@JoeyBlue_)
其次,還應(yīng)該檢測一下Target->Build Setting->Search Paths->Framework Search Paths的設(shè)置,看看是否有可疑的frameworks混雜其中(來自蒸米)