- Lorsque l’interface de réinitialisation de mot de passe affiche une partie du numéro de téléphone pour vérifier le compte, il devient possible de collecter des fragments de numéro sur plusieurs services à partir de la seule adresse e-mail
- Comme les critères de masquage des PII varient selon les services, combiner les chiffres exposés par eBay, Paypal, Yahoo, LastPass, Google, Facebook, Twitter, Hotmail et Steam permet de révéler une part importante d’un numéro de téléphone américain à 10 chiffres
- Les données publiques d’attribution des numéros de la NANPA et de la National Pooling Administration permettent de réduire fortement les candidats par indicatif régional, central téléphonique et bloc de numéros d’abonnés
- Les services comme Amazon et Twitter, qui affichent une partie de l’adresse e-mail lorsqu’on lance une réinitialisation de mot de passe avec un numéro de téléphone, peuvent servir à comparer les numéros candidats restants avec l’indice d’e-mail masqué
- L’exposition d’un numéro de téléphone peut mener au SIM swapping, à des attaques SS7, à la compromission de messageries vocales, au pistage de localisation et à l’usurpation d’identifiant d’appelant ; pour les indices de récupération, il est donc plus sûr d’afficher des libellés choisis par l’utilisateur plutôt que des fragments de PII
Une fuite d’informations créée par les interfaces de réinitialisation de mot de passe
- Les procédures de réinitialisation de mot de passe de nombreux sites web affichent, après saisie de l’e-mail, des options de récupération comme un lien par e-mail, un code par SMS ou un code par appel téléphonique
- Lorsqu’elles affichent l’option SMS ou appel, beaucoup d’interfaces exposent une partie du numéro de téléphone afin que l’utilisateur puisse l’identifier
- Si l’on connaît une adresse e-mail, on peut lancer les flux de réinitialisation de mot de passe de plusieurs comptes pour obtenir certains chiffres du numéro de téléphone
- Le problème est qu’il n’existe pas de méthode standard pour masquer les informations personnelles identifiables (PII) comme les numéros de téléphone, et que l’implémentation est laissée à la discrétion des développeurs de chaque service
- Dans le cas de Paypal, la réinitialisation du mot de passe affiche le premier chiffre et les quatre derniers, tandis que le challenge 2FA après connexion n’affiche que les trois derniers
- Un attaquant ne connaissant que l’e-mail voit 5 chiffres sur 10
- Un attaquant connaissant l’e-mail et le mot de passe n’en voit que 3
Différences de masquage selon les services et effet de combinaison
- Les procédures de réinitialisation de mot de passe de plusieurs sites populaires ont été examinées afin de comparer si elles peuvent être lancées avec seulement l’e-mail, si elles prennent en charge une réinitialisation via mobile, et combien de chiffres sont exposés
- Les schémas d’exposition diffèrent selon les services
- eBay : les 3 premiers chiffres et les 2 derniers
- Paypal : le premier chiffre et les 4 derniers
- Yahoo : le premier chiffre et les 2 derniers
- LastPass : les 4 derniers
- Google, Facebook, Twitter, Hotmail, Steam : les 2 derniers
- Si des comptes eBay et LastPass existent tous deux, il est possible de connaître 7 chiffres d’un numéro de téléphone à 10 chiffres à partir de la seule adresse e-mail
- Cette seule combinaison réduit déjà l’espace de recherche du numéro de téléphone de 1 milliard de possibilités à 1 000
Réduire les candidats grâce au système de numérotation téléphonique américain
- Hors indicatif pays, un numéro de téléphone américain se compose de 3 champs
- indicatif régional (area code ou NPA)
- numéro de central (exchange ou Central Office Code)
- numéro d’abonné (subscriber number)
- Les informations obtenues avec la combinaison eBay et LastPass sont l’indicatif régional et le numéro d’abonné ; les 3 chiffres manquants ne sont pas de simples chiffres aléatoires, mais correspondent au numéro de central
- La NANPA gère le plan de numérotation du réseau téléphonique public du Canada, des États-Unis et de leurs territoires, ainsi que de certains pays des Caraïbes
- La NANPA fournit la liste des indicatifs régionaux et des numéros de central correspondants sous forme de données publiques, consultables ou récupérables sous forme de fichiers analysables
- En ne conservant que les numéros de central réellement attribués pour chaque indicatif régional, on réduit le nombre de candidats
- Dans l’indicatif régional 415 de San Francisco, il existe 784 numéros de central possibles au lieu de 1 000, ce qui permet d’en exclure 216
- L’indicatif régional 907 de l’Alaska compte 625 numéros de central attribués
- L’indicatif régional 253 de Tacoma compte 458 numéros de central attribués, ce qui permet d’en exclure plus de la moitié
Exploiter aussi les blocs de numéros d’abonnés
- On peut encore réduire les candidats en s’appuyant non seulement sur l’indicatif régional et le numéro de central, mais aussi sur une partie du numéro d’abonné
- La National Pooling Administration gère le pooling de numéros et fournit des archives publiques sur les blocs attribués
- Le pooling de numéros consiste à attribuer les numéros dans les zones en croissance par blocs de 1 000 numéros, et non par tranches de 10 000
- Par exemple, si dans 415-272-XXXX seul un bloc précis 415-272-9XXX est attribué, on peut exclure 415-272-[0-8]XXX et ne garder que 9XXX comme candidats
- Cette méthode réduit le nombre de numéros valides possibles de 10 000 à 1 000
Candidats restants et réinitialisation de mot de passe en sens inverse
- Si une cible de la région de Tacoma possède des comptes eBay et LastPass, on peut d’abord collecter 7 chiffres, puis exclure 542 possibilités via la NANPA pour réduire l’ensemble à 458 candidats
- En vérifiant l’attribution des blocs avec les données de la National Pooling Administration, l’exemple réduit les numéros de téléphone candidats possibles à 445
- Pour réduire davantage les candidats restants, on peut utiliser des sources de données externes comme des moteurs de recherche, pipl, BeenVerified, Spokeo ou des services de recherche inversée de numéros de téléphone
- L’add-on Twilio de WhitePages permettait d’obtenir des informations personnelles pour 10 cents en fournissant seulement un numéro de téléphone
- Comme ces méthodes sont difficiles à considérer comme fiables à 100 %, le même flux de réinitialisation de mot de passe est réutilisé en sens inverse
Services qui donnent un indice d’e-mail à partir d’un numéro de téléphone
- Amazon et Twitter permettent de lancer une réinitialisation de mot de passe en saisissant un numéro de téléphone, et affichent une partie de l’adresse e-mail à laquelle le lien de réinitialisation sera envoyé
- Amazon affiche la première et la dernière lettre du nom d’utilisateur ainsi que le domaine complet, et le nombre d’astérisques permet aussi de connaître la longueur du nom d’utilisateur
- Twitter affiche les deux premières lettres du nom d’utilisateur et la première lettre du domaine, et le nombre d’astérisques permet d’en connaître la longueur
- Le déroulé de l’attaque est le suivant
- Lancer des réinitialisations de mot de passe sur plusieurs sites avec l’e-mail de la cible afin de collecter des fragments de numéro de téléphone
- Exclure les indicatifs régionaux, numéros de central et blocs de numéros d’abonnés inexistants à l’aide des données publiques de la NANPA et de la National Pooling Administration
- Tenter une réinitialisation de mot de passe avec les numéros de téléphone candidats restants et comparer les caractères masqués de l’e-mail avec l’adresse e-mail de la cible
- En suivant cette procédure, il est possible d’obtenir le numéro de téléphone à 10 chiffres lié à une adresse e-mail sans jamais passer le moindre appel
email2phonenumber et phonerator
- email2phonenumber est un outil qui, à partir d’un numéro de téléphone partiel, supprime les indicatifs régionaux et numéros de central inexistants pour générer une liste de numéros de téléphone valides possibles
- L’outil utilise les fonctionnalités de réinitialisation de mot de passe d’Amazon et Twitter pour essayer des numéros de téléphone et comparer l’e-mail masqué affiché avec l’e-mail saisi
- Il randomise les paramètres de requête, imite le comportement utilisateur et prend aussi en charge l’utilisation de serveurs proxy
- En plus d’Amazon et Twitter, plusieurs services prennent en charge la réinitialisation de mot de passe basée sur le numéro de téléphone, et l’outil prévoit d’accepter la prise en charge de services supplémentaires via pull requests
- phonerator a été conçu comme un service en ligne agrégeant les données des systèmes de numérotation téléphonique par pays afin de générer des listes de numéros possibles, puis a été rendu public
- L’objectif est de prendre en charge plusieurs pays, plus d’informations détaillées, des historiques et des filtres avancés
- Des informations comme l’opérateur, la région ou la durée de détention du numéro peuvent servir à réduire encore les candidats
Un problème amplifié dans les pays aux numéros courts
- L’analyse se concentre sur les numéros américains, mais dans les systèmes de numérotation d’autres pays, le même masquage peut exposer davantage d’informations
- Les numéros de mobile espagnols commencent par 6 et, plus récemment, par 7 également, et comptent 9 chiffres au total
- Si des services comme eBay ou LastPass ne réduisent pas le masquage pour l’adapter aux numéros plus courts, une cible espagnole peut voir 5 chiffres sur 9 révélés par LastPass seul
- Dans des pays utilisant des numéros de téléphone à 7 chiffres, comme l’Islande, l’Estonie ou San Salvador, 5 chiffres sur 7 du numéro d’un client eBay peuvent être exposés à une personne ne connaissant que son e-mail
- En combinant des comptes eBay et LastPass, il est possible, dans ces pays, d’obtenir le numéro de téléphone complet à partir de la seule adresse e-mail
Attaques possibles une fois le numéro de téléphone obtenu
- Connaître un numéro de téléphone peut devenir le point de départ de plusieurs attaques de sécurité et de confidentialité
- Les vecteurs d’attaque possibles sont les suivants
- SIM swapping : transférer le numéro vers la carte SIM de l’attaquant via ingénierie sociale, extorsion ou complices chez l’opérateur, puis l’utiliser pour réinitialiser des mots de passe ou contourner la 2FA
- Attaques SS7 : plusieurs conférences de sécurité ont montré qu’il était possible d’abuser de cet ancien protocole utilisé pour les interactions entre opérateurs afin de suivre une localisation ou d’intercepter des communications
- Attaques contre la messagerie vocale : la compromission de la messagerie vocale peut affecter la sécurité des comptes
- Suivi de localisation : les problèmes de suivi de localisation basé sur le numéro de téléphone ont déjà été traités séparément
- Usurpation de l’identifiant d’appelant : des services en ligne permettent de falsifier le numéro appelant afin de l’utiliser dans de l’ingénierie sociale
Mesures d’atténuation proposées et réponse publique
- Le simple fait de masquer une partie des PII ne suffit pas
- Dans les pays aux numéros de téléphone courts, masquer le même nombre de chiffres expose une plus grande proportion d’informations
- Pour les e-mails également, masquer uniquement le nom d’utilisateur est insuffisant : le domaine peut révéler l’employeur, et le TLD des informations comme le statut d’étudiant ou le pays
- Une alternative consiste à permettre à l’utilisateur de définir des libellés pour ses adresses e-mail ou numéros de téléphone
- Exemple : « e-mail personnel », « téléphone professionnel »
- Les indices de réinitialisation de mot de passe afficheraient alors le libellé, et non des fragments de PII
- Il est préférable que les utilisateurs ne fournissent pas leur numéro de téléphone si ce n’est pas nécessaire ; si cela l’est, ils peuvent envisager d’utiliser un numéro virtuel comme Google Voice ou une carte SIM dédiée
- Dans le cadre d’une divulgation responsable, les services qui affichaient plus de 2 chiffres ou exposaient l’indicatif régional ou le numéro de central ont été contactés
- LastPass a mis à jour son masquage pour n’afficher que les 2 derniers chiffres
- eBay est passé à un affichage du premier chiffre et des 2 derniers, mais ce n’est pas parfait
- Yahoo examinait alors le risque et les mesures d’atténuation
- Paypal a considéré comme voulu le comportement affichant 5 chiffres à une personne ne connaissant que l’e-mail, et a décidé de ne pas agir
1 commentaires
Réactions sur Hacker News
J’ai acheté des pièces auto à quelqu’un d’à moitié escroc : il avait encaissé l’argent depuis des semaines sans envoyer tout ce que j’avais commandé
En discutant sur plusieurs plateformes, chacune révélait un petit fragment de son identité, et en recoupant le tout, l’ensemble a fini par prendre forme
J’ai appelé l’entreprise où il travaillait, dans le même secteur que les pièces qu’il vendait, pour demander l’envoi des pièces, puis j’ai demandé au passage si son employeur était impliqué dans cette vente ; son attitude a changé immédiatement, et le lendemain il a envoyé tout ce que j’avais acheté, avec quelques extras en prime
J’avais juste besoin d’un point de pression
Un élément manquant dans l’article, réservé aux États-Unis, est la base de données CNAM
CNAM est la base utilisée quand un opérateur affiche un identifiant d’appelant textuel comme "SMITH JOHN" au lieu de "+1 (555) 123-4567"
Les requêtes ne sont pas gratuites, mais il doit exister un moyen de traiter quelques centaines de numéros pour un coût assez faible, et comme le nom et l’e-mail se ressemblent souvent, on peut aussi créer un algorithme pour sélectionner le candidat le plus plausible
Les données sont souvent erronées de façon intéressante, mais ça reste assez utile
curl/usr/local/bin/curl -s -X GET "https://lookups.twilio.com/v1/PhoneNumbers/…; -u $accountsid:$authtoken | /usr/local/bin/jq '.'Je ne me souviens plus du prix exact, mais c’est peut-être autour d’un centime par requête, et ça indique aussi l’opérateur ainsi que s’il s’agit d’un mobile ou d’une ligne fixe
J’ai modifié le CNAM puis vérifié via la recherche de numéro Twilio ; en théorie il faut utiliser le vrai nom de la personne, mais en pratique c’est essentiellement un système basé sur la bonne foi
[1] https://www.t-mobile.com/support/tutorials/device/app/ios/to...
[2] https://www.twilio.com/code-exchange/lookup
J’utilise mon vrai nom dans mon adresse e-mail, et mon numéro de téléphone est publié dans plusieurs annuaires
En Suède, la pratique standard est que l’adresse et le numéro de téléphone soient consultables publiquement sauf opposition explicite ; en gros, les informations qui figuraient dans l’annuaire des années 80 ont simplement été mises en ligne dans les années 90
Ce type de données personnelles publiques peut être utile, mais aussi faire l’objet d’abus
Cela dit, comme il existe énormément de PII publiques — SSN, adresse, numéro de téléphone, date de naissance — les gens n’ont justement pas besoin de traiter ces informations comme des secrets, et il devient nécessaire d’avoir de vraies pièces d’identité et des eID corrects pour qu’il ne soit pas trop facile d’usurper l’identité d’autrui juste en connaissant quelques chiffres
Si quelqu’un voulait mon numéro, il pourrait prendre mon e-mail contenant mon nom et prénom, trouver 100 personnes portant le même nom sur un site de recherche, puis réduire la liste à quelques candidats avec la ville et une tranche d’âge approximative
Les registres publics donnent aussi la date de naissance, les véhicules, les revenus et même les personnes enregistrées à la même adresse ; en Suède, collecter des informations à partir de sources publiques n’a donc rien de difficile
Il est surprenant que PayPal affiche cinq chiffres, indicatif régional compris, à quelqu’un qui ne connaît qu’une adresse e-mail, mais n’en affiche que trois si l’attaquant connaît déjà le mot de passe de la cible
Il est tout aussi étrange qu’ils considèrent cela comme « un fonctionnement normal » et ne fassent rien
Je me demande comment les escrocs obtiennent les numéros via LinkedIn, ou comment ils les relient à des numéros provenant d’autres sources ; dans une entreprise, les employés se font encore piéger par de faux SMS du CEO
Les tracas liés à l’utilisation d’adresses e-mail différentes et de numéros Google Voice distincts selon les services ont finalement valu le coup
+de Gmail pour fabriquer des adresses mélangéesPour les services externes, cela ressemble à
gary+FqZWMK@gmail.com, et dans ma boîte mail je transformeFqZWMKen nom de service, comme Netflix, pour créer automatiquement des dossiers bien organisésComme je contrôle entièrement le mapping, je peux aussi rediriger plusieurs adresses aléatoires vers une boîte de réception « jetable » qui passe automatiquement en spam au bout d’un certain temps
Pour utiliser une deuxième SIM, il faut un appareil dual SIM, encore relativement de niche aux États-Unis
De nombreux sites détectent et bloquent les numéros VoIP, et sur Android il n’existe toujours pas de bonne solution pour gérer correctement les SMS de l’opérateur depuis un ordinateur de bureau
L’interface web de Google Messages oublie trop souvent les appareils pour être utilisable sérieusement, et si un blocage des numéros VoIP est ajouté plus tard, cela peut créer un problème de poule et d’œuf où même l’authentification à deux facteurs par SMS est bloquée et où l’on ne peut plus récupérer le compte
Certains services, comme la pharmacie Harris Teeter, acceptent les numéros VoIP parce qu’ils ne vérifient pas que le numéro est réellement joignable, mais comme leur système ne peut ni appeler ni envoyer de SMS, on ne reçoit pas les alertes d’ordonnance
Cela a changé la manière dont mon téléphone et mon ordinateur portable interagissent, et c’est peut-être mon projet open source préféré
On peut utiliser l’ordinateur portable comme clavier, répondre aux messages de n’importe quelle application qui envoie des notifications, ou transférer des fichiers plus vite et mieux que par n’importe quel autre moyen
Il a la taille des anciens appareils 2FA de type carte à codes, et au départ c’était parce que ma femme prenait sans cesse mon vrai téléphone pour recevoir les codes de sécurité d’un compte partagé
En pratique, c’est aussi un peu mieux du point de vue de l’opsec que d’utiliser mon vrai numéro
D’après mon expérience, le seul site qui les bloquait était Discord
Personnellement, je préfère utiliser pour chaque compte une adresse dédiée moins évidente, comme
ebpnw@mydomain.com, afin qu’un attaquant doive aussi deviner l’e-mailLe dual SIM sur iPhone est disponible à partir des iPhone XS, iPhone XS Max et iPhone XR
Source : https://support.apple.com/en-us/HT209044
Cela fait déjà 6 générations d’iPhone dual SIM avec au moins une eSIM
Ce type de fuite d’informations non coordonnée révèle un problème plus profond
Beaucoup d’organisations partagent les quatre derniers chiffres du SSN, alors que les cinq premiers étaient souvent faciles à déduire à partir de la date de naissance et de l’État de naissance, et que les premiers chiffres indiquaient l’État où le numéro avait été délivré
Cela inclut quand même la plupart des adultes aujourd’hui, mais cela mérite d’être précisé
Cela n’empêche en rien la surveillance et la collecte de données par l’État et les grandes organisations, oblige sans cesse à s’imbriquer dans une sorte de système d’identification nationale provisoire de fait pour accomplir des démarches importantes, tout en n’offrant aucun des avantages d’un véritable système national d’identité
Cela engendre énormément de souffrance et de perte de temps sans aucune raison
Je me suis toujours demandé comment les chercheurs en sécurité justifient la publication d’outils automatisés de génération e-mail→numéro de téléphone comme celui de ce billet de blog
Ces outils ont probablement bien plus d’usages néfastes ou glauques que de bons usages
Je me demande si l’idée est que c’est acceptable parce que c’est de la « recherche » et que cela reste de toute façon une zone grise, ou s’ils ont parlé aux entreprises exposant la faille et considèrent cela acceptable maintenant que le problème a été neutralisé
Un bon exemple est Firesheep, qui permettait de récupérer immédiatement la session d’un utilisateur du même réseau connecté en HTTP sur un Wi-Fi public, simplement en lançant un plugin Firefox
À l’époque, Facebook utilisait HTTP par défaut, et le fait que ce plugin fasse l’actualité a mis une pression telle qu’ils ont rendu HTTPS obligatoire presque du jour au lendemain, suivis par beaucoup d’autres entreprises
Il n’est pas exagéré de dire que cette publication a considérablement accéléré l’adoption de HTTPS
Je ne sais pas si celle-ci aura un impact comparable, mais je pense qu’il vaut mieux que ces techniques ne soient pas connues uniquement des black hats
On peut se demander : « La publication de cette information produit-elle plus de bénéfices que de torts ? »
Les informations publiées par Martin Vigo en 2019 m’ont permis d’expliquer à des employeurs et à des clients actuels un modèle de menace supplémentaire à prendre en compte lorsqu’ils définissent leurs procédures de réinitialisation de mot de passe
Pour sa défense, le concept de preuve publié à l’origine était assez limité, nécessitait un compte Twilio, donc présentait une barrière à l’entrée, et laisserait aussi des indices aux analystes s’il était utilisé à des fins criminelles
C’est un peu un secret de Polichinelle qu’une part non négligeable des gens qui entrent dans la cybersécurité le font moins pour aider réellement les autres à être en sécurité que parce qu’ils aiment casser la sécurité de façon ingénieuse
Cela dit, la recherche en sécurité est légale, alors que le piratage de cibles aléatoires ne l’est pas
Il devient aussi plus difficile pour une entreprise de prétendre ne pas être au courant quand des poursuites judiciaires surviennent