En nyligen avslöjad sårbarhet i Firebase Cloud Messaging har lett till konstiga aviseringar från appar som Microsoft Teams och Hangouts.
Det verkar som om vi inte kan gå en dag utan att ytterligare ett betydande säkerhetsbrist dyker upp någonstans i någon programvara eller tjänst. Den här veckan verkar det vara dags för Firebase Cloud Messaging att stöta på en lättexploaterbar sårbarhet.
Firebase Cloud Messaging är ett ramverk från Google för att underlätta leverans av aviseringar via appar på nästan alla plattformar. Med lite enkel konfiguration av både din app och en server kan du skicka allmänna eller riktade push-meddelanden till dina användare inom några minuter. De flesta Android-appar som levererar push-meddelanden använder troligen Firebase Cloud Messaging (eller det äldre Google Cloud Messaging) för att göra det. Det inkluderar appar från enstaka hobbyutvecklare till appar från gigantiska företag som Microsoft och, naturligtvis, Google.
Exploateringen
Och det är där denna exploatering kommer in. Om du använder appar som
Jag kommer inte gå in för mycket i detalj här, men det här problemet är egentligen inte Googles fel. För att säkert kunna skicka push-meddelanden kräver Google att servern som faktiskt skickar dem också skickar en nyckel för att verifiera att de är äkta. Den här nyckeln ska bara finnas i din Firebase-konsol och på din server.
Men de berörda apparna, oavsett anledning, har också nyckeln inbyggd i sig. Den används inte, men den finns där, i klartext, för alla att se och använda. Något ironiskt nog verkar Google Hangouts och Google Play Musik vara sårbara för detta utnyttjande, liksom Microsoft Teams. Så det är typ Googles fel, men inte heller riktigt.
Och det kan användas för ganska otrevliga syften. Även om det verkar som att de flesta "implementeringarna" av denna sårbarhet bara har använts för att skicka konstiga texter till människor, är det möjligt för en angripare att utföra en nätfiske. Texten i meddelandet kan vara något i stil med "Din session har löpt ut. Vänligen tryck här för att logga in igen" med en webbadress som startas när du trycker på den. Den webbadressen kan sluta bli en webbplats som är utformad för att se ut som, säg, Microsofts inloggningssida. Men istället för att logga in på Microsoft, ger du någon din inloggning.
Vad ska användarna göra?
Ingenting. Det finns inte mycket du som användare kan göra för att stoppa dessa meddelanden. Du kan blockera kanalerna de kommer in på (eller blockera aviseringar från appen helt och hållet), men du kan inte filtrera bort de olagliga aviseringarna, eftersom de, så vitt Firebase vet, är legitim.
Vad du kan göra är dock att vara försiktig. Om du får ett meddelande som verkar fråga efter dina inloggningsuppgifter – eller någon annan personlig information för den delen – tryck inte på den. Öppna istället appen direkt. Om meddelandet var verkligt kommer appen att indikera det. Annars var det troligen ett nätfiskeförsök. Om du trycker på ett meddelande, stäng omedelbart alla webbplatser som öppnas.
Och slutligen, om du redan har lagt in ditt lösenord någonstans genom ett meddelande, ändra det omedelbart, avauktorisera alla inloggade enheter (om tillämpligt) och aktivera tvåfaktorsautentisering om du inte har gjort det redan.
Vad bör utvecklare göra?
Om du har implementerat Firebase Cloud Messaging i dina appar kontrollerar du konfigurationsfilerna för att se till att dina servernycklar inte finns där. Om de är det, ogiltigförklara dem omedelbart, skapa nya och konfigurera om din server.
Återigen, det här är inte en särskilt teknisk artikel, så du vill besöka länkarna nedan för mer information om begränsning.
Google och Microsoft Responses
Det berättade en talesman för Google The Daily Swig att problemet var "specifikt relaterat till utvecklare som inkluderade API-nycklar i sin kod för tjänster som inte borde inkluderas, som sedan skulle kunna utnyttjas”, snarare än att själva Firebase Cloud Messaging-tjänsten är äventyras. "I fall där Google kan identifiera att en servernyckel används försöker vi varna utvecklarna så att de kan fixa sin app", tillade talespersonen.
Microsoft utfärdade följande uttalande på Twitter:
Vidare läsning
Här är ett par artiklar som går in mycket mer i detalj om vad detta utnyttjande är, hur det fungerar och hur du kan se till att du inte är sårbar. Om du är en apputvecklare, eller om du bara är intresserad av att kolla in hur det här fungerar, ta en titt.
- Firebase Cloud Messaging Service Takeover: En liten undersökning som ledde till 30k$+ i belöningar
- Meddelandesårbarheten i Google Firebase gjorde det möjligt för angripare att skicka push-meddelanden till appanvändare