Kilka dni temu Apple ogłosiło wydanie nowej wersji swojego systemu operacyjnego. iOS 10 oprócz wielu poprawek funkcjonalnych i lekkiej zmiany interfejsu przyniósł także ogromną niespodziankę dla osób grzebiących w systemie.
Trudno powiedzieć, czy ktoś w Apple się koszmarnie pomylił wypuszczając wersję iOS beta dla programistów czy też po prostu Apple po cichu zmieniło swoją strategię zabezpieczeń. Być może nigdy nie poznamy odpowiedzi na to pytanie – wiemy jednak, że raz wyciśniętej pasty nie da się z powrotem wsadzić do tubki.
Tajemnicza niespodzianka
Apple od wielu lat prowadzi walkę o bezpieczeństwo swojego systemu operacyjnego. Fundamentem bezpieczeństwa jego urządzeń jest brak możliwości uzyskania przez użytkownika (lub aplikacje które zainstaluje) uprawnień administratora. Jedną z metod utrudniania życia hakerom jakie stosowało Apple było szyfrowanie kluczowych elementów jądra systemu iOS, w tym mechanizmów chroniących jego integralność. Osoby próbujące analizować sposób działania tego elementu architektury systemu nie mogły przyjrzeć się bliżej kodowi ponieważ nie był on dostępny nawet przy użyciu technik inżynierii wstecznej.
Gdy 14 czerwca niektórzy programiści otrzymali dostęp do wczesnej wersji beta nowej wersji iOS zobaczyli coś, czego nikt się nie spodziewał. Elementy kodu które były wcześniej zaszyfrowane tym razem pojawiły się w formie jawnej. Zaskoczenie w społeczności było ogromne.
https://twitter.com/msolnik/status/742546465847840768
Błąd czy celowe działanie?
Osoby, które zrozumiały znaczenie pojawienia się odszyfrowanych elementów systemu, początkowo obstawiały, że osoba odpowiedzialna za ten błąd szybko pożegna się ze swoim stanowiskiem a Apple czeka wiele pracy by zmodyfikować ujawnione elementy kodu tak, by odkryte w nich błędy nie były obecne w kolejnej wersji systemu.
Opinie te oparte są jednak na założeniu, że Apple popełniło błąd. Można jednak rozważać także inny scenariusz wydarzeń. Historia związana z próbą włamania przez FBI do iPhone’a podejrzanego o terroryzm pokazała, że nawet w całkiem dobrze zabezpieczonych systemach ciągle znaleźć można luki pozwalające na przejęcie kontroli nad urządzeniem (FBI podobno kupiło usługę włamania do iPhone’a od tajemniczego dostawcy). Ujawnienie do tej pory zaszyfrowanych segmentów kodu bez wątpienia zachęci do jego analizy więcej osób a sama analiza będzie skuteczniejsza i dająca większe nadzieje na znalezienie błędów. Część znalezionych w ten sposób błędów może być zgłoszona Apple, tym samym podnosząc bezpieczeństwo całej platformy. Nie jest zatem wykluczone, że wypuszczenie kodu bez szyfrowania mogło być świadomym wyborem Apple. Niestety nawet gdyby był to jednak błąd to pewnie nigdy się o tym nie dowiemy – Apple raczej nie ma zwyczaju przyznawać się do pomyłek. Jest jednak możliwe, że dzięki takiej mniej lub bardziej świadomej decyzji Apple szanse na jailbreak dla iOS 10 rosną.
Dziękujemy Czytelnikom którzy wskazali nam ciekawy temat. Pozostałym nieśmiało wspominamy, że uruchomiliśmy szkolenie z bezpieczeństwa aplikacji mobilnych.
Komentarze
Co to za deassembler?
IDA Pro?
IDA
Odsłonili jądro, sterowniki i pliki konfiguracyjne. To oczywiście bardzo dużo ale pliki użytkownika są dalej zaszyfrowane.
To czysta zmiana strategii i przy okazji zachęta do testów przed wpuszczeniem wersji finalnej na jesieni wraz z premierą nowej wersji telefonów. Ktoś inny wykona za nich żmudną robotę w szukaniu dziur, zapewne wiele osób wskaże, że coś można by udoskonalić a przy okazji programiści Apple będą mieli okazję przyjrzeć się swojej pracy z cudzej perspektywy, co jest cennym doświadczeniem.
Jądro Mac OS X (od jesieni po prostu macOS) jest dostępne wkrótce po premierze nowej wersji systemu i nikt nie robi z tego powodu afery.
@pikm Wygląda jak IDA.
To nie był błąd:
“The kernel cache doesn’t contain any user info, and by unencrypting it we’re able to optimize the operating system’s performance without compromising security,” an Apple spokesperson told TechCrunch
http://www.macrumors.com/2016/06/22/apple-unencrypted-kernel-ios-10-intentional/