Solució per a les claus exposades del servidor de Firebase Cloud Messaging (FCM)

Aquesta informació va dirigida als desenvolupadors d'aplicacions que contenen claus exposades del servidor de Firebase Cloud Messaging (FCM).

Què passa

Com a mínim una de les teves aplicacions conté claus exposades del servidor d'FCM. Un atacant malintencionat podria utilitzar les claus exposades per enviar notificacions automàtiques a tots els usuaris de la teva aplicació vulnerable. L'atacant controlaria el contingut d'aquestes notificacions, que podrien ser des de missatges ofensius fins a imatges gràfiques o pertorbadores. Revisa els passos detallats següents per resoldre el problema de les aplicacions. Les ubicacions de l'aplicació que exposen les claus del servidor d'FCM es poden trobar a la notificació de Play Console corresponent a la teva aplicació.

Acció necessària

  1. Actualitza l'aplicació i les claus exposades d'FCM seguint els passos que s'indiquen a continuació.

    1. Si tens activada l'API d'FCM heretada per a l'aplicació i no la fas servir per enviar notificacions automàtiques, desactiva-la.
    2. Si tens activada l'API d'FCM heretada i la fas servir per enviar notificacions automàtiques, pots seguir qualsevol dels dos passos següents:
      1. (Opció recomanada) Passa a utilitzar la versió 1 de l'API d'FCM i desactiva l'API d'FCM heretada.
      2. Protegeix l'ús que fas de l'API d'FCM heretada de la manera següent:
        1. Si utilitzes la clau exposada només per a l'API d'FCM:
          1. Genera una clau nova anant a Consola de Firebase > Configuració del projecte > Cloud Messaging i fent clic a "Afegeix una clau de servidor". Utilitza aquesta clau de servidor nova per enviar missatges d'FCM des de l'entorn del teu servidor segur. Assegura't d'utilitzar aquesta clau només des de l'entorn del servidor segur i comprova que no estigui inclosa al teu codi de client (aplicacions i binaris).
          2. Un cop hagis passat a enviar missatges d'FCM mitjançant la clau de servidor generada recentment, suprimeix les claus de servidor exposades de la consola de Google Cloud Platform (GCP). Les ubicacions de l'aplicació que exposen les claus del servidor d'FCM es poden trobar al correu electrònic de notificació de Google Play. El pas C descriu com pots obtenir les claus exposades d'aquestes ubicacions.
        2. Si utilitzes la clau exposada per a altres API, inclosa la d'FCM:
          1. Passa a utilitzar la versió 1 de l'API d'FCM i desactiva l'API d'FCM heretada.
          2. Perquè els altres usos que facis de l'API en el futur siguin segurs, et recomanem que deixis d'utilitzar la clau exposada per a les altres API i que, finalment, la suprimeixis de la consola de GCP.
    3. Quan hagis dut a terme un dels passos anteriors, suprimeix la clau exposada del servidor d'FCM del codi de l'aplicació. Les ubicacions de l'aplicació que exposen les claus del servidor d'FCM es poden trobar al correu electrònic de notificació de Google Play. Per obtenir les claus exposades, comprova el codi de l'aplicació a la ubicació vulnerable. Pot ser que la clau estigui inserida en aquesta ubicació com a cadena, o bé que s'hagi carregat en aquesta ubicació des dels recursos XML de l'aplicació. En aquest darrer cas, comprova el fitxer res/values/strings.xml de l'aplicació per obtenir la clau exposada. Tingues el compte el següent:
      • Si segueixes els passos anteriors però no suprimeixes les claus exposades de l'aplicació, continuaràs rebent notificacions de vulnerabilitat al correu electrònic o a Google Play Console.
      • Si suprimeixes les claus exposades de l'aplicació però no segueixes els passos anteriors, el problema no se soluciona, ja que els atacants igualment poden trobar la clau en una versió anterior de l'aplicació i utilitzar aquesta clau per atacar-la.

2. Envia l'APK actualitzat.

Per enviar un app bundle o un APK actualitzats:

  1. Ves a Play Console.
  2. Selecciona l'aplicació.
  3. Ves a l'explorador d'app bundles.
  4. Selecciona la versió de l'aplicació de l'APK o de l'app bundle que no compleix les polítiques al menú desplegable de la part superior dreta i anota les versions que el contenen.
  5. Ves al canal que té el problema relacionat amb les polítiques. Serà una d'aquestes quatre pàgines: Prova interna, Prova tancada, Prova oberta o Producció.
  6. A prop de la part superior dreta de la pàgina, fes clic a Crea una versió. És possible que primer hagis de fer clic a Gestiona el canal.
    • Si la versió amb l'APK infractor està en estat d'esborrany, descarta-la.
  7. Afegeix la versió dels app bundles o dels APK que compleix les polítiques.
    • Assegura't que la versió dels app bundles o dels APK que no compleix les polítiques es trobi a la secció No inclosos d'aquesta versió. Per obtenir més indicacions, consulta la secció "No inclosos (app bundles i APK)" d'aquest article d'ajuda de Play Console.
  8. Per desar els canvis que facis a la versió, selecciona Desa.
  9. Quan hagis acabat de preparar la versió, selecciona Revisa la versió.

Si l'APK que no compleix les polítiques es publica en diversos canals, repeteix els passos 5-9 en cada canal.

Quan tornis a enviar l'aplicació, la revisarem de nou. Aquest procés pot tardar diverses hores a completar-se. Si l'aplicació supera la revisió i es publica correctament, no caldrà dur a terme cap altra acció. Si l'aplicació no supera la revisió, no se'n publicarà la versió nova i rebràs una notificació per correu electrònic.

Som aquí per ajudar-te

Si tens cap dubte tècnic sobre la vulnerabilitat, pots publicar les teves preguntes a Stack Overflow amb l'etiqueta "android-security". Per aclarir els passos que has de seguir per resoldre aquest problema, pots contactar amb el nostre equip d'assistència per a desenvolupadors.

Menú principal
7969726643725488506
true
Cerca al Centre d'ajuda
true
true
true
true
true
5016068
false