Jak mogę pomóc społeczności jailbreak? Niektórzy z was mogli wcześniej zadać to pytanie.
pod2G - członek zespołu marzeń o jailbreaku, któremu przypisano odkrycie luk w zabezpieczeniach, które zostały użyte w jailbreaku Absinthe i Corona, właśnie odpowiedział na to pytanie.
Na swoim blogu pisze:
Aby jailbreakować urządzenie, hakerzy potrzebują zestawu podatnych na ataki luk:
- wektor wstrzykiwania kodu: luka w podstawowych komponentach iOS, która prowadzi do niestandardowego, niepodpisanego wykonania kodu.
- luka w zabezpieczeniach związana z eskalacją uprawnień: zwykle nie wystarczy wykonać niepodpisane wykonanie kodu. Prawie wszystkie aplikacje i usługi iOS są w trybie piaskownicy, więc często trzeba uciec z więzienia, aby uruchomić exploit jądra.
- podatność jądra: jądro jest prawdziwym celem ładunku jailbreak. Jailbreak musi go załatać, aby usunąć wymuszanie podpisanego kodu. Tylko jądro może załatać jądro, dlatego potrzebna jest luka w wykonywaniu kodu w kontekście jądra.
- podatność na tethering: gdy urządzenie uruchamia się, jest niezałapowane, dlatego nie może uruchamiać niepodpisanego kodu. Tak więc, aby rozpocząć ładowanie jailbreak w czasie rozruchu, wektor wykonania kodu albo w bootstrapie usług, albo podczas ładowania binariów jest obowiązkowy.
- Zawsze testuj najnowszą wersję iOS przed zgłoszeniem awarii (w momencie pisania, iOS 5.1)
- Pamiętaj, aby nie zgłaszać awarii Apple: na urządzeniu z iOS przejdź do Ustawienia / Ogólne / Informacje / Diagnostyka i użycie i sprawdź, czy zaznaczono opcję „Nie wysyłaj”.
- Nie wszystkie awarie są interesujące: przerwanie, przekroczenie limitu czasu lub awarie braku pamięci są bezużyteczne. Sprawdź zrzut awaryjny w Ustawieniach / Ogólne / Informacje / Diagnostyka i użycie / Dane diagnostyczne i użycie, że utworzony raport o awarii ma wyjątek typu SIGILL, SIGBUS lub SIGSEGV.
- Awaria powinna być powtarzalna, co oznacza, że powinieneś wiedzieć, jakie dokładnie kroki to spowodowało i jak odtworzyć na innym urządzeniu.