32C3: Hacker übernehmen EC-Terminals

Posted on Posted in 32C3 - CCC Event 2015, Hacker News, SecConf
Die Sicherheitsforscher von Security Research Labs aus Berlin haben zahlreiche Fehler in verschiedenen Protokollen zum bargeldlosenBezahlen gefunden. So können sie sich selbst Gutschriften für nie getätigte Transaktionen ausstellen.

sp_118161-111286-i_rc_Term2Hacker der Berliner Sicherheitsfirma Security Research Labs haben erneut Angriffe auf das Electronic-Cash-System vorgestellt, die sich mittels handelsüblicher Bezahlterminals durchführen lassen. Die Sicherheitsforscher Fabian Bräunlein, Philipp Maier und Karsten Nohl fanden nach eigenen Angaben zahlreiche Lücken im System, in den für die Datenübertragung genutzten Protokollen ZVT und ISO 8583 Poseidon. Die Hacker wollen auf dem Hackerkongress 32C3 Ende Dezember zwei verschiedene Angriffe zeigen.

Die Hacker wollten die Sicherheit moderner Bezahlterminals testen. “Um die Angriffe zu simulieren, haben wir drei Rollen eingenommen”, sagt Sicherheitsforscher Karsten Nohl im Gespräch mit Golem.de: “Anbieter, Kunde und Hacker”. Sie hätten mehrere Terminals auf Ebay gekauft und einen Händler-Account für ihr Unternehmen erstellt.

Mit Hilfe des ZVT-Protokolls können Zahlungsgeräte für EC-Karten, wie sie in jedem Supermarkt stehen, konfiguriert werden. Ursprünglich war das in den 90er Jahren entwickelte Protokoll auf serielle Schnittstellen zugeschnitten – jetzt läuft es über TCP. Verschlüsselt werden die übertragenen Daten nicht. ZVT wird nach Angaben von Security Research Labs in mehr als 80 Prozent der Bezahlterminals in Deutschland eingesetzt.

Mit Hilfe von ARP-Request-Poisoning setzen die Angreifer sich als Man-in-the-Middle zwischen die Kasse und das Bezahlterminal. So können sie die Magnetstreifen eingelesener Karten mitschneiden. Es ist dabei aufgrund der fehlenden Verschlüsselung nicht notwendig, aufwendige Sicherungsmaßnahmen zu umgehen. Nur für den Zugriff auf die PIN bräuchten die Angreifer Zugang zu dem eigentlich geschützten Message Authentication Code (MAC) – doch auch das ist möglich, wie die Hacker zeigen.

Das Hardware Security Module verrät den MAC

Ein Hardware-Sicherheitsmodul (HSM) sollte diesen Code eigentlich vor dem Zugriff von außen schützen. Nohl und sein Team manipulierten die CPU des Terminals so, dass sie immer wieder verschiedene MACs ausprobierte. Unterschiedlich lange Antwortzeiten auf falsch eingegebene MACs verraten den Code. “Je länger die Antwortzeit, desto mehr richtige Ziffern hatten wir schon gefunden”, erklärt Nohl. Mit Hilfe der MAC können Angreifer dann auch die PIN entschlüsseln.

Für einen erfolgreichen Angriff auf ZVT müssen Angreifer sich im selben Netzwerk befinden. Was im Supermarkt wohl nicht so einfach möglich ist, dürfte in vielen Hotels kein Problem darstellen. Immer wieder tauchen Bezahlgeräte in schlecht konfigurierten Netzwerken im Gäste-WLAN auf, außerdem können die Angreifer sich in aller Ruhe im Zimmer aufhalten. Wer mit einem LAN-Kabel zwischen den Tütensuppen im Supermarkt sitzt, dürfte jedenfalls eher auffallen.

Terminals können übernommen werden

