Geldautomaten Hack – Buffer Overflow in vielen Geräten!

Einem IT-Sicherheitsforscher ist es gelungen, einen Buffer Overflow und diversen Geldautomaten zu finden und auszunutzen. Mit angepassten Paketen, die über NFC übermittelt werden, können Geräte zum Absturz oder Preise gesenkt werden. In diesem Beitrag erläutern wir den Geldautomaten Hack etwas genauer.

Geldautomaten Hack – Viele Geräte sind betroffen

Der IT-Sicherheitsforscher Josep Rodriguez veröffentlichte nun über die Plattform Wired eine gravierende Sicherheitslücke in diversen Geldautomaten und Bezahlterminals. Durch diesen Geldautomaten Hack hat der Angreifer nahezu unendlich viele Möglichkeiten, einen Schaden zu verursachen. Beispiele sind das Herabsetzen des zu bezahlenden Betrags. Mobile Bezahlterminals kennen wir aus vielen Bereichen, bspw. Restaurants, Tankstellen, Taxis und viele andere Bereiche.

Durch die gefundene Schwachstelle kann der Angreifer den zu bezahlenden Betrag einfach auf 1€ herabsetzen, ohne das die Displayanzeige des Bezahlterminals etwas verändert. So kann der Kellner in einem Restaurant nicht einmal merken, dass der Angreifer viel zu wenig Geld überweist.

Andere Angriffsmethoden können bspw. das Terminal herunterfahren oder eine Warnmeldung darstellen, wie wir es von bekannten Ransomware-Angriffen kennen. Bei manchen Herstellern ist es dem Angreifer sogar gelungen, über den Geldautomaten Hack „Jack Potting“ zu betreiben. Bei dieser Art von Angriff wird der Geldautomat zur unautorisierten Herausgabe von Bargeld bewegt. Jeder dieser Angriffsmethoden bei dem Geldautomaten Hack funktioniert über einen Buffer Overflow, der als eine sehr alte und bekannte Schwachstelle gilt.




Buffer Overflow – Vermeidbare Fehler

Der Buffer Overflow ist eine Schwachstelle, die Auftritt, wenn der Programmierer den Stack, also den Speicher, nicht richtig schützt. Durch eine falsche Behandlung von Nutzereingaben kann der Fehler auftreten. Bspw. soll der Nutzer seinen Nachnamen eingeben und dafür sind 20 Zeichen an Platz auf dem Speicher vorgesehen. Wenn bei einer unsicheren Implementierung der Nutzer nun 21 Zeichen eingibt, stürzt das Programm ab.

Da diese Sicherheitslücke bereits seit Jahren bekannt ist und viele neuere Programmiersprachen solche Fehler kaum noch zulassen (bspw. Java) ist ein Buffer Overflow vermeidbar. Selbst die älteren Programmiersprachen wie C oder C++, die einen direkten Zugriff auf den Speicher zulassen, besitzen Funktionen, die einen Buffer Overflow verhindern. Die Ausgabe-Funktion „printf()“ kann in gewissen Situationen durch „fprint()“ ersetzt werden und so einen Buffer Overflow verhindern. Doch die Vergangenheit hat gezeigt, dass viele Programme noch Buffer Overflows enthalten, obwohl diese Schwachstelle sehr bekannt ist. Genau dieser Fall ist auch bei dem Geldautomaten Hack eingetreten.

Diesen Buffer Overflow kann ein Angreifer so ausnutzen, dass eigener Code zur Ausführung gebracht werden kann. Wie bei dem Geldautomaten Hack zu sehen, hat der Angreifer anschließend viele verschiedene Möglichkeiten, Schaden zu verursachen. Um den Buffer Overflow ausnutzen zu können, entwickelte Rodriguez eine Android App, die über NFC ein speziell präpariertes Paket an den Geldautomaten schickt.

Verschiedene Hersteller, die bereits vor mehreren Monaten von Rodriguez informiert worden sind, bestätigten die Sicherheitslücken und schlossen diese bereits durch neue Updates. Das große Problem ist, dass viele dieser Geldautomaten und Bezahlterminals physisch vor Ort gepacht werden müssten. Dementsprechend können wir davon ausgehen, dass viele Restaurants und Taxis noch ein Bezahlterminal verwenden, welches mit dem Geldautomaten Hack angegriffen werden kann.


Sevencast – der IT-Security Podcast

Von unterwegs, im Büro oder zu Hause hören und auf dem aktuellen Stand bleiben!

Sevencast bei Spotify
Sevencast bei Apple Podcast
Sevencast bei Overcast


Schreibe einen Kommentar