Apple, śpij spokojnie. Masz najlepszy model aktualizacji, jaki istnieje

Ludziom nie dogodzisz. No nie i koniec. Wie o tym każdy, kto choć raz starał się dojść do kompromisu wśród większego grona osób. Wiedzą o tym także producenci, którzy muszą zmagać się nie tylko z technologią, ale czasem także z ułańską fantazją użytkowników. Nie analizujących konsekwencji, lecz mających fanaberię. Bo płacę i wymagam.

Jest bezpiecznie i to kluczowe, fot. Shutterstock.com
Jest bezpiecznie i to kluczowe, fot. Shutterstock.com
Piotr Urbaniak

20.11.2019 | aktual.: 20.11.2019 13:01

Dzisiejszego ranka miałem okazję spotkać się z obrazowym dowodem takiej właśnie fantazji. Redaktor Maciej Gajewski ze Spider's Web wziął się za krytykę modelu aktualizacji w iOS. "Apple, pobudka! Zamiast co chwila aktualizować iOS-a, weź przykład z Androida" – pisze już w tytule. W telegraficznym skrócie: poświęcił jakieś 5 tys. znaków, aby skrytykować Apple'a za sposób wydawania aktualizacji. I się ośmieszyć.

Chodzi o to, że jego zdaniem Google robi to lepiej, bo – tu cytuję – do załatania drobnej usterki w kliencie pocztowym naprawdę nie trzeba aktualizować całego systemu. Niestety, co dla niektórych może wydać się szokujące, ale trzeba. I posiadacze iPhone'ów powinni się z tego cieszyć.

Konieczność ponownego uruchomienia smartfonu i wgrania niejako całego systemu nawet w celu dokonania drobnej poprawki wynika wprost ze stosowanej przez firmę Apple architektury bezpieczeństwa. Ale to jest to, co zapewnia iOS przewagę nad Androidem.

Rozwiązanie brzmi: architektura bezpieczeństwa

Wszystkie aplikacje w iOS, o czym można przeczytać w oficjalnym poradniku bezpieczeństwa, muszą być podpisane. Tyle że certyfikat występuje w dwóch formach. Jedna to podpis – nazwijmy to tak – systemowy, druga zaś podpis regularny wydawany firmom trzecim i aplikacjom o mniejszym stopniu wrażliwości.

To ma ogromne znaczenie, gdyż wiąże się z wykonaniem kodu na innej warstwie uprzywilejowania. Zresztą, o to Apple walczy teraz z Komisją Europejską przy okazji sporu o otwarcie płatności NFC dla innych.

Schemat blokowy warstw uprzywilejowania w iPhonie, fot. Materiały prasowe
Schemat blokowy warstw uprzywilejowania w iPhonie, fot. Materiały prasowe

Większość apek w iOS działa w piaskownicy, odcięta od innych procesów i partycji systemowej. Tak, jak w Androidzie. Różnice zaczynają się na kolejnych etapach. Te kanoniczne, jak choćby Apple Pay, trafiają wprost na warstwę użytkownika. Tymczasem jeszcze za partycją systemową, obok jądra, znajduje się koprocesor zwany Secure Enclave. Ma własny mikrosystem i zarządza m.in. kluczami kryptograficznymi i danymi czujników biometrycznych jak Face ID i Touch ID, a także zapewnia generator liczb losowych do obsługi szyfrowania.

Mówiąc obrazowo, koprocesor ten determinuje, jakich danych i możliwości system operacyjny może dostarczyć poszczególnym procesom, ze szczególną troską traktując te potencjalnie wrażliwe (systemowe).

W skrajnych przypadkach każdorazowo sprawdzona zostaje sygnatura wszystkich stron pamięci pod kątem ewentualnych modyfikacji w kodzie. Secure Enclave nie zrobi tego, jeśli nie dysponuje odpowiednim wzorcem bitowym. A ten wzorzec trzeba mu dostarczyć na drodze aktualizacji systemu, która w iPhone'ach jest de facto aktualizacją całego oprogramowania układowego, z bootloaderem iBoot, jądrem i dopiero właściwym obrazem iOS.

Wychodzenie z domu bez zamykania drzwi też jest szybkie

"Nie ma żadnej różnicy pomiędzy aplikacją Apple Ustawienia a Apple App Store" – czytamy w przytoczonym artykule na Spider's Web. Parafrazując, nie ma żadnej różnicy między pleceniem głupstw, a tym zdaniem z SW.

Otóż App Store jest tylko aplikacją trybu użytkownika. Wprawdzie uprzywilejowaną w stopniu szczególnym do instalowania innych aplikacji (które potem trafiają do własnych piaskownic), ale nie może jakkolwiek wpływać na partycję systemową, a już tym bardziej Secure Enclave. Zaszyte w systemie menu ustawień może. Stanowi element tego systemu.

Przy czym wszystko to nie zmienia faktu, że naiwnością jest sądzić, iż ostatnie aktualizacje iOS to faktycznie tylko łatki do poszczególnych apek. To by przeczyło całej idei inżynierii wydawniczej, nie wspominając o sugestywnych rozmiarach paczek do pobrania.

Zwróćcie też uwagę, że w kontekście iOS nie słyszy się zbyt często o atakach polegających na ingerencji jednego procesu w drugi. To właśnie zasługa wszędobylskiej izolacji i nadzoru. Google nie ma komfortu projektowania większości sprzętu z Androidem, więc nie jest fizycznie w stanie zapewnić sprzętowej kontroli łańcucha poświadczeń.

Może sobie wrzucać na partycję użytkownika co tylko zechce i kiedy tylko zechce. Ale przestępcy też o tym wiedzą. Jasne, komfort szybszej aktualizacji jest bezdyskusyjny. Tylko, równie dobrze można wychodzić z domu bez zamykania drzwi. W końcu to również szybsze rozwiązanie od babrania się z jakimiś tam kluczami.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (144)