O vulnerabilitate dezvăluită recent în Firebase Cloud Messaging a condus la notificări ciudate de la aplicații precum Microsoft Teams și Hangouts.
Se pare că nu putem trece o zi fără să apară un alt defect semnificativ de securitate undeva într-un software sau serviciu. Săptămâna aceasta pare să fie momentul ca Firebase Cloud Messaging să se confrunte cu o vulnerabilitate ușor de exploatat.
Firebase Cloud Messaging este un cadru oferit de Google pentru a facilita livrarea notificărilor prin aplicații pe aproape orice platformă. Cu o configurație simplă atât a aplicației dvs., cât și a unui server, puteți trimite notificări push generale sau direcționate către utilizatorii dvs. în câteva minute. Majoritatea aplicațiilor Android care oferă notificări push folosesc probabil Firebase Cloud Messaging (sau vechiul Google Cloud Messaging) pentru a face acest lucru. Acestea includ aplicații de la dezvoltatori unici pasionați până la aplicații de la corporații gigantice precum Microsoft și, desigur, Google.
Exploatarea
Și aici intervine această exploatare. Dacă utilizați aplicații precum Microsoft Teams sau Google Hangouts, este posibil să fi observat recent că vin notificări aleatorii, precum cele din următoarea captură de ecran. Acestea sunt de la persoane care profită de configurațiile necorespunzătoare ale Firebase Cloud Messaging.
Nu voi intra în prea multe detalii aici, dar această problemă nu este chiar vina Google. Pentru a trimite în siguranță notificări push, Google cere ca serverul care le trimite efectiv să trimită și o cheie pentru a valida că sunt autentice. Această cheie ar trebui să fie doar în consola Firebase și pe serverul dvs.
Dar aplicațiile afectate, indiferent de motiv, au și cheia încorporată în ele. Nu este folosit, dar este acolo, în text clar, pentru ca oricine să îl vadă și să îl folosească. În mod oarecum ironic, Google Hangouts și Google Play Music par a fi vulnerabile la acest exploit, la fel ca Microsoft Teams. Deci este un fel de vină a lui Google, dar nu chiar.
Și poate fi folosit în scopuri destul de nefaste. Deși se pare că majoritatea „implementațiilor” acestei vulnerabilități au fost folosite doar pentru a trimite mesaje ciudate oamenilor, este posibil ca un atacator să execute o înșelătorie de tip phishing. Textul notificării ar putea fi ceva de genul „Sesiunea dvs. a expirat. Atingeți aici pentru a vă conecta din nou”, cu o adresă URL care este lansată atunci când o atingeți. Această adresă URL ar putea ajunge să fie un site creat astfel încât să arate ca, să zicem, pagina de conectare a Microsoft. Dar, în loc să vă conectați la Microsoft, oferiți cuiva datele dvs. de conectare.
Ce ar trebui să facă utilizatorii?
Nimic. Nu ai multe lucruri pe care tu, ca utilizator, poți face pentru a opri aceste notificări. Puteți bloca canalele pe care intră (sau blocați complet notificările din aplicație), dar nu puteți filtra notificările nelegitime, deoarece, din câte știe Firebase, acestea sunt legitim.
Totuși, ceea ce poți face este să fii atent. Dacă primiți o notificare care pare să vă solicite detaliile de conectare – sau orice alte informații personale, de altfel – nu apăsați pe ea. În schimb, deschideți aplicația direct. Dacă notificarea a fost reală, aplicația va indica acest lucru. În caz contrar, probabil a fost o încercare de phishing. Dacă atingeți o notificare, închideți imediat orice site web care se deschide.
Și, în sfârșit, dacă ați introdus deja parola undeva printr-o notificare, schimbați-o imediat, dezautorizați toate dispozitivele conectate (dacă este cazul) și activați autentificarea cu doi factori dacă nu ați făcut-o deja.
Ce ar trebui să facă dezvoltatorii?
Dacă ați implementat Firebase Cloud Messaging în aplicațiile dvs., verificați fișierele de configurare pentru a vă asigura că cheile de server nu sunt acolo. Dacă sunt, invalidați-le imediat, creați altele noi și reconfigurați-vă serverul.
Din nou, acesta nu este un articol foarte tehnic, așa că veți dori să vizitați linkurile de mai jos pentru mai multe informații despre atenuare.
Răspunsuri Google și Microsoft
A spus un purtător de cuvânt al Google The Daily Swig că problema era „legată în mod specific de dezvoltatori care includ chei API în codul lor pentru servicii care nu ar trebui să fie incluse, care ar putea fi apoi exploatate”, mai degrabă decât serviciul Firebase Cloud Messaging în sine compromisă. „În cazurile în care Google este capabil să identifice că este utilizată o cheie de server, încercăm să alertăm dezvoltatorii, astfel încât să-și poată repara aplicația”, a adăugat purtătorul de cuvânt.
Microsoft a emis următoarea declarație pe Twitter:
Lectură suplimentară
Iată câteva articole care intră în mult mai multe detalii despre ce este acest exploit, cum funcționează și cum vă puteți asigura că nu sunteți vulnerabil. Dacă sunteți un dezvoltator de aplicații sau sunteți doar interesat să vedeți cum funcționează, aruncați o privire.
- Preluarea serviciului de mesagerie în cloud Firebase: o mică cercetare care a dus la 30k$+ în recompense
- Vulnerabilitatea de mesagerie Google Firebase a permis atacatorilor să trimită notificări push utilizatorilor aplicației