Une équipe de chercheurs de l’Université de Londres et de l’Ecole polytechnique fédérale de Zurich a découvert en avril 2021 plusieurs failles dans le protocole de chiffrement des conversations sur Telegram. Le réseau, qui a pour habitude de se vanter d’être bien meilleur que WhatsApp en matière de confidentialité et de respect de la vie privée, a annoncé il y a quelques jours que ces vulnérabilités avaient été corrigées dans la dernière mise à jour. Cela concernait les conversations de groupe, chiffrées par un protocole MTProto, qui diffère du protocole utilisé pour les conversations en tête-à-tête (E2EE).

Les chercheurs ont effectué une analyse de sécurité détaillée du chiffrement offert par la plateforme de messagerie. À la suite de leur enquête, plusieurs faiblesses de chiffrement dans le protocole ont été trouvées, « certaines jugées triviales, d'autres nécessitant plus de techniques ». Pour la plupart des utilisateurs, le risque immédiat est faible mais soulève des questions sur le protocole propriétaire du service de messagerie sécurisée. Par défaut, Telegram utilise en effet son propre protocole nommé MTProto pour protéger les communications entre les clients et ses serveurs. Il s'agit d'une déclinaison du protocole TLS, qui est un standard de l'industrie. La question était donc de savoir « si le protocole MTProto du réseau offre un niveau de confidentialité comparable à celui de la navigation sur internet avec le protocole HTTPS ».

Quatre types de vulnérabilités découvertes

Concrètement, les chercheurs ont découvert quatre failles pouvant porter préjudice au service de messagerie. La première permet de changer l'ordre des mots dans un message provenant d'un client vers le serveur. Cela permet, par exemple, de modifier l'ordre de  termes comme « pizza » et « crime » dans la séquence de messages : « Je dis oui à », « toutes les pizzas », « Je dis non à », « tous les crimes », jugée par les chercheurs comme triviale à réaliser. La seconde faille consistait pouvoir détecter lequel de deux messages spéciaux a été chiffré par un client ou un serveur dans des conditions particulières, tels que les accusés de réception envoyés et reçus. « Nous avons également étudié l'implémentation des clients Telegram et constaté que trois d'entre eux (Android, iOS, Desktop) contenaient du code qui - en principe - permettait de récupérer une partie du texte en clair des messages chiffrés ». Les chercheurs expliquent que pour cela, un attaquant doit envoyer de nombreux messages soigneusement conçus à une cible, de « l'ordre de millions de messages ». Cette attaque, potentiellement dévastatrice pour la confidentialité des messages Telegram, est presque impossible à réaliser en pratique. Telegram a confirmé les attaques et a déployé des correctifs pour les trois clients concernés en juin. Un « bug bounty » a également été attribué pour ces vulnérabilités.

La dernière vulnérabilité portait sur la possibilité pour un attaquant de monter une attaque de type « man-in-the-middle » sur la négociation initiale de la clé entre le client et le serveur. En pratique, « cela permet à un attaquant de se faire passer pour le serveur auprès du client, afin de rompre la confidentialité et l'intégrité de la communication ». L’équipe chargée du développement chez Telegram a donc été mis au courant de la brèche en avril et a opéré des modifications au début du mois de juillet, sans avertir au passage ses utilisateurs des risques potentiels encourus pendant ce laps de temps. Les chercheurs ajoutent que « Telegram a confirmé le comportement que nous avons observé et a corrigé ce problème dans la version 7.8.1 pour Android, 7.8.3 pour iOS et 2.8.8 pour Telegram Desktop ». Les correctifs ont été déployés dans le cadre des mises à jour régulières de la plateforme et aucun avis de sécurité n’a été émis avant.