Luka, którą mógł wykorzystać każdy
W świecie, gdzie dane osobowe stają się cenniejsze niż gotówka, każda luka w systemie bezpieczeństwa największych dostawców usług internetowych może być bramą do masowych nadużyć. Właśnie z taką sytuacją mieliśmy do czynienia w przypadku niedawno wykrytej podatności w mechanizmie odzyskiwania kont Google. Problem odkrył badacz bezpieczeństwa znany jako BruteCat, który już wcześniej ujawnił metody pozwalające na odtajnienie adresów e-mail użytkowników YouTube. Tym razem jego znalezisko dotyczyło formularza do odzyskiwania nazwy użytkownika konta Google, który, po wyłączeniu obsługi JavaScript, działał w trybie znacznie mniej odpornym na nadużycia. Pozwalał on na sprawdzenie, czy numer telefonu jest powiązany z kontem, bazując jedynie na nazwie profilu i częściowym numerze telefonu. To otwierało furtkę do tzw. brutalnego wymuszania, czyli systematycznego sprawdzania milionów możliwych kombinacji w celu odtworzenia pełnego numeru. W praktyce oznaczało to, że znając np. imię i nazwisko właściciela konta i fragment jego numeru — taki jak ten wyświetlany podczas prób odzyskania hasła — można było w krótkim czasie uzyskać pełny numer telefonu powiązany z kontem Google. Przy wykorzystaniu specjalistycznego skryptu o nazwie gpb, który łączył techniki generowania tokenów zabezpieczających i dynamiczne adresy IP, cały proces zajmował zaledwie kilkanaście minut – w zależności od kraju. Dla przykładu, w Holandii – gdzie zakres możliwych numerów jest węższy – czas potrzebny na odtworzenie numeru wynosił mniej niż 15 sekund. Taka podatność mogła stać się podstawą do ataków typu SIM swap czy vishing, czyli wyłudzania informacji przez rozmowy telefoniczne, w których atakujący podszywa się pod oficjalną instytucję, wykorzystując zdobyte wcześniej dane.
Google reaguje – z opóźnieniem
BruteCat zgłosił swój raport do Google w połowie kwietnia za pośrednictwem oficjalnego programu zgłaszania luk. Początkowo gigant z Doliny Krzemowej zlekceważył zagrożenie, klasyfikując je jako mało znaczące. Dopiero po kilku tygodniach, dokładnie 22 maja, firma zmieniła ocenę na „średnią” i zaczęła wdrażać środki zaradcze. Ostateczna poprawka pojawiła się 6 czerwca, kiedy całkowicie wycofano przestarzały formularz odzyskiwania bez JavaScript. Choć Google potwierdziło, że punkt końcowy formularza nie stanowi już zagrożenia, nie wiadomo, czy luka została wcześniej wykorzystana przez osoby trzecie. Tego typu podatności, szczególnie trudne do wykrycia przez zwykłych użytkowników, mogą być wykorzystywane przez dłuższy czas bez wzbudzania podejrzeń.
Dzięki swoim działaniom BruteCat nie tylko przyczynił się do poprawy bezpieczeństwa milionów użytkowników na całym świecie, ale także otrzymał od Google nagrodę finansową w wysokości 5000 dolarów. Choć to niewielka suma w kontekście potencjalnych strat, jakie mogła wywołać ta luka, jej szybkie załatanie było absolutnie konieczne.