iOS 8.1.3 “各路助手挺尸”、“封殺一切助手”的背后

>>>  技術話題—商業文明的嶄新時代  >>> 簡體     傳統


最近蘋果發布了8.1.3系統更新。從更新日志看,沒有多少變化(錯誤修復,提高穩定性和性能),但是蘋果修復了一個“漏洞”,就是之前說的“假面”。

科普一:
假面漏洞

系統給每個應用一個安全區域(沙盒),一個應用沒有權限獲取其他應用的沙盒里的數據。每個應用有一個BundleId,一個假冒的應用只要具有相同的 BundleID 并且有合法權限(一般是通過合法的企業證書重新打包簽名)能安裝到手機上就可以直接替換掉原有的應用并且取得該應用的所有權限。


舉個例子,手機上安裝了微博的官方客戶端,并且客戶端曾經獲得了你的批準訪問手機的相冊,通訊錄,地理位置等等。假如有人做了個假冒應用,通過一些途徑,比如黑應用商店安裝到你的手機上,就會直接替換掉官方的客戶端,在你打開的一瞬間就可以讀完你的通訊錄,應用里存的敏感信息等發送給作惡者的服務器,而你對此完全沒有感知。


8.1.3的安全方面更新著重解決了這個問題。

修復了下面這2個關鍵的 bug:

CVE-2014-4493

就是前面說到的假面漏洞。

CVE-2014-4494


通過非應用商店下載的應用,一般在打開前系統會提示,這個應用不可信,是否要信任它。這里提到的 bug 可以繞過這個系統提示。其他幾個 bug 也很有意思,比如動態加載執行未經審核的代碼,有興趣的同學可以自行研究Mach-O。什么要從非官方的 AppStore 安裝應用呢?原因大概有:僅在企業內部使用的應用沒必要放到應用商店。比如銀行等比較

科普二:
非官方應用商店 安裝應用的實現原理

現在的應用太多了,放到官方商店會被淹沒。而官方商店又基本沒有“關系后門”可以給點錢幫忙推廣之類的辦法,所以衍生出來各種積分墻,應用賺錢等產業靠廣大人民群眾的人海戰術給應用刷榜,提高應用排行榜上的位置提高曝光率,達到推廣的目的。如果商店控制在“自己人”手里,一切都解決了,要推薦有推薦要首發有首發。


官方商店的審核時間太長,而且是個不定數,好不容易排隊半個月等到審核,2分鐘結束,拒絕通過,然后再對應用或者是描述做修改再提交,再進行漫長的等待。


有些應用利用了 iOS 沒公開的接口來做一下蘋果目前不認可的高級功能,比如“來電防火墻”、訪問 WiFi 等功能。收費應用免費化,你懂得 :)


實現原理也2種:

1、用合法的企業證書,重新對應用打包簽名。讓系統以為這個應用是個大企業內部使用的應用。

2、破解FairPlay(DRM,蘋果的版權保護方案)。通過在電腦上利用 iTunes 的權限替換手機里的用戶購買信息,讓手機誤以為是正版用戶購買的。現在市面上的各種“手機助手”基本都是用的這種方法。


帶來的影響

針對破解FairPlay,蘋果同時發布了iTunes 12.1,改成了64位架構,使各種助手失效,媒體把這個更新稱為“各路助手挺尸”、“封殺一切助手”等。

針對企業證書重簽名,正常情況(指在 Xcode 里直接用企業證書編譯打包簽名)的企業證書簽名是不受影響的,只有用企業證書做了重新打包。只有因為企業證書本身存在是為了讓大企業更方便,而后來被國人玩壞了(最近被蘋果大規模撤銷)。


這個只是目前大部分的重新打包的邏輯沒有跟進,估計過一段時間應該會兼容回去。但是所有的已經打過包的應用除非重新來過,否則無法安裝到8.1.3上。而且企業證書經常被濫用導致蘋果撤銷,再用新的證書打包時又會因為上面的邏輯,而使應用無法安裝。所以企業證書分發應用這種方式將會在不久后退出歷史舞臺。

提示:如果出現了手機無法安裝,無法下載等問題很難直接判斷錯誤原因,開發者可以通過 FIR.im 發布的小工具Log Guru來查看具體的錯誤以便分析。

注1:證書(開發者賬號)有3種,個人、公司、企業, 企業證書是$299向蘋果申請的僅能用于企業內部分發應用的證書,不能提交應用商店的那種,經常被誤以為是公司證書。



CocoaChina 2015-08-23 08:44:55

[新一篇] App推廣中,我是怎么鋪渠道的

[舊一篇] 信用卡套利像從地上撿錢?涉嫌違法!
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表