„ATM”, war das nicht eine Übertragungstechnik, die in den 90ern populär wurde und dann bald wieder verschwand – zugunsten von Gigabit Ethernet? Nein, der Asynchronous Transfer Mode ist hier nicht gemeint, sondern die Automated Teller Machine, zu Deutsch der Geldautomat. Ganoven schafften es in jüngerer Zeit des Öfteren, Geldautomaten derart zu manipulieren, dass sie ihren gesamten Inhalt auf einmal ausspuckten. Sie haben also quasi den Jackpot geknackt.
Wie funktioniert das? Ich erzähle Ihnen beispielhaft, wie ich vor 30 Jahren einen Spielautomaten geknackt habe. Nein, nicht in einer echten Spielhalle, sondern im Labor. Der Hersteller solcher Automaten hatte uns damit beauftragt, ein Gutachten über die Funktionsweise eines Konkurrenzprodukts zu erstellen. Ich durfte das Gerät mit Hilfe eines In-Circuit-Emulators untersuchen. Der Mikroprozessor des Automaten wird aus seinem Sockel herausgezogen und stattdessen der Emulator aufgesteckt. Der emuliert exakt die Funktion des Prozessors und schaut ihm dabei „auf die Finger“.
Ich konnte also den gesamten Programmablauf im Maschinencode verfolgen. Schließlich gelangte ich zu der Stelle, wo der Zufall „gemacht“ wird. Bei diesem Gerät war es Pseudozufall: Eine Hash-Funktion errechnete aus einem beliebigen Startwert eine Zufallszahl. Auf diese Zufallszahl wurde die Hash-Funktion erneut angewandt und so fort. Es entstand also eine Folge zufälliger Zahlenwerte.
Aus diesen Zahlenwerten errechnete der Automat dann Stellungen der Spielscheiben und weitere Spielparameter. Und das Beste daran war, dass ich mit dem Wissen um die Hash-Funktion und deren Abbildung auf Scheibenstellungen auf die interne Zufallszahl zurückschließen konnte.
Ich habe mit diesem Wissen ein Taschenrechnerprogramm geschrieben. Dann brauchte ich nur noch einige Spiele am Automaten durchzuführen und die resultierenden Stellungen der Scheiben zu notieren. Schließlich wusste dann der Taschenrechner, wie es weiterging. Ich erhielt also z.B. die Information, wieviel ich beim nächsten Spiel gewinnen würde, wenn ich die linke Scheibe neu startete und wie oft ich diesen Gewinn per Tastendruck verdoppeln konnte, ohne zu verlieren.
Fazit: Nach nur einer Viertelstunde solchen Spiels standen mehr als 50 Mark auf der Uhr! Wer also Informationen über die Interna eines Spielautomaten hat, kann ihn möglicherweise überlisten. Nicht anders ist es bei Geldautomaten.
Wie gelangt man an die Interna eines Geldautomaten? Einen In-Circuit-Emulator hat wohl kein Ganove dabei. Aber jeder Automat hat Schnittstellen, z.B. USB oder Ethernet. Ich brauche Ihnen nicht zu erklären, wie man über solche Schnittstellen auf den Automaten gelangt. Das können Sie sich sicher vorstellen; genau genommen ist es ein alter Hut: Diese Themen adressieren wir seit Jahren in unseren Seminaren; die Absicherung von IoT ist im Grunde nichts anderes, oder auch „Security by Design“.
„Security by Design“ hätte auch der Hersteller des von mir geknackten Spielautomaten beachten können. Warum muss es ausgerechnet Pseudozufall sein? Man hätte es stattdessen auch mit echtem Zufall probieren können, also beispielsweise mittels Hash-Funktion auf den jeweiligen Stand der internen Systemuhr…