Åtgärda exponerade servernycklar för FCM (Firebase Cloud Messaging)

Den här informationen är avsedd för utvecklare vars appar har exponerade servernycklar för FCM (Firebase Cloud Messaging).

Detta händer

I minst en av dina appar finns exponerade servernycklar för FCM (Firebase Cloud Messaging). En angripare kan utnyttja de exponerade nycklarna till att skicka pushmeddelanden till alla som använder appen med säkerhetsbristen. Angriparen skulle ha kontroll över vad dessa meddelanden innehåller. Det skulle kunna vara allt från stötande meddelanden till explicita/stötande bilder. Läs igenom anvisningarna för hur problemet ska åtgärdas nedan.  Du kan se var i appen som FCM-servernycklarna exponeras i aviseringen för appen på Play Console notification for your app.

Åtgärd krävs

  1. Uppdatera appen och de exponerade FCM-nycklarna enligt anvisningarna nedan.

    1. Om den äldre versionen av FCM API är aktiverad i appen och du inte använder den till att skicka pushmeddelanden inaktiverar du den äldre versionen av FCM API.
    2. Om den äldre versionen av FCM API är aktiverad i appen och du använder den till att skicka pushmeddelanden kan du göra något av följande:
      1. (Rekommenderas) Migrera till FCM v1 API och inaktivera den äldre versionen av FCM API.
      2. Säkerställ att den äldre versionen av FCM API används på ett säkert sätt så här:
        1. Om den exponerade nyckeln bara används för FCM API:
          1. Skapa en ny nyckel genom att klicka på Add Server Key under Firebase Console > Project Settings > Cloud Messaging. Använd denna nya servernyckel när du skickar FCM-meddelanden från den säkra servermiljön. Se till att den nya nyckeln bara används i den säkra servermiljön och att den inte finns i klientkoden (appar, binärfiler). 
          2. När du har övergått till att skicka FCM-meddelanden med den nya servernyckeln tar du bort de exponerade servernycklarna från GCP-konsolen. Var i appen som FCM-servernycklarna exponeras framgår av meddelandet från Google Play. I steg c beskrivs hur du hittar de exponerade nycklarna på dessa ställen. 
        2. Om den exponerade nyckeln används till andra API:er, inklusive FCM, gör du följande:
          1. Migrera till FCM v1 API och inaktivera den äldre versionen av FCM API.
          2. Du bör säkra användningen av övriga API:er för framtiden genom att sluta använda den exponerade nyckeln för övriga API:er och i slutänden radera den exponerade nyckeln från GCP-konsolen.
    3. När du har vidtagit någon av de båda åtgärderna ovan raderar du den exponerade FCM-servernyckeln från appkoden. Var i appen som FCM-servernycklarna exponeras framgår av meddelandet från Google Play. Du hittar de exponerade nycklarna genom att titta i appkoden där säkerhetsbristen finns. Nyckeln kan vara inbäddad där som en sträng eller läsas in där från appens XML-resurser. I det senare fallet hittar du den exponerade nyckeln i appens res/value/strings.xml-fil. Observera följande:
      • Om du vidtar åtgärder enligt ovan men inte tar bort de exponerade nycklarna från appen får du nya aviseringar om säkerhetsbristen via e-post eller på Google Play Console. 
      • Om du tar bort de exponerade nycklarna från appen men inte vidtar åtgärderna ovan har du inte gjort något åt det egentliga problemet, eftersom en angripare enkelt kan hitta nyckeln i en äldre version av appen och använda den i ett angrepp.

2. Skicka in en uppdaterad APK-fil

Så här skickar du in ett uppdaterat AAB-arkiv eller en uppdaterad APK-fil:

  1. Öppna Play Console.
  2. Markera appen.
  3. Öppna utforskaren för AAB-arkiv.
  4. Välj appversionen med APK-filen/AAB-arkivet som inte följer policyn i rullgardinsmenyn uppe till höger. Anteckna vilka versioner de finns i.
  5. Öppna kanalen med policyproblemet. Det är en av följande fyra sidor: Internt test, Slutet test, Öppet test eller Produktion.
  6. Klicka på Skapa ny version uppe till höger på sidan. (Du kan behöva klicka på Hantera kanal först.)
    • Om versionen med APK-filen som inte följer policyn är ett utkast kastar du versionen.
  7. Lägg till AAB-arkiv eller APK-filer som följer policyn.
    • Kontrollera att den version av AAB-arkiven eller APK-filerna som inte följer policyn återfinns under Tas inte med för denna version. Mer information finns i avsnittet Inte inkluderade (AAB-arkiv och APK-filer) i den här artikeln i hjälpen för Play Console.
  8. Spara det du har ändrat genom att välja Spara.
  9. När du är klar med förberedelserna väljer du Granska version.

Om den APK-fil som inte följer policyn har lanserats i flera kanaler upprepar du steg 5–9 för var och en av kanalerna.

När du skickar in den nya appversionen granskas den på nytt. Granskningen kan ta flera timmar. Om appen blir godkänd vid granskningen och publiceras utan problem behöver du inte göra något mer. Om appen inte blir godkänd vid granskningen kommer den nya appversionen inte att publiceras och du meddelas via e-post.

Vi hjälper dig gärna

Om du har tekniska frågor som handlar om säkerhetsbristen kan du ställa dem på Stack Overflow. Använd taggen android-security. Om du behöver mer information om hur du åtgärdar problemet kontaktar du vårt supportteam för utvecklare.

Huvudmeny
2839602604310912319
true
Sök i hjälpcentret
true
true
true
true
true
5016068
false