Comment Tinder cache (légèrement) votre position

Cette année, vous et votre ami Steve Stevington avez lancé une startup de suivi des utilisateurs. L'entreprise est basée sur la fuite de métadonnées WhatsApp que vous avez découverte . Vous devriez tous les deux apprendre la gestion, mais l'entreprise est toujours devenue une entreprise puissante, quoique instable, de 65 stagiaires et étudiants divers, indépendants et travailleurs non rémunérés en stage. Vous avez récemment déménagé dans le nouveau bureau astucieux du département de littérature du XIXe siècle de la bibliothèque publique de San Francisco, et vous avez une réputation enviable dans le domaine du marketing Internet.

Mais sous cette apparence brillante et douteuse se cache la pourriture. Vous pensez que votre bon ami, co-fondateur et co-directeur exécutif, Steve Stevington, complote contre vous. Il sort tout le temps de la bibliothèque à des moments étranges et quelque part disparaît pendant des heures. Lorsque vous demandez où il va, il construit une étrange grimace, qu'il considère probablement comme un sourire malveillant - et vous dit de ne pas vous inquiéter. Vous avez demandé aux bibliothécaires de le suivre plusieurs fois, mais ils sont tous terribles dans le travail sur le terrain.

Vous vivez dans la Silicon Valley depuis un certain temps - et vous savez quelles atrocités impitoyables se produisent lorsqu'une grosse somme d'argent et des données utilisateur sont en jeu. Steve Stevington essaie probablement de convaincre les investisseurs de vous retirer des affaires. Vous pensez que Peter Thiel vous soutiendra, mais c'est difficile à dire à propos de tante Martha. Vous devez donc savoir où va Steve.

Heureusement, il est un fervent utilisateur de Tinder. L'application Tinder suit l'emplacement de ses utilisateurs pour permettre aux couples potentiels de savoir à quelle distance ils se trouvent. Cela permet aux utilisateurs de prendre des décisions intelligentes: cela vaut-il vraiment la peine de parcourir 13 kilomètres pour rencontrer un couple à 6 ou 6,5 points lorsqu'ils prennent un bain, des glaces au réfrigérateur et travaillent le matin. En d'autres termes, Tinder sait exactement où Steve se dirige. Et si vous choisissez le bon exploit, vous aussi le découvrirez bientôt.

Pour déterminer le sens de vos recherches, vous avez examiné les rapports de fuites passées de données de localisation pour les utilisateurs de Tinder. Il y en avait plusieurs. En 2013, il a été découvert que les serveurs Tinder envoient les coordonnées exactes des correspondances potentielles à une application mobile . Sur cette base, l'application a calculé la distance entre les utilisateurs, mais n'a pas affiché les coordonnées dans l'interface. Cependant, un attaquant pourrait facilement intercepter le trafic réseau de Tinder, vérifier les données brutes et déterminer l'emplacement exact de la cible.


Réponse de l'API Tinder, y compris l'emplacement exact

Tinder a tenté de corriger discrètement la vulnérabilité en déplaçant le calcul de la distance vers les serveurs au lieu de l'application. Après cela, les messages réseau envoyés du serveur à l'application ne contenaient que ces distances précalculées sans emplacements réels. Cependant, Tinder a envoyé des distances avec désinvolture sous la forme de nombres non arrondis avec 15 décimales.


Réponse de l'API Tinder, y compris une distance précise

Cette négligence a permis à des chercheurs rusés de déterminer à nouveau l'emplacement exact des cibles en utilisant un exploit pour la trilatération. Les chercheurs ont envoyé trois fausses coordonnées à Tinder avec différents emplacements d'utilisateurs. À chaque nouvel emplacement, ils ont demandé à Tinder dans quelle mesure la cible était. Ensuite, trois cercles ont été dessinés sur la carte avec des centres en fausses coordonnées et des rayons égaux aux distances obtenues. Le point d'intersection - les coordonnées de la cible avec une précision de 30 mètres.


Exemple de trilatération de Tinder

