Eine Schwachstelle in der NFC-Software von Bezahlterminals und Bankautomaten erlaubt es unter anderem, den Betrag beliebig zu manipulieren. So könnte man schnell sein Geld los sein.
Zahlreiche Bankautomaten und Bezahlterminals unterstützen seit Jahren das kontaktlose Anmelden beziehungsweise Bezahlen. Insbesondere in Corona-Zeiten kommen diese kontaktlosen Möglichkeiten vermehrt zum Einsatz. Dabei setzen die Anwendungen auf die Technologie Near Field Communication (NFC) für den Datenaustausch.
NFC ist ein internationaler, auf der RFID-Technik (Radio-Frequency Identification) basierender Übertragungsstandard zum kontaktlosen Austausch von Daten per elektromagnetischer Induktion mittels lose gekoppelter Spulen über kurze Strecken mit einer Datenübertragungsrate von maximal 424 kbit/s. Unter elektromagnetischer Induktion (Faradaysche Induktion) versteht man das Entstehen eines elektrischen Felds bei einer Änderung des magnetischen Flusses. Die Reichweite ist bei NFC typischerweise auf wenige Zentimeter begrenzt – meist weniger als 10 Zentimeter –, weshalb man entsprechende Karten oft direkt auf das Lesegerät aufgelegt. Die Übertragungsfrequenz liegt bei 13,56 MHz.
NFC-Kommunikation findet immer nur zwischen genau zwei Teilnehmern statt (Peer-to-Peer). Dabei muss mindestens ein Teilnehmer ein aktives Gerät sein, zum Beispiel der Bankautomat oder das Bezahlterminal an der Kasse oder aber der NFC-Chip in einem Smartphone. Das aktive Gerät erzeugt ein hochfrequentes Magnetfeld. Die Bankkarte stellt das passive Gerät dar. Dieses Gerät benötigt keine eigene Energiequelle, sondern nur einen Schwingkreis, der in etwa auf die Übertragungsfrequenz abgestimmt ist. Das Magnetfeld des aktiven Geräts induziert dann hier eine Spannung.
Der Sicherheitsforscher Josep Rodriguez, der aktuell für die Firma IOActive arbeitet, hat nun eine Schwachstelle in der NFC-Implementation zahlreicher Bankautomaten und Bezahlterminals entdeckt. Konkret fand der Forscher eine Sicherheitslücke in den NFC-Routinen der Herstelle ID Tech, Ingenico, Verifone, Crane Payment Innovations, BBPOS und Nexgo. Rodriguez hat dafür eine Android-App als Proof-of-Concept entwickelt. Sie sendet spezielle NFC-Daten an den Bankautomaten oder das Bezahlterminal, um die Schwachstelle auszunutzen.
Das Senden der speziellen NFC-Daten hat zur Folge, dass sich beispielsweise der zu zahlende Betrag einer Transaktion ändert. So war es mit der Android-App möglich, zu zahlende Beträge zu erhöhen oder zu verringern. Zusätzlich kann ein Angreifer auf diese Weise auch Denial-of-Service-Attacken vornehmen. Dann lassen sich die betroffenenen Bankautomaten und Bezahlterminals nicht mehr benutzen. Rodriguez hat einige dieser Attacken explizit dem Magazin “Wired” gegenüber demonstriert [1].
Die Schwachstelle liegt in der verwendeten NFC-Firmware; Details zu den verschiedenen Aspekten der Sicherheitslücke wurden nicht veröffentlicht. Es soll sich um einen einfachen Pufferüberlauf handeln, den ein entfernter Angreifer ausnutzen kann. Der Overflow tritt aufgrund einer fehlerhaften Implementation des Contact-EMV-Standards über NFC auf. Contact EMV bezeichnet eine Spezifikation für Zahlungskarten mit einem Prozessorchip und die zugehörigen Chipkartengeräte. Die Buchstaben EMV stehen für die drei Gesellschaften, die den Standard entwickelten: Europay International (heute Mastercard Europe), Mastercard und Visa.
Aufgrund dieses Problems können Anwendungen und Apps durch manipulierte APDUs (Application Protocol Data Units) verschiedene Pufferüberläufe provozieren. APDUs dienen als elementare Einheiten der Kommunikation zwischen Chipkarten und Lesegeräten nach dem Contact-EMV-Standard. In den APDUs werden sowohl Befehle als auch Daten transportiert. Man unterscheidet zwischen Command-APDUs und Response-APDUs. Jede APDU besitzt einen Header mit verschiedenen Einträgen wie Class- und Instruction-Bytes. Response-APDUs enthalten noch einen optionalen Datenblock und werden als Antwort auf eine Command-APDU verschickt.
Neben dem eigentlichen Pufferüberlauf in der NFC-Implementation nutzt der Android-Exploit auch weitere, nicht näher spezifizierte Schwachstellen in der Software der Bankautomaten und Bezahlterminals aus. (jcb)
Infos
- Schwachstelle: https://www.wired.com/story/atm-hack-nfc-bugs-point-of-sale






