Zespół specjalistów od cyberbezpieczeństwa twierdzi, że firma Newag, producent popularnych pociągów Impuls, celowo wprowadzała zmiany w oprogramowaniu pociągów, by uniemożliwić ich serwisowanie przez niezależne zakłady naprawcze. Publikujemy ich oświadczenie.

Oświadczenie w sprawie systemu blokad w pociągach Newag Impuls

Jesteśmy grupą trzech niezależnych badaczy cyberbezpieczeństwa oraz członkami grupy Dragon Sector.

Na konferencji OhMyH@ck w dniu 2023/12/05 zaprezentowaliśmy wykonaną przez nas analizę procesorów/kontrolerów pociągów Newag Impuls. W kodzie tych procesorów, po jego pobraniu z urządzenia i dokonaniu inżynierii wstecznej odkryliśmy nieudokumentowany kompleksowy system blokad. Analizę rozpoczęliśmy na zlecenie SPS ASO Mieczkowski w maju 2022 roku.

System ten skutecznie unieruchomił pociągi podczas ich serwisu w niezależnych warsztatach świadczących przegląd P2/P3. System ten sprawdzał różne warunki (np. wskazania rejestratora, datę, współrzędne geograficzne z GPS) i gdy któryś warunek został spełniony, blokował pociąg. Zablokowany pociąg nie pokazywał żadnego kodu błędu, prezentował gotowość do jazdy i przy zadaniu polecenia jazdy jedynie zwalniał hamulce (nie uruchamiając przy tym falowników które zasilają silniki pojazdu). W dokumentacji technicznej Impulsów nie ma żadnej wzmianki na temat tego zachowania.

Analizowaliśmy już 29 pojazdów i 24 z nich posiadały mniej lub bardziej zaawansowany system blokad. Warunki powodujące zablokowanie się pojazdu były różne między różnymi pociągami, a czasem nawet zmieniały się pomiędzy wizytami w warsztatach Newag. Wraz z naszymi sukcesami w przywracaniu pociągów do jazdy nowsze wersje oprogramowania w kontrolerach Impulsów zostały pozbawione mechanizmu odblokowywania pociągów (arbitralna sekwencja wciśnięć odpowiednich przycisków w kabinie maszynisty).

Znalezione przez nas warunki na włączenie blokady to między innymi:

Postój pociągu przez 10 dni (w późniejszych wersjach oprogramowania 21 dni) 2. Postój na terenie niezależnych warsztatów na podstawie odczytów z GPS 3. Wymiana części podzespołów systemu (CAN831)

Znaleźliśmy też wersję oprogramowania, która zgłasza awarię sprężarki pomocniczej począwszy od przewidywanego dnia przeglądu P3 pociągu lub po przebiegu powyżej miliona kilometrów.

W przynajmniej jednym z pociągów blokada mogła także być włączona przez urządzenie mostkujące łączność sieciową (UDP) z magistralą CAN w pociągu.

Jesteśmy stuprocentowo pewni naszej analizy. Raporty techniczne przygotowane na jej podstawie zostały przekazane współpracującym z nami warsztatom, przewoźnikom oraz odpowiednim organom i instytucjom. Zabezpieczyliśmy kopie wszystkich znalezionych przez nas wersji oprogramowania ze wszystkich analizowanych przez nas pojazdów. Część tych zabezpieczeń została wykonana komisyjnie wraz z udziałem niezależnych audytorów.

Pragniemy jednocześnie sprostować często powtarzające się nieporozumienia w mediach: 1. Nie ingerowaliśmy w kod kontrolerów w Impulsach – wszystkie pojazdy nadal jeżdżą na oryginalnym, niezmodyfikowanym oprogramowaniu.

Nie ma możliwości zdalnej (np. poprzez GSM/Internet) aktualizacji oprogramowania w Impulsach.

Odpowiedź na oświadczenie Newag z dnia 2023/12/06

(kursywą zaznaczone są fragmenty oświadczenia, zwykłą czcionką – odpowiedzi)

Nasze oprogramowanie jest czyste. Nie wprowadzaliśmy, nie wprowadzamy i nie będziemy wprowadzać w oprogramowanie naszych pociągów żadnych rozwiązań, które prowadzą do celowych awarii. To pomówienie ze strony naszej konkurencji, która prowadzi nielegalną kampanię czarnego PR wobec nas – NEWAG stanowczo dementuje zmanipulowane informacje Onetu i jego rozmówców, czyli przedstawicieli grupy hakerów wynajętych przez konkurencyjną firmę – SPS Mieczkowski. Z tym, że serwis dostarczonych uprzednio zestawów generuje zaledwie ok 5 proc. przychodów NEWAG. Stanowi to ułamek biznesu w przeciwieństwie do firmy „SPS Mieczkowski”, której serwis to podstawowy profil działania.