L'équipe de sécurité de Tinder a regardé ces personnes qui les font constamment travailler, a soupiré et a tranquillement corrigé la vulnérabilité. Maintenant, Tinder envoie des distances arrondies à des kilomètres à l'application. Vous pouvez toujours utiliser la procédure de trilatération indiquée pour déterminer les coordonnées de la cible dans un kilomètre environ. Mais dans la ville densément peuplée de San Francisco, cela ne donnera pas de réponse, où va le sournois Steve Stevington.

Vendredi après-midi, une grimace de vol a réapparu sur le visage de Steve Stevington, indiquant une volonté de prendre diverses mesures dans des endroits inconnus. Vous devez savoir où il se dirige avant qu'il ne soit trop tard. Vous vous êtes enfermé dans votre compte - dans la salle de lecture de la bibliothèque au 4ème étage. Après quinze minutes de respiration profonde et de réflexion encore plus profonde, vous avez un plan pour réanimer l'exploit de trilatération de Tinder et savoir où le Stevenator se dirige.

Supposons que Tinder calcule maintenant les distances exactes sur les serveurs, les arrondit à l'entier le plus proche, puis envoie les nombres arrondis à votre téléphone. Vous pouvez lancer une nouvelle attaque de la même manière qu'avec la trilatération. Nous envoyons de faux emplacements Tinder et demandons dans quelle mesure la cible est. Tinder peut répondre à «8 kilomètres», ce qui en soi est peu utile. Mais alors vous pouvez déplacer un pixel vers le nord, en demandant la distance à chaque pas. Le serveur répondra «8 kilomètres, 8 kilomètres, 8 kilomètres, 8 kilomètres, 7 kilomètres». Si votre hypothèse sur le processus d'arrondi est correcte, le point auquel la réponse change correspond à la distance exacte jusqu'à la cible de 7,5 kilomètres. Si vous répétez cette procédure trois fois et dessinez trois cercles, nous utiliserons à nouveau l'exploit de trilatération.

Nous passons à des actions actives. Pendant que Wilson est allé aux toilettes, empruntez son téléphone pour les tests - vous savez qu'il utilise Tinder, et le code de déverrouillage est visible sur l'empreinte digitale sur l'écran. Parlez à vos stagiaires non rémunérés pendant une période d'essai afin qu'ils ne vous appellent pas ou ne disent rien à Wilson - et dépêchez-vous dans le coin isolé et inhabité de votre bureau du département de fiction pour les enfants du secondaire. Là, vous ouvrez Tinder sur les deux téléphones. Continuez à glisser jusqu'à ce que vous obteniez une correspondance, puis écrivez un court script Python à l'aide de pynder pour usurper les appels de l'API Tinder. Placez Wilson au milieu de la baie de San Francisco, puis essayez de déterminer ses coordonnées, en changeant son emplacement pixel par pixel pour trouver le point lorsque la distance entre vous passe d'un nombre arrondi à un autre.

Mais quelque chose ne va pas. Le soir est venu, le dîner est passé et vous n'avez pas encore trouvé Wilson. Vous vous rapprochez, mais pas assez. Les cercles sont parfois douloureusement proches de l'intersection, mais ne donnent généralement pas de réponse significative à l'endroit où se trouve Wilson. Vous commencez à désespérer. Dès cette seconde, Steve Stevington peut signer un nouveau contrat avec Peter Thiel et tante Marta. Il a peut-être déjà mis à jour la page LinkedIn de votre entreprise, vous a renommé «conseiller», «assistant» ou «ancien PDG». La bibliothèque ferme - et vous passez au garde-manger. Wilson continue d'appeler, mais les stagiaires en probation ne vous abandonnent pas. Même une pensée éphémère saute pour leur donner un emploi.



Frustré, vous reculez et vous frappez la tête sur l'étagère inférieure. Lorsque vous sortez d'une pile de produits de nettoyage, vous envisagez la possibilité que les hypothèses soient fausses. Peut-être que Tinder n'arrondit pas seulement les distances exactes. Vous prenez une collation dans le réfrigérateur d'un employé de la bibliothèque pour aider le processus de réflexion. Arrêtez de dessiner des cercles et commencez à marcher le long des lignes autour de la véritable position de Wilson, en marquant chaque changement de distance.

