iOS 越獄之後,沙盒安全保護機制就被完全移除了嗎?

越獄之後就意味著放棄沙盒安全機制的保護嗎?是否確實?為什麼?可否補救?


很多人有誤解,所以我問了這個問題,寫了這個回答:

iOS 越獄不代表沙盒(sandbox)的移除,至少現在的越獄方案都不會做這樣的傻事(不同的越獄方案對沙盒會有所不同的影響)。但可以肯定:通過 App Store 渠道下載安裝(在路徑 /var/mobile/Applications/ 下面)的應用依然會被困在自己的沙盒內,即便是越獄環境,那麼它們也不能非法未授權訪問沙盒以外的文件,譬如說簡訊(/var/mobile/Library/SMS/sms.db)。

既然沙盒未被移除,那越獄的風險是什麼?是安裝的應用並不需要經過 App Store 的證書校驗。就是說安裝的應用可以自己選擇安裝路徑,譬如說跟 Apple 的預裝應用一樣安裝在 /var/stash/Applications/ 下面,那麼它便不受沙盒控制。它可以訪問的文件就太多了,不限於你的簡訊、你的聯繫人、你的郵件、你的設置等等...

看到這裡,你或許已經知道,為什麼我們不推薦,甚至極力反對大家在越獄之後於 App Store 以外的渠道安裝 iOS 普通應用(指那些 IPA 後綴的常規應用),即便你說這些應用不是盜版,它們是免費應用,並且是獲得開發者授權才於這些『商店』上架云云...... Hey,你知道我不是跟你說什麼盜版(這還需要再費口舌嗎)。而是,我們無法清楚了解它們是否跟 App Store 上面分發的那個版本一模一樣,還是說『加過料』的。譬如說,會安裝在它們不應該在的路徑下面,跳出沙盒的控制,又或者說帶了其它數據收集的組件。(同時,據我所知,很多應用會在『PP 助手』和『91 助手』這些第三方『應用商店』推出所謂的『越獄版』,號稱 『功能更強大』...)

所以,越獄之後,請還繼續在 App Store 購買安裝應用。在 Cydia 上面只安裝你信任的 tweaks,通常我不會建議安裝國內公司開發的任意軟體,也不要添加他們提供的任何 Cydia 源。你知道,有時候 App Store 的條款和限制都綁不住這些流氓,放出來怎麼得了?再進一步,如果一個國內公司開發的應用取得跟 Cydia 一樣的地位,譬如說『太極助手』... 後果我不敢想像。當我們選擇越獄,一定程度上,是因為我們信任解決方案背後的越獄社群,信任 Cydia,信任 saurik,也相信這個社群的人會相互監督。但如果你把這種信任放在錯誤的人身上,那麼... 你要對自己負責,別人說『活該』的時候也認了罷。

那是否 iOS 越獄之後,從 App Store 安裝的應用就一定安全?也並非如此,上面說了不同的越獄方案對 sandbox 的影響會有不同。但通常都會使其變得更『虛弱』,譬如說越獄之後這些應用可以 『fork』 沙盒外的文件。當然,危害就沒有那麼大,也無需太過緊張。App Store 上面的應用並沒有壞到假設你的設備已經越獄然後針對開發出壞壞的功能隱蔽躲過 App Store Review 然後上架看能不能對已經越獄的設備作點壞事。

__
延伸閱讀:

  1. Why SandBox in iOS 6.1.1 still exists for App even after I have jailbreak?
  2. Once jailbroken, will iOS apps run with root privilege? (no)
  3. Did you forget about the Cydia marketplace #38; jailbroken iPhones?
  4. Will fork() in iOS app likely be rejected by Apple"s vetting process?

我認為,越獄後,即使AppStore安裝的App也能獲得部分沙盒外文件的訪問許可權。

具體來說,越獄之後,原本的一些私密文件,比如簡訊資料(/var/mobile/Library/SMS/sms.db),AppStore安裝的App仍舊沒有訪問許可權。但是,越獄後App能獲得應用文件夾(/var/mobile/Aplications/)的讀寫許可權,就是說,我能夠遍歷找到你的支付寶、招行、QQ、微信的App裡面的用戶資料,這仍舊會導致很大的安全問題。

即使在AppStore上線的App,也能輕易根據當前是否越獄來作出不同的動作,Apple審核檢查不到這一點。

--------------------------------
我的測試環境:iOS6.1,一個未越獄iPhone,一個越獄iPad。


iOS 10目前是可以越獄的。2016.12.22,國外著名黑客 Luca Todesco於發布了iOS 10.1 和 iOS 10.1.1 的越獄測試版,屬於iOS 10的越獄時代即將到來。

對於ASO從業者來說,iOS 10的越獄不僅僅意味著系統佔比高達68%的手機可以越獄這麼簡單,不同渠道對越獄的需求完全不同。今天文公子與大家聊聊越獄對ASO各個渠道的實質性影響。

圖1:iOS 10.1與10.1.1可以正式越獄

iOS 10越獄當前現狀

當前的越獄測試版僅面向越獄開發者,Todesco明確表示該測試版存問題,穩定性較差,並不推薦普通用戶使用。

越獄系統目前支持 iPhone 7、iPhone 7 Plus、iPhone 6s、iPhone 6s Plus、9.7 英寸 iPad Pro 和 12.9 英寸 iPad Pro。比較有意思的是蘋果在越獄系統發布前一天12.21日關閉了 iOS 10.1/10.1.1 的驗證,這意味iOS 10.2的用戶無法降回iOS 10.1。

