User avatar
q3k blobcatcoffee @q3k@hackerspace.pl
2y
I can finally reveal some research I've been involved with over the past year or so.

We (
@redford@infosec.exchange, @mrtick@infosec.exchange and I) have reverse engineered the PLC code of NEWAG Impuls EMUs. These trains were locking up for arbitrary reasons after being serviced at third-party workshops. The manufacturer argued that this was because of malpractice by these workshops, and that they should be serviced by them instead of third parties.

1/4
❤1⭐17💖1
43
55
0
19
User avatar
q3k blobcatcoffee @q3k@hackerspace.pl
2y
We found that the PLC code actually contained logic that would lock up the train with bogus error codes after some date, or if the train wasn't running for a given time. One version of the controller actually contained GPS coordinates to contain the behaviour to third party workshops.

It was also possible to unlock the trains by pressing a key combination in the cabin controls. None of this was documented.

2/4
⭐9💖1
12
19
0
10
User avatar
q3k blobcatcoffee @q3k@hackerspace.pl
2y
The key unlock was deleted in newer PLC software versions, but the lock logic remained.

After a certain update by NEWAG, the cabin controls would also display scary messages about copyright violations if the HMI detected a subset of conditions that should've engaged the lock but the train was still operational.

The trains also had a GSM telemetry unit that was broadcasting lock conditions, and in some cases appeared to be able to lock the train remotely.

3/4
⭐7💖1
9
4
0
8
User avatar
Jeder neocat_floof_googly_woozy neocat_flag_agender 🔜 eth0 @jeder@miau.jeder.pl
2y
@q3k o kurwa jego mać
⭐4
0
0
0
4