圖片來自 http://www.redmondpie.com
最近蘋果發(fā)布了8.1.3系統(tǒng)更新。從更新日志看,沒有多少變化(錯誤修復(fù),提高穩(wěn)定性和性能),但是蘋果修復(fù)了一個“漏洞”,就是之前說的“假面”。
科普一:假面漏洞
系統(tǒng)給每個應(yīng)用一個安全區(qū)域(沙盒),一個應(yīng)用沒有權(quán)限獲取其他應(yīng)用的沙盒里的數(shù)據(jù)。每個應(yīng)用有一個BundleId
,一個假冒的應(yīng)用只要具有相同的 BundleID
并且有合法權(quán)限(一般是通過合法的企業(yè)證書重新打包簽名)能安裝到手機(jī)上就可以直接替換掉原有的應(yīng)用并且取得該應(yīng)用的所有權(quán)限。
舉個例子,手機(jī)上安裝了微博的官方客戶端,并且客戶端曾經(jīng)獲得了你的批準(zhǔn)訪問手機(jī)的相冊,通訊錄,地理位置等等。假如有人做了個假冒應(yīng)用,通過一些途徑,比如黑應(yīng)用商店安裝到你的手機(jī)上,就會直接替換掉官方的客戶端,在你打開的一瞬間就可以讀完你的通訊錄,應(yīng)用里存的敏感信息等發(fā)送給作惡者的服務(wù)器,而你對此完全沒有感知。
8.1.3的安全方面更新著重解決了這個問題,這里是詳細(xì)說明。
修復(fù)了下面這2個關(guān)鍵的 bug:
-
CVE-2014-4493
就是前面說到的假面漏洞。
-
CVE-2014-4494
通過非應(yīng)用商店下載的應(yīng)用,一般在打開前系統(tǒng)會提示,這個應(yīng)用不可信,是否要信任它。這里提到的 bug 可以繞過這個系統(tǒng)提示。
其他幾個 bug 也很有意思,比如動態(tài)加載執(zhí)行未經(jīng)審核的代碼,有興趣的同學(xué)可以自行研究Mach-O
。
科普二 非官方應(yīng)用商店 安裝應(yīng)用的實現(xiàn)原理
為什么要從非官方的 AppStore 安裝應(yīng)用呢?原因大概有:
- 僅在企業(yè)內(nèi)部使用的應(yīng)用沒必要放到應(yīng)用商店。比如銀行等比較敏感的企業(yè)的內(nèi)部管理應(yīng)用,出于安全考慮不能公開給所有人下載并且即便有人下載了沒有內(nèi)部賬號也無法使用。
現(xiàn)在的應(yīng)用太多了,放到官方商店會被淹沒。而官方商店又基本沒有“關(guān)系后門”可以給點錢幫忙推廣之類的辦法,所以衍生出來各種積分墻,應(yīng)用賺錢等產(chǎn)業(yè)靠廣大人民群眾的人海戰(zhàn)術(shù)給應(yīng)用刷榜,提高應(yīng)用排行榜上的位置提高曝光率,達(dá)到推廣的目的。如果商店控制在“自己人”手里,一切都解決了,要推薦有推薦要首發(fā)有首發(fā)。
官方商店的審核時間太長,而且是個不定數(shù),好不容易排隊半個月等到審核,2分鐘結(jié)束,拒絕通過,然后再對應(yīng)用或者是描述做修改再提交,再進(jìn)行漫長的等待。
有些應(yīng)用利用了 iOS 沒公開的接口來做一下蘋果目前不認(rèn)可的高級功能,比如“來電防火墻”、訪問 WiFi 等功能。
收費應(yīng)用免費化,你懂得 :)
實現(xiàn)原理也2種:
用合法的企業(yè)證書,重新對應(yīng)用打包簽名。讓系統(tǒng)以為這個應(yīng)用是個大企業(yè)內(nèi)部使用的應(yīng)用。
破解
FairPlay
(DRM,蘋果的版權(quán)保護(hù)方案)。通過在電腦上利用 iTunes 的權(quán)限替換手機(jī)里的用戶購買信息,讓手機(jī)誤以為是正版用戶購買的。現(xiàn)在市面上的各種“手機(jī)助手”基本都是用的這種方法。
帶來的影響
針對破解FairPlay
,蘋果同時發(fā)布了iTunes 12.1
,改成了64位架構(gòu),使各種助手失效,媒體把這個更新稱為“各路助手挺尸”、“封殺一切助手”等。
圖片來自 http://www.redmondpie.com
針對企業(yè)證書重簽名,正常情況(指在 Xcode 里直接用企業(yè)證書編譯打包簽名)的企業(yè)證書簽名是不受影響的,只有用企業(yè)證書做了重新打包。只有因為企業(yè)證書本身存在是為了讓大企業(yè)更方便,而后來被國人玩壞了(最近被蘋果大規(guī)模撤銷)。
這個只是目前大部分的重新打包的邏輯沒有跟進(jìn),估計過一段時間應(yīng)該會兼容回去。但是所有的已經(jīng)打過包的應(yīng)用除非重新來過,否則無法安裝到8.1.3上。而且企業(yè)證書經(jīng)常被濫用導(dǎo)致蘋果撤銷,再用新的證書打包時又會因為上面的邏輯,而使應(yīng)用無法安裝。
所以企業(yè)證書分發(fā)應(yīng)用這種方式將會在不久后退出歷史舞臺。
提示: 如果出現(xiàn)了手機(jī)無法安裝,無法下載等問題很難直接判斷錯誤原因,開發(fā)者可以通過 FIR.im 發(fā)布的小工具 Log Guru
來查看具體的錯誤以便分析。
**
注1: 證書(開發(fā)者賬號)有3種,個人、公司、企業(yè), 企業(yè)證書是$299向蘋果申請的僅能用于企業(yè)內(nèi)部分發(fā)應(yīng)用的證書,不能提交應(yīng)用商店的那種,經(jīng)常被誤以為是公司證書。# #