Oprogramowanie  / News

Apple zapłacił 100 tys. dol. za znalezienie luki w usłudze Zaloguj się z Apple

Zaloguj się z Apple to nowa metoda logowania, która miała chronić naszą prywatność. Apple zapłacił właśnie 100 tys. dol. deweloperowi, który znalazł w niej dziurę.

Apple w systemie iOS 13 wprowadził nową metodę autoryzacji użytkownika w aplikacjach mobilnych. Od teraz, zamiast podawać twórcom oprogramowania swoje dane lub logować się danymi takich usług jak Facebook lub Google, można używać usługi Zaloguj się z Apple i chronić swoją prywatność.

Co prawda pewne wątpliwości budzi fakt, że Apple użył kija, a nie marchewki, by do niech zachęcić programistów, ale nowe rozwiązanie chwalił nawet największy konkurent firmy Tima Cooka. Dzięki niemu usługodawcy w końcu nigdy nie poznają adresu e-mail użytkownika, co ułatwia obronę przed spamem.

Niestety okazało się, że w usłudze Zaloguj się z Apple pojawił się błąd, który mógł skutkować utratą dostępu do danych.

Sprawę opisał autor bloga bhavukjain.com. Wyjaśnił, że wystarczyło znać parametr Email ID, by zdobyć dostęp do usługi online wykorzystującej Zaloguj się z Apple. Programista wykrył tę lukę typu zero-day już w kwietniu i dotyczyła ona wszystkich serwisów korzystających z tej metody logowania, które nie wdrożyły dodatkowych zabezpieczeń po swojej stronie.

We wpisie na swoim blogu deweloper wyjaśnia, że luka związana była ze sposobem autoryzacji użytkownika. Wykorzystuje on albo webowy token JSON (JSON Web Token, JWT), albo kody generowane na serwerach Apple’a, na których podstawie tworzony był JWT. Działa to podobnie do metody OAuth 2.0, a sposób działania rozwiązania firmy z Cupertino wyjaśniony został na diagramie:

zaloguj sie z apple blad bug sign in with apple 2
źródło: bhavukjain.com

Na czym polegał błąd w Sign in with Apple?

Programista wyjaśnia, że w sytuacji, gdy użytkownik zdecyduje się na ukrycie przed usługodawcą swojego Apple ID, Apple generuje Email ID na potrzeby tej jednej aplikacji. Potem generowany jest zaś JWT, który zawiera parametr Email ID, a usługi online wykorzystują to do autoryzacji.

Okazało się, że jeszcze w kwietniu można było zażądać JWT dla dowolnego Email ID od Apple’a i zweryfikować sygnaturę tokenów używając publicznego klucza. Jeśli ktoś poznał Email ID, to mógł uzyskać sztucznie wygenerowany webowy token JSON i zdobyć pełny dostęp do konta.

Tyle dobrego, że Apple wyjaśnia, iż zero-day nie został nigdy użyty, a błąd w usłudze Zaloguj się z Apple został już załatany. Dodatkowo osoba zgłaszająca tego zero-daya pochwaliła się, że firma nagrodziła ją nagrodą w wysokości 100 tys. dol. w ramach programu Apple Security Bounty.

przeczytaj następny tekst


przeczytaj następny tekst


przeczytaj następny tekst


przeczytaj następny tekst


przeczytaj następny tekst