Het enige dat nog ontbrak: DRM in treinen
DRM in treinen

We kunnen geen alternatieve capsules gebruiken in onze koffiezetapparaten. We kunnen onze tractoren niet repareren. We kunnen onze telefoons niet repareren. We kunnen niet scannen met onze multifunctionele printers met lege cartridges. En de nieuwe aflevering van de serie is: "de Poolse belastingbetalers kunnen de treinen die ze hebben betaald niet repareren", of beter gezegd, niet zonder de hulp van een groep hackers…

De geschiedenis begint met een vleugje politiek en budget: Koleje Dolnośląskie, bekend als Lower Silesian Railways, is een spoorwegoperator in de regio Neder-Silezië, in het zuidwesten van Polen. Deze openbare operator gebruikt in totaal elf treinen Impuls 45WE vervaardigd door het Poolse bedrijf Newag. Het onderhoud is echter in handen van een ander bedrijf, Serwis Pojazdów Szynowych of SPS.

Waarom? Simpelweg omdat SPS de aanbesteding won: de treinen moeten verplicht onderhoud krijgen per miljoen gereden kilometers. Zowel SPS als Newag deden mee aan het proces, maar de offerte van de oorspronkelijke fabrikant was 750 duizend dollar duurder. Met een totaal van 5,5 miljoen dollar voor elf treinen kreeg SPS het contract en daar begonnen de problemen: de treinen die de werkplaats binnenkwamen, eindigden dood, zonder een centimeter te bewegen.

Een door DRM geblokkeerde trein nieuw leven inblazen

Het enige dat nog ontbrak: DRM in treinen
Het is hacktijd

Nu beschikt SPS over alle relevante informatie (de onderhoudshandleiding telt maar liefst 20.000 pagina's), de werkplaatsen en de contacten. Het reviseren van een trein vereist (in zeer losse termen) een volledige demontage, het verzenden van de onderdelen naar de fabrikanten voor hercertificering, terugkeer en assemblage… maar de treinen van Newag bleven roerloos , ondanks alle telemetrie die optimale omstandigheden aangaf. De eerste stilstaande trein kreeg gezelschap van een tweede, de derde kreeg te maken met een batterijstoring, en de vierde die in de plaats kwam… stopte ook weer na onderhoud. Een nieuw rapport van een andere werkplaats in Szczecin gooit nog meer olie op het vuur: een Impuls-trein gaat voor onderhoud naar binnen en sterft.

De eerste officiële reactie van Newag was dat de treinen stopten vanwege een "veiligheidssysteem", dat in geen van de 20.000 pagina's van de handleiding voorkomt. De downtime van de treinen vertaalt zich in contractuele boetes, en bij gebrek aan alternatieven nemen de werkplaatsen uiteindelijk contact op met een hackersgroep, "Dragon Sector".

De moeilijkheden blijven niet uit. De CAN-bus van de computers gebruikt vreemde protocollen, de officiële SDK staat alleen software-updates toe (dus geen dumps), en een aangepaste versie van Ghidra moest in de vergelijking worden gebracht… dit alles met het dreigende contractbreuk tussen SPS en Lower Silesian Railways boven hun hoofd. Lang verhaal kort: om 08:42 uur op de laatste dag zorgde een van de aangepaste computers ervoor dat de trein weer reed.

Dus de treinen kunnen weer functioneren, maar er blijft een grote vraag: waarom faalden ze in de eerste plaats? Maanden van extra analyse en reverse engineering bevestigden de aanwezigheid van GPS-coördinaten die gekoppeld waren aan reparatie- en onderhoudswerkplaatsen. Kort gezegd, een voorwaarde in de code blokkeerde de treinen volledig als ze minimaal tien dagen in die werkplaatsen doorbrachten. Daar kwamen nog blokkades bij door componentwissels, en in een andere trein werd een "hard stop" ontdekt na het afleggen van een miljoen kilometer, iets vergelijkbaars met het beroemde conflict over de Epson-kussentjes in hun printers.

Het enige dat nog ontbrak: DRM in treinen
De werkplaatsen geïdentificeerd aan de hand van hun coördinaten

Tot nu toe hebben de onderzoekers externe verbindingen via GSM ontdekt en de software van 29 treinen geanalyseerd. In 24 daarvan vonden ze allerlei blokkades en barrières die niet in de documentatie voorkomen.

Origineel artikel in het Pools: Klik hier. Vertaling in het Engels: Klik hier. We zagen het op: Hackaday.