至今的越獄圈生態(tài)似乎都很亂,,由于iOS 10~iOS 11漏洞原始碼被公開(kāi)后,,造成有不少越獄開(kāi)發(fā)者紛紛推出自己的越獄工具,,導(dǎo)致有好幾款越獄工具推出,,但這些iOS 10及iOS 11越獄工具之間的差異又在哪里呢?以及他們都使用什么手法,,而會(huì)??匆?jiàn)越獄圈會(huì)談到KPP,這個(gè)KPP又被分成KPP-less及KPP Bypass,。
蘋(píng)果為了提升安全性,,從iOS 9后就開(kāi)始導(dǎo)入系統(tǒng)核心更動(dòng)的保護(hù)(Kernel Patch Protection)簡(jiǎn)稱(chēng)KPP,這也讓64位元設(shè)備越獄帶來(lái)了更頭痛的問(wèn)題,,當(dāng)設(shè)備開(kāi)機(jī)時(shí),,KPP就會(huì)被啟動(dòng)先檢查核心(Kernel)代碼是否可讀取、寫(xiě)入,、唯讀,,確認(rèn)可以后,就會(huì)將核心先改為原本唯讀后再繼續(xù)開(kāi)機(jī)流程,,盤(pán)古團(tuán)隊(duì)在iOS 9.0.2越獄上就先讓工具在KPP要啟動(dòng)前,,先強(qiáng)行關(guān)閉KPP后再繼續(xù)開(kāi)機(jī),也就能夠?qū)崿F(xiàn)完美越獄工具,,假如這策略失敗就會(huì)導(dǎo)致設(shè)備進(jìn)入無(wú)限重開(kāi)機(jī)狀態(tài),。
當(dāng)然蘋(píng)果也不是省油的燈,防止KPP這么容易被關(guān)閉,,從iOS 9.3.3開(kāi)始又再度增強(qiáng)KPP機(jī)制,,導(dǎo)致會(huì)不斷管理和監(jiān)視核心,因此盤(pán)古團(tuán)隊(duì)在替iOS 9.3.3 越獄工具上采用了第三方APP來(lái)越獄,,每次開(kāi)機(jī)后就需要先透過(guò)這個(gè)APP,,才能夠修改核心存取權(quán)力后再重新載入主畫(huà)面(Resrping)實(shí)現(xiàn)越獄,這也就變成從iOS 9.3.3開(kāi)始后每次重開(kāi)機(jī)都需要依賴(lài)越獄APP來(lái)激活越獄環(huán)境的主要因素,。
后續(xù)蘋(píng)果更是將KPP直接寫(xiě)成硬體元件,,導(dǎo)致Luca Todesco越獄開(kāi)發(fā)者一直無(wú)法讓iPhone 7與iPhone 7 Plus設(shè)備支援iOS 10.2越獄,最主要原因是在iPhone 7與iPhone 7 Plus以上設(shè)備加入硬體層面KPP防護(hù),所以才會(huì)導(dǎo)致Yalu102及G0blin越獄都無(wú)法支援A9處理器以上的設(shè)備,。
LiberiOS
LiberiOS 是一款新型的越獄工具,,它并不是靠KPP bypass,而使用KPP-less,,同樣達(dá)到可以我們需要的效果,,并不斷會(huì)執(zhí)行守護(hù)進(jìn)程(daemon),將它們改變后就可以注入至iOS系統(tǒng)內(nèi),,不過(guò)這也會(huì)造成Cydia 與Substrate 原本都是依照KPP bypass而執(zhí)行,,所以就需要等待Saurik 特地針對(duì)LiberiOS 而更新Cydia Substrate,讓LiberiOS工具可以不需要使用KPP bypass,,能夠順利讓Cydia 與Cydia Substrate 運(yùn)作,,相對(duì)這款越獄工具不需繞過(guò)KPP bypass 也就更穩(wěn)定。
相信未來(lái)的越獄都可能會(huì)采用這種新的KPP-less 方式,,畢竟KPP bypass漏洞是相當(dāng)難找到,。
當(dāng)前所有iOS 11越獄都采用KPP-less需要Cydia 與Cydia Substrate更新才能正常運(yùn)作,而iOS 10 Meridian越獄使用KPP-less,,G0blin或更舊的越獄則是使用KPP bypass,。
Electra 越獄
Electra 是來(lái)自知名開(kāi)發(fā)者CoolStar 的作品,與LiberiOS所用的是相同漏洞,,不過(guò)這工具比起LiberiOS最大不同是解決了Cydia Substrate無(wú)法支援問(wèn)題,,是采用另一個(gè)Comex開(kāi)發(fā)者所制作的Substrate替代品substitute取代,這個(gè)substitute與Substrate功能大致上都相同,,而且是開(kāi)放代碼,,可讓其它開(kāi)發(fā)者自由更新,能用來(lái)解決原生Cydia Substrate不支援的問(wèn)題,,但Saurik相當(dāng)痛恨這個(gè)substitute,,甚至不同意越獄工具用這種方案來(lái)解決,不過(guò)目前一直尚未等到Saurik替iOS 11推出Cydia Substrate無(wú)更新,,也會(huì)逼迫開(kāi)發(fā)者透過(guò)其它方案來(lái)解決,。(目前已經(jīng)substitute支持)
Meridian
Meridian 越獄是利用Siguza 的vortex exploit 和Xerub 的KPP-less 方法來(lái)獲得iOS 10.3.3的root權(quán)限,也是采用全新的Kpp-less技術(shù),,和LiberiOS性質(zhì)相同(完全繞過(guò)AMFI和SSH),,重點(diǎn)是可以支援所有64位元設(shè)備,當(dāng)然也包含了iPhone7,、7 Plus 機(jī)種,,目前僅適合開(kāi)發(fā)者使用。
不過(guò)這有個(gè)缺點(diǎn)就是Cydia Substrate 無(wú)法正常運(yùn)作,,需要等Saurik 替Substrate 推出更新,,但Saurik 公開(kāi)認(rèn)為這并不是他的工作,,Meridian 開(kāi)發(fā)者不應(yīng)該將問(wèn)題丟給他,導(dǎo)致現(xiàn)今有這種僵局,,但Meridian作者就已經(jīng)預(yù)告會(huì)有一個(gè)替代Cydia的解決方案,,也許有可能會(huì)與Electra共同合作,聯(lián)合推出Cydia及Cydia Substrate 替代品來(lái)解決這些問(wèn)題,。(目前有Cydia 工作正常Substrate生效(支持插件)兼容IPhone7)merdian下載地址:https://meridian.sparkes.zone/
G0blin
G0blin越獄是一款傳統(tǒng)的越獄工具,,它并不是使用KPP-less,而是采用Yalu ,、Saigon這類(lèi)的 KPP Bypass 舊技術(shù),并且另外拓展沿用而推出的后續(xù)版本,,因此它不需要越獄守護(hù)進(jìn)程(daemon),,甚至也不需要替Cydia Substrate進(jìn)行更新,不過(guò)只能讓A7~A9 處理器的設(shè)備支援,,同樣會(huì)導(dǎo)致iPhone 7,、iPhone 7 Plus及iPad Pro 10.5吋新機(jī)種無(wú)法支持,只有iPhone 6s ( Plus)與更舊的機(jī)種才能支援,。
KPP-less及KPP Bypass 是什么
前面看越獄工具一直提到KPP-less及KPP Bypass,,相信大家對(duì)于這兩個(gè)專(zhuān)業(yè)術(shù)語(yǔ)會(huì)看得很模糊,簡(jiǎn)單來(lái)替各位說(shuō)明兩者差異
KPP Bypass:當(dāng)KPP觸發(fā)前會(huì)先透過(guò)修補(bǔ)程式(Patch)來(lái)補(bǔ)掉漏洞需要的部分,,所以修補(bǔ)的時(shí)機(jī)點(diǎn)就相當(dāng)重要,,當(dāng)越獄失敗時(shí)就會(huì)顯示失敗了,重試嗎?(Failed,retry,?)訊息,。不過(guò)這也可能會(huì)再次觸發(fā)KPP,導(dǎo)致突然設(shè)備重開(kāi)機(jī),,就是因?yàn)榘l(fā)生核心錯(cuò)誤( kernel panic)所引起,。
KPP-less:這是采用繞過(guò)KPP機(jī)制的手法,讓越獄可運(yùn)作在沒(méi)有KPP保護(hù)的區(qū)域上,,由于KPP-less并不用擔(dān)心KPP會(huì)觸發(fā)的問(wèn)題,,比起KPP Bypass來(lái)的更穩(wěn)定,不會(huì)導(dǎo)致突然重開(kāi)機(jī)現(xiàn)象,。
越獄不代表不安全
當(dāng)越獄后能獲取到root最高權(quán)限,,導(dǎo)致大家對(duì)越獄后產(chǎn)生了「安全」上的質(zhì)疑,雖然越獄的確是存在有風(fēng)險(xiǎn),,但并不代表是不安全,。
iOS越獄是透過(guò)漏洞,使用越獄APP工具來(lái)逃離蘋(píng)果在iOS系統(tǒng)上所規(guī)劃的沙盒(Sandboxie),,我們可以說(shuō)越獄就是沙盒逃逸(Sandbox-Escaping)的一種過(guò)程,。
沙盒是指iOS基于安全機(jī)制,,特別規(guī)劃出一塊獨(dú)立的區(qū)域,讓指定程式只在這個(gè)被隔離的區(qū)域中執(zhí)行,、讀寫(xiě)資訊,,這并不代表任意APP獲得root權(quán)限后,就可讓所有文件目錄能被其它軟件APP可任意訪(fǎng)問(wèn),,也不表示隱私問(wèn)題會(huì)曝光,,所以iOS系統(tǒng)上的APP就無(wú)法像安卓系統(tǒng)那樣容易被共用文件,在越獄后依舊還有沙盒機(jī)制存在,。