Abo
  • Services:
Anzeige
Die Uber-App nutzt eine API, mit der sich trivial zehntausende Accounts anlegen lassen.
Die Uber-App nutzt eine API, mit der sich trivial zehntausende Accounts anlegen lassen. (Bild: Nicolas Maeterlinck/AFP/Getty Images)

20.000 Accounts erstellt: Hacker erschleichen sich Uber-Freifahrten

Die Uber-App nutzt eine API, mit der sich trivial zehntausende Accounts anlegen lassen.
Die Uber-App nutzt eine API, mit der sich trivial zehntausende Accounts anlegen lassen. (Bild: Nicolas Maeterlinck/AFP/Getty Images)

Mit einem einfachen Trick gelingt es, die Verifizierung der Telefonnummer bei neuen Accounts von Uber und ähnlichen Services zu umgehen - und sich etwa Freifahrten zu erschleichen. Beim Uber-Konkurrenten Lyft ist damit sogar die Übernahme bestehender Accounts möglich.

Mit einem einfachen Brute-Force-Angriff lassen sich über die API des Fahrdienstleisters Uber innerhalb kürzester Zeit unzählige Accounts anlegen. Graeme Neilson von der Firma Redshield und Vladimir Wolstencroft von der Firma Aura Information Security haben diese Möglichkeit auf der Troopers-Konferenz in Heidelberg präsentiert. Damit sind theoretisch Freifahrten möglich, es lässt sich aber auch die Preisbildung von Uber manipulieren. Ein noch gravierenderes Problem besteht beim Uber-Konkurrenten Lyft.

Anzeige

Die Uber-App kommuniziert mit den Servern über eine JSON-API. Der Datenverkehr zum Server wird mittels TLS verschlüsselt, die App nutzt dabei Key Pinning, um eine Verbindung mit anderen Servern zu verhindern. Somit ist eine triviale Analyse des Datentraffics nicht möglich. Doch dieses Pinning zu umgehen, war relativ einfach: Nach dem Entpacken der Android-APK für die Uber-App gelang es den Forschern, einen zusätzlichen Root-Key in den Keystore der App einzufügen. Anschließend ließ sich der Datenverkehr mittels eines TLS-Proxys beobachten, genutzt wurde dafür das Tool Burp Suite.

Viele Daten werden übertragen

Aus den Daten ging schnell hervor, dass die Nutzung von Uber aus Datenschutzgründen nicht ganz unproblematisch ist. Die App überträgt eine Menge an Daten über ihre Nutzer. Einige davon sind nachvollziehbar, etwa die aktuelle GPS-Positionierung. Aber auch Daten wie der aktuelle Batteriestatus oder die Nutzung von WLAN-Netzen werden an Uber übertragen. Der Konkurrent Lyft überträgt sogar, ob ein User die App vom Konkurrenten Uber auf demselben Smartphone installiert hat.

Die API ermöglicht auch Dritten, potenziell problematische Informationen auszulesen. Durch entsprechende API-Anfragen kann man etwa sämtliche Uber-Fahrer in einer ganzen Stadt lokalisieren.

Uber bietet Neukunden einen Promo-Code, der Fahrten zum Preis von 20 US-Dollar ermöglicht. Insofern könnte man sich, um den Dienst kostenlos zu nutzen, schlicht permanent neue Accounts anlegen. Die Uber-API ermöglicht das automatisiert. Doch dabei gibt es eine Hürde: Ein Account ist an eine Telefonnummer gebunden - und diese wird mittels eines vierstelligen Codes geprüft, der an diese Nummer als SMS geschickt wird.

Zunächst suchten Neilson und Wolstencroft nach einer Methode, möglichst günstig an eine Telefonnummer zu kommen. Sie stießen dabei auf den Service Twilio, bei dem man Telefonnummern in großer Zahl für einen US-Dollar pro Nummer nutzen und dort SMS empfangen kann. Die Ironie dabei: Uber selbst nutzt ebenfalls Twilio für seine Services. Damit gelang es, zum Preis von einem US-Dollar einen Account anzulegen, der anschließend einen Freifahrtschein im Wert von 20 US-Dollar bietet.

Vierstelliger Code lässt sich durch Raten umgehen

Doch Accounts lassen sich noch einfacher und gänzlich ohne Kosten anlegen. Da der per SMS verschickte Verifizierungscode lediglich vier Stellen lang ist, besteht bereits bei einmaliger Eingabe des Codes eine Chance von 1:10.000, dass man den richtigen Code errät, wenn man lediglich einen Zufallswert verwendet. Die API lässt zudem mehrere Versuche beim Eingeben des Codes zu, nach einigen Fehlversuchen wird ein neuer Code versendet. Ist man nun in der Lage, in hoher Geschwindigkeit neue Accounts anzulegen, kann man durch simples Raten der Codes Accounts anlegen, ungefähr jeder zehntausendste Versuch, einen Code einzugeben, wird klappen. Offenbar implementiert Uber keinerlei Ratelimiting. Neilson und Wolstencroft gelang es, 20.000 Uber-Accounts in kurzer Zeit erfolgreich anzulegen.

