Но происходит что-то невообразимое. Как только специалисты подключают неработающие поезда к четвертому, он также обездвиживается.
SPS имеет несколько подразделений по стране. Так что некоторые поезда данной серии отправляются на обслуживание в другие мастерские. И там уже перестают работать таким же загадочным способом.
Итого 6 поездов Нижней Селезии выведены из строя. А на железных дорогах начинается настоящий коллапс – переполненные поезда и толпы возмущенных граждан.
И тогда руководство SPS решается на отчаянный шаг. Они зовут на помощь команду хакеров-CTF’еров, задачей которых становится поиск ошибок в коде системы управления поездом.
Поверить в происходящее сложно – стороны подписывают договор на взлом поезда. Над проектом будет трудиться троица хакеров Я. Степневич, М. Ковальчик и С. Базаньский.
В программном коде поездов Newag были найдены координаты GPS, указывающие на окрестности расположения одного из сервисов для обслуживания поездов – PESA. Затем в коде были обнаружены координаты и других сервисных служб для ремонта и проверки поездов. SPS в этот список не входит.
Исследовали нашли еще 1 нюанс, не прописанный в инструкции – при простое в депо более 10 дней система должна заблокировать запуск поезда.
Система безопасности поезда должна заблокировать его запуск при замене одного из его компонентов.
Блокировку можно снять простой комбинацией клавиш на экране бортового компьютера.
В одном из поездов обнаружен код, предписывающий ему «ломаться» после прохождения 1 млн километров.
Были еще некоторые сюрпризы, предписывающие, например, выдавать неисправность компрессора при соблюдении определенных условий. Условие это выглядело так:
если день больше или равен 21;
если месяц больше или равен 11;
если год больше или равен 21.
И с этим условием также произошла забавная история. По задумке разработчика поезд должен был пройти техобслуживание в ноябре 2021 года. Тогда же по всей видимости, обслуживающая компании должна была получить сигнал о необходимости замены компрессора. Однако условия не сработали, так как поезд случайным образом был обслужен ранее запланированного срока, а затем вновь запущен лишь в январе 2022 года.
Ошибки удалось исправить путем снятия программных блокировок с бортового компьютера.
Итого исследователи проанализировали программный код на 29 поездах. И только в 5ти из них не было обнаружено никаких ошибок.
Что это было? Безграмотность разработчиков, заложенные условия с целью генерации наступления определённых событий, как то обслуживание поездов определенным сервисом, внеплановая замена деталей и только на определенные компоненты определенных производителей и т.д.) или простое совпадение судите сами.
Ну, а пока компании будут заниматься судебными тяжбами и выяснять, кто будет оплачивать простой работы и потерю репутации.