Czy policja lub Apple mogą odszyfrować Twojego iPhona – analiza

dodał 17 lutego 2016 o 20:57 w kategorii Krypto, Mobilne, Prawo, Prywatność  z tagami:
Czy policja lub Apple mogą odszyfrować Twojego iPhona – analiza

Czy polskie lub amerykańskie organy ścigania mogą odszyfrować dane zapisane w iPhonie nie znając hasła użytkownika? Jak Apple zabezpiecza swoje urządzenia i od której wersji sprzętu i oprogramowania są one naprawdę bezpieczne?

Amerykański sąd nakazał firmie Apple pomoc FBI w uzyskaniu dostępu do iPhone’a terrorysty. Przez media przetacza się dyskusja na ten temat, jednak niestety nawet serwisy zajmujące się bezpieczeństwem bardzo powierzchownie traktują w niej związane z tym zagadnieniem aspekty techniczne – a te wydają się bardzo interesujące. Sami nie jesteśmy ekspertami od zabezpieczeń Apple, dlatego podpieramy się opiniami fachowców (linki na końcu artykułu), jeśli zatem gdzieś się mylimy to zapraszamy do zgłaszania korekt.

Czego sąd i FBI oczekują od Apple

Po atakach w San Bernardino w których zginęło 14 osób FBI przejęło służbowy telefon zamachowca. Terrorysta używał iPhone’a 5C, co najwyraźniej sprawiło problemy śledczym. Apple otrzymał nakaz sądowy udzielenia pomocy FBI. Sąd ma dość precyzyjnie oczekiwania i nie jest to bezpośrednie złamanie kodu dostępu do telefonu. Nakaz mówi, że Apple ma dostarczyć nową wersję oprogramowania, która pomoże ominąć ograniczenia możliwości ataku na kod zabezpieczający telefon. Zanim jednak pochylimy się nad szczegółami, musimy spojrzeć na rozwiązania zabezpieczające dostęp do telefonów Apple.

Problem możliwości ataku na urządzenia Apple jest dość złożony, ponieważ zabezpieczenia ewoluowały zarówno z nowymi wersjami sprzętowymi jak i oprogramowania i trzeba analizować konkretny przypadek. Według dostępnych informacji FBI ma do czynienia z modelem iPhone 5C z wersją oprogramowania co najmniej 8.4 (inne źródła mówią o wersji 9.0). Co to oznacza w praktyce?

Jeśli ktoś próbował kiedyś przypomnieć sobie zapomniane hasło do iPhone’a pewnie zwrócił uwagę na proces opóźniający jego odgadnięcie. iOS oferuje możliwość użycia trzech rodzajów zabezpieczeń:

  • Usunięcie zawartości urządzenia po 10 nieudanych próbach odgadnięcia kodu
  • Wprowadzenie opóźnień po kolejnych nieudanych próbach (próby 1-4 brak opóźnienia, po próbie 5 – 1 minuta, po próbie 6 – 5 minut, po próbach 7 i 8 – 15 minut a po 9 próbie 1 godzina)
  • Próby podawania kodów trzeba przeprowadzać za pomocą klawiatury ekranowej.

FBI za pośrednictwem sądu poprosiło Apple o opracowanie takiej wersji oprogramowania, która zniesie te ograniczenia. Nowa wersja iOS, dedykowana dla posiadanego przez FBI urządzenia terrorysty, ma wyłączyć kasowanie danych po 10 próbach, usunąć wbudowane opóźnienia w podejmowaniu kolejnych prób oraz umożliwić przeprowadzanie łamania hasła przez bezpośredni protokół łączności, omijając klawiaturę ekranową. Czy to możliwe?

Jak iPhone i iOS zabezpieczają Twoje dane

iOS od wersji 8 zaczął poważnie traktować szyfrowanie danych. Wcześniejsze wersje systemu nie szyfrowały nawet tak podstawowych danych jak zdjęcia i wiadomości. Od wersji 8 zakres informacji objętych szyfrowaniem za pomocą klucza definiowanego przez użytkownika jest znacznie większy i obejmuje większość kluczowych aplikacji. Co prawda szyfrowanie całego dysku istniało już od wersji 3, jednak działało ono głównie jako mechanizm uniemożliwiający przełożenie układu pamięci do innego urządzenia w celu jego odczytania oraz narzędzie do szybkiego usuwania danych (wystarczy usunąć klucz kryptograficzny by uniemożliwić odczyt).

iOS do szyfrowania danych używa dwóch elementów – hasła podanego przez klienta oraz unikalnego klucza sprzętowego (UID) o długości 256 bitów, zapisanego w urządzeniu. Bez wnikania w detale procesu szyfrowania, dopiero połączenie tych dwóch kluczy pozwala na odszyfrowanie zabezpieczonych danych. Apple twierdzi, że kluczy tych nie utrwala nigdzie poza samymi urządzeniami, zatem podstawą do dalszej analizy jest sposób zapisania klucza UID, unikatowego dla każdego urządzenia.

