Szybkie i wygodne logowanie, czy to z wykorzystaniem konta w social media lub Apple Face ID, Touch ID czy numeru urządzenia – kto się temu oprze… Jednak niedawno wykryty błąd  w Sign in with Apple narażał użytkowników na wrogie przejęcie zakładanych w ten sposób kont.

Problem dotyczył głównie usług i aplikacji, które wykorzystują funkcję Sign in with Apple, ale nie wdrożyły żadnych dodatkowych środków bezpieczeństwa. Usługa logowania, która działa podobnie jak standard OAuth 2.0, loguje użytkowników za pomocą JWT (JSON Web Token) lub kodu generowanego przez serwer Apple. W drugim przypadku, kod zostaje następnie użyty do wygenerowania JWT. Apple daje użytkownikom dwie opcje. Mogą oni udostępnić swój Apple email ID stronie trzeciej lub go ukryć. Jednak w sytuacji, gdy użytkownik ukrywa identyfikator, Apple samoistnie tworzy JWT, który zawiera ID właściwe dla danego użytkownika.

Najgorszy możliwy scenariusz? Atakujący może uzyskać JWT właściwe dla dowolnego Apple Email ID. A podczas weryfikacji z wykorzystaniem klucza publicznego zostanie ono potwierdzone jako prawidłowe. W takim razie, czy czeka nas teraz seria wrogich przejęć założonych w ten sposób kont? Na szczęście nie. Błąd został już naprawiony – wszystko dzięki programiście, który go wytropił. Apple doceniło odkrycie Bhavuk Jain, który otrzymał od firmy 100 tys. dolarów.

Źródło