Die mangelhaften Sicherheitsmechanismen von ZVT ermöglichen ausweislich einer Präsentation des Hacks, die uns vorliegt, auch die komplette Übernahme von Terminals. Angreifer könnten das Terminal so umprogrammieren, dass die Einnahmen an sie und nicht den eigentlichen Betreiber gesendet werden. Dazu ist es notwendig, das Passwort des Terminals zu kennen. Das ist jedoch kein allzu großes Problem: Viele Terminals benutzen ein einheitliches, statisches Passwort – das vor einigen Jahren zusammen mit einem Handbuch der Geräte veröffentlicht wurde.

Der Angriff von Nohl und seinen Kollegen geht jedoch über den lokalen Zugriff auf die Geräte hinaus: Das Poseidon-Protokoll sorgt für die Anbindung an den Zahlungsdienstleister über das Netz. Auch hier gibt es große Sicherheitsprobleme. “Die beiden Angriffe sind voneinander unabhängig” sagt Nohl, aber sie könnten natürlich kombiniert werden. Poseidon nutzt vorab getauschte Schlüssel, ähnlich wie viele VPNs. Viele Terminals benutzen jedoch genau den gleichen vorab getauschten Schlüssel – wer also Zugriff auf ein Gerät hat, kann viele andere ebenfalls manipulieren. Poseidon ist nach Angaben der Hacker der De-Facto-Standard in Deutschland, wird aber auch in Frankreich, Luxemburg und Island genutzt. Für den Hack werden drei Informationen benötigt: das bekannte Passwort, die ID des anzugreifenden Terminals und der TCP-Port.

Das Passwort gibt es bei Google

Das Passwort lässt sich ergoogeln. Auch die Geräte-ID ist leicht herauszubekommen: Auf jedem Kassenzettel steht, wenn mit Karte bezahlt wurde, die Geräte-ID des jeweiligen Terminals. Angreifer könnten sich diese ID zunutze machen, um ein Terminal im eigenen Besitz als legitimes Gerät auszugeben. Den TCP-Port schließlich ermitteln die Forscher durch eine nicht näher beschriebene Brute-Force-Attacke.

Sind die Voraussetzungen gegeben, kann der Angreifer sich selbst im Namen des Terminals Gutschriften ausstellen. Denn die Geräte prüfen nicht, ob für eine Gutschrift zuvor wirklich eine Einzahlung beziehungsweise eine Transaktion vorgelegen hat. Die Gutschriften können auf vom Angreifer angegebene Bankkonten erfolgen. Alternativ ist es auch möglich, Prepaid-Guthaben für Mobiltelefone zu generieren.

Die Deutsche Kreditwirtschaft (DK) sieht keine großen Gefahren durch den Hack. Zeit Online sagten sie: Beim 32C3 sollen “Angriffsszenarien auf Kartenzahlungsterminals vorgestellt werden, die unter Laborbedingungen, das heißt theoretisch, möglich sind. Die DK hat diese Angriffe geprüft.” Schäden für Karteninhaber seien jedoch ausgeschlossen. Tatsächlich sind in den vorgestellten Angriffsszenarien vor allem die Händler die Geschädigten.

Noch haben die Banken Zeit, die Probleme zu lösen

Nohl kommentiert die Antwort wie folgt: “Die Banken sollten froh sein, dass es bislang keine Angriffe gibt. Noch haben sie vermutlich einige Wochen oder Monate lang Zeit, um die Probleme zu beheben.” Als kurzfristige Lösung schlagen die Sicherheitsforscher vor, die Möglichkeit zum Ausstellen von Gutschriften nur dann zu aktivieren, wenn sie wirklich gebraucht wird – sie ist voreingestellt immer aktiv.

Auch die Funktion zum Ausstellen von Prepaid-Guthaben kann deaktiviert werden. Die anderen notwendigen Änderungen würden wohl etwas mehr Zeit benötigen. Nohl freut sich auf internationale Hacker, die verschiedene Implementationen des Iso-Standards 8583, auf dem Poseidon basiert, testen. “Bis zum Beginn des 32C3 kann da noch viel passieren”, sagt er.

Quelle: Golem.de

Facebooktwittergoogle_plus