Az FCM kihasználása a Microsoft Teams és a Hangouts furcsa értesítései mögött

A Firebase Cloud Messaging nemrégiben nyilvánosságra hozott sebezhetősége furcsa értesítésekhez vezetett az olyan alkalmazásoktól, mint a Microsoft Teams és a Hangouts.

Úgy tűnik, nem telik el egy nap anélkül, hogy ne bukkanjon fel egy újabb jelentős biztonsági hiba valahol valamelyik szoftverben vagy szolgáltatásban. Úgy tűnik, ez a hét elérkezett a Firebase Cloud Messaging számára, hogy szembeszálljon egy könnyen kihasználható sérülékenységgel.

Firebase felhőalapú üzenetküldés a Google keretrendszere, amely megkönnyíti az értesítések kézbesítését alkalmazásokon keresztül szinte bármilyen platformon. Mind az alkalmazás, mind a szerver néhány egyszerű beállításával perceken belül általános vagy célzott push értesítéseket küldhet a felhasználóknak. A legtöbb leküldéses értesítést küldő Android-alkalmazás valószínűleg a Firebase Cloud Messaging (vagy az örökölt Google Cloud Messaging) szolgáltatást használja erre. Ebbe beletartoznak az egyéni hobbifejlesztőktől származó alkalmazások az olyan óriásvállalatok alkalmazásaiig, mint a Microsoft és természetesen a Google.

Az Exploit

És itt jön képbe ez az exploit. Ha olyan alkalmazásokat használ, mint pl Microsoft Teams vagy Google Hangouts, lehet, hogy a közelmúltban véletlenszerű értesítéseket vett észre, mint például a következő képernyőképen. Ezek olyan emberektől származnak, akik kihasználják a Firebase Cloud Messaging helytelen konfigurációit.

Képernyőkép a /u/ToTooThenThan fájlból a Redditen.

Nem megyek bele túlságosan részletekbe, de ez a probléma nem igazán a Google hibája. A leküldéses értesítések biztonságos küldése érdekében a Google megköveteli, hogy az azokat ténylegesen küldő szerver küldjön egy kulcsot is az eredetiség ellenőrzésére. Ennek a kulcsnak csak a Firebase-konzolon és a szerveren kell lennie.

De az érintett alkalmazásokban, bármilyen okból, a kulcs is be van építve. Nem használt, de ott van, egyszerű szöveggel, hogy bárki lássa és használja. Kissé ironikus módon a Google Hangouts és a Google Play Zene, valamint a Microsoft Teams sebezhetőnek tűnik ezzel a kizsákmányolással szemben. Tehát ez egyfajta Google hibája, de nem is igazán.

És elég aljas célokra használható. Bár úgy tűnik, a biztonsági rés legtöbb "megvalósítását" csak furcsa szövegek küldésére használták az embereknek, előfordulhat, hogy egy támadó adathalász csalást hajt végre. Az értesítés szövege a következő lehet: „A munkamenet lejárt. Kérjük, koppintson ide az újbóli bejelentkezéshez" egy olyan URL-címmel, amely akkor indul el, amikor megérinti. Ez az URL a végén egy olyan webhely lesz, amely úgy néz ki, mint mondjuk a Microsoft bejelentkezési oldala. De ahelyett, hogy bejelentkezne a Microsoftba, megadja valakinek a bejelentkezését.

Mit tegyenek a felhasználók?

Semmi. Felhasználóként nem sokat tehet az értesítések leállítása érdekében. Letilthatja azokat a csatornákat, amelyeken bejönnek (vagy teljesen letilthatja az alkalmazás értesítéseit), de nem szűrheti ki az illegitim értesítéseket, mivel a Firebase tudomása szerint ezek vannak jogos.

Amit azonban tehet, az az, hogy óvatos. Ha olyan értesítést kap, amely úgy tűnik, hogy a bejelentkezési adatait – vagy bármilyen más személyes adatot – kéri, ne koppintson rá. Ehelyett nyissa meg közvetlenül az alkalmazást. Ha az értesítés valós volt, az alkalmazás ezt jelzi. Ellenkező esetben valószínűleg adathalászati ​​kísérletről volt szó. Ha megérint egy értesítést, azonnal zárjon be minden megnyíló webhelyet.

És végül, ha már megadta a jelszavát valahol egy értesítésben, azonnal változtassa meg, törölje az összes bejelentkezett eszköz jogosultságát (ha van), és engedélyezze a kéttényezős hitelesítést, ha még nem tette meg már.

Mit tegyenek a fejlesztők?

Ha implementálta a Firebase Cloud Messaging szolgáltatást az alkalmazásaiban, ellenőrizze a konfigurációs fájlokat, és győződjön meg arról, hogy a szerverkulcsok nincsenek benne. Ha igen, azonnal érvénytelenítse őket, hozzon létre újakat, és konfigurálja újra a szervert.

Ismétlem, ez nem túl technikai cikk, ezért érdemes felkeresni az alábbi linkeket, ha további információra van szüksége a mérsékléssel kapcsolatban.

A Google és a Microsoft válaszai

A Google szóvivője elmondta A napi korty hogy a probléma „kifejezetten azokhoz a fejlesztőkhöz kapcsolódik, amelyek API-kulcsokat tartalmaztak a kódjukban olyan szolgáltatásokhoz, amelyeket nem kellene bele kell foglalni, ami aztán kihasználható lenne”, nem pedig maga a Firebase Cloud Messaging szolgáltatás veszélyeztetett. „Azokban az esetekben, amikor a Google azonosítani tudja, hogy szerverkulcsot használnak, megpróbáljuk figyelmeztetni a fejlesztőket, hogy javíthassák az alkalmazásukat” – tette hozzá a szóvivő.

A Microsoft a következő nyilatkozatot tette közzé a Twitteren:

További irodalom

Íme néhány cikk, amelyek sokkal részletesebben foglalkoznak azzal, hogy mi ez a kizsákmányolás, hogyan működik, és hogyan biztosíthatja, hogy ne legyen sebezhető. Ha Ön alkalmazásfejlesztő, vagy csak szeretné megnézni, hogyan működik ez, vessen egy pillantást.

  • Firebase Cloud Messaging Service átvétele: egy kis kutatás, amely 30 000 dollár feletti jutalomhoz vezetett
  • A Google Firebase üzenetkezelési sebezhetősége lehetővé tette a támadók számára, hogy push értesítéseket küldjenek az alkalmazás felhasználóinak