r   e   k   l   a   m   a
r   e   k   l   a   m   a

Apple słabe z kryptografii: szyfrowanie w komunikatorze iMessage jest do niczego

Strona główna AktualnościBEZPIECZEŃSTWO

Apple powinno wyłączyć swój komunikator iMessage i zbudować zupełnie nowe narzędzie do wiadomości błyskawicznych – przynajmniej jeśli firmie z Cupertino zależy na bezpieczeństwie i prywatności swoich użytkowników. Tak przynajmniej uważa Matthew Green, ekspert od kryptografii z John Hopkins University, który przez ostatnie miesiące prowadził kompleksowe badania nad tą usługą. Aktualizacje nic nie pomogą, tych błędów nie da się po prostu naprawić.

Podczas gdy władze Stanów Zjednoczonych robią co mogą, by zakończyć kryptograficzną rewolucję, która oddała w ręce obywateli odporne nawet na wojskowych analityków techniki szyfrowania, Apple jednoznacznie opowiada się za prawem do prywatności, deklarując, że jego urządzenia i oprogramowanie pozostaną zamkniętą czarną skrzynką dla każdego, kto nie jest uprawnionym ich użytkownikiem. Deklaracje natury politycznej to jednak jedno, umiejętności techniczne to zupełnie inna sprawa.

Na łamach swojego bloga profesor Matthew Green opisał atak na iMessage, który możliwy był ze względu na błąd w samej architekturze komunikatora Apple'a. Jest to dość ciekawy przykład na to, jak nawet drobne pomyłki w założeniach kryptosystemu mogą zemścić się na jego projektantach. Pokazuje też, że to co dziś jest przez ekspertów rekomendowane, jutro może okazać się z gruntu niebezpieczne – jeszcze bowiem w 2011 roku Green chwalił Apple za iMessage, pisząc że jest to pierwszy powszechnie wykorzystywany komunikator, stosujący w jakimś stopniu szyfrowanie end-to-end.

r   e   k   l   a   m   a

Odkryte przez Greena i jego studentów błędy pozwalają na odszyfrowanie załączników ze zdjęciami i filmami przesyłanymi przez iMessage i wynikają z zastosowania centralnego serwera kluczy – coś, czego w prawdziwym szyfrowaniu end-to-end nie powinno być. Przyjrzyjmy się bliżej problemowi: aby zaszyfrować wiadomość, iMessage pobiera klucz publiczny adresata, a następnie generuje losowy klucz AES k, szyfrując nim wiadomość w blokowym trybie CTR. Następnie szyfruje k za pomocą klucza adresata, a następnie całość podpisuje kluczem ECDSA nadawcy, by uniknąć nieuprawnionego zmodyfikowania wiadomości.

To jednak, jak zauważył kryptograf, nie wystarczy. Przedstawia scenariusz ataku, w którym napastnik, który ma własne konto iMessage przechwycił powyższą wiadomość. Usuwa z niej podpis ECDSA, zastępując go swoim podpisem, a następnie wysyła nowo podpisaną wiadomość do odbiorcy ze swojego konta. Odbiorca otrzymuje wiadomość, deszyfruje ją – i widzi, że przybyła od napastnika, a nie od oczekiwanego nadawcy. Nic strasznego, prawda? Jednak poprzez zastąpienie podpisu swoim, napastnik zyskuje możliwość manipulowania szyfrogramem, nie zabezpieczonym za pomocą kodu uwierzytelniania wiadomości (MAC). Zmieniając w nim bity, zmienia zawartość wiadomości do odbiorcy, mimo że sam nie może jej odczytać.

