Oplossing voor openbaar gemaakte serversleutels voor Firebase Cloud Messaging (FCM)

Deze informatie is bedoeld voor ontwikkelaars met een of meer apps die openbaar gemaakte serversleutels voor Firebase Cloud Messaging (FCM) bevatten.

Wat er gebeurt

Een of meer van je apps bevatten openbaar gemaakte FCM-serversleutels. Een kwaadwillende aanvaller kan de openbaar gemaakte sleutels gebruiken om pushmeldingen naar alle gebruikers van je kwetsbare app te sturen. De aanvaller heeft de controle over de content van dergelijke meldingen, die kan variëren van aanstootgevende berichten tot expliciete/schokkende afbeeldingen. Bekijk de gedetailleerde stappen hieronder om het probleem met je apps op te lossen. Je kunt de locaties in je app die de FCM-serversleutel(s) openbaar maken, vinden in de Play Console-melding voor je app.

Actie vereist

  1. Update je app en openbaar gemaakte FCM-sleutels met de onderstaande stappen.

    1. Als je de verouderde FCM-API voor je app hebt aangezet en deze niet gebruikt om pushmeldingen te sturen, zet je de verouderde FCM-API uit.
    2. Als je de verouderde FCM-API hebt aangezet en deze gebruikt om pushmeldingen te sturen, kun je een van de volgende 2 stappen uitvoeren:
      1. (Aanbevolen) Stap over op het gebruik van de FCM v1-API en zet de verouderde FCM-API uit.
      2. Beveilig als volgt je gebruik van de verouderde FCM-API:
        1. Als je de openbaar gemaakte sleutel alleen gebruikt voor de FCM-API:
          1. Maak een nieuwe sleutel via Firebase-console > Projectinstellingen > Cloud Messaging door te klikken op Serversleutel toevoegen. Gebruik deze nieuwe serversleutel om FCM-berichten te sturen vanuit je beveiligde serveromgeving. Gebruik deze sleutel alleen vanuit de beveiligde serveromgeving en neem deze niet op in je clientcode (apps, binaire bestanden).
          2. Als je bent overgestapt op FCM-berichten sturen met de nieuw gemaakte serversleutel, verwijder je de openbaar gemaakte serversleutels uit de GCP-console. In de e-mailmelding van Google Play zie je waar in je app je de een of meer openbaar gemaakte FCM-serversleutels kunt vinden. Stap c. beschrijft hoe je de openbaar gemaakte sleutels van deze locaties ophaalt.
        2. Als je de openbaar gemaakte sleutel gebruikt voor andere API's, waaronder FCM, geldt het volgende:
          1. Stap over naar het gebruik van de FCM v1-API en zet de verouderde FCM-API uit.
          2. Als je ander API-gebruik klaar wilt maken voor de toekomst, kun je ook voor de andere API's overstappen op een andere sleutel dan de openbaar gemaakte sleutel. Verwijder daarna de openbaar gemaakte sleutel uit de GCP-console.
    3. Verwijder na een van de bovenstaande stappen de openbaar gemaakte FCM-serversleutel uit de app-code. In de e-mailmelding van Google Play zie je waar in je app je de een of meer openbaar gemaakte FCM-serversleutels kunt vinden. Check de code van je app op de kwetsbare locatie om de openbaar gemaakte sleutels op te halen. De sleutel kan op die locatie zijn ingesloten als tekenreeks of op die locatie zijn geladen vanuit de XML-bronnen van je app. In het laatste geval check je het bestand res/values/strings.xml van je app om de openbaar gemaakte sleutel op te halen. Houd rekening met het volgende:
      • Als je de bovenstaande stappen uitvoert, maar de openbaar gemaakte sleutels niet uit je app verwijdert, blijf je kwetsbaarheidsmeldingen krijgen in je e-mail/Google Play Console.
      • Als je de openbaar gemaakte sleutels uit je app verwijdert maar de bovenstaande stappen niet uitvoert, los je het probleem niet echt op. Een aanvaller kan de sleutel namelijk in een oudere versie van je app vinden en hiermee je app aanvallen.

2. Dien je geüpdatete APK in

Zo dien je een geüpdatete app-bundel of APK in:

  1. Ga naar de Play Console.
  2. Selecteer de app.
  3. Ga naar App-bundel-verkenner.
  4. Selecteer rechtsboven in het dropdownmenu de app-versie van de APK's/app-bundels die niet aan het beleid voldoen en maak een lijst van de releases waartoe ze behoren.
  5. Ga naar de track met het beleidsprobleem. Dit is een van deze 4 pagina's: Intern, Gesloten, Open test of Productie.
  6. Selecteer rechtsboven op de pagina de optie Nieuwe release maken. (Misschien moet je eerst op Track beheren klikken.)
    • Als de release met de schendende APK een conceptstatus heeft, verwijder je de release.
  7. Voeg een versie van app-bundels of APK's toe die aan het beleid voldoet.
    • Ga na of de versie van app-bundels of APK's die niet aan het beleid voldoet, wordt vermeld in het gedeelte Niet opgenomen van deze release. Bekijk het gedeelte 'Niet opgenomen (app-bundels en APK's)' in dit Help-artikel van de Play Console voor meer hulp.
  8. Selecteer Opslaan om wijzigingen op te slaan die je hebt aangebracht in je release.
  9. Selecteer Release controleren als je klaar bent met het voorbereiden van je release.

Als de APK die niet aan het beleid voldoet, is vrijgegeven aan meerdere tracks, herhaal je in elke track stap 5 tot en met 9.

Nadat je app opnieuw is ingediend, wordt deze opnieuw beoordeeld. Dit proces kan enkele uren duren. Als de app is goedgekeurd en is gepubliceerd, hoef je verder geen actie te ondernemen. Als de app niet wordt goedgekeurd, wordt de nieuwe app-versie niet gepubliceerd en krijg je een e-mailmelding.

We zijn er om je te helpen

Als je technische vragen over de kwetsbaarheid hebt, kun je een bericht posten op Stack Overflow en de tag 'android-security' gebruiken. Neem contact op met ons supportteam voor ontwikkelaars voor meer informatie over de stappen die je moet uitvoeren om dit probleem op te lossen.

Hoofdmenu
3528007544101688085
true
Zoeken in het Helpcentrum
true
true
true
true
true
5016068
false