Инженеры СТО обратились к хакерам за помощью в решении проблемы.
В Польше столкнулись с необычной проблемой: поезд, изготовленный местной компанией Newag, внезапно перестал работать во время техобслуживания. Эксперты были в замешательстве – поезд был в порядке, но его двигатель не запускался. В отчаянии специалисты обратились к хакерам Dragon Sector, которые нашли то, о чем инженеры даже и не догадывались.
История начинается весной 2022 года, когда закончилось обслуживание первого из одиннадцати поездов Impuls 45WE компании Newag, эксплуатируемых польским железнодорожным перевозчиком Koleje Dolnośląskie (KD). Обслуживание проводила компания Serwis Pojazdów Szynowych (SPS), выигравшая тендер на обслуживание поездов после прохождения 1 000 000 километров. Тем не менее, после сборки поезд не завелся, и никто не мог понять почему.
Ситуация обострилась, когда и другие поезда стали выходить из строя после обслуживания. Вскоре, после того как проблема попала в СМИ, была вызвана команда Dragon Sector, достигшие успеха в соревнованиях CTF (Capture The Flag). Члены команды Михал Ковальчик и Сергиуш Базаньски, известные своими навыками взлома, а также Куба Степневич, специалист по промышленной автоматизации, принялись за решение проблемы.
Процесс диагностики проблем
Участники группы обнаружили, что компьютеры поездов основаны на архитектуре TriCore, распространенной в автомобильной промышленности, но существовал дефицит хороших дизассемблеров. После многих часов анализа и обратной разработки (Reverse Engineering) оказалось, что в коде были зашиты координаты GPS, указывающие на места проведения техобслуживания конкурентов Newag. Компьютер отключал возможность запуска поезда, если он проводил в одной из указанных СТО не менее 10 дней.
Координаты GPS разрешенных и запрещенных СТО
Команда также обнаружила устройство, подписанное как «конвертер UDP<->CAN», который, по-видимому, позволял удаленно взаимодействовать с поездом. Удаление устройства не привело к каким-либо сбоям. Анализ показал, что бортовой компьютер отправлял на устройство информацию о состоянии блокировки, а само устройство было подключено к GSM-модему. Это открытие вызвало еще больше вопросов относительно безопасности и этики производителя.
Информация о том, что центру технического обслуживания SPS удалось отремонтировать «сломанные» поезда Newag, быстро дошла до СМИ и других компаний. В результате было проанализировано программное обеспечение 29 поездов Impuls по всей стране, и во всех, кроме 5, были найдены сюрпризы, выходящие за рамки официальных инструкций по эксплуатации.
В число таких сюрпризов входила блокировка поезда при замене одного из его компонентов (подтвержденного серийным номером). Также была обнаружена возможность снятия блокировки с помощью соответствующей последовательности нажатий кнопок в салоне и на экране бортового компьютера. В другом поезде был обнаружен код, предписывающий ему «сломаться» после прохождения 1 миллиона километров. Каждую проблему удалось решить с помощью специально разработанного инструмента, снимающего программные блокировки с бортового компьютера.
Ситуация вызвала значительный общественный интерес и привлекла внимание правоохранительных органов. Несмотря на то, что судебные разбирательства уже идут, пока неизвестно, будут ли предприняты какие-либо действия со стороны соответствующих органов.
Представитель управления железнодорожного транспорта (Office of Rail Transport, UTK) в курсе дела и проверил информацию о проведенных анализах ПО, а также сотрудничает по этому вопросу с профильными службами. Совместно с CERT Polska (CERT PL) была организована встреча с производителем поездов. Примечательно, что транспортные средства соответствуют основным требованиям европейских директив.
Большой взрыв знаний каждый день в вашем телефоне