Wyniki przeprowadzonych przez Dragon Sector analiz oprogramowania pociągów Impuls produkcji Newag świadczą jednoznacznie – oprogramowanie to zawierało złośliwy kod symulujący usterki, aktywowany między innymi na podstawie współrzędnych GPS warsztatów naprawczych konkurencyjnych dla Newag.

Zawarte w oświadczeniu Pana Prezesa Konieczka określenie „grupa hakerów”, w potocznym języku może budzić negatywne skojarzenia, lecz przyjmujemy taką terminologię bez urazy i ze zrozumieniem tego określenia jako skrótu myślowego.

Jesteśmy grupą specjalizującą się w cyberbezpieczeństwie i inżynierii wstecznej, a analizy oprogramowania pociągów Impuls produkcji Newag dokonaliśmy na zlecenie kilku podmiotów, zarówno przewoźników, jak i innych warsztatów serwisowych, nie tylko SPS Mieczkowski.

Pomogliśmy 10 operatorom i warsztatom, a analizie poddanych było 29 pojazdów. Sporządziliśmy kilka szczegółowych raportów technicznych z analizy różnych przypadków.

Raporty zawierały dokładną analizę działania pojazdów, szczegółowe wyjaśnienia działania części programów odpowiedzialnych za usterki, oraz objaśnienie zastosowanej przez nas metodologii.

Producent sterowników systemu w każdym czasie umożliwia i umożliwiał dostęp do oprogramowania sterującego pojazdem.

Producent sterownika CPU831, firma Selectron, nie udostępnia narzędzi bezpośrednio pozwalających pobrać kod zainstalowany na sterowniku. Pozwoliła na to dopiero nasza analiza i stworzone przez nas specjalne narzędzia.

W konsekwencji w dowolnym czasie możliwe było wykonanie tzw. reverse engineering oprogramowania sterującego (tj. zhakowanie) poprzez przeniesienie jego kodu dekompilacji, modyfikacji oraz ponowne załadowanie zmienionego oprogramowania sterującego.

Powyższe słowa świadczą o rażącej niekompetencji technicznej autora stwierdzenia. Nie istnieją narzędzia pozwalające na dekompilację kodu wygenerowanego na sterownik Selectron CPU831 w taki sposób, by możliwa była jego ponowna kompilacja. Jedyne istniejące narzędzia pozwalają zrozumieć działanie kodu oraz ewentualnie wprowadzić proste zmiany, ale nie pozwalają na wprowadzenie tak kompleksowego systemu blokad, jaki został przez nas znaleziony.

Nieprawdą jest, że wywoływaliśmy usterki naszych pociągów, by rzekomo przejąć zlecenia na ich naprawę. To oszczerstwo. Firma serwisująca tabor dla Kolei Dolnośląskich nie potrafiła wywiązać się ze zlecenia serwisu pociągów naszej produkcji i aby uniknąć kar umownych stworzyła tą spiskową teorię na potrzeby mediów. Z Onetu dowiedzieliśmy się, że wynajęła hakerów, którzy dla niej mieli stworzyć raport nas obwiniający – mówi Zbigniew Konieczek, prezes NEWAG S.A. – Nie znamy tego dokumentu, nie wiemy, w jaki sposób powstał, jaka jest przyjęta metodologia, na podstawie czego sformułowano jego bezpodstawne względem NEWAG, tezy. Poza gołosłownymi zarzutami nie przedstawiono żadnego dowodu na to, iż to nasza firma celowo zainstalowała wadliwe oprogramowanie. W naszej ocenie prawda może być zupełnie inna – że np. to konkurencja ingerowała w oprogramowanie.

Bezspornym jest, że funkcjonalności opisane przez nas podczas konferencji, a wcześniej w raportach, były obecne w programach zainstalowanych w procesorach sterujących pociągami Impuls. W odpowiedzi na stwierdzenie, że złośliwe fragmenty kodu miałyby być wynikiem działania innych niż Newag podmiotów, możemy stwierdzić, że jest to dość nieudolna, a zarazem karkołomna linia obrony, gdyż funkcjonalności zostały wprowadzone w sposób wskazujący na pełen dostęp do kodu źródłowego programu.

W kilku przypadkach pojazdy były wysłane do Newag w celu naprawy, a my zgraliśmy kod tuż przed wysłaniem do Newag i porównaliśmy z kodem zgranym tuż po powrocie z serwisu w Newag. Po przyjeździe kod wgrany do sterownika zmienił się i w szczególności zawierał istotne zmiany w logice blokady (przykładowo: wydłużono czas postoju, po którym pojazd się miał zablokować z 10 na 21 dni).

