Facebook a corrigé un bug dans son application Messenger pour Android, largement installée, qui aurait pu permettre à un attaquant distant d’appeler des cibles sans méfiance et de les écouter avant même qu’ils n’aient décroché l’appel audio.
La faille a été signalée à Facebook le mois dernier, le 6 octobre, par Natalie Silvanovich de l’équipe de chasseurs de bugs du Projet Zéro de Google, 90 jours après l’avoir découvert. Cette faille affecte la version 284.0.0.16.119 (et ultérieures) de Facebook Messenger pour Android.
En bref, la vulnérabilité aurait pu permettre à un attaquant connecté à l’application de lancer un appel et d’envoyer un message spécialement conçu à une cible qui est à la fois connectée à l’application et à un autre client Messenger tel que le navigateur web.
« Cela déclencherait alors un scénario où, pendant que l’appareil sonne, l’appelant commencerait à recevoir l’audio soit jusqu’à ce que la personne appelée réponde, soit jusqu’à ce que l’appel soit terminé », a déclaré Dan Gurfinkel, responsable de l’ingénierie de la sécurité sur Facebook.
Selon un rapport technique de Mme Silvanovich, la faille réside dans le protocole de description de session (SDP) du WebRTC – qui définit un format standardisé pour l’échange de médias en continu entre deux terminaux – permettant à un attaquant d’envoyer un type spécial de message connu sous le nom de « SdpUpdate » qui provoquerait la connexion de l’appel au dispositif de l’appelé avant qu’il ne réponde.
Les appels audio et vidéo via WebRTC ne transmettent généralement pas d’audio avant que le destinataire n’ait cliqué sur le bouton d’acceptation, mais si ce message « SdpUpdate » est envoyé à l’autre appareil terminal pendant qu’il sonne, « il lui fera commencer à transmettre l’audio immédiatement, ce qui pourrait permettre à un agresseur de surveiller les environs de l’appelé ».
D’une certaine manière, cette vulnérabilité est similaire à une faille d’atteinte à la vie privée qui a été signalée l’année dernière dans la fonctionnalité de chat de groupe FaceTime d’Apple, qui permettait aux utilisateurs de lancer un appel vidéo FaceTime et d’espionner leurs cibles en ajoutant leur propre numéro en tant que troisième personne dans un chat de groupe avant même que la personne à l’autre bout n’accepte l’appel entrant.
L’erreur a été jugée si grave qu’Apple a mis fin aux chats de groupe FaceTime avant d’aborder le problème dans une mise à jour ultérieure de l’iOS.
Mais contrairement au bug de FaceTime, exploiter la faille de Messenger n’est pas si aisé. L’appelant doit déjà avoir les autorisations nécessaires pour appeler une personne spécifique – en d’autres termes, l’appelant et l’appelé doivent être amis sur Facebook pour y parvenir.
De plus, l’attaque nécessite également que la personne malveillante utilise des outils de rétro-ingénierie comme Frida pour manipuler sa propre application Messenger afin de la forcer à envoyer le message personnalisé « SdpUpdate ».
Mme Silvanovich a reçu une prime de 60 000 dollars pour avoir signalé le problème, l’une des trois primes les plus élevées de Facebook à ce jour. La chercheuse de Google a déclaré qu’elle en faisait don à une association à but non lucratif appelée GiveWell.
Ce n’est pas la première fois que Mme Silvanovich trouve des failles critiques dans les applications de messagerie. Elle a déjà mis au jour un certain nombre de problèmes dans WhatApp, iMessage, WeChat, Signal et Reliance JioChat, dont certains contenaient déjà ce « dispositif d’appel pour envoyer de l’audio sans interaction de l’utilisateur ».