LocationSmart vendait aux entreprises des positions téléphoniques en temps réel fournies par les opérateurs, en partenariat avec Verizon, AT&T, T-Mobile, Sprint et les opérateurs canadiens Bell, Rogers et Telus. Sa page d'essai publique permettait à quiconque de saisir un numéro de téléphone et, une fois que le propriétaire du téléphone avait répondu à un message d'opt-in par SMS ou par rappel, de voir ce téléphone en direct sur une carte. L'étape de consentement était tout l'intérêt de la démo.

Le 16 mai 2018, le chercheur Robert Xiao a découvert que l'étape de consentement pouvait être contournée. L'API de démonstration répondait à la même opération dans deux formats, XML et JSON ; demander la position avec requesttype=locreq.json au lieu du XML par défaut supprimait entièrement la vérification de l'abonnement. Deux requêtes POST non authentifiées — l'une pour obtenir un jeton, l'autre pour demander la position — renvoyaient l'adresse postale de la cible et un cercle sur une carte pour n'importe quel numéro sans fil américain, y compris des téléphones qui n'avaient jamais donné leur consentement.

Comme la localisation reposait sur une triangulation côté opérateur, elle fonctionnait sur tous les téléphones quel que soit le système d'exploitation ou les paramètres de confidentialité, et il n'existait aucun moyen de refuser. Xiao n'a ni gardé la découverte pour lui ni tout divulgué : il l'a signalée à l'US-CERT et a travaillé avec Brian Krebs, qui a publié l'article après que LocationSmart a corrigé la faille le matin du 17 mai ; Xiao n'a publié son compte rendu technique qu'après avoir vérifié le correctif.

La divulgation est survenue alors que le secteur était déjà sous examen pour la vente de données de localisation : le compte rendu cite des articles selon lesquels les opérateurs fournissaient des données à Securus, qui les avait divulguées indûment à un ancien responsable des forces de l'ordre. La page de Xiao a recueilli 1 209 points et 270 commentaires sur Hacker News le jour où le correctif a été appliqué et a été reprise sur des dizaines de sites.

Un format de réponse alternatif contournait la vérification du consentement

Le type de requête JSON contournait le chemin de code qui appliquait le consentement, si bien qu'un simple changement de format d'un mot produisait des données de localisation complètes sans opt-in.

Une courte preuve de concept qui affichait une adresse postale rendait la faille concrète et crédible, ce qui a permis sa correction en environ une journée.

Une divulgation coordonnée via l'US-CERT et un journaliste de confiance a fait que l'affaire a éclaté alors que le correctif était déjà en place, et non comme une alerte à la faille zero-day.

La localisation côté opérateur touchait tous les abonnés de quatre grands opérateurs américains sans possibilité de refus, si bien que le bug de la démo constituait une exposition nationale à la vie privée, et non un cas isolé.

Traiter chaque format de réponse comme une surface d'attaque : une vérification du consentement présente dans un gestionnaire peut être absente dans un autre. Prouver la gravité par une démo fonctionnelle, divulguer via le CERT et ne publier qu'après le correctif.

LocationSmart a corrigé la vulnérabilité le matin du 17 mai 2018, et Brian Krebs a publié l'article le même jour ; Xiao a ensuite publié son compte rendu technique et sa preuve de concept. La page a recueilli 1 209 points et 270 commentaires sur Hacker News et a été reprise par des dizaines de médias. L'épisode a maintenu les projecteurs sur la pratique des opérateurs consistant à vendre des données de localisation en temps réel, qui avait déjà placé LocationSmart et Securus dans l'actualité quelques jours plus tôt.

VÉRIFIEZ LES SOURCES

Les sources

  1. Tracking Firm LocationSmart Leaked Location Data for Customers of All Major U.S. Mobile Carriers in Real Time via Its Web Site KrebsOnSecurity · krebsonsecurity.com ·
  2. US cell carriers selling access to real-time location data ZDNet · zdnet.com
  3. Senator furious at police's easy ability to get real-time mobile location data Ars Technica · arstechnica.com
  4. LocationSmart Leaked Location Data for All Major U.S. Carriers in Real Time — Hacker News discussion Hacker News · news.ycombinator.com ·