32C3: Unsichere Kreditkarten-Terminals vorgeführt

PINs kopieren, Zahlungen umleiten oder gar das Konto des Händlers plündern - unzureichende Sicherheitsmechanismen in Bezahlterminals lassen Angreifern jeglichen Spielraum.

In Pocket speichern vorlesen Druckansicht 73 Kommentare lesen
32C3: Unsichere Kreditkarten-Terminals vorgeführt

(Bild: Heise)

Lesezeit: 5 Min.
Von
  • Torsten Kleinz
Inhaltsverzeichnis

Hatten Karsten Nohl und seine Mitarbeiter in den vergangenen Jahren mit Hacks von Mobilfunknetzen und Chipkarten Aufsehen erregt, so nahm sich seine Firma Security Research Labs in diesem Jahr den Zahlungsverkehr im Handel vor -- insbesondere die Terminals, über die Kartenzahlungen abgewickelt werden. "Eigentlich dachten wir, dass wir hier keine Schwachstellen finden", sagte Nohl auf dem CCC-Congress in Hamburg.

Doch was die Forscher fanden, bestätigte ihre schlimmsten Befürchtungen: Geheime Keys waren einfach zu knacken, wurden hunderttausendfach verteilt oder waren gar per Google zu finden. Obwohl die Hersteller und Betreiber der Bezahl-Terminals nach Nohls Angaben bereits seit Wochen informiert sind und Nohl bereits vor Tagen an die Presse gegangen war, konnten seine Mitarbeiter auf der Bühne des Hacker-Kongresses die Schwachstellen noch im Live-Betrieb zeigen.

Nohls Mitarbeiter nahmen sich zweier besonders in Deutschland verbreiteter Protokolle an: Über ZVT kommuniziert ein Bezahl-Terminal mit dem Kassensystem eines Händlers, über Poseidon nimmt das Terminal Kontakt mit dem Payment-Dienstleister auf. Beide Protokolle haben klaffende Sicherheitsücken, die es Angreifern im gleichen Netzwerk ermöglichen, die Kommunikation abzufangen, zu entschlüsseln und zu manipulieren.

Möglich ist dies zum Beispiel, wenn sich ein Angreifer in das interne WLAN eines Händlers oder eines Hotels einloggen kann und sich per ARP-Spoofing in die Kommunikation einschaltet. Hat der Angreifer diese Hürde überwunden, kann er dem Payment-Terminal bereits Anweisungen geben und so zum Beispiel die Informationen auf dem Magnetstreifen einer Kontokarte kopieren, die unverschlüsselt im Netz übertragen werden. Allein diese Informationen reichen in manchen Ländern bereits, um Zahlungen zu autorisieren - wenn auch nicht in Deutschland.

Wie man den hierzulande eingesetzten PIN-Schutz umgehen kann, demonstrierte Fabian Bräunlein. Hierzu setzte der Sicherheitsforscher eine andere Funktion des Protokolls ein, mit dem ein Payment-Terminal beliebige Texte anzeigen und so eine legitime PIN-Abfrage simulieren kann. Dazu benötigte Bräunlein einen Schlüssel, damit das Terminal den Freitext akzeptiert - den Message Authentication Code.

Dieser nur acht Byte lange symmetrische Schlüssel war jedoch höchst einfach zu knacken: Bräunlein musste nur verschiedene Schlüssel austesten und die Antwortzeit des Terminals messen. Stimmte das erste Byte des Schlüssels, benötigte die CPU einen Sekundenbruchteil länger für ihre Antwort. So konnte Bräunlein Byte für Byte den korrekten Schlüssel zusammensetzen. Ergebnis: Ein Angreifer kann eine PIN-Abfrage vortäuschen und bekommt die vom Kunden eingegebene Nummer sofort an seinen Rechner gesendet.

Immerhin bleibt der Datendiebstahl nicht völlig spurlos: Da die PIN nicht an den Payment-Provider gesendet wurde, muss der Angreifer entweder eine Fehlermeldung ausgeben oder eine Lastschriftenzahlung in Gang setzen, die keine PIN benötigt. Diese Zahlungsmethode wird auf der Zahlungsquittung als "ELV offline" vermerkt.

Eine wesentliche Lücke der Bezahlterminals: Viele der Geräte verwenden den gleichen Schlüssel, um Geräteeinstellungen vorzunehmen. Schlimmer noch, Bräunlein fand das notwendige Service-Management-Passwort eines Payment-Dienstleisters per Google in öffentlich abrufbaren Dokumenten. Hiermit gelang es ihm, ein Terminal neu zu konfigurieren und es einem anderen Händlerkonto zuzuschreiben - mit dem Ergebnis, dass alle Einnahmen eines Händlers einem anderen gut geschrieben werden.

Brisanter ist die Möglichkeit, ein Händler-Terminal zu klonen. So konnte Bräunlein ohne Probleme ein auf Ebay billig ersteigertes Terminal unter falscher Identität bei einem Payment-Provider anmelden. Die dazu notwendige Terminal-ID wird praktischerweise auf jede Quittung gedruckt. Die einzige Schwierigkeit war, den zuständigen Port beim Payment-Dienstleister herauszufinden. Einmal eingeloggt, konnte das falsche Terminal gültige Codes zum Aufladen von Prepaid-Verträgen ausdrucken oder einem beliebigen Konto vermeintliche Gutschriften zuschreiben - alles zu Lasten des Händlers, der das Original-Terminal betreibt. Der Bestohlene bemerkt das nicht notwendigerweise, sein Gerät arbeitet weiter wie gewohnt.

"Dies könnte ein ziemlich große Betrugsmasche werden", warnte Nohl. "Alles was wir dazu brauchten, waren drei einfach zu ermittelnde Nummern und ein Terminal, das wir auf Ebay ersteigert haben". Der Angriff sei zudem einfach zu automatisieren, da die Terminal-IDs fortlaufend vergeben werden und daher einfach zu erraten sind. Sogar über das Anonymisierungsnetzwerk Tor konnten die Forscher ohne Probleme per Poseidon Zahlungen in Gang setzen.

Selbst wenn das Passwort nicht im Internet veröffentlicht worden wäre, wären die Terminals keineswegs sicher. So demonstrierte Phillip Mayer, dass das eingesetzte Hardware Security Module trotz einiger physischer Sicherheitsmechanismen prinzipiell Angreifern zugänglich ist, die dann den Inhalt des Flashspeichers und gespeicherte Keys auslesen können. Nohl appellierte an die Zahlungsdienstleister und Banken, ihre Prozesse baldmöglichst anzupassen. So sei es unabdinglich, dass mittelfristig für die Terminals individuelle Keys vergeben werden. "Das System ist heute nur sicher, wenn alle Geräte in vertrauenswürdigen Händen sind", erklärte Nohl. Dass dies eine unsinnige Annahme ist, hat er mit seinem Ebay-Kauf bewiesen. (ur)