Soluzione per le chiavi server FCM (Firebase Cloud Messaging) compromesse

Queste informazioni sono rivolte agli sviluppatori di app contenenti chiavi server FCM (Firebase Cloud Messaging) compromesse.

Situazione attuale

Una o più delle tue app contengono chiavi server FCM compromesse. Un utente malintenzionato potrebbe utilizzare le chiavi compromesse per inviare notifiche push a tutti gli utenti della tua app vulnerabile. Potrebbe controllare i contenuti di tali notifiche, che potrebbero includere da messaggi offensivi a immagini crude o inquietanti. Consulta la procedura dettagliata riportata di seguito per risolvere i problemi delle tue app. Puoi trovare le posizioni nell'app che espongono le chiavi server FCM nella notifica di Play Console relativa alla tua app.

Azione richiesta

  1. Aggiorna l'app e le chiavi FCM compromesse procedendo nel seguente modo.

    1. Se hai attivato l'API FCM precedente per la tua app e non la utilizzi per inviare notifiche push, disattiva l'API FCM precedente,
    2. Se hai attivato l'API FCM precedente e la utilizzi per inviare notifiche push, puoi eseguire uno dei seguenti passaggi:
      1. (Opzione consigliata) Esegui la migrazione all'API FCM v1 e disattiva l'API FCM precedente.
      2. Proteggi il tuo utilizzo dell'API FCM precedente come segue.
        1. Se utilizzi la chiave compromessa solo per l'API FCM: 
          1. Genera una nuova chiave da Firebase Console > Impostazioni progetto > Cloud Messaging, facendo clic su "Aggiungi chiave server". Utilizza questa nuova chiave server per inviare messaggi FCM dal tuo ambiente server protetto. Assicurati di utilizzare questa chiave solo dal tuo ambiente server protetto e che non sia inclusa nel tuo codice client (app, programmi binari). 
          2. Dopo aver eseguito la migrazione all'invio di messaggi FCM utilizzando la chiave server appena generata, elimina le chiavi server compromesse dalla console di GCP. Puoi trovare le posizioni nell'app che contengono le chiavi server FCM compromesse nell'email di notifica di Google Play. Il passaggio c. descrive come si possono recuperare le chiavi compromesse in queste posizioni. 
        2. Se stai utilizzando la chiave compromessa per altre API, tra cui FCM:
          1. Esegui la migrazione all'API FCM v1 e disattiva l'API FCM precedente.
          2. Per proteggere gli utilizzi futuri delle altre API, valuta la possibilità di non usare la chiave compromessa per tali API e, alla fine, eliminala dalla console di GCP.
    3. Dopo aver eseguito uno dei passaggi precedenti, elimina la chiave server FCM compromessa dal codice dell'app. Puoi trovare le posizioni nell'app che contengono le chiavi server FCM compromesse nell'email di notifica di Google Play. Per recuperare le chiavi compromesse, controlla il codice dell'app nella posizione vulnerabile. La chiave potrebbe essere incorporata in quella posizione come una stringa o caricata in quella posizione dalle risorse XML dell'app. In quest'ultimo caso, controlla il file res/values/strings.xml dell'app per recuperare la chiave compromessa. Tieni presente quanto segue:
      • Se esegui i passaggi precedenti, ma non elimini le chiavi compromesse dalla tua app, continuerai a ricevere notifiche relative alle vulnerabilità nella tua email o in Google Play Console. 
      • Se elimini le chiavi compromesse dalla tua app ma non esegui la procedura descritta sopra, non riuscirai a risolvere il problema, poiché un utente malintenzionato può semplicemente trovare la chiave in una versione precedente dell'app e utilizzarla per attaccare l'app.

2. Invia l'APK aggiornato

Per inviare un app bundle o APK aggiornato:

  1. Accedi a Play Console.
  2. Seleziona l'app.
  3. Vai a Explorer per app bundle.
  4. Seleziona la versione dell'app dell'APK o dell'app bundle non conforme nel menu a discesa in alto a destra e prendi nota delle relative release.
  5. Vai al canale con il problema relativo alle norme. Sarà una di queste 4 pagine: Test interni/Test chiusi/Test aperti o Produzione.
  6. In alto a destra nella pagina, fai clic su Crea nuova release. Potrebbe essere necessario fare prima clic su Gestisci canale.
    • Se la release con l'APK in violazione è in stato di bozza, eliminala.
  7. Aggiungi la versione conforme alle norme degli app bundle o degli APK.
    • Assicurati che la versione non conforme degli app bundle o degli APK si trovi nella sezione Non inclusi di questa release. Per ulteriori indicazioni, consulta la sezione "Non inclusi" di questo articolo del Centro assistenza Play Console.
  8. Per salvare le modifiche che apporti alla tua release, seleziona Salva.
  9. Una volta preparata la release, seleziona Controllo della release.

Se l'APK non conforme viene rilasciato per più canali, ripeti i passaggi da 5 a 9 in ogni canale.

Quando invii nuovamente le app, queste vengono riesaminate. Questa procedura può richiedere diverse ore. Se l'app supera il controllo e viene pubblicata correttamente, non sono necessari ulteriori interventi. Se invece l'app non supera il controllo, la nuova versione dell'app non verrà pubblicata e riceverai una notifica via email.

Siamo a tua disposizione

Puoi pubblicare eventuali domande tecniche relative alla vulnerabilità su Stack Overflow utilizzando il tag "android-security". Per chiarimenti sui passaggi da seguire per risolvere il problema, puoi contattare il nostro team di assistenza per sviluppatori.

Menu principale
2487022189840436884
true
Cerca nel Centro assistenza
false
true
true
true
true
true
5016068
false
false
false