Wie Tinder (leicht) Ihren Standort verbirgt

In diesem Jahr haben Sie und Ihr Freund Steve Stevington ein Startup zur Benutzerverfolgung gestartet. Das Geschäft basiert auf dem von Ihnen entdeckten WhatsApp-Metadatenleck . Sie sollten beide noch Management lernen, aber das Unternehmen hat sich zu einem mächtigen, wenn auch instabilen Unternehmen mit 65 verschiedenen Praktikanten und Studenten, Freiberuflern und unbezahlten Bewährungshelfern entwickelt. Sie sind kürzlich in das elegante neue Büro in der Literaturabteilung der San Francisco Public Library aus dem 19. Jahrhundert umgezogen und haben einen beneidenswerten Ruf im Bereich Internet-Marketing.

Aber unter diesem glänzenden und zweifelhaften Aussehen verbirgt sich Fäulnis. Sie vermuten, dass Ihr guter Freund, Mitbegründer und Mitgeschäftsführer Steve Stevington gegen Sie vorgeht. Zu seltsamen Zeiten rennt er die ganze Zeit aus der Bibliothek und irgendwo verschwindet er stundenlang. Wenn Sie fragen, wohin er geht, baut er eine seltsame Grimasse auf, die er wahrscheinlich als böswilliges Grinsen betrachtet - und sagt Ihnen, Sie sollen sich keine Sorgen machen. Sie haben Bibliothekare angewiesen, ihm mehrmals zu folgen, aber sie sind alle schrecklich in der Feldarbeit.

Sie leben schon seit einiger Zeit im Silicon Valley - und Sie wissen, welche rücksichtslosen Gräueltaten passieren, wenn es um eine große Summe von Geld und Benutzerdaten geht. Steve Stevington versucht wahrscheinlich, Investoren davon zu überzeugen, Sie aus dem Geschäft zu bringen. Sie denken, dass Peter Thiel Sie unterstützen wird, aber es ist schwer, über Tante Martha zu sagen. Sie müssen also herausfinden, wohin Steve geht.

Glücklicherweise ist er ein begeisterter Tinder-Benutzer. Die Tinder-App verfolgt den Standort ihrer Benutzer, um potenziellen Paaren mitzuteilen, wie weit sie voneinander entfernt sind. Auf diese Weise können Benutzer kluge Entscheidungen treffen: Lohnt es sich wirklich, 13 Kilometer zu fahren, um ein Paar an 6 oder 6,5 Punkten zu treffen, wenn sie ein Bad nehmen, Eis im Kühlschrank haben und morgens arbeiten. Mit anderen Worten, Tinder weiß genau, wohin Steve geht. Und wenn Sie den richtigen Exploit wählen, werden auch Sie es bald herausfinden.

Um die Richtung Ihrer Suche zu bestimmen, haben Sie Berichte über frühere Leckagen von Standortdaten für Tinder-Benutzer untersucht. Es gab mehrere von ihnen. Im Jahr 2013 wurde festgestellt, dass Tinder-Server die genauen Koordinaten potenzieller Übereinstimmungen an eine mobile Anwendung senden . Basierend auf diesen berechnete die Anwendung die Entfernung zwischen Benutzern, zeigte jedoch nicht die Koordinaten in der Benutzeroberfläche an. Ein Angreifer kann jedoch leicht den eigenen Netzwerkverkehr von Tinder abfangen, Rohdaten überprüfen und den genauen Standort des Ziels bestimmen.


Antwort der Zunder-API, einschließlich des genauen Speicherorts

Tinder versuchte, die Sicherheitsanfälligkeit stillschweigend zu beheben, indem die Entfernungsberechnung auf die Server anstatt auf die Anwendung verlagert wurde. Danach enthielten Netzwerknachrichten, die vom Server an die Anwendung gesendet wurden, nur diese vorberechneten Entfernungen ohne tatsächliche Standorte. Tinder sendete jedoch beiläufig Entfernungen in Form von ungerundeten Zahlen mit 15 Dezimalstellen.


Zunder-API-Antwort, einschließlich genauer Entfernung

Diese Nachlässigkeit ermöglichte es gerissenen Forschern, mithilfe eines Exploits zur Trilateration erneut den genauen Standort von Zielen zu bestimmen . Die Forscher haben drei gefälschte Koordinaten mit unterschiedlichen Benutzerstandorten an Tinder gesendet. An jedem neuen Ort fragten sie Tinder, wie weit das Ziel sei. Dann wurden drei Kreise auf der Karte mit Zentren in falschen Koordinaten und Radien gezeichnet, die den erhaltenen Abständen entsprechen. Der Schnittpunkt - die Koordinaten des Ziels mit einer Genauigkeit von 30 Metern.


Beispiel für die Zunder-Trilateration

