Solução para chaves do servidor de Firebase Cloud Messaging (FCM) expostas

Estas informações destinam-se aos programadores com apps que contenham chaves do servidor de Firebase Cloud Messaging (FCM) expostas.

O que está a acontecer

Uma ou mais das suas apps contêm chaves do servidor de FCM expostas. Um atacante malicioso pode utilizar as chaves expostas para enviar notificações push a todos os utilizadores da app vulnerável. O atacante pode controlar o conteúdo destas notificações, que podem variar entre mensagens ofensivas e imagens explícitas/perturbadoras. Reveja os passos detalhados abaixo para corrigir o problema com as suas apps.  Pode encontrar as localizações na sua app que expõem a(s) chave(s) do servidor de FCM na notificação da Play Console para a sua app.

Ação necessária

  1. Atualize a sua app e as chaves de FCM expostas ao seguir os passos realçados abaixo.

    1. Se tiver a API FCM antiga ativada para a sua app e não estiver a utilizá-la para enviar notificações push, desative a API FCM antiga,
    2. Se tiver a API do FCM antiga ativada e estiver a utilizá-la para enviar notificações push, pode efetuar qualquer um dos dois passos seguintes:
      1. (Recomendado) Migre para a utilização da API FCM v1 e desative a API FCM antiga.
      2. Proteja a utilização da API do FCM antiga da seguinte forma:
        1. Se estiver a utilizar a chave exposta apenas para a API do FCM: 
          1. Gere uma nova chave em Consola do Firebase > Definições do projeto > Cloud Messaging ao clicar em "Adicionar chave do servidor". Utilize esta nova chave do servidor para enviar mensagens do FCM a partir do ambiente de servidor seguro. Certifique-se de que só utiliza esta chave do ambiente de servidor seguro e que esta não está incluída no código de cliente (apps, binários). 
          2. Depois de migrar para o envio de mensagens do FCM com a chave do servidor gerada recentemente, elimine as chaves do servidor expostas da GCP Console. Pode encontrar as localizações na sua app que expõem a(s) chave(s) do servidor de FCM no email de notificação do Google Play. O passo c. descreve como pode obter as chaves expostas a partir destas localizações. 
        2. Se estiver a utilizar a chave exposta para outras APIs, incluindo o FCM:
          1. Migre para a utilização da API FCM v1 e desative a API FCM antiga.
          2. Para preparar as suas outras utilizações da API para o futuro, considere migrar da utilização da chave exposta para as outras APIs e, eventualmente, eliminar a chave exposta da GCP Console.
    3. Depois de concluir um dos passos acima, elimine a chave do servidor de FCM exposta do código da app. Pode encontrar as localizações na sua app que expõem a(s) chave(s) do servidor de FCM no email de notificação do Google Play. Para obter as chaves expostas, verifique o código da app na localização vulnerável. A chave pode ser incorporada nessa localização como uma string ou carregada nessa localização a partir dos recursos XML da sua app. No último caso, verifique o ficheiro res/values/strings.xml da sua app para obter a chave exposta. Tenha em atenção o seguinte:
      • Se efetuar os passos acima, mas não eliminar as chaves expostas da sua app, continuará a receber notificações de vulnerabilidades no email/Google Play Console. 
      • Se eliminar as chaves expostas da app, mas não efetuar os passos acima, não estará efetivamente a corrigir o problema, uma vez que um atacante pode simplesmente encontrar a chave numa versão mais antiga da app e utilizá-la para atacar a app.

2. Envie o APK atualizado

Para enviar um app bundle ou APK atualizado:

  1. Aceda à Play Console.
  2. Selecione a app.
  3. Aceda ao Explorador de app bundles.
  4. Selecione a versão da app do APK/app bundle que não está em conformidade no menu pendente na parte superior direita e tome nota dos lançamentos em que se encontram.
  5. Aceda à faixa com o problema de política. Será uma destas 4 páginas: Testes internos/fechados/abertos ou Produção.
  6. Junto à parte superior direita da página, clique em Criar novo lançamento. (Pode ter de clicar primeiro em Gerir faixa)
    • Se o lançamento com o APK em violação estiver no estado de rascunho, rejeite o lançamento.
  7. Adicione a versão em conformidade com a política dos app bundles ou APKs.
    • Certifique-se de que a versão que não está em conformidade dos APKs ou dos app bundles está na secção Não incluídos deste lançamento. Para obter mais orientações, veja a secção "Não incluídos (app bundles e APKs)" nesteartigo de ajuda da Play Console.
  8. Para guardar todas as alterações efetuadas ao lançamento, selecione Guardar.
  9. Quando terminar de preparar o lançamento, selecione Rever lançamento.

Se o APK não que não está em conformidade for lançado em várias faixas, repita os passos 5 a 9 em cada faixa.

Depois de voltar a enviar, a sua app será revista novamente. Este processo pode demorar várias horas. Se a aplicação passar na revisão e for publicada com êxito, não será necessária qualquer ação adicional. Se a app falhar na revisão, a nova versão da app não será publicada e receberá uma notificação por email.

Estamos aqui para ajudar

Se tiver perguntas técnicas acerca da vulnerabilidade, pode publicar uma mensagem no Stack Overflow e utilizar a etiqueta "android-security". Para obter um esclarecimento sobre os passos que tem de efetuar para resolver este problema, pode contactar a nossa equipa do apoio técnico a programadores.

Menu principal
343365826679888508
true
Pesquisar no Centro de ajuda
true
true
true
true
true
5016068
false