Patrząc na to, że kod blokady nie zdaje się być jakkolwiek zamaskowany uważamy, że Newag nie był świadomy, że możliwe jest wykrycie tej ingerencji za pomocą inżynierii wstecznej i możliwości dokładnej analizy funkcjonalności wgranej do sterownika – w szczególności obecności sprawdzania koordynatów geograficznych GPS warsztatów konkurencji.

Powiadomiliśmy w tej sprawie właściwe służby. Zresztą nie pierwszy razpowiadamiamy organy ściągania, iż w nasze oprogramowanie modyfikowane jest bez naszej autoryzacji. Już w 2022 informowaliśmy o tym także publicznie. Dziwi więc wystąpienie Janusza Cieszyńskiego byłego ministra cyfryzacji, który mówi o trwających śledztwach, wpisując się przy tym w rozpowszechnianie nieprawdziwych i wysoce szkodliwych informacji na temat NEWAG, a nie dodając, że wszczęto je z naszych zawiadomień – dodaje Konieczek.

Także teraz, w związku z podaną publicznie przez Onet i jego rozmówców informacją, że systemy sterowania pociągów NEWAG zostały zhakowane – w trosce o bezpieczeństwo pasażerów złożyliśmy stosowne zawiadomienia do uprawnionych organów.

Hakowanie systemów informatycznych jest złamaniem wielu przepisów prawa i zagrożeniem dla bezpieczeństwa ruchu kolejowego.

Powyższe stwierdzenie, w zaistniałej sytuacji brzmi nie tylko jak banał, ale jak ponury żart. Złamaniem jakich przepisów było działanie Dragon Sector? Odpowiem. Nie wypełniało znamion jakiegokolwiek przestępstwa określonego w rozdziale XXXIII Kodeksu karnego. Żadnego. (Zbigniew Krüger)

Badanie oprogramowania sterowników pojazdów szynowych dokonane przez moich klientów metodą inżynierii wstecznej jest całkowicie legalne, zarówno z punktu widzenia ustawy o prawie autorskim i prawach pokrewnych, jak i z punktu widzenia prawa karnego. Dyrektywa Parlamentu Europejskiego i Rady 2009/24/ WE z 23 kwietnia 2009 r. w sprawie ochrony prawnej programów komputerowych została implementowana w polskiej Ustawie, a dopuszczalność inżynierii wstecznej, jako metody badania funkcjonalności oprogramowania została potwierdzona w sprawie SAS Institute Inc. przeciwko World Programming Ltd., Nie mam wątpliwości, że Dragon Sector działał zgodnie z prawem. (Zbigniew Krüger)

Z drugiej strony należy zadać pytanie, czy umieszczenie w oprogramowaniu pociągów takiego kodu nie wypełnia znamion przestępstwa z art. 254 a Kodeksu karnego (zamach na urządzenie infrastruktury), przestępstwa z art. 269 a (zakłócenie systemu komputerowego), art. 287 k.k. (tzw. oszustwo komputerowe), czy zwykłe oszustwo (art. 286 k.k.) Nie można zapominać także o wątku przetargowym i ewentualnym wypełnieniu znamion przestępstwa utrudniania przetargu. Nadto, działanie takie stanowiło czyn nieuczciwej konkurencji, bezprawny i sprzeczny z dobrymi obyczajami i mogłoby stanowić podstawę roszczeń zarówno konkurentów jak i przewoźników. (Zbigniew Krüger)

Nie wiemy bowiem, kto, jakimi metodami i jakimi kwalifikacjami dysponujący ingerował w oprogramowanie sterujące pociągami. Powiadomiliśmy też o tym Urząd Transportu Kolejowego, aby podjął decyzję o wycofaniu z ruchu zestawów poddanych działaniom nieznanych hakerów. Jednocześnie informujemy, iż podejmiemy kroki prawne w przypadku dalszego pomawiania spółki w oparciu o „rewelacje” hakerów działających na zlecenie naszej konkurencji. Wystąpimy również ze stosownymi pozwami wobec „rzekomych hackerów” i – jak podają media – ich zleceniodawców, czyli firmę „SPS Mieczkowski”.

Moi klienci są przygotowani na takie roszczenia. Zarówno ich wypowiedzi dla prasy, jak i wystąpienie podczas konferencji zawierały tezy prawdziwe, rzetelne i udokumentowane. Mają dowody na wszelkie swoje twierdzenia. Nadto działali w słusznym interesie społecznym i nie mają podstaw do jakichkolwiek obaw w zakresie ewentualnych roszczeń NEWAG. (Zbigniew Krüger)

Autorzy:

Michał Kowalczyk, Jakub Stępniewicz, Sergiusz Bazański.

Pełnomocnik:

Zbigniew Krüger, Krüger & Partnerzy.