Neben der offensichtlichen Möglichkeit, sich durch derartige Accounts unbegrenzt Promo-Codes zu erschleichen, sind weitere Angriffsszenarien denkbar. So könnte man schlicht sämtliche Uber-Fahrer in einer Stadt beschäftigen, indem man sinnlose Fahrten bucht. Da Uber seine Preise automatisiert bildet und bei hoher Nachfrage die Preise ansteigen, ließen sich damit auch die Preise für Uber-Kunden manipulieren. Denkbar wäre etwa, dass Uber-Fahrer selbst derartige Techniken anwenden, um höhere Preise zu erzielen.

Die Brute-Force-Technik zum Anlegen von Accounts funktioniert auch beim Uber-Konkurrenten Lyft. Doch hier ist noch eine weitere, weit gravierendere Lücke zu finden: Errät man hier korrekt einen Verifizierungscode für eine Telefonnummer, für die bereits ein Account existiert, kann man diesen Account - samt Zahlungsinformationen - übernehmen.

Dass ein vierstelliger SMS-Code keine sonderlich sichere Authentifizierungsvariante ist, sei eigentlich bekannt, betonen Neilson und Wolstencroft. Sie hätten die Lücke daher auch nicht an die Firmen gemeldet - es handle sich um eine Designentscheidung. Die beiden Sicherheitsforscher gehen nicht davon aus, dass Uber und Lyft ihre Anmeldeprozedur ändern. Denn die Firmen hätten vor allem ein Interesse daran, möglichst viele Kunden zu bekommen - und würden daher die Anmeldeprozedur so einfach wie möglich gestalten.


eye home zur Startseite
User_x 18. Mär 2016

gar nicht. Schau dir mal die Baukästen an, die es so für Apps gibt. Gibt sowas für die...

hannob (golem.de) 18. Mär 2016

Also ganz genaugenommen war die Formulierung natürlich nicht korrekt. Es wird nicht exakt...

Salzbretzel 18. Mär 2016

Also, ich kann mir Pro Stunde 1000000 Mail Adressen Erstellen. Pro Account kann ich dies...



Anzeige

Stellenmarkt
  1. Robert Bosch GmbH, Stuttgart-Feuerbach
  2. operational services GmbH & Co. KG, Berlin, Dresden
  3. Regierungspräsidium Freiburg, Freiburg
  4. ViaMedia AG, Stuttgart


Anzeige
Top-Angebote
  1. (50% Rabatt!)
  2. 219,00€ (Bestpreis!)
  3. (u. a. Gear VR 66,00€, Gear S3 277,00€)

Folgen Sie uns
       


  1. Komplett-PC

    In Nvidias Battleboxen steckt AMDs Ryzen

  2. Internet

    Cloudflare macht IPv6 parallel zu IPv4 jetzt Pflicht

  3. Square Enix

    Neustart für das Final Fantasy 7 Remake

  4. Agesa 1006

    Ryzen unterstützt DDR4-4000

  5. Telekom Austria

    Nokia erreicht 850 MBit/s im LTE-Netz

  6. Star Trek Bridge Crew im Test

    Festgetackert im Holodeck

  7. Quantenalgorithmen

    "Morgen könnte ein Physiker die Quantenmechanik widerlegen"

  8. Astra

    ZDF bleibt bis zum Jahr 2020 per Satellit in SD verfügbar

  9. Kubic

    Opensuse startet Projekt für Container-Plattform

  10. Frühstart

    Kabelnetzbetreiber findet keine Modems für Docsis 3.1



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Sphero Lightning McQueen: Erst macht es Brummbrumm, dann verdreht es die Augen
Sphero Lightning McQueen
Erst macht es Brummbrumm, dann verdreht es die Augen

Quantencomputer: Nano-Kühlung für Qubits
Quantencomputer
Nano-Kühlung für Qubits
  1. IBM Q Mehr Qubits von IBM
  2. Quantencomputer Was sind diese Qubits?
  3. Verschlüsselung Kryptographie im Quantenzeitalter

XPS 13 (9365) im Test: Dells Convertible zeigt alte Stärken und neue Schwächen
XPS 13 (9365) im Test
Dells Convertible zeigt alte Stärken und neue Schwächen
  1. Prozessor Intel wird Thunderbolt 3 in CPUs integrieren
  2. Schnittstelle Intel pflegt endlich Linux-Treiber für Thunderbolt
  3. Asus B9440 im Test Leichtes Geschäftsnotebook liefert zu wenig Business

  1. Re: Chipsätze nie angeboten???

    haxti | 23:02

  2. Mobilfunk + Festnetz-Anschluss meiner Eltern

    __destruct() | 23:02

  3. Re: Immer noch zu wenige Dienste per IPv6 erreichbar

    Käx | 22:59

  4. Re: E-Auto laden utopisch

    Eheran | 22:52

  5. Besonders traurig:

    __destruct() | 22:49


  1. 18:08

  2. 17:37

  3. 16:55

  4. 16:46

  5. 16:06

  6. 16:00

  7. 14:21

  8. 13:56


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel