假面攻擊(Masque Attack)詳細(xì)分析與利用
一、漏洞概述
近期在蘋果iOS手機(jī)系統(tǒng)上曝光的兩個漏洞,WireLurker和Masque Attack,影響了iOS目前到8.1.1 beta的最新版本,而且不受越獄和非越獄環(huán)境限制。
從安全性上來看,前者WireLurker主要是竊取用戶的設(shè)備標(biāo)識信息,或是在越獄的環(huán)境下會安裝惡意程序,盜取用戶隱私數(shù)據(jù),包括通話、短信等敏感數(shù) 據(jù)。在而后者是通過使用相同的bundle ID,替換手機(jī)上已有從app store上下載安裝的APP應(yīng)用程序,替換后的APP可以獲取該應(yīng)用程序的的用戶敏感數(shù)據(jù),比如第三方郵件應(yīng)用下郵件信息,也可以作為跳板,通過已知漏 洞繞過應(yīng)用層的sandbox保護(hù),對系統(tǒng)層進(jìn)行攻擊。
二、Masque Attack漏洞原理分析及利用
該漏洞最早是在2014年7月由FireEye移動安全人員提交,通過使用企業(yè)賬戶安裝APP,替代通過蘋果官方APPStore安裝的APP應(yīng)用,該漏洞只要替換的應(yīng)用程序使用了和appstore安裝的應(yīng)用程序有相同的bundle identifier,即可完成IPA安裝程序的替換。
1.影響覆蓋面:
目前該漏洞被證實(shí)在越獄和非越獄的 iOS 7.1.1, 7.1.2, 8.0, 8.1 及其 8.1.1 beta版本下均受影響,我們實(shí)測環(huán)境為7.0.2,7.1.1,8.1,基本可以通殺目前所有iOS版本。
2.漏洞危害:
1).通過誘導(dǎo)用戶替換APPStore中下載的APP應(yīng)用程序,因?yàn)樽隽硕畏庋b和改動,可以獲取用戶登錄APP的賬戶及密碼,比如郵箱賬戶密碼或者銀行賬戶密碼
2).該APP應(yīng)用下的隱私數(shù)據(jù),比如配置信息,緩存文件,本地sqlite數(shù)據(jù)庫
3).雖然蘋果對應(yīng)用有sandbox保護(hù),只能獲取該應(yīng)用下的敏感數(shù)據(jù),但是可以通過已有的漏洞繞過sandbox保護(hù)機(jī)制對系統(tǒng)層進(jìn)行攻擊
3.攻擊途徑:
可通過USB連接安裝或者無線網(wǎng)絡(luò)安裝APP:
1).USB連接方式使用PC與手機(jī)端底層驅(qū)動libimobiledevice通訊,在非越獄的情況下將替換的APP安裝到手機(jī)中,上面提到的MAC OSX系統(tǒng)平臺的WireLurker木馬程序就是通過這種方式實(shí)現(xiàn)的
2).無線網(wǎng)絡(luò)環(huán)境下可通過短信、iMessage、郵件中包含一個鏈接的方式誘導(dǎo)用戶去安裝,導(dǎo)致原有通過APPStore下載的APP被替換,這種方式受眾面更廣。
4.攻擊條件:
1).替換的APP需要企業(yè)證書重新簽名并二次打包,當(dāng)然越獄手機(jī)就不需要一定是重新簽名,可以直接下發(fā)安裝(已安裝appsync)
2).只能替換APPStore安裝的應(yīng)用程序,如系統(tǒng)自帶程序,如Safari無法通過該方式替換
5.漏洞利用流程:
1).通過clutch等ipa解密工具解密從APPStore上下載的APP程序
這是蘋果的安全保護(hù)機(jī)制,通過APPStore發(fā)布的應(yīng)用都有代碼簽名保護(hù)機(jī)制,是Digital Rights Management(DRM)的一種形式,可以通過在越獄手機(jī)下利用clutch工具解密重新打包,實(shí)現(xiàn)邏輯是程序在運(yùn)行態(tài)時把解密部分的內(nèi)容提取出來 覆蓋原有加密地址段
2).修改APP程序的二進(jìn)制程序
通過IDA逆向或者動態(tài)調(diào)試的方式找到程序中調(diào)用的一些函數(shù),對函數(shù)實(shí)現(xiàn)重新封裝,修改邏輯執(zhí)行,執(zhí)行重寫后函數(shù)。
3).重新簽名打包
利用企業(yè)證書重新打包APP,確認(rèn)重新打包的APP使用了相同的bundle identifier
#p#
6.漏洞原理重現(xiàn):
這里我們通過漏洞原理重現(xiàn)下如何替換appstore下載的app,利用相同的bundle identifier,對原有APPStore中應(yīng)用程序進(jìn)行替換
1).先讀取bundle ID,比如某社交APP,可以通過libimobiledevice方式讀取到
原有社交APP和打開后正常運(yùn)行的界面:
2).解壓分析原有APP,修改替換原有APP,通過企業(yè)賬戶重新簽名封裝打包,這里我們對app執(zhí)行文件進(jìn)行了替換,越獄環(huán)境下不需要企業(yè)賬戶簽名也可直接安裝。
3).誘導(dǎo)用戶下載安裝我們提供的網(wǎng)站的APP應(yīng)用,安裝替換包:
4).安裝完成后打開原有社交APP發(fā)現(xiàn)已變?yōu)槟炽y行APP應(yīng)用:
7.如何防御:
因?yàn)樘O果默認(rèn)非越獄環(huán)境和通過APPStore安裝的APP為保證其安全的機(jī)制,但是忽略了通過企業(yè)賬戶進(jìn)行木馬傳播的方式,目前還沒有好的防御方法,但是可以有一些手段可以規(guī)避類似的惡意程序
1).不要安裝非apple官方App Store或第三方用戶開發(fā)的應(yīng)用程序的
2).不要點(diǎn)擊通過短信、iMessage、郵件彈出的第三方網(wǎng)頁上的安裝app程序
3).如果安裝程序顯示,“不受信任的應(yīng)用程序開發(fā)”,請謹(jǐn)慎安裝
三、總結(jié)
本文分析了近期iOS上被曝光的影響較大的Masque Attack漏洞的詳細(xì)分析、形成原理及利用過程。影響了iOS系統(tǒng)目前到8.1.1beta的最新版本,而且不受越獄和非越獄環(huán)境限制。
附錄
參考資料:
1.On the Feasibility of Large-Scale Infections of iOS Devices
https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-wang-tielei.pdf
2.Masque Attack: All Your iOS Apps Belong to Us
http://www.fireeye.com/blog/technical/cyber-exploits/2014/11/masque-attack-all-your-ios-apps-belong-to-us.html
3.Palo Alto Networks,WIRELURKER:A New Era in iOS and OS X Malware
https://www.paloaltonetworks.com/content/dam/paloaltonetworks-com/en_US/assets/pdf/reports/Unit_42/unit42-wirelurker.pdf
4.Palo Alto Networks,WireLurker for Windows
http://researchcenter.paloaltonetworks.com/2014/11/wirelurker-windows/
轉(zhuǎn)載:http://bobao.#/learning/detail/90.html