Das Sicherheitsteam von Tinder sah diese Leute an, die sie ständig zum Arbeiten bringen, seufzte und behebte leise die Sicherheitslücke. Jetzt sendet Tinder Entfernungen, die auf Kilometer gerundet sind, an die Anwendung. Sie können weiterhin das angegebene Trilaterationsverfahren verwenden, um die Koordinaten des Ziels innerhalb eines Kilometers oder so zu bestimmen. Aber in der dicht besiedelten Stadt San Francisco wird dies keine Antwort geben, wohin der hinterhältige Steve Stevington geht.

Am Freitagnachmittag tauchte auf Steve Stevington wieder eine stehlende Grimasse auf, die auf die Bereitschaft hinwies, an unbekannten Orten verschiedene Maßnahmen zu ergreifen. Sie müssen herausfinden, wohin er geht, bevor es zu spät ist. Sie haben sich in Ihrem Konto eingeschlossen - im Lesesaal der Bibliothek im 4. Stock. Nach fünfzehn Minuten tiefem Atmen und noch tieferem Nachdenken haben Sie einen Plan, wie Sie den Tinder-Trilaterations-Exploit wiederbeleben und herausfinden können, wohin der Stevenator steuert.

Angenommen, Tinder berechnet jetzt die genauen Entfernungen auf den Servern, rundet sie auf die nächste Ganzzahl und sendet die gerundeten Zahlen an Ihr Telefon. Sie können einen neuen Angriff auf die gleiche Weise wie bei der Trilateration starten. Wir senden gefälschte Zunder-Standorte und fragen, wie weit das Ziel entfernt ist. Zunder kann "8 Kilometer" antworten, was an sich wenig nützt. Aber dann können Sie ein Pixel nach Norden verschieben und bei jedem Schritt nach der Entfernung fragen. Der Server antwortet "8 Kilometer, 8 Kilometer, 8 Kilometer, 8 Kilometer, 7 Kilometer". Wenn Ihre Annahme über den Rundungsprozess richtig ist, entspricht der Punkt, an dem sich die Antwort ändert, der genauen Entfernung zum Ziel von 7,5 Kilometern. Wenn Sie diesen Vorgang dreimal wiederholen und drei Kreise zeichnen, verwenden wir erneut den Trilaterations-Exploit.

Wir gehen zu aktiven Aktionen über. Während Wilson auf die Toilette ging, leihen Sie sich sein Telefon zum Testen aus - Sie wissen, dass er Zunder verwendet und der Entsperrcode auf dem Fingerabdruck auf dem Bildschirm sichtbar ist. Sprechen Sie während einer Probezeit mit Ihren unbezahlten Praktikanten, damit sie Sie nicht anrufen oder Wilson etwas sagen - und beeilen Sie sich in die abgelegene und unbewohnte Ecke Ihres Büros in der Abteilung für Belletristik für das Highschool-Alter. Dort öffnen Sie Tinder auf beiden Handys. Wischen Sie weiter, bis Sie eine Übereinstimmung erhalten, und schreiben Sie dann ein kurzes Python-Skript mit pynder , um Tinder-API-Aufrufe zu fälschen . Platzieren Sie Wilson in der Mitte der Bucht von San Francisco und versuchen Sie dann, seine Koordinaten zu bestimmen. Ändern Sie die Position Pixel für Pixel, um den Punkt zu finden, an dem sich der Abstand zwischen Ihnen von einer gerundeten Zahl zur nächsten ändert.

Aber etwas stimmt nicht. Der Abend ist gekommen, das Abendessen ist vorbei und Sie haben Wilson noch nicht gefunden. Sie kommen sich irgendwie nahe, aber nicht genug. Die Kreise befinden sich manchmal schmerzhaft nahe an der Kreuzung, geben jedoch normalerweise keine aussagekräftige Antwort darauf, wo sich Wilson befindet. Du fängst an zu verzweifeln. In dieser Sekunde kann Steve Stevington einen neuen Vertrag mit Peter Thiel und Tante Marta unterschreiben. Möglicherweise hat er die LinkedIn-Seite Ihres Unternehmens bereits aktualisiert und Sie in "Berater", "Assistent" oder "Ehemaliger CEO" umbenannt. Die Bibliothek schließt - und Sie gehen in die Speisekammer. Wilson ruft weiterhin an, aber Bewährungspraktikanten geben Sie nicht auf. Sogar ein flüchtiger Gedanke überspringt, um ihnen einen Job zu geben.



Frustriert treten Sie einen Schritt zurück und schlagen Ihren Kopf auf das untere Regal. Wenn Sie aus einem Stapel Reinigungsprodukte herauskommen, erwägen Sie die Möglichkeit, dass Annahmen falsch sind. Vielleicht rundet Tinder nicht nur die genauen Entfernungen ab. Sie nehmen einen Snack aus dem Kühlschrank eines Bibliotheksmitarbeiters, um den Denkprozess zu unterstützen. Hören Sie auf, Kreise zu zeichnen, und gehen Sie entlang der Linien um Wilsons wahre Position, wobei Sie jede Änderung der Entfernung markieren.

