Niedawno odkryta luka w Firebase Cloud Messaging doprowadziła do dziwnych powiadomień z aplikacji takich jak Microsoft Teams i Hangouts.
Wygląda na to, że nie ma dnia, w którym w jakimś oprogramowaniu lub usłudze nie pojawiłaby się kolejna istotna luka w zabezpieczeniach. Wydaje się, że ten tydzień to czas, w którym Firebase Cloud Messaging natrafia na łatwą do wykorzystania lukę.
Wiadomości w chmurze Firebase to platforma Google ułatwiająca dostarczanie powiadomień za pośrednictwem aplikacji na niemal każdej platformie. Dzięki prostej konfiguracji aplikacji i serwera możesz w ciągu kilku minut wysyłać użytkownikom ogólne lub ukierunkowane powiadomienia push. Większość aplikacji na Androida dostarczających powiadomienia push prawdopodobnie korzysta w tym celu z usługi Firebase Cloud Messaging (lub starszej wersji Google Cloud Messaging). Obejmuje to aplikacje od pojedynczych programistów-hobbystów po aplikacje gigantycznych korporacji, takich jak Microsoft i oczywiście Google.
Exploit
I tu właśnie pojawia się ten exploit. Jeśli używasz aplikacji takich jak
Zespoły Microsoftu Lub Hangouts Google'a, być może ostatnio zauważyłeś, że pojawiają się losowe powiadomienia, takie jak te na poniższym zrzucie ekranu. Pochodzą one od osób korzystających z nieprawidłowych konfiguracji Firebase Cloud Messaging.Nie będę się tutaj wdawać w szczegóły, ale ten problem tak naprawdę nie jest winą Google. Aby bezpiecznie wysyłać powiadomienia push, Google wymaga, aby serwer, który je faktycznie wysyła, wysłał także klucz w celu sprawdzenia ich autentyczności. Ten klucz powinien znajdować się tylko w konsoli Firebase i na serwerze.
Ale aplikacje, których to dotyczy, z jakiegoś powodu również mają wbudowany klucz. Nie jest używany, ale jest dostępny w postaci zwykłego tekstu, aby każdy mógł go zobaczyć i wykorzystać. Jak na ironię, Google Hangouts i Google Play Music wydają się być podatne na ten exploit, podobnie jak Microsoft Teams. Jest to więc w pewnym sensie wina Google, ale też nie do końca.
I można go wykorzystać do całkiem nikczemnych celów. Chociaż wydaje się, że większość „implementacji” tej luki służyła wyłącznie do wysyłania ludziom dziwnych SMS-ów, osoba atakująca może przeprowadzić oszustwo typu phishing. Tekst powiadomienia może wyglądać następująco: „Twoja sesja wygasła. Kliknij tutaj, aby zalogować się ponownie” z adresem URL, który zostanie wyświetlony po dotknięciu. Ten adres URL może ostatecznie stać się witryną stylizowaną na, powiedzmy, stronę logowania Microsoftu. Zamiast logować się do Microsoftu, dajesz komuś swój login.
Co powinni zrobić użytkownicy?
Nic. Jako użytkownik niewiele możesz zrobić, aby zatrzymać te powiadomienia. Możesz zablokować kanały, z których przychodzą (lub całkowicie zablokować powiadomienia z aplikacji), ale nie możesz odfiltrować nielegalnych powiadomień, ponieważ, o ile Firebase wie, są one Czy prawowity.
Jedyne, co możesz zrobić, to zachować ostrożność. Jeśli otrzymasz powiadomienie, które wydaje się wymagać podania danych logowania lub jakichkolwiek innych danych osobowych, nie klikaj go. Zamiast tego otwórz aplikację bezpośrednio. Jeśli powiadomienie było prawdziwe, aplikacja to wskaże. W przeciwnym razie prawdopodobnie była to próba wyłudzenia informacji. Jeśli dotkniesz powiadomienia, natychmiast zamknij dowolną witrynę, która się otworzy.
I na koniec, jeśli już gdzieś podałeś hasło poprzez powiadomienie, zmień je natychmiast, cofnij autoryzację wszystkich zalogowanych urządzeń (jeśli ma to zastosowanie) i włącz uwierzytelnianie dwuskładnikowe, jeśli jeszcze tego nie zrobiłeś już.
Co powinni zrobić programiści?
Jeśli w swoich aplikacjach zaimplementowałeś Firebase Cloud Messaging, sprawdź pliki konfiguracyjne, aby upewnić się, że nie ma w nich kluczy serwera. Jeśli tak, natychmiast je unieważnij, utwórz nowe i ponownie skonfiguruj serwer.
Ponownie, nie jest to artykuł bardzo techniczny, dlatego warto odwiedzić poniższe łącza, aby uzyskać więcej informacji na temat łagodzenia skutków.
Odpowiedzi Google i Microsoftu
Poinformował o tym rzecznik Google Codzienny Łyk że problem „był szczególnie związany z programistami włączającymi klucze API do swojego kodu dla usług, które nie powinny zostać uwzględnione, co można następnie wykorzystać”, a nie samą usługę Firebase Cloud Messaging skompromitowany. „W przypadku, gdy Google jest w stanie zidentyfikować użycie klucza serwera, staramy się powiadomić programistów, aby mogli naprawić aplikację” – dodał rzecznik.
Microsoft wydał następujące oświadczenie na Twitterze:
Dalsze czytanie
Oto kilka artykułów, które szczegółowo opisują, czym jest ten exploit, jak działa i jak można się upewnić, że nie jesteś podatny na ataki. Jeśli jesteś programistą aplikacji lub po prostu chcesz sprawdzić, jak to działa, spójrz.
- Przejęcie usługi Firebase Cloud Messaging Service: małe badanie, które doprowadziło do nagród o wartości ponad 30 000 $
- Luka w zabezpieczeniach wiadomości Google Firebase umożliwiła atakującym wysyłanie powiadomień push do użytkowników aplikacji