À la deuxième heure de la nuit, tout devient clair.


Placer des marques sur une carte en fonction des distances de Tinder

Maintenant, Tinder est si zélé pour la confidentialité des utilisateurs qu'il brise les clips ennuyeux de la géométrie conventionnelle. Il a abandonné Euclide. Il n'a pas besoin de la formule haversinus . Au lieu de cela, Tinder utilise deux innovations pour calculer la distance entre les matchs.

Tout d'abord, et surtout, il divise la ville en carrés d'environ 1 × 1 mile. Lors du calcul de la distance, l'emplacement cible est accroché au centre du carré de grille actuel. Il calcule ensuite et renvoie la distance approximative entre vous et cet emplacement attaché .


Tinder accroche les emplacements des utilisateurs dans une grille

Deuxièmement, il calcule les distances comme par sa formule unique. Pour ce faire, une carte de distances approximatives et prédéfinies est prise - et superposée au centre du carré de la cible. Tinder recherche l'emplacement de l'attaquant dans cette superposition et renvoie la distance correspondante. Dans le calcul normal de la distance euclidienne, ce serait un ensemble de cercles concentriques.



Mais Tinder semble utiliser une superposition concentrique avec des courbes étranges dans les coins alors qu'il s'éloigne de la cible.



Entre autres choses, cela signifie que Tinder renvoie souvent des distances légèrement incorrectes. Vous pensez que l'arrondi des coins est nécessaire pour corriger les distances trop incorrectes situées au nord-est les unes des autres.

L'accrochage au maillage est une innovation clé dans l'approche Tinder. Cela signifie que Tinder retournera toujours la même distance si la cible se trouve n'importe où dans le carré de la grille donné. Votre exploit trilatéral ne fonctionnera pas. Et si Tinder a correctement implémenté la liaison de maillage, aucun exploit purement distant ne fonctionnera jamais. Il n'y a aucun moyen de trouver l'emplacement d'une cible avec une plus grande précision que les bordures de l'un des carrés de la grille (environ) 1 × 1 mile. Même une surveillance aussi grossière peut faire réfléchir les utilisateurs de Tinder. Mais en fait, c'est un comportement tout à fait raisonnable pour l'application, dont la fonction principale est de dire aux étrangers où vous en êtes.

Vous ne savez vraiment pas pourquoi Tinder utilise une couche de carrés aussi étrange avec des coins arrondis. Tant que les emplacements des utilisateurs sont liés à une grille, Tinder pourrait utiliser la distance euclidienne normale sans risquer la confidentialité. C'est peut-être simplement qu'une nouvelle métrique est calculée plus rapidement, et malgré les préceptes de Gordon Moore, les ordinateurs sont toujours limités. Cependant, tout cela mène à la conclusion que Tinder est sûr - dans cet aspect très étroit - et vous avez foiré.

La bibliothèque est dans l'obscurité totale, sans compter la lueur verte de Xerox. Vous êtes triste, mais balayez les pistes avec diligence. Mettez-le dans le placard et jetez le téléphone de Wilson dans le déchiqueteur industriel de la bibliothèque. Sortez par l'entrée principale, volez un vélo mal attaché et rentrez tristement à la maison.

Le lendemain matin, Steve Stevington vous présente l'un des deux co-directeurs sur lesquels il a travaillé dans son cours de céramique secret de l'après-midi. C'est complètement dégoûtant. Ce serait mieux s'il vous donnait une paire de billets de dix dollars et restait au bureau. Il travaillait peu et mal, et vous deviez tenir de nombreuses réunions et mentir beaucoup - généralement c'est son travail. Mais au moins, il n'a pas volé votre entreprise. Vous versez le café de Wilson dans votre tasse ridicule et souhaitez une bonne santé à votre bon ami.

Lorsque vous vous endormez la nuit, des pensées surgissent dans votre tête sur ce qui se passe avec la grille Tinder au pôle Nord ...

Votre code de cet article est publié sur Github . Veuillez vous informer si vous avez des questions ou si vous trouvez des erreurs.

Source: https://habr.com/ru/post/fr417877/


All Articles