Google: Każdy mógł sprawdzić numer telefonu przypisany do konta. I docelowo przejąć kontrolę
Luka została odkryta przez badacza, który podzielił się swoim znaleziskiem w sieci, acz dopiero po tym, jak zgłosił błąd Google. To zaś sprawnie wyeliminowało bolączkę, w związku z czym o bezpieczeństwo naszego numeru telefonu martwić się już raczej nie musimy.
Opis procesu, jaki należało wykonać, aby uzyskać dostęp do zapasowego numeru telefonu przypisanego do konta Google i wykorzystywanego do weryfikacji, znalazł się na blogu brutecat. Jak przekazał autor wpisu, kilka miesięcy temu postanowił wyłączyć obsługę javascript w swojej przeglądarce, aby przekonać się, czy jakieś usługi Google wciąż są w stanie działać bez tej technologii. Jak się okazało, do ich grona należy funkcja przywracania nazwy użytkownika, co też sprytny badacz postanowił wykorzystać i sprawdził, czy można wykorzystać to uchybienie do wykradnięcia danych.
Google miało lukę w funkcji przywracania nazwy użytkownika
Po kilku próbach przyzwoitemu hakerowi udało się odkryć, że w przeciągu ok. 20 minut jest w stanie otrzymać numer telefonu powiązany z dowolnym kontem Google. Najwięcej problemów przysporzyły stosowane przez amerykańskiego giganta technologicznego zabezpieczenia przeciw botom, jednak te udało się oszukać poprzez prostą podmianę fragmentu kodu, co stanowiło niemałe zaskoczenie dla działającego w dobrej wierze włamywacza.
Ponownie przejrzałem 2 żądania, sprawdzając, czy jest coś, co mógłbym znaleźć, aby to obejść, i bgresponse=js_disabled przykuło moją uwagę. Przypomniałem sobie, że w formularzu odzyskiwania konta z obsługą JS token botguard został przekazany za pośrednictwem parametru bgRequest. Co się stanie, jeśli zastąpię js_disabled tokenem botguard z żądania formularza z obsługą JS? Przetestowałem to i... zadziałało.
Cały proces polegał na sprawdzeniu, czy istnieje konto o danej nazwie i przypisanym do niego konkretnym numerze telefonu. Co prawda, korzystając z funkcji przywracania hasła, możemy sprawdzić jedynie dwie ostatnie cyfry takiego numeru, jednak to okazało się wystarczające. Po opracowaniu optymalnego planu działania, sprawdzenie wszystkich potencjalnych kombinacji zajęło badaczowi nieco ponad 20 minut. Po tym czasie udało się trafić na odpowiednią parę "nazwa konta + numer telefonu", której istnienie potwierdza sam kod Google.
Redakcja TechCrunch postanowiła sprawdzić, ile jest w tym prawdy. Założono więc zupełnie świeże konto Google i przypisano do niego niewykorzystywany wcześniej numer telefonu. Haker odpowiedzialny za wykrycie luki otrzymał zaś dwie rzeczy: adres e-mail rzeczonego konta oraz zadanie odkrycia wspomnianego numeru. TechCrunch potwierdziło, że brutecatowi się powiodło w stosunkowo niewielkim czasie. Oczywiście zajście to zostało utrzymane w tajemnicy do momentu, aż Google uporało się z błędem.
Ten błąd został naprawiony. Zawsze podkreślaliśmy znaczenie współpracy ze społecznością badaczy bezpieczeństwa za pośrednictwem naszego programu nagród za luki w zabezpieczeniach i chcemy podziękować badaczowi za zgłoszenie tego błędu. Zgłoszenia od badaczy, takie jak to, są jednym z wielu sposobów, w jaki jesteśmy w stanie szybko znaleźć i naprawić błędy dla bezpieczeństwa naszych użytkowników.
W zamian za swoje zasługi i zwrócenie uwagi na problem brutecat otrzymał od Google nagrodę w wysokości 5 000 dolarów.
Jakub Dmuchowski, dziennikarz pcformat.pl