Wir können keine alternativen Kapseln in unseren Kaffeemaschinen verwenden. Wir können unsere Traktoren nicht reparieren. Wir können unsere Telefone nicht reparieren. Wir können in unseren Multifunktionsdruckern mit leeren Patronen nicht scannen. Und die neue Folge der Serie ist: „Die polnischen Steuerzahler können die Züge, die sie bezahlt haben, nicht reparieren“, oder besser gesagt, nicht ohne die Hilfe einer Gruppe von Hackern…
Die Geschichte beginnt mit einer Prise Politik und Budget: Koleje Dolnośląskie, bekannt als Lower Silesian Railways, ist ein Eisenbahnbetreiber in der Region Niederschlesien im Südwesten Polens. Dieser öffentliche Betreiber nutzt insgesamt elf Züge des Typs Impuls 45WE, die vom polnischen Unternehmen Newag hergestellt wurden. Die Wartung übernimmt jedoch ein anderes Unternehmen, Serwis Pojazdów Szynowych oder kurz SPS.
Warum? Ganz einfach, weil SPS die Ausschreibung gewonnen hat: Die Züge müssen alle eine Million Kilometer einer obligatorischen Wartung unterzogen werden. Sowohl SPS als auch Newag nahmen am Prozess teil, aber das Angebot des ursprünglichen Herstellers war 750.000 Dollar teurer. Bei insgesamt 5,5 Millionen Dollar für elf Züge erhielt SPS den Vertrag, und damit begannen ihre Probleme: Die Züge, die in die Werkstätten kamen, endeten tot, ohne sich einen Zentimeter zu bewegen.
Wie man einen durch DRM blockierten Zug wiederbelebt
Jetzt verfügt SPS über alle relevanten Informationen (das Wartungshandbuch umfasst 20.000 Seiten), die Werkstätten und die Kontakte. Die Aufarbeitung eines Zuges erfordert (lose formuliert) eine vollständige Demontage, das Senden der Teile an die Hersteller zur Rezertifizierung, Rückkehr und Montage… aber die Züge von Newag blieben trotz aller Telemetrie, die optimale Bedingungen anzeigt, bewegungslos. Der erste gestoppte Zug führte zu einem zweiten, der dritte erlitt einen Batteriefehler, und der vierte, der seinen Platz einnahm… hielt ebenfalls nach der Wartung an. Ein neuer Bericht aus einer anderen Werkstatt in Stettin wirft weiteres Öl ins Feuer: Ein Impuls-Zug kommt zur Wartung und stirbt.
Die erste offizielle Antwort von Newag war, dass die Züge wegen eines „Sicherheitssystems“ angehalten wurden, das in keiner der 20.000 Seiten des Handbuchs auftaucht. Die Ausfallzeit der Züge führt zu Vertragsstrafen, und angesichts fehlender Alternativen kontaktieren die Werkstätten schließlich eine Hackergruppe, „Dragon Sector“.
Die Schwierigkeiten lassen nicht lange auf sich warten. Der CAN-Bus der Computer verwendet seltsame Protokolle, das offizielle SDK erlaubt nur Software-Updates (also keine Dumps), und eine modifizierte Version von Ghidra musste ins Spiel kommen… alles mit dem bevorstehenden Vertragsbruch zwischen SPS und Lower Silesian Railways über ihren Köpfen. Lange Rede, kurzer Sinn: Um 08:42 Uhr am letzten Tag schaffte es einer der modifizierten Computer, den Zug wieder zum Laufen zu bringen.
Die Züge können also wieder funktionieren, aber es bleibt eine große Frage: Warum sind sie überhaupt ausgefallen? Monatelange Analysen und Reverse Engineering bestätigten das Vorhandensein von GPS-Koordinaten, die mit Reparatur- und Wartungswerkstätten verbunden sind. Im Grunde blockierte eine Bedingung im Code die Züge vollständig, wenn sie mindestens zehn Tage in diesen Werkstätten verbrachten. Dazu kamen Blockaden durch Komponentenwechsel, und in einem anderen Zug wurde ein „Hard Stop“ nach einer Million Kilometern entdeckt, ähnlich dem berüchtigten Problem mit den Epson-Pads in ihren Druckern.
Bis heute haben die Forscher Remote-Verbindungen über GSM entdeckt und die Software von 29 Zügen analysiert. In 24 von ihnen fanden sie allerlei Blockaden und Barrieren, die nicht in der Dokumentation auftauchen.
Originalartikel auf Polnisch: Hier klicken – Englische Übersetzung: Hier klicken – Wir haben es gesehen bei: Hackaday