Par Renaud LIFCHITZ, Directeur scientifique et expert cybersécurité chez Holiseum www.holiseum.com
Messageries instantanées : une sécurité robuste ?
Deux modèles de sécurité bien distincts
Deux types de messageries cohabitent actuellement, des messageries centralisées, où le chiffrement et le déchiffrement se font chez l’éditeur, donc sur le cloud. C’est le cas de Google Chat (anciennement Hangouts), Facebook Messenger, Slack ou Skype par exemple. A l’opposé, d’autres messageries généralement plus récentes utilisent un chiffrement de bout en bout (directement de l’émetteur au destinataire, sans déchiffrement intermédiaire), comme Signal, WhatsApp, Telegram ou Matrix. Le premier modèle, où le déchiffrement se fait sur le cloud, donne à l’éditeur ou aux Etats une grande facilité d’interception des communications. Cette capacité est même une obligation pour les opérateurs de télécommunications de beaucoup de pays, notamment la France.
Signal et WhatsApp sont tous 2 basés sur le protocole open source d’Open Whisper Systems (OWS).
Il est à noter que les différentes implémentations d’un même protocole de communication comme OWS peuvent causer des problèmes de sécurité bien distincts. Telegram, qui est un protocole d’origine russe, est bien plus obscur. On ne connaît même pas exactement le nombre de ses serveurs et leur répartition géographique dans le monde. Edward Snowden, le célèbre lanceur d’alertes, recommande régulièrement d’utiliser la messagerie sécurisée Signal pour des questions de vie privée.
Vous pouvez discuter de personne à personne sur ces messageries instantanées, bien évidemment, mais vous pouvez aussi créer des groupes. Et créer des groupes, ça affaiblit considérablement la sécurité. C’est le cas notamment dans Telegram. Il y a régulièrement eu des cas de terroristes qui utilisaient des groupes Telegram pour faire de la propagande et du recrutement. Très rapidement, ces groupes ont été fermés par Telegram, qui les surveillent, et qui a accès à ces conversations en clair, et certaines personnes ont été arrêtées suite à leur utilisation.S
Et pourtant de gros doutes
De fausses applications déjà largement diffusées
Régulièrement, de fausses applications de messageries apparaissent sur des sites internet, et même sur les stores mobiles d’Android ou d’Apple. Cela a été le cas en 2013, ou une fausse application iMessage a berné des milliers d’utilisateurs Apple, et notamment en novembre 2017, une fausse application WhatsApp intitulé «Update WhatsApp Messenger», mais reprenant le nom de l’éditeur et l’icône authentique de l’application a berné plus d’un million d’utilisateurs qui ont infecté leur smartphone avec un logiciel espion qui installait en plus de multiples applications indésirables. Cela pose aussi la question de la responsabilité des GAFAM à repérer et bloquer ces usurpations sur leur propre magasin d’applications.
Quid ensuite des brèches de sécurité qui sont ouvertes par ces applications, des données qui auraient été volées sur votre smartphone ?
Vulnérabilités des messageries «Man in the Contacts»
C’est un concept qui a été découvert par Jérémy Matos en août 2016 qui s’appelle «Man in the Contacts», qui est une attaque toute bête qui fonctionne sans compromission du téléphone et sans modification de l’application. En principe, sur les smartphones, que ce soit iOS ou Android, les applications sont isolées les unes des autres. Chaque application fonctionne avec ses propres droits, donc une application n’a pas le droit d’écrire sur les données d’une autre application. Le problème, c’est qu’elles ont accès, ces applications, en lecture et écriture, à des ressources partagées, et notamment la ressource partagée qui est un petit peu sensible, ce sont vos contacts, votre répertoire téléphonique. Autrement dit, une application qui est complètement tierce, qui n’a rien à voir avec Signal ou avec WhatsApp, ça peut être un jeu, ça peut être n’importe quelle autre application, une application utilitaire, peut très bien modifier vos contacts et par exemple, intervertir les numéros de téléphone temporairement de deux contacts.
Et du coup, dans Signal comme dans WhatsApp, vous verrez un message entrant d’une personne qui est pas du tout la personne que vous pensez être, mais d’un autre contact. Cela peut être fait de manière ponctuelle et déclenché d’ailleurs par un message «push» qui est totalement invisible pour l’utilisateur. Il s’agit juste d’aller modifier temporairement les contacts de votre répertoire. Donc une application, qui n’a pas forcément accès à Internet, juste avec accès aux contacts, peut créer un contact avec un numéro existant ou intervertir le numéro de téléphone de deux contacts pour aller usurper très facilement un de vos contacts.
Et c’est une attaque qui est généralisable bien évidemment à la fois aux discussions de groupe et aux appels Voix sur IP. Vous pouvez comme ça faire du «caller ID spoofing», donc faire croire que vous êtes un contact de votre destinataire tout autre que vous-même. Réponse des éditeurs : «on ne corrigera pas parce que ce n’est pas une vulnérabilité, c’est une fonction».
Le nec plus ultra : attaques SS7
L’actualité l’a à plusieurs fois montré, le nec plus ultra des attaques sur les messageries sont les attaques SS7. Elles consistent en l’envoi de trafic réseau vers le cœur de réseau des opérateurs téléphoniques, à travers, le plus souvent d’accès logiques illégaux à ces cœurs de réseaux, mis à disposition par des personnes malveillantes pour deux à trois mille euros généralement.
Il faut comprendre que les messageries basées sur OWS, Signal, WhatsApp et en partie Telegram vous authentifient par votre numéro de téléphone et pas par un login mot de passe, pour des raisons de simplicité. Si ce numéro de téléphone mobile est usurpé, l’identité de l’utilisateur l’est aussi. C’est précisément ce que permet le protocole SS7.
Conclusion
On peut dire que les messageries sont effectivement à l’état de l’art cryptographique et il n’y a pas grand chose à redire d’un point de vue conception. Par contre, il y a en sécurité beaucoup de différences entre la conception et l’implémentation, entre la théorie et la pratique, comme dans beaucoup de cas. Et là, ça fait particulièrement la différence, notamment parce que les modèles de sécurité de ces messageries ont pas mal d’hypothèses et des hypothèses qui ne sont pas toujours vérifiées en grandeur nature. On a beau faire des preuves formelles, même des modèles de sécurité, parce que le modèle de Signal, d’échange de clés de Signal, a été même prouvé formellement. On peut se dire s’il y a une preuve formelle du protocole, il n’y a pas de faille de sécurité possible.
Si, parce que les hypothèses sur lesquelles sont basées ces preuves formelles là, sont rarement réunies en vrai. Pour résumer, de nombreux vecteurs d’attaque existent, au moins à quatre niveaux sur les messageries. Au niveau réseau, vous avez des métadonnées TCP/UDP qui permettent, même si le traffc est chiffré, d’identifier qu’il y a activité de messagerie et même si on a un potentiel groupe d’utilisateurs, de savoir quels utilisateurs dans ce groupe communiquent et quels sont les messages adressés d’un utilisateur à l’autre, en faisant de la corrélation temporelle entre les métadonnées des messages. Au niveau système, il y a la problématique de l’enregistrement des frappes claviers, accentuée par l’installation de la version bureau de l’application.