盤古與太極團隊並沒有參與此次iOS 10.1越獄系統,據知情人士投入,盤古與太極已經著手iOS 10.2的破解越獄工作,值得期待。

目前市面上比較穩定的越獄系統版本集中在iOS 9.0.2-9.3.3,iOS 9.3.4之後的越獄使用漏洞都被蘋果給修復了。

圖2:iOS 10越獄系統界面

機刷與iOS 10越獄系統

機刷、協議刷與越獄系統密不可分,因為只有建立在越獄系統層面上,才能實現對iPhone手機的人為干預。機刷通過腳本的形式控制Apple ID賬號完成定向操作協議刷依託於伺服器模擬Apple ID賬號完成定向操作

iOS 10發布時,iOS 8系統對ASO、熱搜效果基本報廢。但市面上仍有一些很牛的團隊使用iOS 7/8越獄系統的古老手機,據不完全了解,他們有對系統底層及設備底層的ID進行深度優化,能模擬出iOS 9或iOS 10用戶的操作行為數據。

iOS 9代系統中,要屬iOS 9.0.2越獄最為穩定。當然,該系統下的設備目前被業內工作室搶的厲害。現在,機刷ASO工作室很多,但能力參差不齊。

① 簡單一些是越獄系統+行業腳本軟體(iG/觸動精靈);

② 稍微好一些的,自己會寫一套腳本實現定向操作(切換賬號、搜索跳轉、觸動激活等等);

③ 再厲害一些的,會更改一些底層的數據(系統信息、設備信息等)。

iOS 10越獄系統面世,對機刷ASO到底會產生怎樣的影響?有沒有團隊會積極擁抱iOS 10?

帶著這兩個問題,我們來對系統與ASO效果進行分析。根據之前的測試,iOS 10發布前,iOS 8與iOS 9系統下賬號操作行為效果並無很大差異。近期,文公子有對iOS 10的設備進行效果測試(註:非越獄系統下測試),從測試的結果來看,繼續遵守了之前的定律。簡單講,除了失效的系統外,有效的系統對ASO效果影響並無明顯差別。所以,iOS 10越獄系統對工作室來說,更多是第二方案。

iOS 10對設備的要求會更高,這意味著,設備投入成本會更高。在當下奏效的前提下,引入iOS 10並不是明智之舉。

微信積分牆與iOS 10的那些事

在前一篇文章《深度研究|ASO、微信積分牆的通行證IDFA,究竟價值何在?》中有提到iOS 10系統下的IDFA,如果用戶選擇限制廣告追蹤,這意味著iOS 10系統上的App是無法獲取用戶的IDFA數據。

IDFA做為微信積分牆的通行證,其價值與意義非常重要。為了解決一部分用戶限制廣告追蹤,不少微信積分牆團隊通過獲取蘋果漏洞接入私有API獲取用戶UDID數據。具體有哪些公司就不點名,如果有合作的CP,讓技術多留個心就知道。另外,微信積分牆平台獲取更多的用戶ID數據,可以有效避免工作室刷微信積分牆的量,這也是反作弊的重要思路。

說了這麼多,那iOS 10系統對微信積分牆到底有啥影響呢?說實話,影響不大。唯一好處,有利於技術基於越獄系統尋找更多漏洞,只有不斷尋找更多漏洞,利用漏洞實現積分牆鑰匙的更多監測功能。這點對很多產品同等實用。不過,大部分產品的技術更多是在現有系統規則下開發產品功能,缺少逆向的人才。

既然,今天又提到微信積分牆,不免想多嘮叨幾句。依託廣告主回調的用戶數據對平台用戶進行行為監測並不是很榮耀的一件事,沒有任何技術含量


什麼是沙盒?
沙盒是一套基於強制訪問控制框架的限制程序行為的庫。程序行為不只包括讀寫文件(這可能是很多人理解的沙盒)。還包括:打開內核服務,查詢內核屬性,是否可以進行某些系統調用等等。

是否被完全移除?
以 iOS 9.2 9.3 的越獄為例。
從限制程序行為的角度,沒有被完全移除。從限制文件訪問的的角度,被完全移除了(Unix 的許可權機制還有效)。

原因?
根本原因,iOS 9 之後 Arm64 設備,蘋果利用 AArch64 的 Secure Monitor(EL3)模式實現了對內核(EL1)的監控,造成無法持久的 Patch 內核代碼。


你可以聯想一下安卓為什麼不安全,因為應用可以訪問底層,如果破解了並且安裝了非官方的應用,就如置頂答案一樣會產生同樣的問題,你可以想像一下,如果非法應用訪問你的簡訊,電話本之類的情況,ios安全是因為一切都是低許可權運行的,安全與免費,魚與熊掌不可兼得嘍


很多回答都沒回答到沙盒的點上,沙盒其實一個指定的目錄,你以為真的有一個四四方方的盒子嗎?這個目錄被操作系統限制了讀寫許可權,越獄後,某些app通過特殊手段就獲得了更高的許可權,比如管理員root許可權,那麼就可以隨便讀寫任何目錄或文件。
當然這個回答是給小白看的,具體的沙盒更複雜,涉及到的東西很多,明白沙盒原理的人就不要咬文嚼字了。勿噴!


推薦閱讀:

TAG:iOS越獄 | iOS7x越獄 | 沙盒計算機安全 |