Apple zablokuje możliwość zmiany wersji iOS na starszą niż iOS 5

2 lata temu Apple wypuściło iOS 3 wraz z iPhonem 3GS i wprowadziło nowy system, który uniemożliwia użytkownikom przywracanie starych wersji iOS. Następnie zespół programistów opracował metodę zwalczania tego ograniczenia, która ostatecznie dała nam możliwość zapisywania plików SHSH, których można było użyć do przywrócenia dowolnej starej wersji iOS, dla której zapisano ten SHSH. Przez 2 lata zmagaliśmy się z tymi SHSH, ale wydaje się, że Apple chce nas uchronić przed tym bólem i w iOS 5 zablokuje możliwość przejścia na niższą wersję iOS. Oznacza to, że po zainstalowaniu systemu iOS 5.1 nie można w ogóle wrócić do systemu iOS 5.0.

Zespół deweloperski wyjaśnił wczoraj wieczorem, na czym polega ograniczenie nałożone przez Apple, porównując nowy system z istniejącym w zakresie obniżenia pasma podstawowego. W tej chwili nie jest możliwe obniżenie poziomu pasma podstawowego, chyba że posiadasz iPhone'a 4 i instalujesz wersję beta systemu iOS, której pasmo podstawowe możesz przywrócić do niższej wartości. To samo Apple zrobi również z iOS, wdroży system, który będzie generował unikalny kod przywracania dla każdego terminala, kod sprawdzany za każdym razem, gdy włączamy nasze urządzenie i którego obecnie nie da się złamać ani „sfałszować” . Ten unikalny kod jest generowany losowo przy każdym przywracaniu i nie zależy od ECID jak SHSH, więc bez kodu szyfrującego Apple bardzo trudno jest „odgadnąć” ten kod i bardzo trudno jest sfałszować uwierzytelnienie terminala przy każdym uruchomieniu .

Ten nowy system będzie wdrażany przez Apple począwszy od iOS 5, a interesujące jest to, że Apple zawsze może dać możliwość powrotu do starego oprogramowania. Możliwość tę można zapewnić poprzez podpisanie kodów przywracania (podobnych do SHSH) dla starych terminali. Generalnie po wypuszczeniu nowej wersji iOS Apple jeszcze przez kilka dni podpisuje SHSH na starą, zatem podobnie będzie w iOS 5.

Dobrą rzeczą dla tych, którzy mają dowolny terminal kompatybilny z iOS 5, bez iPada 2, jest to, że limera1n zawsze pozwoli na jailbreak na uwięzi na iOS 5 i będziemy mogli przejść na iOS 4, jeśli mamy SHSH, ale w tym celu może być konieczne użycie starych wersji iTunes. Zespół deweloperski twierdzi, że Apple wypuści nowe wersje iTunes, które będą zawierały metody blokujące przywracanie starych wersji iOS, dlatego dobrze byłoby od teraz zapisywać iTunes 10.3 na swoim komputerze, ponieważ program może być Ci potrzebny.

Na koniec zespół deweloperski twierdzi, że nowy system zablokuje możliwość przywracania starych wersji iOS, począwszy od iOS 5 GM, który ukaże się za kilka miesięcy. Myślę, że wielu spodziewało się, że Apple wdroży taki system i było to w miarę normalne, biorąc pod uwagę, że od 2 lat borykamy się z SHSH. Tak jak SHSH pojawił się 2 lata temu, pojawią się inne metody przywracania, a zespół deweloperski powiedział już, że ma kilka metod zwalczania tych ograniczeń.

Podsumowując, zaczynając od iOS 5, będziemy musieli zastosować nowe metody przywracania iOS.

Wygląda na to, że Apple zamierza agresywnie zwalczać „ataki polegające na ponownym odtwarzaniu”, które do tej pory umożliwiały użytkownikom używanie iTunes do przywracania poprzednich wersji oprogramowania sprzętowego przy użyciu zapisanych obiektów blob SHSH.

Ci z Was, którzy łamią jailbreak od jakiegoś czasu, prawdopodobnie słyszeli, jak okresowo ostrzegaliśmy, aby „zapisywać swoje obiekty BLOB” dla każdego oprogramowania sprzętowego za pomocą Cydii lub TinyUmbrella (lub nawet metody „kopiuj z /tmp podczas przywracania” w przypadku zaawansowanych użytkowników). Zapisanie obiektów BLOB dla danego oprogramowania sprzętowego na konkretnym urządzeniu umożliwia przywrócenie *tego* urządzenia do *tego* oprogramowania sprzętowego nawet wtedy, gdy Apple przestanie je podpisywać. To wszystko, jeśli chodzi o zmianę.

Począwszy od wersji beta iOS5, rola „APTicket” ulega zmianie — używa się go podobnie jak zawsze używano „BBTicket”. Etapy sekwencji rozruchowej LLB i iBoot są udoskonalane, aby zależeć od autentyczności biletu APTicket, który jest generowany jednoznacznie przy każdym przywracaniu (innymi słowy, nie zależy to tylko od Twojego ECID i wersji oprogramowania sprzętowego... zmienia się za każdym razem, gdy przywracasz, częściowo w oparciu o liczbę losową). To uwierzytelnienie APticket będzie miało miejsce przy każdym uruchomieniu, a nie tylko w czasie przywracania. Ponieważ tylko Apple ma klucze kryptograficzne, aby poprawnie podpisać bilet APTicket po przywróceniu, odtwarzane bilety APTicket są bezużyteczne.

Będzie to miało wpływ tylko na przywracanie począwszy od wersji iOS5 i nowszych, a Apple będzie mogło dowolnie włączać i wyłączać ten przełącznik (otwierając lub zamykając okno podpisywania APticket dla tego oprogramowania, tak jak dzieje się to w przypadku BBticket). Exploit limera1n w geohot ma miejsce przed wykonaniem jakiegokolwiek nowego sprawdzenia, więc jailbreak na uwięzi będzie nadal możliwy dla urządzeń, gdzie obowiązuje limera1n. Również, przywracanie oprogramowania sprzętowego do wersji wcześniejszej niż 5.0 z zapisanymi obiektami blob będzie nadal możliwe (ale wkrótce zaczniesz potrzebować do tego starszych wersji iTunes). Należy pamiętać, że iTunes ostatecznie *nie* jest tutaj komponentem, który ma znaczenie… jest to sekwencja rozruchowa urządzenia rozpoczynająca się od LLB.

Chociaż zawsze było tylko „kwestią czasu”, zanim Apple zacznie to robić (zawsze robiło to w przypadku BBticket), jest to nadal znaczący ruch ze strony Apple (i wiąże się to również z pewnymi wymaganiami technicznymi nadchodzącej delty OTA „aktualizacje”).

Uwagi: chociaż nadal mogą istnieć sposoby na walkę z tym problemem, okres beta to naprawdę nie czas ani miejsce na ich omawianie. Po prostu informujemy Cię, co firma Apple już zrobiła w swoich istniejących wersjach beta — usprawniła swoją grę!