e-Xpert Solutions Lausanne
Auteur : Michael Molho
Date de publication : 9 août 2018 - Dernière mise à jour : 9 août 2018
Cette semaine, la plateforme de news en ligne Reddit annonce avoir subi une attaque importante courant Juin avec pour conséquence la fuite d’un backup complet d’une base de données de 2007. Après investigation, les équipes de Reddit ont identifié la source du hack au niveau de leur service cloud d’hébergement et de gestion de code source. Les attaquants ont réussi à usurper des identifiants de connexion valides de collaborateurs Reddit pour accéder à ces services.
Ce qui est intéressant dans ce hack, c’est que ces services utilisaient de l’authentification forte par SMS. Mais alors, comment les attaquants ont-ils réussi à contourner cette sécurité, à priori inviolable ?
Dans le cas de Reddit, les attaquants ont utilisé une technique appelée « SMS Interception », qui permet aux attaquants de rediriger les SMS à destination des employés Reddit vers leurs propres téléphones.
II est important d’intégrer que l’authentification forte par SMS n’est pas considérée comme fiable à 100 %, et ce depuis plusieurs années. Jusqu’à ce jour, à ma connaissance, il n’y avait pas eu de cas avéré d’attaque réussie reposant sur des techniques de contournement d’authentification forte par SMS.
C’est désormais le cas avec Reddit, qui conseille de ne plus utiliser ce type d’authentification forte :
« we learned that SMS-based authentication is not nearly as secure as we would hope, and the main attack was via SMS intercept. We point this out to encourage everyone here to move to token-based 2FA »
Il existe plusieurs techniques et approches pour contourner l’authentification par SMS. Ces techniques sont connues depuis 2015 mais il est difficile de savoir si elles sont vraiment réalisables et utilisées dans la pratique.
Cette technique est la plus complexe. Elle est basée sur les faiblesses du protocole SS7, qui est un des protocoles utilisés par le réseau GSM pour router les SMS vers le bon destinataire.
Le principe est de s’introduire dans le réseau privé de l’opérateur téléphonique pour aller directement injecter ou modifier les messages SS7 de routing des SMS. De cette manière, un attaquant peut rediriger tous les SMS à destination d’un numéro vers son propre numéro.
La difficulté réside dans le fait de s’introduire dans le réseau de l’opérateur.
Pour cela, une première possibilité est de réussir à compromettre un équipement de l’opérateur accessible depuis Internet. Une petite recherche sur Shodan nous montre qu’il y en a un certain nombre :
Une autre approche est de trouver un employé d’un opérateur qui est prêt à vendre ses services pour faire des requêtes SS7 dans le réseau moyennant quelques Bitcoins.
Sur le Darknet, on trouve des annonces de ce type. Cependant, il est difficile de savoir si ces offres existent réellement ou s’il s’agit de « scam ».
Cette technique, beaucoup plus simple, repose sur une attaque de type social engineering.
L’idée est simplement de réussir à se faire passer pour le propriétaire original du téléphone auprès de l’opérateur. De manière légitime, il est possible de demander à son opérateur une nouvelle carte SIM lorsque par exemple notre téléphone est perdu ou volé.
C’est exactement ce que va faire l’attaquant. Il va chercher à obtenir une nouvelle carte SIM auprès de l’opérateur en se faisant passer pour le propriétaire légitime de la ligne. De cette manière, il recevra alors tous les appels et SMS normalement à destination de sa victime.
Cette technique est néanmoins moins furtive que la première puisque le vrai propriétaire de la ligne ne pourra plus recevoir d’appels ni de SMS sur son téléphone. Il y a donc de fortes chances qu’il finisse par se rendre compte de l’attaque en cours assez rapidement.
Cette dernière approche consiste à s’attaquer directement au téléphone de la victime. Les téléphones étant aujourd’hui majoritairement des smartphones connectés, ils sont sujets à des éventuelles failles de sécurités s’ils ne sont pas mis à jour régulièrement.
De plus, l’utilisateur peut être amené à installer des applications malicieuses sans le savoir via les stores officiels (Play Store ou App Store). Quelle que soit la manière, si l’attaquant arrive à prendre le contrôle du smartphone de sa victime, il pourra alors être en mesure de lire les SMS qu’il revoit et s’en servir pour contourner une authentification forte par SMS.
Le plus important est d’avoir conscience des limites de l’authentification par SMS. Elle n’est pas infaillible. Même si toutes les techniques connues à ce jour pour contourner ce type d’authentification forte restent très complexes à mettre en œuvre dans la pratique.
Il est difficile de savoir si ces attaques sont réellement tentées ou non. Avant le hack de Reddit, aucune attaque n’avait été rendue publique utilisant explicitement une technique de bypass d’authentification par SMS.
Je ne pense pas qu’il faille abandonner l’authentification forte par SMS dans l’immédiat. De mon point de vue, les moyens à déployer par un attaquant pour mettre en œuvre ces types d’attaque sont trop importants, avec des chances relatives de succès. Je pense qu’un attaquant cherchera plutôt une autre porte d’entrée avec un autre système d’authentification plus simple à bypasser pour atteindre sa cible. Cela ne reste que mon point de vue ! Sachant qu’encore une fois, bien que les techniques d’attaque soient connues depuis longtemps (~2015), aucun hack public n’a utilisé ces méthodes avant le cas de Reddit au mois de Juin de cette année.
Bien entendu, cela dépend aussi fortement du type de service protégé et du gain potentiel que l’attaquant peut obtenir en réussissant à compromettre le service. Du point de vue de l’attaquant, l’équation se résume à : « Est ce que le jeu en vaut la chandelle … ? ». Si le service à protéger nécessite une authentification réellement inviolable (même si ça n’existe pas 😊), le SMS n’est alors surement pas la meilleure approche.
Events
Archives