Newag Drama - summary of everything we know (film, 32 minutes)
Mateusz Chrobok in his latest video addresses the controversial topic surrounding the Impuls trains manufactured by Newag. The video kicks off with an intriguing introduction to the history of railways, then moves into discussing the scandal that erupted at the beginning of December during the Oh My Hug conference. The journalist elaborates on issues related to tenders, unfair competition, and serious allegations against Newag. Although Mateusz admits that he is not an expert in the railway field, he emphasizes the need for scrutiny and analysis. Throughout the episode, numerous technical details are mentioned indicating serious neglects in train maintenance, including high maintenance costs and technical problems faced by the vehicles.
In the material, he focuses on the tender for the servicing of trains that occurred when Dolnośląskie Koleje needed P3 inspections. Although Newag was supposed to have a monopoly on such services, this changed due to new interpretations of EU anti-monopoly regulations. The winning bid by ASO Mieczkowski from Bydgoszcz turned out to be significantly cheaper than Newag's offer, which led to a series of issues with the operation of trains post-inspection. The technical problems with the Impuls trains that arose among Dolnośląskie Koleje not only resulted in passenger frustration but also brought substantial costs to the operator.
As the situation progressed, assumptions regarding the causes of train blockages began to focus on the sophisticated software responsible for various security mechanisms within the units. A team of cybersecurity specialists from Dragon Sector was called in to resolve the issue, and their investigations revealed that strange encoding present in the CONCAT (CAN) software was obstructing the launching of trains under certain conditions. Their analysis indicated various hidden mechanisms affecting train performance, which might stem from deliberate interference in the code by the manufacturer or other parties.
Throughout the episode, Mateusz also mentions Newag's responses to the allegations, which point to a lack of professionalism on the part of ASO Mieczkowski and competitive actions aimed at undermining the manufacturer's reputation. The case began attracting media attention and the involvement of appropriate institutions, including the prosecutor's office, which filed a notification concerning potential crimes. From Mateusz's perspective, the entire situation serves as a warning against exploiting unethical practices in the industry, potentially leading to serious repercussions in the railway market.
In concluding his material, Mateusz summarizes the current statistics regarding views and likes on the video, indicating growing interest in the topic. At the time of writing, the video had already garnered 191437 views and 8183 likes, demonstrating that many people are following this controversial story closely. Thanks to such interest, the subject of trains and the reliability of railway equipment has become more relevant than ever and requires further scrutiny and actions from relevant institutions.
Toggle timeline summary
-
Introduction to the topic of trains and their historical significance.
-
Discussion about recent controversies involving Newag's Impuls trains.
-
Description of the major scandal involving Newag and its procurement practices.
-
Mention of allegations regarding unfair competition in the railway sector.
-
Clarification about the reliance on third-party articles for today's discussion.
-
The physical wear and tear issues related to trains are highlighted.
-
Outline of mandatory periodic inspections and their costs.
-
Discussion of the monopoly on high-level maintenance inspections previously held by train manufacturers.
-
Exploration of the bidding process for service contracts relating to train maintenance.
-
Details on the failure of the trains post-inspection, causing operational delays.
-
Problems with train startups post-maintenance are discussed.
-
Introduction of cybersecurity experts to troubleshoot train operation issues.
-
Discussion about discoveries made during examinations of the failures.
-
Unexpected resolution of train functionality before external inspection.
-
Eventual presentation of findings at the Oh My Hug conference.
-
Investigations reveal internal software anomalies within the trains.
-
Newag's denial of responsibility for the issues and allegations of sabotage.
-
Recognition of the efforts made by cybersecurity professionals in addressing these issues.
-
Conclusion of the discussion and encouragement for further exploration of this topic.
Transcription
Cześć! Przyszła kolej na pociągi. No bo, przyznać się, kto z Was nie jara się na samą myśl o kolei? To fascynujący świat o niesamowicie bogatej historii. Niestety, nie zawsze pozytywnej. Taki niezbyt chlubny rozdział pisze się właśnie, ponieważ docierają do nas coraz to nowe informacje w temacie afery dotyczącej pociągów Impuls produkowanych przez firmę Newag z Nowego Sącza. Z początkiem grudnia na kolejową branżę spadła prawdziwa bomba, gdy na konferencji Oh My Hug badacze opisali sekwencję wydarzeń, która stawia Newag w, delikatnie mówiąc, niezbyt pozytywnym świetle. Mowa o przetargach, ogromnych pieniądzach odwołanych połączeniach na Dolnym Śląsku, czy też zarzutach nieuczciwej konkurencji i nierównej walce Dawida z Goliatem. Zanim jednak zaczniemy, dwie uwagi. Po pierwsze, dzisiejszy odcinek będzie w dużej mierze bazował na artykułach zaufanej trzeciej strony, za których możliwość wykorzystania bardzo Adamowi dziękuję. Po drugie, mimo pewnych związków z kolejową branżą, totalnie się na niej nie znam, więc jeżeli gdzieś użyję złej nomenklatury, czy też popełnię jakiś drobny błąd, to proszę miłośników pociągów, aby nie palili mnie na stosie, tylko poprawili w komentarzach. Z góry serdecznie dziękuję. A więc, odjazd. Zapraszam. Pociąg, co chyba nie jest dla nikogo żadnym zaskoczeniem, też się zużywa. I nie chodzi jedynie o zabrudzone, czy też przetarte fotele. To przecież kilkaset ton stali i nie tylko, rozpędzonych do wysokich prędkości, co może być bardzo niebezpieczne, gdyby doszło do jakiejś awarii. Na przykład w wyniku zaniedbań w jego bieżącej obsłudze. Odgórnie więc, systemowo wymuszane są terminy wykonywanych okresowo przeglądów. Oczywiście jest ich kilka poziomów, a tak dokładnie to pięć. Od takiego najprostszego, znanego w nomenklaturze jako P1, do najbardziej hardkorowego P5. Od trzeciego poziomu, czyli P3 wzwyż, zaczyna się już robić naprawdę grubo. Pociąg trzeba praktycznie rozebrać na części pierwsze. Różne jego elementy sprawdzić zgodnie z odpowiednimi procedurami, a potem poskładać wszystko do kupy. Oczywiście nie robi się tego na hura, a bazując na specjalnym dokumencie. Dokumentacji systemu utrzemania. Co więc chyba oczywiste, taki przegląd kosztuje naprawdę sporo pieniędzy. Mowa o kwotach idących w setki tysięcy złotych za każdy jeden skład. No i do niedawna nieformalny monopol na te przeglądy wysokiego poziomu mieli producenci pociągów. Tacy jak właśnie nowosądecki Newag czy bydgoska PESA, którzy całymi latami utrzymywali, że wspomniana już dokumentacja systemu utrzymania, na której trzeba bazować przy tak grubych przeglądach, jest ich własnością intelektualną, tajemnicą handlową i tak dalej. To jednak uległo zmianie dzięki nowej, antymonopolowej interpretacji przepisów przez unijne instytucje. Kiedy więc koleje dolnośląskie potrzebowały wykonać przeglądy P3 w parę lat wcześniej zakupionych od Newagu impulsach, bo te zaczęły dobijać do przebiegów rzędu miliona kilometrów, rozpisano otwarty przetarg. Wygrała go firma serwis pojazdów szynowych ASO Piotr Mieczkowski z Bydgoszczy, a nie Newag, co mogło być nie lada zaskoczeniem. Zaproponowana przez zwycięzcę przetargu całkowita cena wykonania usługi była niższa o około 3 miliony złotych niż propozycja Newagu i miała się zamknąć w kwocie rzędu 22 milionów złotych. No ale przecież nie mogło być zbyt łatwo. Wiosną 2022 roku dobiega powoli końca przegląd P3 pierwszego z impulsów należących do kolei dolnośląskich. Tak jak wspominałem, poważna to sprawa, bo skład patroszy się do gołej blachy. Ale nie ma tragedii. Przetarg na zakup pociągów zawierał przecież zapis uprawniający koleje dolnośląskie do wykonania we własnym zakresie przeglądów okresowych konkretnych poziomów. Producent składów, nowosądecki Newag, zobowiązany został do dostarczenia tej mistycznej dokumentacji systemu utrzymania. A to nie lada kobyła, bo lektury jest tam na jakieś 20 tysięcy stron. Mając więc kompletną instrukcję, co może później tak? No okazuje się, że całkiem sporo. Po składaniu w całość pociąg nie rusza. Komputer pokładowy nie wyświetla żadnych błędów, ale skład po zadaniu polecenia jeść zwalnia hamulce, jednak nie chce ruszyć z miejsca jak jakieś osioł albo ciele, które się uparło. Silniki nie dostają żadnego napięcia z falowników i nikt nie wie dlaczego. W dokumentacji nie ma ani słowa o takim zachowaniu, więc w sumie nawet niezbyt jest pomysł od czego zacząć. Ponowne uruchamianie czy wsiadanie i wysiadanie ze zdwojoną siłą zdają się nie dawać żadnych efektów. No a to dopiero początek problemu. Impulsów na taki przegląd zaplanowanych jest 11 sztuk. Gdy pierwszy ciągle stoi i nie da się go uruchomić, to w międzyczasie już kolejny trafia na serwis. No i to samo. Po przeprowadzeniu przeglądu zgodnie z procedurą ten też nie odpala i nikt nie wie dlaczego. Oczywiście problem zostaje zgłoszony producentowi, czyli firmie Nevac. Odpowiedź? Zadziałał system bezpieczeństwa i zablokował pociągi. Tylko, że w instrukcji nie ma o nim żadnej wzmianki. A koszty w międzyczasie rosną i to szybko. Pojawia się też widmo kar umownych, bo pociągi zamiast jeździć i wozić pasażerów stoją sobie bezczynnie w serwisie. W SPS-ie robi się gorąco. Ktoś więc wpada na nieszablonowy pomysł. Jaki, zapytacie? Ano taki, żeby zerknęli na to specjaliści od cyberbezpieczeństwa. I to nie byle jacy. O kim mowa? O polskiej grupie Dragon Sector, którą sam też od lat podziwiam za niezliczone już sukcesy w konkurencjach kategorii Capture the Flag na różnych konferencjach. Z kilkoma z nich nawet miałem okazję przybić piątkę, tak na minionym Omahaku, jak i dawno, dawno temu na którymś Defconie. To jest absolutnie światowa czołówka w zakresie cyberbezpieczeństwa. Warto mieć tego świadomość. Tematem postanawiają zająć się Michał Redford-Kowalczyk, Sergiusz Kutrzyka-Bazański oraz Kuba Pan Kleszcz-Stępniewicz. W sumie nie ma się co dziwić, kto by tam nie chciał zaspokoić nostalgii za dzieciństwem i znów pobawić się pociągami. I to w pracy. Grupa badaczy przyjeżdża na miejsce i staje przed karkołomnym zadaniem. Rozpracować w najdrobniejszych szczegółach jak działa coś, z czym spotykają się po raz pierwszy w życiu. Nie zwlekając za nad to biorą się więc do roboty. Jak się okazuje w pociągach, podobnie zresztą jak w samochodach, do komunikacji pomiędzy podzespołami wykorzystuje się szynę CAN. To popularne rozwiązanie, które pozwala nie łączyć każdego jednego elementu systemu z innymi na rozgwiazdę, ciągnąc przy tym kilometry kabli, a podpiąć poszczególne podzespoły do takiego wspólnego rdzenia nerwowego, który spina wszystko ze sobą w jedną całość. Skoro więc jest ona tak istotna i odpowiada za całość komunikacji, to dobrze zacząć od podsłuchania, co tam się na niej tak właściwie dzieje. Sama możliwość słuchania to jednak tylko początek. No bo to trochę jak nagła teleportacja do jakiegoś egzotycznego kraju, nie znając ni wiotę używanego w nim języka. Niby słychać, że ktoś coś mówi, ale w sumie i tak nie wiadomo o co chodzi. Badaczom udostępniono również zapasowe komputery oraz zestaw narzędzi deweloperskich SDK. Jednak nie wystarcza to, aby zgrać całe oprogramowanie z pamięci pociągu. Można tylko wgrać nowszą jego wersję. Udało się odnaleźć interfejs debugujący, z którego żmudnie bajt po bajcie zaczęto odczytywać pamięć urządzenia. Tak, żeby to nikomu nie uknęło. Przypominam, nie ma żadnych gotowych narzędzi do prowadzenia takich analiz. Nie wystarczy w wyszukiwarce wpisać narzędzie do debugowania pociągów, żeby znaleźć jakiś zapomniany projekt na GitHubie. Wszystko trzeba albo zrobić samemu, albo zmodyfikować coś już istniejącego do swoich potrzeb. Z czasem zaczynają pojawiać się jakieś skromne efekty prac. No właśnie, z czasem. A ten biegnie nieubłaganie. Koszty stale rosną, a koleje dolnośląskie i ich pasażerowie są pewnie coraz bardziej wściekli na całą tę sytuację. Czy to dobry moment na wywieszenie białej flagi? Kiedy na przegląd ma trafić kolejny już impuls, gdy żaden poprzedni jeszcze nie opuścił o własnych siłach bram niezależnego serwisu, koleje dolnośląskie podejmują odpowiedzialną decyzję. Podkulają ogon, chowają dumę głęboko do kieszeni i wysyłają skład na przegląd prosto do producenta. Logiczne. Nie mogą sobie pozwolić na to, żeby cała flota nowych składów stała niesprawna i nie woziła pasażerów. Newag oczywiście sprawnie ogarnął temat za dodatkową opłatą i pociąg przesłany do nich, zamiast do SPS-u, poza przetargiem, zadziałał jak gdyby nigdy nic. W sumie wniosek wydaje się oczywisty. Jakaś mała firemka wystartowała w ogromnym przetargu, nie mając do tego odpowiednich kompetencji i tylko serwis u producenta może zapewnić bezproblemową obsługę składów. No proste. Jest tylko w tym rozumowaniu jeden maleńki problem. W identyczny sposób potrafiły wcześniej zepsuć się składy, które do SPS na przegląd wcale nie trafiły, a stały po prostu przez jakiś czas na bocznicach kolei dolnośląskich. W Szczecinie doszło do podobnej sytuacji, gdzie skład innego operatora po serwisie też odmówił współpracy. Nie ma przypadków, są tylko znaki. Po rynku zresztą podobno zaczęły chodzić zakulisowe plotki, że za tymi awariami stoi sam producent Impulsów. No ale plotki ploteczkami, kto by tam tego słuchał i wierzył w jakieś teorie spiskowe? Umowa z SPS ma zostać zerwana, jeżeli w bardzo szybkim tempie nic się nie zmieni. W dodatku rosną też kary umowne do wysokości dwóch milionów złotych, bo wszystkie znaki na szynach i pantografach wskazują przecież na to, że SPS nie ma kompetencji do przeprowadzania napraw. Atmosfera więc pewnie jest gorąca jak hutniczy piec, a jak wszyscy wiemy, to zawsze pozytywnie wpływa na tempo pracy. Badacze w międzyczasie wciąż w pocie czoła analizują wyjęte z pociągów sterowniki i odnoszą w końcu pierwsze widoczne sukcesy. Udaje im się odnaleźć taką konfigurację flag w pamięci urządzenia, która wieszczy możliwość uruchomienia pociągu. Jednak jak nie urok, w urządzeniu tym pali się kondensator. Cóż, to pewnie efekt złośliwości rzeczy martwych albo wpływ tej gorącej atmosfery. Następnego dnia do SPS-u ma przyjechać delegacja kolei dolnośląskich i dać firmie czarną polewkę. Badacze wymieniają podzespoły pomiędzy urządzeniami i udaje się uruchomić komputer w takiej konfiguracji, która ma pozwolić na wystartowanie niedziałającego składu. Wyruszają więc w drogę do siedziby serwisu, ale spóźnia im się pociąg. Cóż, interesujący zbieg okoliczności. Mimo to docierają rano do miejsca i... NIE DZIAŁA. Czy to koniec? No nie. Badacze pochylają się jeszcze raz nad problemem, sprawdzają pewnie już setny raz konfigurację, odnajdują drobny błąd i... pociąg uruchamia się. Na niecałą godzinę przed przyjechaniem delegacji. Umowa nie zostaje zerwana. Tylko... co tak właściwie się stało? O tym wszystkim badacze postanowili w końcu opowiedzieć szerszej publice 5 grudnia na konferencji Oh My Hug na Stadionie Narodowym. Gdzie też miałem okazję wystąpić i pech chciał, że wrzucono nas w ten sam slot godzinowy. No ale mnie nagrywano, a ich nie, więc kiedy tylko spotkałem chłopaków w pokoju dla prelegentów i dowiedziałem się o czym będzie mowa na innej scenie, to starałem się wszystkich swoich widzów wygonić na prezentację o pociągach. Czego można było się z niej dowiedzieć? W kodzie oprogramowania wewnętrznego pociągów znaleziono wiele ciekawostek. Na przykład koordynaty geolokalizacyjne różnych kolejowych serwisów, innych niż te newagowe, które potencjalnie mogłyby przeprowadzać naprawy składów. Między innymi mowa o serwisach PES-y czy SPS-u, ale nie tylko. Tylko... po co? Ano zmienne te wykorzystywane są w kodzie, który sprawdza czy pociąg nie stoi przypadkiem od jakiegoś dłuższego czasu w bezruchu. Stoi? To ma przestać się uruchamiać, bo pewnie trwa jego przegląd. Ale to psuło narrację o nieudolnych serwisantach konkurencji, bo czasami pociągi stały też przez dość długi czas na bocznicach ich użytkowników. Więc gdzieś w międzyczasie, w trakcie jednej z aktualizacji oprogramowania, dodano kolejny warunek właśnie dotyczący geolokalizacji. Od tej pory, jeżeli pociąg stał dłużej, ale tylko we wskazanych miejscach, to dziwnym trafen przestawał się odpalać. Ale to nie wszystko. Jeżeli pociąg, a w sumie to jego komputer, zauważy, że wymieniono jakiś podzespół na taki o innym numerze seryjnym, to też ma dojść do blokady. Można było ją jednak obejść, wciskając odpowiednią sekwencję przycisków w kabinie maszynisty. Trochę jak korzystanie z kodów na nieśmiertelność albo wszystkie bronie w grach. Ale gdy ta informacja stała się szerzej znana, to znów aktualizacja wewnętrznego oprogramowania usunęła tę opcję. Zresztą na próżno było szukać informacji o niej w dokumentacji. Znaleziono też kod odpowiadający za wymuszenie awarii pociągu po przekroczeniu przebiegu miliona kilometrów. Badacze przytoczyli też inną historię. Pociągu, który zepsuł się wcale nie stojąc w serwisie. Tak na marginesie to ciekawe, że w tej historii normalnie brzmi psucie się czegoś w serwisie, a nie poza nim. No ale na pokład. Komputer pociągu zgłosił awarię sprężarki. Technicy więc dokładnie ją sprawdzili, przetestowali i wszystko wskazywało na to, że była ona w pełni sprawna. Pociąg jednak nie dawał za wygraną, ciąż twierdził, że jest zepsuta i nie chciał zmienić zdania. Nic dziwnego. W kodzie sterownika pociągu znaleziono warunki uzależniające zgłoszenie awarii rzeczonej sprężarki w zależności od daty w kalendarzu, a nie od tego, czy rzeczywiście jest zepsuta, czy też nie. Zresztą polecam doczytać szczegóły, wszystkie źródła znajdziecie w opisie pod filmem. Okazuje się, że kod ten był dość nieudolnie napisany przez kogoś, kto chyba nie do końca wie, jak działają IFy. W jednym ze składów znaleziono też urządzenie umożliwiające zdalną komunikację z komputerami pociągu poprzez sieć komórkową. W ten sposób mogły być wysyłane gdzieś na przykład raporty o błędach. Co ważne, i co również warto podkreślić, bo pojawiło się w sieci wiele kąśliwych uwag na ten temat, również ze strony Newagu, badacze nie modyfikowali kodu oprogramowania pociągu. Jeszcze raz, głośno, aby wybrzmiało. Nikt nie wprowadzał zmian w wewnętrznym oprogramowaniu pociągów i nie wgrywał go potem w sterowniki składu. Jedyne zmiany, jakie wprowadzono, to zmiany flag czy konfiguracji, zwał jak zwał. O co chodzi? Najprościej wytłumaczyć to analogią do samochodu. W każdym chyba aucie możemy zapisać w pamięci swoją ulubioną stację radiową tak, aby potem mieć do niej szybki dostęp, a nie kręcić pokrętłem fizycznym czy wirtualnym. A to zapisuje się w takiej czy innej formie pamięci. Zmiana tego ustawienia w żaden sposób nie wpływa na komputer silnika. Tutaj jest podobnie. Badaczom udało się, wykorzystując wbudowane w oprogramowanie producenta funkcje, zmodyfikować wpisy w konfiguracji na takie, które umożliwiają uruchomienie pociągu. Bo, co ciekawe, jak widać producent przewidział taką opcję. Wystarczyło po prostu znaleźć jakiś sprytny sposób, jak ją uruchomić. Zresztą nie ma się tu czemu dziwić. Żaden odpowiedzialny haker nie wpadłby na pomysł wgrywania zmodyfikowanego przez siebie oprogramowania w wewnętrzne systemy pociągu poruszającego się z pasażerami po torach. To byłoby przecież tak złe na tak wielu płaszczyznach. No i przy okazji nielegalne, bo w grę wchodzą tu homologacje, dopuszczenie do ruchu czy chociażby gwarancja producenta. Zresztą rzeczony producent przecież na pewno wprowadził odpowiednie zabezpieczenia, aby nie dało się do pociągów grać oprogramowania zdobytego w pierwszym lepszym sklepie z oprogramowaniem do pociągów, prawda? No, nie do końca. Zastanówmy się w międzyczasie wspólnie, kto w ogóle te dziwne funkcje w oprogramowaniu wprowadził. Może to wcale nie był Newak? Cóż, byłoby to nie lada skandalem, gdyby ktoś nieuprawniony podpinając się kablem do komputera pociągu uzyskał dostęp do jego wewnętrznego oprogramowania, zgrał je sobie, zmodyfikował, a potem wrzucił takie zmienione oprogramowanie z powrotem do pociągowych komputerów. Skupmy się na tym, co wiemy, a nie na domysłach. Przede wszystkim aktualizację oprogramowania nie można wykonać zdalnie, po prostu nie ma takiej fizycznej możliwości. Zresztą wyciągnięcie całości z oprogramowania z pociągowego komputera jest naprawdę trudne, jeżeli ktoś nie przewidział takiej możliwości. Zajęło to badaczom wiele tygodni, a pewnie i tak udało się tylko częściowo i po prostu ta część wystarczyła. Pamiętajcie, mamy tu do czynienia z absolutną światową śmietanką specjalistów w takich tematach. Mnie takie próby zajęłyby pewnie czasu na kilka żyć, a efektu i tak dalej by nie było. No ale wyciągnięcie to jedno, a modyfikacja to już zupełnie inna para kaloszy. W dużym skrócie jest to praktycznie niewykonalne. No chyba, że posiada się nie tylko oprogramowanie już skompilowane, ale również jego kod źródłowy i odpowiednią wiedzę. Na podstawie oprogramowania w formie kodu maszynowego, czyli tego co wyciągnięto z komputerów, impulsów, bardzo trudno jest ustalić kto jest jego autorem. Oprogramowania w sensie. Tylko ta wiedza wcale nie jest nikomu do szczęścia ani udowodnienia swoich racji potrzebna. Bo z dużą dozą prawdopodobieństwa, graniczącego zresztą z pewnością, można ustalić czy zmiany w oprogramowaniu zostały wprowadzone na etapie kodu źródłowego, czyli tego co normalnie piszą programiści, czy też na etapie kodu maszynowego, czyli tego co uzyskuje się już po kompilacji. Dlaczego? Bo zmiany wprowadzane w kodzie maszynowym są zdecydowanie bardziej skomplikowane i zostaje po nich masa różnych artefaktów. Na przykład jakieś puste funkcje, służące tylko do tego, żeby być takimi zapchajdziurami po czymś co się usunęło. No a jak chce się coś dodać, co tutaj zresztą było przez newak niesynuowane, spoiler alert, to robi się o rzędy wielkości trudniej. Trzeba albo znaleźć w kodzie miejsce gdzieś, gdzie teoretycznie go nie ma, rozepchać się łokciami, wrzucić tam jakiś nowy drogowskaz, który przekieruje bieg całego programu w inne miejsce pamięci, a potem jeszcze zrobić tak, żeby to wszystko zadziałało. To jest prawdziwy programistyczny koszmar, gdzie w dodatku można popełnić po drodze błędy w setkach miejsc. I to nie znaczy, że tego się nie da zrobić. Są takie tęgie głowy na tym świecie. Ale to po prostu zawsze widać, jak łatę naszytą na kolanie dżinsów, albo opatrunek na pooperacyjnej ranie, po której już na zawsze zostanie blizna. Innymi słowy to jest jak z bananami i bananowcem. Wpadł do nas do plantacji bananów. Z ciastem w sensie. Z bananów zrobicie bananowiec, ale odzyskać potem z gotowego ciasta banany, pozamieniać parę rzeczy i próbować znowu ulepić ciasto, które będzie w dodatku pasowało do takiej samej formy, czyli tak samo wyglądało, to jest strasznie żmudna praca. Zresztą, wcale nie ma pewności, czy będzie to w ogóle smaczne, a szansa, że coś po drodze się wywali, jest olbrzymia. Wszystkie różnice więc łatwo zauważyć, w szczególności dysponując pierwotnym oprogramowaniem, które rzekomo zmodyfikowano. Jeżeli tych różnic nie ma, to zmiana nie mogła zostać wprowadzona na poziomie kodu maszynowego, a ktoś zmienił coś na wcześniejszym etapie, czyli etapie kodu źródłowego, do którego dostęp powinien mieć jedynie newak. Czy to dzieło kogoś złośliwego, czy też nie, to jest już materiał na zupełnie inną opowieść. Wszystkie te wątpliwości rozwiewa na swoim blogu jeden z członków wywagą sektora, Genwael, którego z tego miejsca serdecznie pozdrawiam i jestem wiernym czytelnikiem od lat. Nie to, żebym rozumiał, ale czytam. Zerknijcie tam, jeżeli chcecie poznać więcej technicznych szczegółów. Między innymi tłumaczy on jak krowie na rowie, czym różni się deasemblacja od dekompilacji. Bardzo ciekawa lektura, serdecznie polecam, linki oczywiście znajdziecie w źródłach. Kolejną wskazówką co do tego skąd pochodzi kod odpowiedzialny za unieruchomienie pociągów są zmiany w nim. Niektóre komputery pokładowe były wysyłane do Newagu. Badaczom udało się dokonać zrzutu pamięci przed wysyłką, jak i po tym, kiedy wróciły już od producenta. W tym czasie warunki, na podstawie których dokonywano blokad, potrafiły ulec zmianie. I np. czas postoju, po którym pociąg przestawał działać, wydłużał się z 10 dni do 3 tygodni. Wskazuje to zatem, że ktoś po stronie producenta nie tylko miał do tego kodu dostęp, ale też był w stanie go modyfikować i następnie wgrywać do pociągów. Wiadomość, że unieruchomione impulsy da się jednak odpalić, rozeszła się dość szybko po całym kraju. Bo inni użytkownicy spotykali się z dokładnie tym samym problemem, choć w mniejszej skali niż koleje dolnośląskie. Do Dragon Sektora zaczęli zgłaszać się inni operatorzy impulsów serwisujący swoje składy poza Newagiem, a hakerzy korzystając ze swoich doświadczeń i zbudowanych narzędzi byli w stanie odblokować wszystkie z nich. To tak jak ze zbrikowanymi telefonami, tylko po prostu zabawka jest nieco większej skali. Na prawie 30 badanych składów tylko w pięciu nie znaleźli żadnych nieopisanych w dokumentacji dodatków. Dragon Sektor zabezpieczył też w pewnej części zgrane oprogramowanie pod kontrolą niezależnych audytorów, aby jakimś dziwnym przypadkiem nie wyparowało. Tylko jak to wszystko przyjął Newag? Newag zareagował przede wszystkim dementując informację, że celowo blokowali oni pociągi swojej produkcji. Spółka twierdzi, że programowanie ich autorstwa na pewno nie zawiera żadnych rozwiązań, które prowadzą do celowych awarii. Odkrycia badaczy oraz stanowisko warsztatu serwis pojazdów szynowych ASO Mieczkowski, gdzie wykonywane były naprawy impulsów kolei donośląskich, nazywają bezpodstawnymi i nieuprawnionymi oszczerstwami. Ma to być element czarnego PR-u ze strony konkurencji. Argumentem to potwierdzającym ma być zaś fakt, że serwisowanie pociągów jest dla Newagu mało istotnym źródłem przychodu, stanowiącym zaledwie około 5% biznesu. Choć tak na marginesie, przy obrocie rocznym na poziomie miliarda złotych, nie jest to wcale mała kwota, ale ja tam się nie znam. Oskarżenia te mają być teorią spiskową firmy SPS, której to zlecono naprawę. Ta rzekomo miała nie być w stanie wywiązać się ze wziętego na swoje barki zadania i teraz poszukuje po prostu wyjścia z sytuacji, aby uniknąć kar umownych. No i żadnych dowodów na winę Newaga nie ma, ba sugerują, że to przecież konkurencja mogła zmodyfikować oprogramowanie pociągów. Tę tezę myślę już opaliliśmy, ale idą oni z swoimi wnioskami o krok dalej. Domagają się wycofania dotkniętych rękami badaczy składów z eksploatacji, twierdząc, że wbrew deklaracjom SPS i Dragon Sectora na pewno ktoś ingerował w wewnętrzne oprogramowanie pociągów, a to ma czynić je zagrożeniem dla bezpieczeństwa ruchu. Doniesienia w tej sprawie miały wyjść od Newagu do służb już w zeszłym roku, kiedy tylko się o tym dowiedzieli. Podkreślają, że składy są już po okresie gwarancji, a dostęp do nich u każdego przewoźnika ma bardzo szeroka grupa podmiotów. I to na przewoźnikach właśnie ciąży odpowiedzialność za to pilnowanie, aby do krytycznych systemów pociągów nie mógł dostać się byle kto, bo zaniedbania w tym zakresie mogą przecież prowadzić do tragedii. Zawiadomienie w tej sprawie złożyli również do Urzędu Transportu Kolejowego, a w stosunku do SPS i Dragon Sektora zapowiedziano pozwy. Czy to przestraszyło badaczy? Dragon Sektor obstaje przy swoim. Uważają, że ich analizy jasno wskazują, że oprogramowanie impulsów zawierało kod symulujący usterki na podstawie zadanych parametrów, w tym lokalizacji geograficznej. Ba, podkreślają dodatkowo, że Newag musi być bardzo zaskoczony ich odkryciem, ponieważ wiele wskazuje, zdaniem Dragon Sektora, na fakt, że producent pociągów nie spodziewał się w najśmieszszych snach, że ktoś będzie roztrząsał ten temat. Świadczy o tym choćby fakt, że kod odpowiadający za blokady nie jest w żaden sposób ukryty w oprogramowaniu. Kancelaria reprezentująca Dragon Sektor jasno podkreśla, że nie ma żadnych wątpliwości co do tego, że badania specjalistów od cyberbezpieczeństwa są w pełni legalne, tak na kanwie prawa karnego, jak i prawa autorskiego. Odbijają oczywiście piłeczkę, stawiając pod znakiem zapytania działalność Newagu i to w wielu różnych aspektach. Pojawia się też inny ciekawy wątek, kont na Twitterze i w innych mediach, które to bronią wersji Newagu jak Monte Casino. Wygląda to, jakby ludzie zakładali nowe konta tylko i wyłącznie po to, by przedstawić pewien konkretny punkt widzenia. To nie jest tak, że mam jakieś doświadczenia w wykrywaniu przez lata botów, ale coś czuję, że w komentarzach będziemy mieli do czynienia z interesującymi opiniami, które na pewno nie zostały przez nikogo zamówione. A, no i w całej tej sprawie jest przecież jeszcze jeden interesariusz. Koleje Dolnośląskie, które również opublikowały swoje oświadczenie prasowe. Podkreślają w nim, co chyba najważniejsze, że wszystkie awarie, które wydarzyły się w ich impulsach, miały miejsce, gdy nie były one w czynnej eksploatacji, a więc nie miały żadnego wpływu na bezpieczeństwo pasażerów. Zwracają uwagę też na fakt, że awaryjnie uległ, jak to sugeruje Newag, system bezpieczeństwa pociągu, a po prostu nie było możliwości uruchomienia napędu. I nie jest to jakaś rzekoma usterka, jak twierdzi producent, bo pociągi wcale nie rzekomo były unieruchomione. No a wszystkie czynności wykonywano zgodnie z pierwotnym przetargiem, na podstawie którego doszło do nabycia składów wraz z odpowiednią dokumentacją. Tylko co dalej? Cóż, to się okaże. Urząd Transportu Kolejowego zna sprawę. Ba, nawet współpracuje z odpowiednimi służbami. Zaangażowany jest również CERT, jednak oni zajmują się stricte kwestiami bezpieczeństwa, a nie kontraktami pomiędzy różnymi podmiotami i zasadami zdrowej konkurencji. Bo czy działania hakerów są w ogóle legalne? No, ja tam nie jestem prawnikiem, ale na mój prosty rozum wiele wskazuje na to, że tak. Adam Hertle z zaufanej trzeciej strony przytacza choćby przepisy prawa autorskiego, które przewidują możliwość obserwowania, badania i testowania oprogramowania bez konieczności uzyskiwania zgody jego producenta. Unijna legislacja wydaje się to też potwierdzać, zresztą będąc dużo bliżej istoty tego konkretnego problemu. Wygląda na to, że służby, w tym głównie Agencja Bezpieczeństwa Wewnętrznego, również działają w tej sprawie. Do prokuratury w Nowym Sączu, gdzie siedzibę ma NYWAK, złożono zawiadomienie o podejrzeniu popełnienia przestępstwa i to z dwóch paragrafów. Mowa w nich o niszczeniu i zmienianiu danych informatycznych, o szczególnym znaczeniu dla kraju oraz oszustwie. Ciekawy aspekt poruszyło inne, zacytowane w mediach niestety anonimowo źródło. Istnieje taki artykuł kodeksu karnego, stosowany do tej pory przeciwko graficiarzom tagującym składy. Do moich kolegów strzelanów. Mowa w nim o uszkodzeniu urządzeń infrastruktury i czynieniu ich nieznatnymi do użycia. Cóż, brzmi adekwatnie, ale co ja tam wiem. Co robić i jak żyć. Czy czegoś możemy się wszyscy nauczyć z tej historii? Niezależnie od prawnych rozstrzygnięć? Tak, i to sporo. Przede wszystkim nie rób tak. Jeżeli rozwijasz jakiś produkt, konkuruj jego jakością, a nie stosuj jakieś nieczyste zagrywki, aby pogrążyć swoją konkurencję. Raz wygrasz, raz przegrasz, pewnie nawet częściej przegrasz i często dostaniesz po tyłku. Ale warto być przyzwoitym. To po prostu nie ma swojej ceny. Po drugie, podpisuj cyfrowo oprogramowanie. W przypadku pociągów w NYWAGU takich zabezpieczeń podobno nie było. Co z jednej strony przeraża, że lepiej zabezpieczone potrafi być oprogramowanie naszych telefonów czy też konsoli do gier niż pociągów. Pozwala to przy uruchamianiu systemu sprawdzać w pamięci, czy to co się w niej znajduje nie zostało jakoś zmodyfikowane. Z drugiej umożliwia teraz NYWAGowi negowanie rzeczywistości i zasłanianie się tym, że ktoś inny przy tym gmerał. Cyfrowy podpis rozwiałby te wątpliwości i wiadomo byłoby jednoznacznie, kto dany kod wprowadzał do oprogramowania pociągu. Pamiętaj, że haker to nie jest pejoratywne określenie. W sumie każdy rozwiązujący informatyczne łamigłówki może się tak tytułować. Ty też. Dlatego nie pozwól wrzucić Dragon Sektora do worka z jakimiś zbirami, bo mam wrażenie, że podejmowane są takie próby. To są wybitni specjaliści od cyberbezpieczeństwa, przed którymi chyle czoła. Tak jak wszyscy moim zdaniem powinni. Wykonali oni tytaniczną pracę, której serdecznie im gratuluję. Zwróć uwagę, że szeroka walka o prawo do naprawy to nie jest tylko możliwość wymiany ekranu w telefonie czy też baterii w laptopie. To jest również możliwość startu w różnych przetargach wielu niezależnych podmiotów, aby ograniczyć monopolizowanie rynków. O wygranej powinno decydować połączenie odpowiednich kompetencji i konkurencyjnej ceny, a nie schowany gdzieś w oprogramowaniu kod. Jeżeli te zarzuty w całości bądź nawet częściowo się potwierdzą, to jest mi tak po prostu po ludzku przykro, że firma, która robi naprawdę dobry produkt, którym śmiało moglibyśmy wojować na międzynarodowych rynkach, ucieka się do takich zagrań. Więcej powinniśmy dowiedzieć się na nadchodzącej konferencji Chaos Computer Club w Hamburgu, na którą się wybieram i mam nadzieję dowiem się czegoś więcej w tej sprawie, aby zdać Wam relację. Prezentacja badaczy z Dragon Sektora ma być nagrywana, więc też będziecie mogli ją pewnie w całości zobaczyć. Zresztą, drodzy widzowie, już teraz zapraszam Was na przyszłoroczny OhMyHack, bo to jest miejsce, gdzie można dowiedzieć się z pierwszej ręki rzeczy takiego kalibru. No i raz jeszcze dziękuję Adamowi Hertle z Zaufanej Trzeciej Strony za błogosławieństwo i możliwość bazowania na jego artykułach, aby przybliżyć Wam tę historię. Warto czytać zaufaną, ja czytam. I to już wszystko na dziś. Tymczasem dziękuję za Waszą uwagę i do zobaczenia! Napisy stworzone przez społeczność Amara.org