Teraz poprzez manipulowanie zawartością szyfrogramu, wysyłanie wielkiej liczby zmodyfikowanych wariantów wiadomości, stopniowo napastnik może uzyskać wgląd w zawartość oryginalnej wiadomości – i od razu powiedzmy, że jest to bardzo skomplikowany atak, wykorzystujący też podatność w wykorzystywanym algorytmie kompresji wiadomości, a zarazem obchodzący liczne zabezpieczenia iOS-a. W praktyce aby odszyfrować wiadomość, trzeba zdobyć jej kopię, następnie wysłać ok. 218 niewidzialnych zaszyfrowanych wiadomości na atakowane urządzenie, jednocześnie ustalając, czy te wiadomości zostały poprawnie odszyfrowane, czy nie.

Atak jest więc wysoce akademicki – trzeba by było przechwycić połączenie TLS korzystając ze skradzionego certyfikatu (co jest trudne ze względu na mechanizm przypinania certyfikatów w iOS-ie 9), albo wręcz przejąć serwer powiadomień Push Apple'a (co wymaga działań zinstytucjonalizowanego napastnika, np. agencji o trzyliterowej nazwie). Trzeba byłoby znaleźć też sposób na uzyskanie informacji o reakcjach na zmanipulowaną wiadomość – tymczasem iMessage takich wiadomości nigdzie nie udziela.

Sytuację zmienia wykorzystanie załączników. Są one bowiem obsługiwane inaczej niż wiadomości. Przesyłając zdjęcie przez iMessage, jest ono szyfrowane losowym 256-bitowym kluczem AES, następnie zaś wyliczana jest funkcja skrótu SHA1, a całość wgrywana do chmury iCloud. Nadawca wysyła odbiorcy w wiadomości nie tyle zdjęcie, co adres do zaszyfrowanego zdjęcia, skrót i klucz deszyfrujący. Jeśli wszystko jest poprawne, to komunikator u adresata automatycznie spróbuje pobrać zdjęcie. Jeśli gdzieś jest błąd, komunikator tego nie robi. I to właśnie jest sygnałem dla napastnika o tym, czy odszyfrowanie się powiodło.

Napastnik może teraz wykryć próbę pobrania załącznika czy to podglądając ruch sieciowy ofiary, czy też fałszując URL w szyfrogramie, tak by prowadził on nie do iCloud.com, ale na serwer przez siebie kontrolowany – nie trzeba do tego mieć dostępu do sieci ofiary. W ten sposób przechwytując wiadomość z załącznikiem, manipulując nią i monitorując próby pobrania załącznika przez urządzenie ofiary, można odzyskać wszystkie cyfry klucza przechowywanego w załączniku. Gdy to już nastąpi, napastnik sięga po prostu do iCloud, samemu pobierając załącznik.

Atak taki przy użyciu testowego, niezoptymalizowanego oprogramowania zajmuje obecnie około 70 godzin, ale prof. Green wierzy, że odpowiednia optymalizacja kodu pozwoliłaby przyspieszyć go o rząd wielkości, do ułamka dnia. Co więcej, błąd ten mógłby być wykorzystany przeciwko innym wiadomościom, nie tylko tylko tym z załącznikami – wszystko to kwestia znalezienia innego sposobu sygnalizacji o stanie deszyfrowania. Sytuacja jest tym gorsza, że niedostarczone dane na serwerach Apple'a przechowywane są przez 30 dni, co daje sporo czasu napastnikowi.

Z pomocą dla Apple'a przyszedł uczeń Greena, Ian Miers, który zaproponował wykorzystanie niepodatnej na manipulację części szyfrogramu AES (RSA-OAEP), aby stworzyć zawierający je bufor i odrzucać w ten sposób wszystkie powtarzające się szyfrogramy (takie, jakie byłyby wysyłane przez napastnika). Poprawkę tę zastosowano w najnowszym iOS-ie 9.3, ale na dłuższą metę zdaniem eksperta nie ma ona wartości – to jedynie słaba łatka dla złego kryptosystemu. Naukowiec uważa, że Apple powinno jak najszybciej wyrzucić iMessage i przejść na protokół Axolotl (wykorzystywany m.in. przez komunikator Signal).

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.