Une vulnérabilité récemment révélée dans Firebase Cloud Messaging a conduit à d'étranges notifications provenant d'applications telles que Microsoft Teams et Hangouts.
Il semble que nous ne puissions pas passer une journée sans qu’une autre faille de sécurité importante n’apparaisse quelque part dans un logiciel ou un service. Cette semaine semble être le moment pour Firebase Cloud Messaging de se heurter à une vulnérabilité facilement exploitable.
Messagerie cloud Firebase est un cadre de Google destiné à faciliter la transmission de notifications via des applications sur presque toutes les plateformes. Avec une configuration simple de votre application et d'un serveur, vous pouvez envoyer des notifications push générales ou ciblées à vos utilisateurs en quelques minutes. La plupart des applications Android qui envoient des notifications push utilisent probablement Firebase Cloud Messaging (ou l'ancien Google Cloud Messaging) pour ce faire. Cela inclut les applications de développeurs amateurs individuels ainsi que les applications de sociétés géantes comme Microsoft et, bien sûr, Google.
L'exploit
Et c'est là qu'intervient cet exploit. Si vous utilisez des applications comme Équipes Microsoft ou Google Hangouts, vous avez peut-être récemment remarqué l'arrivée de notifications aléatoires, comme celles de la capture d'écran suivante. Il s'agit de personnes profitant de configurations inappropriées de Firebase Cloud Messaging.
Je n'entrerai pas dans les détails ici, mais ce problème n'est pas vraiment la faute de Google. Afin d'envoyer des notifications push en toute sécurité, Google exige que le serveur qui les envoie réellement envoie également une clé pour valider leur authenticité. Cette clé est uniquement censée se trouver dans votre console Firebase et sur votre serveur.
Mais les applications concernées, pour une raison quelconque, intègrent également la clé. Il n'est pas utilisé, mais il est là, en clair, pour que tout le monde puisse le voir et l'utiliser. Ironiquement, Google Hangouts et Google Play Music semblent être vulnérables à cet exploit, ainsi que Microsoft Teams. C'est donc en quelque sorte la faute de Google, mais pas vraiment non plus.
Et il peut être utilisé à des fins assez néfastes. Bien qu'il semble que la plupart des « implémentations » de cette vulnérabilité n'aient été utilisées que pour envoyer des textes étranges à des personnes, il est possible pour un attaquant d'exécuter une escroquerie par phishing. Le texte de la notification pourrait ressembler à ceci: « Votre session a expiré. Veuillez appuyer ici pour vous reconnecter", avec une URL qui est lancée lorsque vous appuyez dessus. Cette URL pourrait finir par être un site conçu pour ressembler, par exemple, à la page de connexion de Microsoft. Mais au lieu de vous connecter à Microsoft, vous donnez votre identifiant à quelqu'un.
Que doivent faire les utilisateurs?
Rien. En tant qu'utilisateur, vous ne pouvez pas faire grand-chose pour arrêter ces notifications. Vous pouvez bloquer les chaînes sur lesquelles ils arrivent (ou bloquer complètement les notifications de l'application), mais vous ne pouvez pas filtrer les notifications illégitimes, car, à la connaissance de Firebase, elles sont légitime.
Ce que vous pouvez faire, cependant, c'est être prudent. Si vous recevez une notification qui semble vous demander vos informations de connexion (ou toute autre information personnelle d'ailleurs), n'appuyez pas dessus. Au lieu de cela, ouvrez directement l’application. Si la notification était réelle, l’application l’indiquera. Sinon, il s’agirait probablement d’une tentative de phishing. Si vous appuyez sur une notification, fermez immédiatement tout site Web qui s'ouvre.
Et enfin, si vous avez déjà renseigné votre mot de passe quelque part via une notification, modifiez-le immédiatement, désautoriser tous les appareils connectés (le cas échéant) et activer l'authentification à deux facteurs si vous ne l'avez pas fait déjà.
Que doivent faire les développeurs?
Si vous avez implémenté Firebase Cloud Messaging dans vos applications, vérifiez les fichiers de configuration pour vous assurer que vos clés de serveur n'y figurent pas. Si tel est le cas, invalidez-les immédiatement, créez-en de nouveaux et reconfigurez votre serveur.
Encore une fois, il ne s'agit pas d'un article très technique, vous souhaiterez donc visiter les liens ci-dessous pour plus d'informations sur l'atténuation.
Réponses de Google et Microsoft
Un porte-parole de Google a déclaré La gorgée quotidienne que le problème était « spécifiquement lié aux développeurs incluant des clés API dans leur code pour des services qui ne devraient pas être inclus, qui pourrait ensuite être exploité », plutôt que le service Firebase Cloud Messaging lui-même soit compromis. "Dans les cas où Google est en mesure d'identifier qu'une clé de serveur est utilisée, nous essayons d'alerter les développeurs afin qu'ils puissent réparer leur application", a ajouté le porte-parole.
Microsoft a publié la déclaration suivante sur Twitter :
Lectures complémentaires
Voici quelques articles qui expliquent beaucoup plus en détail ce qu'est cet exploit, comment il fonctionne et comment vous pouvez vous assurer que vous n'êtes pas vulnérable. Si vous êtes un développeur d'applications ou si vous souhaitez simplement découvrir comment cela fonctionne, jetez-y un œil.
- Reprise du service de messagerie cloud Firebase: une petite recherche qui a conduit à plus de 30 000 $ de primes
- La vulnérabilité de la messagerie Google Firebase a permis aux attaquants d'envoyer des notifications push aux utilisateurs de l'application