In der zweiten Stunde der Nacht wird alles klar.


Platzieren von Markierungen auf einer Karte basierend auf Zunderentfernungen

Jetzt ist Tinder so eifrig für die Privatsphäre der Benutzer, dass es die langweiligen Clips herkömmlicher Geometrie bricht. Er verließ Euklid. Er braucht die Haversinus-Formel nicht . Stattdessen verwendet Tinder zwei Neuerungen bei der Berechnung des Abstands zwischen Übereinstimmungen.

Erstens und vor allem teilt es die Stadt in Quadrate von ungefähr 1 × 1 Meile. Bei der Berechnung der Entfernung wird der Zielort in der Mitte des aktuellen Gitterquadrats ausgerichtet. Anschließend wird die ungefähre Entfernung zwischen Ihnen und diesem angehängten Ort berechnet und zurückgegeben.


Tinder rastet Benutzerpositionen in einem Raster ein

Zweitens berechnet es Entfernungen wie durch seine eindeutige Formel. Dazu wird eine Karte mit groben, vordefinierten Entfernungen erstellt - und der Mitte des Quadrats des Ziels überlagert. Tinder sucht in dieser Überlagerung nach dem Standort des Angreifers und gibt die entsprechende Entfernung zurück. Bei der normalen Berechnung des euklidischen Abstands wäre dies eine Menge konzentrischer Kreise.



Aber Tinder scheint eine konzentrische Überlagerung mit seltsamen Kurven an den Ecken zu verwenden, wenn sie sich vom Ziel entfernt.



Dies bedeutet unter anderem, dass Tinder häufig leicht falsche Entfernungen zurückgibt. Sie vermuten, dass eine Eckenrundung erforderlich ist, um zu falsche Abstände nordöstlich voneinander zu korrigieren.

Das Einrasten von Maschen ist eine Schlüsselinnovation im Tinder-Ansatz. Dies bedeutet, dass Tinder immer die gleiche Entfernung zurückgibt, wenn sich das Ziel irgendwo innerhalb des angegebenen Gitterquadrats befindet. Ihr trilaterationaler Exploit wird nicht funktionieren. Und wenn Tinder die Netzbindung korrekt implementiert hat, wird kein rein entfernter Exploit jemals funktionieren. Es gibt keine Möglichkeit, den Ort eines Ziels genauer zu finden als die Ränder eines der Gitterquadrate (ungefähr) 1 × 1 Meile. Selbst eine solch grobe Überwachung kann Tinder-Benutzer zum Staunen bringen. Tatsächlich ist dies jedoch ein vernünftiges Verhalten für die Anwendung, dessen Hauptfunktion darin besteht, Fremden mitzuteilen, wo Sie sich befinden.

Sie wissen wirklich nicht, warum Tinder eine so seltsame Schicht von Quadraten mit abgerundeten Ecken verwendet. Solange Benutzerstandorte an ein Raster gebunden sind, kann Tinder die normale euklidische Entfernung verwenden, ohne die Privatsphäre zu gefährden. Vielleicht ist es nur so, dass eine neue Metrik schneller berechnet wird, und trotz der Vorschriften von Gordon Moore sind Computer immer noch begrenzt. All dies führt jedoch zu dem Schluss, dass Zunder sicher ist - in diesem sehr engen Aspekt - und Sie es vermasselt haben.

Die Bibliothek befindet sich in völliger Dunkelheit, ohne das grüne Leuchten von Xerox zu berücksichtigen. Sie sind traurig, aber fleißig Spuren zu fegen. Stellen Sie es in den Schrank und werfen Sie Wilsons Telefon in den industriellen Aktenvernichter der Bibliothek. Gehen Sie durch den Haupteingang raus, stehlen Sie ein schlecht befestigtes Fahrrad und fahren Sie traurig nach Hause.

Am nächsten Morgen gibt Ihnen Steve Stevington einen von mehreren Co-Direktoren, an denen er in seinem geheimen Keramikkurs am Nachmittag gearbeitet hat. Das ist völlig widerlich. Es wäre besser, wenn er Ihnen einen von zwei Zehn-Dollar-Scheinen geben und im Büro bleiben würde. Er hat wenig und schlecht gearbeitet, und man musste viele Treffen abhalten und viel lügen - normalerweise ist dies seine Aufgabe. Aber zumindest hat er Ihre Firma nicht gestohlen. Sie gießen Wilsons Kaffee in Ihre lächerliche Tasse und wünschen Ihrem guten Freund gute Gesundheit.

Wenn Sie nachts einschlafen, kommen Ihnen Gedanken darüber, was mit dem Zundergitter am Nordpol passiert ...

Ihr Code aus diesem Artikel wird auf Github veröffentlicht . Bitte informieren Sie sich, wenn Sie Fragen haben oder Fehler finden.

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


All Articles