A jailbreak mindig is az Apple által alkalmazott biztonsági megoldások kikerülésével működött. Így óhatatlanul is azt eredményezte, hogy a cég egyre-másra foltozta be a korábban már kihasznált hibákat, ezzel biztonságosabbá téve a rendszert, és egyúttal egyre nehezebbé téve a jailbreaket.
A dolog fejlődését legjobban talán saurik vázolta redditen nemrég, ebből merítve foglalnánk össze a jailbreak fejlődését a kezdeteitől napjainkig, és hogy miért nincs egyelőre jailbreak az éppen aktuális iOS-verzióra, ha nincs éppen rá.
Az iPhoneOS 1.0 még jóformán “nyitott” volt, az iTunes is elég egyszerűen hozzáfért a készülékhez, ezzel egyes hackek megoldásait meglehetősen egyértelművé téve. Az iPhoneOS 1.1 az első, javarészt haszontalan kísérlet volt arra, hogy a rendszert az Apple biztonságosabbá tegye – ekkor még szinte az összes app, így például még a Safari is rootként futott, ami a legkevésbé sem volt biztonságos. Az első jailbreaket így épp egy Safari-n keresztül kihasználható hibának köszönhetően lehetett pár tappintással feltenni.
Ekkortájt sikerült találni egy hibát a bootromban is. A bootrom egy olyan része a készülék rendszerének, amit a szoftverfrissítés nem képes módosítani, így az itt található hibát az Apple csak a hardver módosításával tudja javítani. Ez a hiba félre lett téve az iPhone 3G jailbreakjéhez, aminek köszönhetően az eszköz a megjelenését követően jailbreakelhető is volt, és a bootrom-hiba miatt bármely esetben az is maradt egész élettartama alatt, hiába ad ki közben újabb firmware-frissítést az Apple. Minden más, abban az évben talált hibát így félre lehetett tenni a későbbi jailbreakekhez.
Az iPhone 3GS megjelenésével az Apple javította ennek a bootrom-hibának az első felét. A második fele, a 24kPwn továbbra is megvolt, és lehetővé tette a a szoftver szándékos megváltoztatását, ha adott volt a lehetőség a flash memória módosítására. Ez az év az iBoot-hibák éve volt, amiket viszont később javítani lehetett.
Az Apple erre újabb kiadású 3GS-ekkel (új iBoot) válaszolt, amivel javította a hiba másik felét is, a 24kPwn-t. Így a javított bootrom és az iBoot hibák kifogyása után a közösség az úgynevezett “userland” bugok felé fordult. Ezek az adott iOS-verziókban megtalálható hibák, amelyek a sokéves fejlesztői “hanyagság” eredményei. Ugyanakkor természetükből adódóan sokkal trükkösebb módon lehet csak kihasználni őket.
Amikor az iPhone 4 megjelent, a userland hibák tették lehetővé a jailbreakelését mindaddig, míg a limera1n exploit elő nem került, ami szintén egy bootrom hiba. Ennek köszönhetően az iPhone 4 is csatlakozott a “pwned 4 life” csapathoz, ami azt jelenti, hogy az élettartama alatt bármikor jailbreakelhető lesz, hiszen az Apple csak hardveres frissítéssel tudja javítani ezt a hibát.
Ezek a szoftveresen nem javítható hibák több félreértésre adnak okot a jailbreakes közösségben, ami köszönhető az egyes jailbreakek nehézségének és a firmware-frissítésekhez való viszonyuknak. De gyakorlatilag egy ilyen bootrom-hiba azt jelenti, hogy jóformán nulla munkával jailbreakelhető lenne egy, ezt a hibát tartalmazó iPhone 4 esetén még akár az iOS 11 is (noha arra az iOS 7.1.2 volt az utolsó frissítés).
Ugyanakkor a közösség eddig még nem talált bootrom-szintű hibát az iPhone 4s és az azt követő eszközök esetén. Így a jelenlegi helyzet alapján az elkövetkezendő jailbreakeknek egyelőre userland-alapúaknak kell lenniük, amikhez egyrészt meg kell legyen a megfelelő hiba az iOS-ben, másrészt ez egyúttal azzal is jár, hogy az ilyen hibákat az Apple egy szoftverfrissítéssel könnyedén javítani tudja. És bár frissíteni nem kötelező (jailbreakelt rendszeren ráadásul az OTA-frissítést már maga a jailbreak kapcsolja ki), de az SHSH-k miatt a felhasználó könnyen kerülhet olyan helyzetbe, hogy restore a dolog vége, ami viszont iPhone 4s-től kezdve jelenleg kizárólag a legfrissebb firmware-t rakja fel.
Ráadásul egy userland-alapú jailbreak több hiba együttes meglétét igényli, és ezek közül legalább egynek a kernelben kell lennie ahhoz, hogy kikerülhető legyen a kódaláírás nyújtotta védelem. Eközben persze az Apple is lépett az ügyben, olyan, erősebb védelmi megoldásokat bevezetve, mint például a kernel-szintű ASLR.
Ez azt jelenti, hogy a jailbreakes közösség számára egyre fogynak a felhasználható, “ismert hibák”, ezeket egyre bonyolultabb alkalmazni, és mindezt annak a tudatában lehet megtenni, hogy egy következő frissítésben mindegyik javításra kerül.
Így tehát össze sem hasonlítható az iPhone 3G jailbreakje a jelenlegi eszközökével: míg az iPhone 3G élettartami jailbreakelhetőségéhez elegendő volt mindössze 2 hiba, addig az iPhone 5 esetén adott iOS-verzió esetén is már legalább 2 hiba kell (amiket a következő frissítésben ráadásul javít az Apple).
Vegyük például az ezen cikk eredeti megjelenésekor elérhető hivatalosan legfrissebb firmware, a 6.1.3 és 6.1.4 esetét. Még ha már készen is lett volna egy új jailbreak ezekre a verziókra (de hivatalosan nem volt!), gyakorlatilag teljesen felesleges lett volna azt kiadni az iOS 7 megjelenése előtt, amikor az iOS 7 már gyakorlatilag a küszöbön állt, hiszen akkor az iOS 7 megjelenéséig ezt a “hibacsomagot” javíthatta volna az Apple. Akkor meg azok jártak volna rosszul, akik frissítettek, vagy az új készülékeket megvették, amik már eleve az iOS 7-tel érkeznek. Elképzelhető volt ráadásul az is, hogy a majd így megjelenő iOS 7-es jailbreak visszafelé kompatibilis lett volna, és támogatta volna a 6.1.3 vagy 6.1.4 esetén is az egyes készülékeket.
Látható tehát, hogy a jailbreak azon túl, hogy sokat adott az iPhone és az iOS fejlődéséhez, és tette így azt egyre biztonságosabbá, gyakorlatilag mindig is saját maga alatt vágta a fát, ezzel is egyre nehezebbé téve a dolgot az évek során. De ameddig emberek fejlesztik az iOS-t, addig hibázni is fognak, pláne egy ennyire összetett rendszer esetén, és ezek a hibák továbbra is lehetővé fogják majd tenni a jailbreaket. Már csak olyanok kellenek, akik felfedezik ezeket a sebezhetőségeket, és segítik a közösséget azzal, hogy ezeket a hibákat megfelelően időzítve, új jailbreakként teszik közzé.
Csak erre sokszor várni kell, és így van ez jelen esetben is.
Legutóbbi frissítés: 2017.05.02.
25 Comments
Nagyszerű ismeretterjesztő cikk, köszönet!
Volt egy feltört telefonom, (3G) én azonban sosem csináltam ilyet, nincs is szándékomban. Az Apple véleményét osztom; – stabilabb működés – azóta nem fagyott le telefonom.:-)
Nekem nem volt még olyan Apple cuccom amit ne jailbreakeltem volna. Ahogy bekapcsoltam őket már kezdtem is a jailbreaket. Jailbreak nélkül én nem lennék meg (ipad minimen is nehezen tűröm). Anélkül nem iPhone az iPhone.
Köszi a cikket, érdekes és tanulságos volt, bár szerintem ezek után is lesznek olyan, akik majd az iOS7 megjelenése után naponta sírnak majd a JB után.
Én eddig pár tweak miatt használtam JB -et, de miután ezek közül az egyik legfontosabb funkció bekerült az iOS7 -ben, így már nem érzem szükségét a JB -nek.
Így, hogy a funkció kapcsolók gyors elérése benne lesz a gyári iOS7-ben, én sem hiszem, hogy szükségem lesz dzsélbrékre. Bár a zene hangerőgonbokkal kapcsolgatása talán hiányozni fog 😀
Mivan a Root AppStore dologgal? Valamikor Áprilisban volt hír róla, hogy gyárilag “felnyitható” lesz az iOS 7…
Tetszett a cikk,tényleg hasznos volt.
iOS 7-ből a Zephyr fog nagyon hiányozni!
Control centerbe igazán belerakhattak volna
egy 3G kapcsolót,vagy mobiladatforgalom kapcsolót!
Bár i5-ön meg LTE kapcsoló kéne szal ez bukta.:(
De sztem én is megleszek jb nélkül.
@Walaky: Igen, az a cikk pont április 1-jén jelent meg 😀
3g óta minden telóm jb-ve volt/van és szerintem lesz is. Vicces, hogy az IOS 6-on használt tweakjeim nagyja bekerült a 7-be, de most meg a kinézet miatt fogok jb-ni. Amúgy a 3g kapcsolóért is nagyon nagy kár. Amíg nem volt jb a 4s-emre, gyűlöltem folyton megkeresni a menüben.
@Walaky: Már dolgozik rajta az Apple. Én viszonylag jóban vagyok a magyarországi kirendeltségükkel, úgyhogy azt is megsúgták, hogy az iOS nyílt verziója Android-alapú lesz. Írtam erről egy rövidebb összefoglalót, katt.
Később olvastam, nem esett le, hogy elsején íródott… de akkor hogyan lesz megoldva az alkalmazások / okos órák kapcsolata? (Nekem úgy tűnik, a BT kihasználásán elég sokat dolgozott az Apple az iOS 7-el…)
@Walaky:
Hát igen, többek között ezért nem szeretem az április 1-es vicchíreket. Mondjuk az még mindig szellemesebb volt, mint az az általános gyakorlat, amikor egyes weboldalak azt híresztelik, hogy megszűnnek.
A cikkhez kapcsolódva: nagyon jónak találom az összefoglalót, azonban felmerült bennem az a kérdés, hogy, ha az iPhone 4 hardveres okokból mindig Jailbreakelhető (tehát más, egyszerűbb mód is elég a Jailbreakhez, nem sütnének el puskaport vele), akkor arra miért nem jött ki még a törés? Humán erőforrás hiánya, esetleg a hackerek érdektelensége miatt?
Aki nem jailbreakelte még iphone-t azt se tudja milyen lehetőségek vannak benn: Csak röviden, egyedi témát, csengőhangot, sms hangot is lehet készíteni, teljesen egyedi ikonokkal akár mozgó háttérképpel. Barrel-el különböző lapozási effektek állíthatóak be. Ifile hozzáfér minden filehoz a telefonon. Sbsettings-el 100x különb gyors menüt kapunk az IOS 7-nél is. Cyntactal a hívó képek kikerülnek a telefonszámok mellé kicsiben. Springtomize-al pedig testre szabható szinte minden: ikon szám, méret,egyedi carrier név, értesítési központ kikapcsolható stb… Zeppelinel egyedi operátor logót (képet) lehet tenni a Telenor/stb. szöveg helyére. Van program amivel Safariba bekapcsolható a letöltés opció.Van program amivel Mp3 tölthető le a youtube-ról… Aki még nem frissítette fel a telefonját IOS 6.1.3 vagy 6.1.4-re ajánlom neki a SEMI RESTORE programot visszaállításra.
Aki nem jailbreakel az 2 okból teszi, ért hozzá és nem szeretné, a másik tábor a többség.. Olyan emberektől halja, h a jailbreak rossz, akinek fogalma sincs hozzá, h mi az, de ő is valakitől hallota, h rossz… És mivel az agykapacítása kevés ahhoz, h utána járjon, ezért azt szajkozza, h rossz, és semmi értelme sincs és tönkre is megy a készülék.. Ezért beveszi a maszlagot.. Ez a tábor később “leszarozza” az Iphone-t mivel az androidos haverjai mesélik neki, h milyen “szar” ez az ios, mert ezt sem lehet vele, ezt sem… Stb.. Tehát öngólt rúg a saját felfogásának.. Mivel az android nyílt.. És bármit megcsinálhat.. De ha gondolkodna 1 picit, akkor rájönne, h miért.. De nem teszi.. Megy a tömeg után.. Sajnos a közelemben sok ilyen ember volt. Onnan merítettem.. 😀 😀
@Ayanlith: mármint mire? a 6.1.3-ra? a 6.0-t betallózva redsn0w-ban már a 6.1.3 megjelenésekor azonnal jailbreakelhető volt, vagy ott a sn0wbreeze custom 6.1.3. de a “pwned 4 life” csak tethered jailbreaket tesz lehetővé, tehát csak géppel indítva tölt be a jailbreak.
@Put2: sajnos ilyen “hozzáértőkből” elég sok van, és amikor mindezeket le is írják, mások meg az alapján kezdenek el tájékozódni, na az pláne nem jó. ugyanez a kategória, amikor rendszeresen és következetesen összemossák a warezt a jailbreakkel, noha a jailbreak önmagában sosem tette lehetővé a warezolást. ezért is van pár ilyen cikkünk, ami ezekről mondja el, miért tévhit, de sajnos a többségüket nem érdekli. 🙁
sziasztok. segítcségre lenne szükségem… nem először csinálok ilyesmit, de őszintén szólva kifogytam az ötletekből… iphone 4et probálok jailbreakelni 6.1.3-on… a legutolsó redsn0w-val… betallozom neki a 6.0-at… lefut rendesen a jailbreak, de a cydiát nem telepíti fel… és mivel a JB tethered, ezert magától bebootolnia sem lenne szabad… filekezelőkkel ugyan hozzáférek azokhoz a fájlokhoz amikhez csak JB után lehet, de enyi… probáltam a snowbreez-t is, az felteszi ugyan a cydia ikonját, de mikor elinditanám egyből kilép… és azzal is normálisan bootol magától a teló… gyári restore-al teszem fel a 6.1.3-at… a shift kattos modszerrel… de kifogytam az ötletekből… mit csinálhatok rosszul?
@spawn002: a jailbreak végigfutása után már rögtön tethered módban kell indítanod. betölteni pedig a semi-tethered mivolta miatt be fog tölteni mindaddig, míg olyan kiegészítőt nem telepítesz, ami a SpringBoard működésébe nyúl bele (mint például a MobileSubstrate). ha a just boot tethereddel indítod, akkor elméletileg rendben kellene lennie.
a sn0wbreeze esetén is ugyanez, nem teheredként indítod, ezért lép ki.
köszönöm a gyors válaszod és a segítséged.. rég csináltam ilyet és ezt a lépést kifelejtettem 😀 tökéletesen működik… hálás vagyok:D
i4+iOS7-re van elérhető publikus jailbreak? Az A4-es processzor és a SHAtter exploit miatt kell, hogy legyen legalább tethered, de eddig sehol nem láttam :S Pedig megcsinálhatnák, h legalább ezen az eszközön menjen… De még jobb lenne, ha nem csak tethered, hanem semi-tetheredbe működne.
Hi All! Légyszi segítsetek.
Van egy ipad2 azon egy Jailbreak-elt 6.1. Erre szeretnék tiszta 6.1.3 vagy ios 7-et.
Letöltöm a megfelelő ipsw-t és a shiftest itunes-os módszerrel próbálom, de nem megy. 3194 error-t dob, a host file javítása után is. Esetleg rosszul csinálok valamit?
Előre is köszi.
@Vikitorony: nyilván van semi-tethered, de ugyanúgy nem sokat ér, és nem az egyszeri embernek van: http://theiphonewiki.com/wiki/Opensn0w
@oserenella: amióta iPhone 3GS létezik, azóta az összes készülékre csak a hivatalosan elérhető legfrissebb firmware-verzió az, ami telepíthető (kivétel iPhone 4 és korábbi esetekben, ha van mentve SHSH). tehát az iPad 2-re még SHSH megléte esetén sem telepíthető az aktuálisan legfrissebb verziónál korábbi, így jelenleg a 7.0.4-et tudod csak feltelepíteni rá, semmi mást, ezért kaphattál 3194-es hibát.
http://szifon.com/2011/03/03/leggyakoribb-itunes-hibauzenetek/
@Jadeye: Köszönöm. Azért gondoltam, hogy először nem a 7-est rakom fel, mert sok olyat hallottam, hogy a 7-es lelassítja az ipad 2-est. Ez így van, vagy csak kacsa?
Köszi.
@oserenella: valójában mindegy, mert nem fogsz tudni mást feltenni, csak a 7.0.4-et. az iPad esetén többen mondták, hogy valami nem a legjobb, de személyes tapasztalatom nincs az iPad és az iOS 7 kapcsolatával. mindenesetre egy tiszta restore sok felesleges problémát kiküszöböl, tehát ne frissítés legyen, és backupból se állíts vissza semmit, akkor kevesebb a problémalehetőség.
@Jadeye: Köszi szépen. Üdv.
Sziasztok!Bocs ha nem jo helyre irok,de csak azt szeretnem megkerdezni, hogy van mar mukodo es megbizhato jailbreak 7.1.1-re?
Koszi!
@Mikee133: használd a keresőt: http://szifon.com/2014/06/23/pangu-io-untethered-jailbreak-ios-7-1-x-re/