W iPhonach wyposażonych w procesor A7 lub nowszy klucz UID zapisany jest w tzw. Bezpiecznej Enklawie (Secure Enclave). Jest to koprocesor kryptograficzny – dedykowany układ scalony, który nie umożliwia odczytania klucza, a jedynie umożliwia dokonanie operacji z jego udziałem i przekazanie odpowiedzi systemowi. Sprawia to, że hasła nie można łamać za pomocą dedykowanych układów scalonych lub kart graficznych – cały proces musi odbywać się w urządzeniu Apple. Bezpieczna Enklawa implementuje także opisane powyżej ograniczenia czasowe w możliwościach zgadywania hasła. Układ ten jest skonstruowany w taki sposób, że system nie ma możliwości wpływania na jego zachowanie. Nie pomoże tutaj nawet jailbreak. Oznacza to, że dla urządzeń posiadających procesor A7 lub nowszy żadna aktualizacja oprogramowania nie może usunąć ograniczeń w możliwości zgadywania hasła. Otwartym pozostaje pytanie, czy Apple może zaktualizować oprogramowanie wewnątrz Bezpiecznej Enklawy, by spełnić wymagania sądu. Nie znaleźliśmy nigdzie informacji na ten temat.

Starsze wersje iPhone’ów wyposażone w procesor A6 również zapisują klucze szyfrujące w sposób uniemożliwiający ich  odczytanie, jednak w tych urządzeniach możliwość sprawdzenia hasła nie jest ograniczona sprzętowo. Brak Bezpiecznej Enklawy oznacza, że jedynym ograniczeniem szybkości zgadywania hasła jest złożoność i liczba iteracji funkcji je tworzącej (w tym wypadku PBKDF2), a ograniczenia wdrożone są na poziomie oprogramowania urządzenia. W praktyce iOS oznacza to możliwość sprawdzania haseł w tempie ok. 80 ms na 1 hasło. Jako że urządzenia o którym mowa wyposażone jest w procesor A6, oznacza to, że jeśli uda się operacja przygotowania i wgrania nowego oprogramowania, to FBI może dostać to, o co prosi.

Czy da się przygotować i wgrać nowe oprogramowanie?

To jedno z najciekawszych pytań w tej sprawie. Apple prawdopodobnie może przygotować odpowiednie oprogramowanie. Dysponuje ono także kluczami kryptograficznymi niezbędnymi do podpisania oprogramowania które można wgrać do telefonu. Pozostaje zatem sama kwestia aktualizacji oprogramowania poprzez tryb DFU (Device Firmware Upgrade). Jak wiadomo do jego wgrania należy użyć komputera powiązanego wcześniej z telefonem. Możemy jedynie spekulować, że FBI dysponuje komputerem, do którego wcześniej był podłączany rzeczony iPhone. Czy tokeny umożliwiające podłączenie i uwierzytelnienie komputera jeszcze nie wygasły? Czy w trakcie procesu aktualizacji oprogramowania trzeba podać nieznane FBI hasło? Czy kontrola tego hasła leży po stronie iTunes czy też jest weryfikowane po stronie telefonu? Na te pytania nie znamy odpowiedzi, jednak treść nakazu sądowego sugeruje, że FBI wierzy w możliwość wgrania oprogramowania bez znajomości hasła dostępu do telefonu.

Jak długo może potrwać zgadywanie hasła?

Jak już wspomnieliśmy, w tym modelu, zakładając udaną interwencję Apple, hasło zgadywać można w tempie 1 próby na 80 milisekund. Oznacza to 750 prób na minutę, co przy haśle w postaci 4 cyfr daje niespełna kwadrans na sprawdzenie wszystkich kombinacji. Jeśli właściciel telefonu użył hasła o długości 6 cyfr, czas zgadywania rośnie do 22 godzin. Jeśli użył choć 1 litery wśród 6 znaków hasła, to sprawdzenie wszystkich możliwości może zająć  ponad 5 lat. Najwyraźniej FBI obstawia, że hasło ma nie więcej niż kilka znaków i są to same cyfry. I znając realia z dużym prawdopodobieństwem może mieć rację.

Czy są inne metody pozyskania danych z telefonu?

Swojego czasu istniało wiele metod odzyskiwania danych z telefonów Apple, były to jednak czasy sprzed wdrożenia silnego szyfrowania. Apple umożliwia także tworzenie dwóch rodzajów kopii bezpieczeństwa – chmurowych (iCloud) oraz na lokalnym komputerze (iTunes). Według odnalezionych przez nas informacji obecnie brak jest możliwości odzyskania danych z kopii bezpieczeństwa przechowywanej w chmurze Apple bez znajomości hasła użytkownika lub współpracy Apple. Co ciekawe w tej sprawie Apple współpracowało z organami ścigania i agencji FBI otrzymali kopię danych z telefonu terrorysty trzymanych w chmurze, jednak ostatnia kopia była wykonana 19 października (do zamachu doszło 2 grudnia) co może oznaczać, że właściciel celowo wyłączył wykonywanie kolejnych kopii.

