NFC mit Sicherheitsproblem beim einem Schweizer Busbetrieb

NFC (Near Field Communication) ist die viel gepriesene und vielversprechende Technologie der Zukunft. Bereits jetzt gibt es Anwendungen, welche mit NFC das Leben erleichtern. Das dabei aber auch für die Betreiber der Dienste ein gewisses Risiko besteht, zeigt ein Android Schweiz Feldtest bei einem Busbetrieb. Dabei liegt das Risiko weniger an der Technologie selber, als an der Implementation der Services wie unser Beispiel zeigt.

Getestet wurde die NFC Technik bei einem Schweizer Busbetrieb. Dort kann man gegen ein Depot von ein paar Franken eine NFC Karte kaufen, welche man anschliessend mit Fahrten aufladen kann. Mit dieser Karte in der Hosentasche passiert man die Bustüre, und eine Fahrt wird von der gekauften Menge abgezogen. Je nach System muss man die Karte auch an einen speziellen Leser halten.  So weit so schön – die Welt der neuen Technik.

Wie simple der Betrug am ÖV aber ist, zeigt folgendes Beispiel aus der Praxis.

Die gegen Depot erhältliche NFC Karte ist nichts anderes, als eine virtuelle Mehrfahrtenkarte. Jedesmal wenn die Karte die Bustüre passiert, wird – analog zum altmodischen Modell – ein Slot im NFC Speicher als “benutzt” markiert. Dies entspricht dem Stempel auf der altmodischen Kartonkarte. Sind alle Slots als “benutzt” markiert worden, ist die Karte leer und man muss sie neu aufladen.

Diese Eigenschaft kann man sich zu Nutzen machen. Liest man die Karte beim Kauf mit einem NFC tauglichen Android Handy aus, öffnet man dem Betrug Tür und Tor. Mit Hilfe eines Nexus S und einer speziell für diesen Zweck programmierten App, ist Android Schweiz der Versuch gelungen. Wir haben die frisch geladene Karte ausgelesen, das NFC Profil auf dem Nexus S gespeichert und die Karte anschliessend normal benutzt. Nach dem die letzte Fahrt abgebucht wurde, haben wir die Karte einfach wieder mit dem auf unserem Nexus S gespeicherten NFC Profil überschrieben. Et voilà, die Karte war wieder im gleichen Zustand wie als wir sie gekauft haben; wir fuhren somit wieder mit einer “gültigen” Fahrkarte mit. Nicht gültig im Sinne des Tarifreglements, sondern im Sinne der Technik. Um die Screenshots der NFC Fahrkarte zu fertigen, haben wir übrigens eine frei im Market verfügbare App verwendet.

Nicht NFC ist das Problem, sondern der Prozess dahinter

Dabei ist nicht NFC das eigentliche Problem, sondern der Prozess des Busbetriebes. Diese Sicherheitslücke könnte relativ einfach geschlossen werden, indem die einzelnen Slots mit einem einmaligen Hash (eindeutiger, einmaliger Schlüssel) belegt würden. Dieser Hash würde beim Passieren der Türe mit einer zentralen Datenbank abgeglichen und auf seine Gültigkeit geprüft. Versucht jemand den gleichen Hash zweimal zu verwenden, wird die Fahrt nicht freigegeben. Da dies aber offensichtlich nicht dementsprechend implementiert wurde, “glaubt” der Kartenleser im Bus jeder Karte, die noch mindestens eine verfügbare Fahrt gespeichert hat.

Eine rege Diskussion und weiterführende Informationen rund um das Thema NFC findest du auch in unserem Forum.

Die freien Slots der Fahrkarte werden so dargestellt:

  • Pingback: Anonymous

  • Patroid

    Und wie hat der Busbetrieb auf diese Tatsache, bzw. Sicherheitslücke reagiert?

  • http://alike.ch Sam

    "Relativ einfach" zu beheben – wenn das Lesegerät im Bus schon eine Verbindung zum Internet herstellt. Wenn das nicht schon passiert (?) könnte es schon grössere Umstellungen nötig machen. Vielleicht würde es aber auch reichen, abends alles abzugleichen.

    Oder man lässt es einfach so wie es ist und geht davon aus, dass nur wenige diese Tricks anwenden.