iOS 8.1.3 「各路助手挺屍」、「封殺一切助手」的背後

8.1.3
圖片來自 http://www.redmondpie.com安全

最近蘋果發佈了8.1.3系統更新。從更新日誌看,沒有多少變化(錯誤修復,提升穩定性和性能),可是蘋果修復了一個「漏洞」,就是以前說的「假面」。服務器

科普一:假面漏洞

系統給每一個應用一個安全區域(沙盒),一個應用沒有權限獲取其餘應用的沙盒裏的數據。每一個應用有一個BundleId,一個假冒的應用只要具備相同的 BundleID 而且有合法權限(通常是經過合法的企業證書從新打包簽名)能安裝到手機上就能夠直接替換掉原有的應用而且取得該應用的全部權限。架構

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

8.1.3的安全方面更新着重解決了這個問題,這裏是詳細說明工具

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

  1. CVE-2014-4493
    就是前面說到的假面漏洞。spa

  2. CVE-2014-4494
    經過非應用商店下載的應用,通常在打開前系統會提示,這個應用不可信,是否要信任它。這裏提到的 bug 能夠繞過這個系統提示。日誌

其餘幾個 bug 也頗有意思,好比動態加載執行未經審覈的代碼,有興趣的同窗能夠自行研究Mach-Ocode

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

爲何要從非官方的 AppStore 安裝應用呢?緣由大概有:接口

  1. 僅在企業內部使用的應用不必放到應用商店。好比銀行等比較敏感的企業的內部管理應用,出於安全考慮不能公開給全部人下載而且即使有人下載了沒有內部帳號也沒法使用。

  2. 如今的應用太多了,放到官方商店會被淹沒。而官方商店又基本沒有「關係後門」能夠給點錢幫忙推廣之類的辦法,因此衍生出來各類積分牆,應用賺錢等產業靠廣大人民羣衆的人海戰術給應用刷榜,提升應用排行榜上的位置提升曝光率,達到推廣的目的。若是商店控制在「本身人」手裏,一切都解決了,要推薦有推薦要首發有首發。

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

  4. 有些應用利用了 iOS 沒公開的接口來作一下蘋果目前不承認的高級功能,好比「來電防火牆」、訪問 WiFi 等功能。

  5. 收費應用免費化,你懂得 :)

實現原理也2種:

  1. 用合法的企業證書,從新對應用打包簽名。讓系統覺得這個應用是個大企業內部使用的應用。
  2. 破解FairPlay(DRM,蘋果的版權保護方案)。經過在電腦上利用 iTunes 的權限替換手機裏的用戶購買信息,讓手機誤覺得是正版用戶購買的。如今市面上的各類「手機助手」基本都是用的這種方法。

帶來的影響

針對破解FairPlay,蘋果同時發佈了iTunes 12.1,改爲了64位架構,使各類助手失效,媒體把這個更新稱爲「各路助手挺屍」、「封殺一切助手」等。
iTunes 12.1
圖片來自 http://www.redmondpie.com

針對企業證書重簽名,正常狀況(指在 Xcode 裏直接用企業證書編譯打包簽名)的企業證書籤名是不受影響的,只有用企業證書作了從新打包。只有由於企業證書自己存在是爲了讓大企業更方便,然後來被國人玩壞了(最近被蘋果大規模撤銷)。

這個只是目前大部分的從新打包的邏輯沒有跟進,估計過一段時間應該會兼容回去。可是全部的已經打過包的應用除非從新來過,不然沒法安裝到8.1.3上。並且企業證書常常被濫用致使蘋果撤銷,再用新的證書打包時又會由於上面的邏輯,而使應用沒法安裝。

因此企業證書分發應用這種方式將會在不久後退出歷史舞臺。

提示: 若是出現了手機沒法安裝,沒法下載等問題很難直接判斷錯誤緣由,開發者能夠經過 FIR.im 發佈的小工具 Log Guru 來查看具體的錯誤以便分析。
FIR.im Log Guru

注1: 證書(開發者帳號)有3種,我的、公司、企業, 企業證書是$299向蘋果申請的僅能用於企業內部分發應用的證書,不能提交應用商店的那種,常常被誤覺得是公司證書。

相關文章
相關標籤/搜索