Apple załatał krytyczną lukę w systemie logowania. Wypłacono 100 tys. dolarów nagrody

Apple załatał krytyczną lukę w systemie logowania. Wypłacono 100 tys. dolarów nagrody

Apple wypłacił 100 tys. dolarów za wskazanie luki, fot. Getty Images
Apple wypłacił 100 tys. dolarów za wskazanie luki, fot. Getty Images
Oskar Ziomek
02.06.2020 22:42

Apple wypłacił 100 tysięcy dolarów nagrody w ramach programu bug bounty za zgłoszenie luki w systemie Sign in with Apple. Chodzi o mechanizm logowania wykorzystujący elementy OpenID Connect oraz OAuth 2.0, który został zaprezentowany przez Apple w 2019 roku podczas konferencji WWDC.

Teraz okazało się, że był wadliwy, bo atakujący mógł zdobyć dostęp do dowolnego konta, jeśli ofiara korzystała z aplikacji, w których nie wprowadzono dodatkowych zabezpieczeń. Lukę odkrył 27-letni Bhavuk Jain, który opisał szczegóły swoich działań na blogu. Luka została odkryta w kwietniu bieżącego roku i zgłoszona producentowi, za co wypłacono nagrodę w wysokości 100 tys. dolarów.

Kolejne etapy uwierzytelniania podczas korzystania z Sign in with Apple, źródło: Bhavuk Jain.
Kolejne etapy uwierzytelniania podczas korzystania z Sign in with Apple, źródło: Bhavuk Jain.

Jak podaje badacz, problem polegał na wykorzystaniu niektórych aplikacji zewnętrznych producentów, których programiści pominęli dodatkowe mechanizmy zabezpieczające. Efektem była możliwość przejęcia kont i to bez względu na to, czy ich właściciele dysponowali prawidłowymi identyfikatorami Apple ID.

Okazuje się, że wystarczyło sfałszować sieciowy token JSON (JWT). O ile był podpisany publicznym kluczem Apple'a, identyfikator był uznawany za prawdziwy, co pozwalało dokończyć uwierzytelnianie rzekomego użytkownika. Apple zbadał sprawę i poinformował, że nie odnotował przypadków wykorzystania opisywanej luki. Teraz jest już natomiast załatana, a użytkownicy – bezpieczni.

Programy

Zobacz więcej
Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (11)