Typy Jailbreaku
Zásah do systému je proces změny chování, struktury, či zabezpečení samotného systému za účelem vlastních modifikací a kontroly systému. V případě systému iOS je proces zásahu do systému označován pojmem Jailbreak. Jailbreak je softwarový nástroj k odemčení zařízení se systémem iOS. Existuje mnoho důvodů, proč uživatelé provádí zásah do systému. Když vynecháme případy z minulosti, kdy byla některá zařízení vystavena skrytému Jailbreaku při návštěvě infikované webové stránky, je hlavní motivací uživatelů snaha více systém otevřít. Nabízí se srovnání se systémem Android, který je distribuován převážně s otevřeným zdrojovým kódem, tzn. pod open-source licencí. Takový systém je možné dále upravovat, nebo jinak kontrolovat. Systém iOS je distribuován pouze na zařízeních od společnosti Apple, se kterými je pevně svázán a je uzavřený. Uživatel nemůže volně systém upravovat, ani instalovat neschválené aplikace třetích stran. Právě snaha otevřít systém úpravám a instalaci nepodepsanému softwaru je hlavní motivací pro provedení Jailbreaku.
Typy Jailbreaku
Existuje několik typů Jailbreaku. Samotný Jailbreak je vyvíjen na základě sledovaných zranitelností v systému iOS. Nové verze se objevují přibližně měsíc po každém uvedení nové verze systému iOS. Jailbreak může být považován za exploit právě z důvodu vyhledávání zranitelností v systému iOS a jejich využívání k ovládnutí systému. Společnost Apple reaguje na vydávání nových verzí Jailbreaku bezpečnostními aktualizacemi, které jsou implementovány do systému iOS v každé nové verzi. Ne vždy se podaří vyřešit zranitelnost v systému iOS pouhou softwarovou záplatou. V těchto případech je nutné uplatnit změny také v hardwaru zařízení. Takové změny se projeví až s uvedením nové verze zařízení se systémem iOS. Pravidelné vydávání nových verzí Jailbreaku se změnilo v roce 2014 s vydáním verze systému iOS 7.1. Ani dva měsíce po vydání této verze nebyl vyvinut použitelný Jailbreak, který by bylo možné použít na všech zařízeních s verzí iOS 7.1. Všechny dostupné metody pro Jailbreak systému iOS verze 7.0 jsou značně nespolehlivé. Společnosti Apple se tak daří stále lépe zabezpečit systém proti uživatelským zásahům.
Jailbreak podle odolnosti
Jailbreak je dělen do dvou základních kategorií. První kategorií je odolnost Jailbreaku, která je vázána na schopnost odolat restartu zřízení a vymazání jeho obsah. Kategorie odolnosti dělí Jailbreak na dva typy, tj. na vázaný Jailbreak a nevázaný jailbreak.
Vázaný Jailbreak
Vázaný Jailbreak, označován pojmem Tethered Jailbreak, je typ Jailbreaku, který je možné smazat z upraveného zařízení úplným restartem a uvedením do továrního nastavení. Slovo vázaný je odvozeno od způsobu provádění tohoto typu Jailbreku, který souvisí s nutností připojení zařízení přes USB kabel k počítači. Tento Jailbreak je vyvíjen na základě nalezených zranitelností v ovladači USB modulu, nebo s využitím exploitu limera1n.
Nevázaný Jailbreak
Nevázaný Jailbreak, označován pojmem Untethered Jailbreak, je druhý typ Jailbreaku, řazený z hlediska odolnosti. Tento Jailbreak není možné odstranit z upraveného zařízení pouhým restartem. Tento typ je mnohem efektivnější a vyžaduje vyhledávání více specifických zranitelností, např. zranitelnosti přímo v jádře systému. V současnosti je výskyt zranitelností v systému iOS limitován integrovanými bezpečnostními mechanismy, které brání vyhledávání zranitelností. Z toho důvodu nejsou současné verze Jailbreaku tak kvalitní, jako jejich první verze. Jailbreak je využíván v podobě exploitu, který upraví souborový systém tak, aby bylo odstraněno právo „root“. Následně je možné zasahovat do jádra systému a deaktivovat např. mechanismus pro podepisování kódu.
Jailbreak typu exploit
Jailbreak typu exploit je druhá kategorie Jailbreaku. Je založený na vyhledávání zranitelností v systému iOS, přesněji zajištění přístupu k zařízení na úrovni hardwaru, nebo ovládnutí systému práv v testovacím prostředí. Vyhledané zranitelnosti jsou použity k návrhu Jailbreaku.
Jailbreak úrovně Bootrom
Jailbreak úrovně Bootrom využívá zranitelnosti hardwarového modulu Bootrom. Zranitelnost v modulu umožňuje přístup k paměti ve chvíli, kdy je nahráváno jádro systému. Následně je možné upravit argumenty, které jsou pamětí načteny z jádra. Velkou výhodou pro tvůrce Jailbreaku je skutečnost, že nalezená zranitelnost v modulu Bootrom nemůže být opravena na úrovni softwaru, ale úplným nahrazením novou verzí modulu. Proto je tento typ Jailbreaku mezi vývojáři velmi oblíbený.
Jailbreak úrovně iBoot
Jailbreak na úrovni iBoot využívá zranitelnosti v softwarové komponentě iBoot, která zajišťuje plynulé nahrávání dat do paměti. Jailbreak na této úrovni není příliš efektivní. Nalezené zranitelnosti mohou být rychle opraveny vydáním opravné verze softwaru.
Jailbreak na úrovni uživatelské aplikace
Jailbreak na úrovni uživatelské aplikace využívá zranitelnosti v uživatelských procesech. Snahou je využít uživatelských práv „root“, nebo „mobile“ k odstranění bezpečnostních mechanismů. Jailbreak využívá dvou exploitů. První exploit umožní svévolné spouštění kódu. Druhý upravuje přístupová práva tak, aby došlo k vypnutí bezpečnostních mechanismů, chránících jádro systému. Posledním krokem je vypnutí podepisování kódu. Zranitelnosti, využívané u tohoto typu Jailbreaku, jsou velmi rychle opravovány bezpečnostními aktualizacemi.