Jednym z podstawowych zabezpieczeń urządzeń Apple jest hasło do Apple ID, które pozwala skonfigurować i uzyskać dostęp do różnych sprzętów. W przypadku użytkowników, którzy nie posiadają włączonego dwuetapowego uwierzytelniania (a wciąż wiele osób nie włącza tego dodatkowego zabezpieczenia), przejęcie Apple ID oraz hasła pozwala przejąć kontrolę nad urządzeniem, uzyskać dostęp do usług, z których korzysta użytkownik, a nawet danych osobowych.
Niestety okazuje się, że hasło do Apple ID może zostać przejęte w dość łatwy sposób[1]. System (w zależności od ustawień) może poprosić użytkownika o podanie tych danych w momencie zakupu aplikacji/filmu/muzyki, zmiany ustawień systemowych czy próby uzyskania dostępu do wrażliwych danych. Istnieje możliwość wyświetlenia podobnego okna dialogowego z identyczną prośbą o podanie hasła do Apple ID. Na poniższym obrazku komunikat po prawej stronie jest prawdziwy, a ten po lewej został wygenerowany przez odkrywcę tego ataku. Prawda, że nie da się ich odróżnić?
Felix Krause, który na swoim blogu[2] przedstawił proof of concept tego ataku, wskazuje że w dowolnej aplikacji można zaimplementować wyświetlenie takiego komunikatu, wykorzystując UIAlertController. Użytkownicy są przyzwyczajeni, że system prosi o hasło do Apple ID wewnątrz aplikacji np. w momencie odblokowania płatnej funkcji, kupna dodatkowego przedmiotu w grze czy logowania się do Game Center. Z tego powodu wyświetlenie komunikatu nie wzbudza podejrzeń.
Z oczywistych względów Krause nie opublikował kodu, który pozwala na wyświetlenie okna dialogowego w programie, ale jest to bardzo łatwe. Ideą podania tej informacji ma być zwrócenie uwagi na problem. Autor wysłał również stosowną informację do Apple.
Jak wskazuje sam odkrywca tej podatności, przejęcie Apple ID (który jest adresem e-mail) oraz hasła, może posłużyć atakującemu także do próby zalogowania się w innych serwisach i usługach, gdyż wielu użytkowników stosuje te same adresy i hasła na wielu portalach. W ten sposób problem tylko się pogłębia. Przypominam, że jeżeli to tylko możliwe, powinno się włączyć dwuetapowe uwierzytelnianie oraz stosować unikatowe hasła do każdego serwisu. Jednak tak jak pisałem niedawno – nawet włączone dwuetapowe uwierzytelnianie nie jest konieczne do zalogowania się do usługi Find My Mac i zdalnego zablokowania użytkownikowi komputera Apple…
Jak odróżnić prawdziwy komunikat od tego fałszywego? Ze względu na to, że prawdziwe okno dialogowe jest innym procesem, kliknięcie przycisku „Początek” (Home) nie spowoduje zniknięcia komunikatu. W przypadku okna phishingowego ten sam zabieg sprawi, że okno zamknie się razem z aplikacją. Nawet jeżeli nie klikniemy „Sign in”, ale tylko wpiszemy hasło – może być ono przechwycone w przypadku fałszywego komunikatu. Z tego powodu, lepiej nie wpisywać niczego, bez upewnienia się, że to komunikat systemowy.
[1] https://www.macrumors.com/2017/10/10/apple-ios-phishing-attack-concept/
[2] https://krausefx.com/blog/ios-privacy-stealpassword-easily-get-the-users-apple-id-password-just-by-asking