Według dostępnych informacji brak jest możliwości odczytania hasła zapisanego w urządzeniu poprzez techniki fizycznej analizy układów scalonych – są one skutecznie zabezpieczone przed możliwymi atakami. Dodatkowo znajomość klucza sprzętowego zapisanego w urządzeniu nie jest wystarczająca do odszyfrowania plików – szyfrowanie oparte jest zarówno o klucz urządzenia jak i klucz użytkownika i bez jego znajomości nie sposób odszyfrować danych.

W nowszych wersjach urządzeń Apple (iOS 9 i procesory A7 i nowsze) firma ta wdrożyła już poziom zabezpieczeń który uniemożliwia jej odzyskanie zaszyfrowanych danych bez względu na żądania sądów – model 5C był prawdopodobnie ostatnim, gdzie możliwe jest ułatwienie tego procesu. Co ciekawe, gdyby zamachowiec miał nowszego iPhone’a z czytnikiem linii papilarnych, FBI pewnie by sobie poradziło z nim bez problemów…

Czy FBI naprawdę nie potrafi odczytać zawartości telefonu?

Odpowiedź na to pytanie odchodzi już od technikaliów i zmierza w stronę teorii spiskowych. W naszej ocenie FBI, prowadząc śledztwo związane z bezpieczeństwem narodowym, może prosić o pomoc wszystkie amerykańskie służby. Jeśli faktycznie nie może sobie poradzić z tym iPhonem, to jest to najlepsza możliwa reklama dla Apple.

Czy możliwe jest, że telefon został już dawno odszyfrowany a obecny nakaz sądowy ma zbudować atmosferę wymuszenia wdrożenia obowiązkowych tylnych furtek w oprogramowaniu Apple i innych producentów? Tego scenariusza nie możemy wykluczyć, jednak brak na to jakichkolwiek dowodów.

Co na to Apple?

Co ciekawe, jeszcze całkiem niedawno Apple wykonywało nakazy sądowe narzucające obowiązek odblokowania urządzeń w celu odczytania ich zawartości, jednak były to urządzenia z wersją oprogramowania wcześniejszą niż 8.0. Wersje te nie szyfrowały wielu istotnych informacji, zatem wystarczyła modyfikacja interfejsu użytkownika by ominąć kod zabezpieczenia ekranu i odczytać np. SMSy czy zdjęcia. Najwyraźniej jednak Apple zmieniło zdanie, ponieważ nie tylko wdrożyło mechanizmy dzięki którym samo nie jest w stanie odczytać danych, ale także w opisywanej powyżej sprawie poinformowało, że zrobi co w jego mocy by nie wykonać nakazu sądu.

A co z Androidem?

To pytanie którego analiza przekracza naszą wiedzę i możliwości – o ile ekosystem Apple to zamknięta grupa urządzeń i wersji oprogramowania, świat Androida jest tak zróżnicowany, że zamiast 2 czy 3 scenariuszy pewnie są ich setki jeśli nie tysiące. Brak jednego dostawcy sprzętu i oprogramowania powoduje, że ewentualne sprawy dotyczące dostępu do urządzeń z Androidem trafiają do różnych producentów i mogą nie ujrzeć światła dziennego.

Opierając się na dostępnych informacjach i analizach możemy powiedzieć, że wiele modeli telefonów z Androidem posiada luki bezpieczeństwa które wykorzystywane sa przez wyspecjalizowane firmy do odczytywania zawartości telefonów. Na przykład firma Cellebrite i jej UFED potrafią poradzić sobie z licznymi telefonami Motoroli a także wybranymi modelami Samsunga oraz LG opartymi o układy scalone firmy Qualcomm – a to tylko jeden z licznych przykładów. Bez wątpienia najnowsze wersje Androida wymuszające szyfrowanie całych dysków są odporniejsze na ataki, jednak trudno wskazać wersję z gwarantowaną odpornością.

Zestaw do akwizycji danych

Zestaw do akwizycji danych

Konsekwencje tej sprawy

Wszyscy eksperci ds. bezpieczeństwa boją się jednego – jeśli Apple zrealizuje prośbę sądu, ograniczoną do tego jednego przypadku, to stanie się to niebezpiecznym precedensem i wodą na młyn kolejnych próśb do producentów o naruszanie bezpieczeństwa ich produktów. Tego zdecydowanie nie chcemy. Pozostaje nam liczyć na to, że Apple stać na dobrych prawników. I nie, Apple nie robi tego w interesie klientów – to zwykły biznes i ogromna przewaga wizerunkowa nad głównymi konkurentami.

Źródła informacji (polecamy lekturę całości):