Nicht nur die Protokolle zur Abwicklung des EC-Zahlungsverkehrs sind schwach, auch die verwendete Hardware ist offenbar nicht besonders gut gegen Angriffe abgesichert. Auf dem 32C3 stellten Berliner Hacker jetzt vor, wie sich das Hardware-Security-Modul eines EC-Terminals hacken lässt.
Die Hacker Karsten Nohl, Fabian Bräunlein und Dexter haben auf der Hackerkonferenz des CCC in Hamburg eine Erweiterung ihres EC-Terminal-Hacks vorgestellt. Mit dem ursprünglichen Hack konnten sie sich zum Beispiel selbst Gutschriften für nie getätigte Transaktionen ausstellen. Jetzt demonstrierten sie, wie sich das sogenannte Hardware-Security-Modul (HSM) innerhalb der EC-Terminals knacken lässt.
Das HSM beherbergt unter anderem den kryptographischen Message-Authentication-Code (MAC), mit dem sicherheitsrelevante Informationen wie die PIN abgesichert werden. Das HSM befindet sich unter einer Abdeckung - wird diese entfernt, "vergisst" der RAM alle Informationen, weil automatisch die Stromversorgung gekappt wird. Um zu prüfen, ob die Abdeckung intakt ist, ist an der Unterseite der Abdeckung ein dünnes, leitendes Mesh-Gewebe angebracht. Bei Beschädigungen wäre der Stromfluss unterbrochen - und das HSM stromlos. Mesh-Status wird nur an den Kanten überprüft
Doch wie die Hacker herausfanden, wird der Status des Mesh nur an den vier Ecken überprüft, nicht aber an den Kanten. Daher war es ihnen möglich, eine dünne Nadel unter die Abdeckung zu führen und dort den Prüfmechanismus für das Mesh außer Kraft zu setzen. Danach konnten sie die Abdeckung problemlos aufschneiden und den RAM des HSM auslesen. Dazu nutzten sie einen speziell angepassten Arduino.
Wird dann noch JTAG im HSM aktiviert, können Hacker den Debugging-Modus einschalten. Dadurch lässt sich dann der Message-Authentication-Code auslesen - und die Sicherheit der untersuchten Protokolle ZVT und Poseidon weiter unterminieren. Der Hack des HSM ist nicht notwendig, um die Angriffe auf die Zahlungsprotokolle durchzuführen. Die MAC lässt sich auch durch eine Side-Channel-Attacke ermitteln - per JTAG wird die CPU dazu gebracht, verschiedene MACs durchzuprobieren - je mehr Ziffern bereits mit der richtigen MAC übereinstimmen, desto länger dauert die Berechnung.
Der Angriff zeigt aber, dass Sicherheitschips in verschiedenen Geräten häufig eine falsche Sicherheit vortäuschen. Häufig werden diese proprietären Chips anstelle einer deutlich geeigneteren Ende-zu-Ende-Verschlüsselung verwendet. Nohl und seine Mitstreiter empfehlen auf jeden Fall, die Protokolle für den Zahlungsverkehr zu überarbeiten, damit kriminelle Angreifer die vorgestellten Hacks nicht einfach selbst nachvollziehen können.