Vyřešení problému s vyzrazenými klíči serveru Firebase Cloud Messaging (FCM)
Tyto informace jsou určeny vývojářům aplikací, které obsahují vyzrazené klíče serveru Firebase Cloud Messaging (FCM).
K čemu dochází
U jedné nebo více vašich aplikací došlo k vyzrazení klíčů serveru FCM. Útočník by tyto vyzrazené klíče mohl využít k odesílání oznámení push všem uživatelům vaší zranitelné aplikace. Měl by kontrolu nad obsahem těchto oznámení, která by mohla obsahovat například nevhodná sdělení nebo explicitní či znepokojující snímky. Opravte chybu v aplikacích podle následujících podrobných pokynů. Místa v aplikaci, kde jsou klíče serveru FCM vyzrazeny, naleznete v oznámení pro danou aplikaci v Play Console.
Vyžadovaná akce
-
Aktualizujte aplikaci a vyzrazené klíče FCM pomocí postupu uvedeného níže.
- Pokud máte v aplikaci aktivované starší rozhraní FCM API, ale k odesílání oznámení push ho nepoužíváte, starší rozhraní FCM API deaktivujte.
- Pokud máte aktivované starší rozhraní FCM API a k odesílání oznámení push ho používáte, můžete podniknout jeden z těchto dvou kroků:
- (Doporučeno) Migrujte na rozhraní FCM API v1 a deaktivujte starší rozhraní FCM API.
- Zabezpečte používání staršího rozhraní FCM API:
- Pokud vyzrazený klíč používáte pouze v rozhraní FCM API:
- Vygenerujte nový klíč v konzoli Firebase > Nastavení projektu > Cloud Messaging kliknutím na „Přidat klíč serveru“. K odesílání zpráv FCM ze zabezpečeného serveru používejte tento nový klíč serveru. Zajistěte, abyste tento klíč používali pouze na zabezpečeném serveru a aby klíč nebyl uveden v klientském kódu (v aplikacích, binárních kódech).
- Po migraci na odesílání zpráv FCM pomocí nově vygenerovaného klíče serveru smažte vyzrazené klíče serveru z konzole GCP. Místa v aplikaci, kde jsou klíče serveru FCM vyzrazeny, naleznete v e-mailu s oznámením od Google Play. Krok c. popisuje, jak z těchto míst získat vyzrazené klíče.
- Pokud vyzrazené klíč používáte i v jiných rozhraních API, včetně FCM, postupujte takto:
- Migrujte na rozhraní FCM API v1 a deaktivujte starší rozhraní FCM API.
- Chcete-li připravit na budoucnost i ostatní používaná rozhraní API, doporučujeme vyzrazený klíč přestat používat také u ostatních rozhraní API a smazat ho z konzole GCP.
- Pokud vyzrazený klíč používáte pouze v rozhraní FCM API:
- Jakmile dokončíte jeden z výše uvedených kroků, smažte vyzrazené klíče serveru FCM z kódu aplikace. Místa v aplikaci, kde jsou klíče serveru FCM vyzrazeny, naleznete v e-mailu s oznámením od Google Play. Pokud chcete zjistit vyzrazené klíče, podívejte se do kódu aplikace v uvedeném místě. Klíč může být na daném místě vložen jako řetězec, nebo se sem načítat ze zdrojů XML aplikace. V druhém případě najdete vyzrazený klíč v souboru
res/values/strings.xml
. Poznámky:- Pokud podniknete výše uvedené kroky, ale vyzrazené klíče z aplikace nesmažete, nadále budete e-mailem nebo do služby Google Play Console dostávat oznámení o bezpečnostních rizicích.
- Pokud vyzrazené klíče z aplikace smažete, ale výše uvedené kroky nepodniknete, problém vlastně neodstraníte, protože útočník může klíč snadno najít ve starší verzi aplikace a použít ho k útoku na aplikaci.
2. Odešlete aktualizovaný soubor APK
Postup odeslání aktualizovaného balíčku aplikace nebo APK:
- Přejděte do služby Play Console.
- Vyberte příslušnou aplikaci.
- Přejděte do Průzkumníku balíčků aplikací.
- V rozbalovací nabídce vpravo nahoře vyberte verzi souboru APK nebo balíčku aplikace, který porušuje zásady, a zapište si, ve kterých vydáních je používán.
- Přejděte na kanál, u kterého došlo k problému se zásadami. Bude to jedna z těchto čtyř stránek: Interní / Uzavřené / Otevřené testování nebo Produkce.
- V pravé horní části stránky klikněte na Vytvořit nové vydání. (Možná budete muset nejdřív kliknout na Spravovat kanál.)
- Pokud je vydání se souborem APK, který porušuje zásady, ve fázi konceptu, vydání zahoďte.
- Přidejte verzi balíčku aplikace nebo APK, která je v souladu se zásadami.
- Zajistěte, aby verze balíčku aplikace nebo APK, která porušuje zásady, byla u daného vydání uvedena v sekci Nezahrnuto. Další pokyny naleznete v sekci Nezahrnuto (balíčky aplikací a soubory APK) v tomto článku nápovědy služby Play Console.
- Uložte změny vydání pomocí možnosti Uložit.
- Až přípravu vydání dokončíte, vyberte Kontrola vydání.
Pokud je soubor APK, který porušuje zásady, zveřejněn ve více kanálech, opakujte kroky 5–9 u každého kanálu.
Po odeslání bude aplikace znovu zkontrolována. Tento proces může trvat několik hodin. Pokud aplikace při kontrole projde a bude úspěšně publikována, není potřeba podnikat žádné další kroky. Jestliže aplikace při kontrole neprojde, nová verze aplikace nebude publikována a obdržíte e‑mailem oznámení.
Rádi vám poradíme
Pokud ohledně této zranitelnosti máte technické dotazy, publikuje příspěvek na webu Stack Overflow. Použijte štítek „android-security“. Pokud potřebujete poradit s jednotlivými kroky k řešení tohoto problému, obraťte se na náš tým podpory pro vývojáře.