Afera Newag

2

https://www.onet.pl/informacje/onetwiadomosci/awarie-pociagow-newagu-hakerzy-ujawniaja-kto-stoi-za-celowymi-usterkami/g4hymmg,79cfc278

Przyznać się, kto z was robił ręczne porównywanie dat:

Z Zielonej Góry zadzwonili do nas dokładnie 21 listopada 2022 r. Tego dnia ich pociąg nie ruszył, bo nie można było podnieść pantografów, czyli nie miały zasilania. Po analizie okazało się, że w oprogramowaniu wpisano, że pociąg miał stanąć rok wcześniej, czyli 21 listopada 2021 r., kiedy to miał przewidziany serwis. Wtedy był właśnie na serwisie i dlatego nikt niczego nie podejrzewał. Jednak informatyk, który wpisał tę datę, przedobrzył. Wpisał regułę, że pociąg ma stawać w dacie równej lub większej niż 21 listopada 2021 r. Stawał więc również w grudniu 2021 r. i również stawałby w kolejnych latach od 21 listopada do końca miesiąca i od 21 grudnia do końca miesiąca. Ruszałby dopiero od stycznia, bo przecież to miesiąc niższy niż listopad — wskazuje Michał Kowalczyk.

Dlatego tak ważne jest Code Review!

0

Podejrzewam, że to nie code review zawiodło i "informatyk" nie przedobrzył, a analityk biznesowy podał ciekawe wymagania.

Ciekawe jak to się skończy dla owego programisty. Z jednej strony - nie można się tłumaczyć "wykonywałem rozkazy", ale na pewno to jest jakaś okoliczność łagodząca.

Z drugiej strony - gdybyście mieli taką okazję, tj.:

  • wziąć na siebie taką winę,
  • jak afera ucichnie to zainkasować stosowne odszkodowanie i zadośćuczynienie

to czy wzięlibyście to na siebie?

1

Mam nadzieje na wiezienie od programisty w gore. To pod teroryzm mozna podciagnac...

A politycznie mysle ze fajna obitka opozycji na "afere" wiatrakowa i material na kolejna komisje

1

Heh, my w czwartek wydaliśmy niedziałający produkt bo bazodanowiec zmienił procedurę składowaną bez trybu, bez review, bez testów bez czegokolwiek. Ciekawie wyglądał by swiat jakby za to wsadzali. Czy wszyscy Hindusii by się zmieścili w więzieniach ?
Czy pracowalibyśmy bezpośrednio z wieńzień? Kto zaopiekowałby się moimi psami?

2

Dobrze że nie robię w usługach publicznych.

3
wartek01 napisał(a):

to czy wzięlibyście to na siebie?

Ja bym grał na świadka koronnego.

Ale tak, pora na pierwsze więzienia bez zawiasów za kod. Bez tego nie bedziemy jako branża profesjonalni (zupełnie serio, to nie sarkazm). Wsadza się za zwalone mosty, błędy medyczne, oszustwa finansowe, wkład w katastrofy, tylko u nas "software as is"

0

Wydac niedzialajacy produkt, a umyślnie powodować "awarie" infrastruktury krytycznej to chyba inna skala

A czy tamten od pociągów umyślnie spowodował awarię? Czy nieumyślnie bo mu się wbił zły znak? >= zamiast ==?

2

Na razie widać jak próbują się bronić. Typowe odwracanie kota ogonem, czyli twierdzenie że pociągi stanęły bo ingerowano w oprogramowanie, gdy tymczasem było odwrotnie ingerowano w oprogramowanie bo pociągi stanęły i trzeba było sprawdzić czemu.

Sprawa jest ewidentna, znaleziono logikę która tym sterowała. Według mnie jest możliwe że programista beknie za to, na zasadzie kozła ofiarnego. Ale bardziej prawdopodobne że przykleją to do jakiegoś dyrektora/kierownika niższego szczebla.

Ogólnie to nie wiem jakim trzeba być idiotą żeby coś takiego robić, chyba ktoś nie zdawał sobie sprawy że całe oprogramowanie można zrewersować i wszystko sprawdzić i że to się nie ukryje.

0

@AnyKtokolwiek: też jestem zdania, że programista powinien móc powiedzieć "nie napiszę tego bo mnie za to zamkną". Z drugiej strony jeśli kasa byłaby odpowiednio dobra- to na serio dwa razy bym się zastanowił czy jednak to nie była tylko i wyłącznie moja inicjatywa ;) Zwłaszcza, gdybym był na UoP.

@KamilAdam: z kodu ewidentnie widać, że to nie jest pomyłka. Chyba, że programista:

  • najpierw wpisał te współrzędne przez przypadek
  • potem pomylił się osiem razy przy wpisywaniu owego warunku
  • i w końcu w środku tego if'a przez przypadek ustawił wyłączanie pociągu

Również uważam, że nie da się tego wytłumaczyć "ja nie wiedziałem co to zrobi".

1

Cóż sprawą się nikt nie interesował bo plecy. Przypominam że pan premier morawiecki wielkrotnie zakłąd wizytował mówił w samych superlatywach to i CBA nie ma prawa się mieszać.

0

Wszystkie polskie służby już od maja wiedziały, że firma Newag mogła celowo wywoływać usterki w swoich pociągach, by przejmować intratne zlecenia na ich naprawę. Taką informację potwierdza w rozmowie z Onetem Janusz Cieszyński, były pełnomocnik rządu ds. cyberbezpieczeństwa i minister cyfryzacji. Zdaniem polityka w tej sprawie trwają już śledztwa.

Dziwne na wiatraki wymyślał lipne tabelki od razu na to czasu na tt nie znalazł?

0

O czym wy w ogóle tu debatujecie?! Odpowiedzialność ponosi producent pociągów. Dopiero gdyby producent pociągów poniósł stratę, to wewnętrznie może przeprowadzić śledztwo/audyt i sprawdzić kto jest winny. Gdyby okazało się, że winny jest programista, który wprowadził zmiany w kodzie w wyniku nienależytej staranności, to może odpowiadać finansowo do wysokości 3-miesięcznej pensji. Jeżeli programista wprowadził zmiany w kodzie umyślnie, to może odpowiadać do pełnej wysokości szkody. Z kolei jeżeli dostał takie wymagania od product ownera, to wtedy winny jest product owner i tutaj również decydujące jest czy działał umyślnie czy nieumyślnie.

W przypadku programisty na b2b o wysokości odpowiedzialności finansowej decyduje umowa. Jeżeli nie ma żadnych bezpieczników to może ponosić pełną odpowiedzialność za szkodę, nawet jeżeli działał nieumyślnie np. popełnił błąd w kodzie.

W tym konkretnym przypadku w kodzie były następujące warunki:

  • uniemożliwienie uruchomienia pociągu, jeżeli stał przez 10 dni w jednym z centrów serwisowych firmy Newag, sprowadzane po koordynatach gps
  • uniemożliwienie uruchomienia pociągu, jeżeli wymieniono któryś z komponentów, sprawdzane po nr seryjnym
  • uniemożliwienie uruchomienia pociągu, jeżeli pokonał 1 milion kilometrów
  • informowania o awarii sprężarki w dniach 21-30 listopada i 21-31 grudnia każdego roku począwszy od 2021.
  • logika umożliwiająca zdjęcie powyższych blokad przez serwisanta lub maszynistę, po wprowadzeniu odpowiedniej sekwencji uderzeń klawiszy w kabinie pociągu.

Dodatkowo w pociągach znaleziono urządzenie, które za pomocą sieci GSM informowało producenta o wystąpieniu którejś z blokad.

Nawet jeżeli programista w którymś z tych warunków popełnił błąd np. tak jak sugeruje "Trzecia strona", że pociąg miał stanąć tylko w dniach kiedy miał przegląd, zaplanowany na koniec listopada 2021 rok, a nie co roku w listopadzie i grudniu, to nic nie świadczy o tym, że była to zmiana wykonana z inicjatywy programisty.

Wszystkie zmiany wyglądają na celowo wprowadzone przez producenta, potwierdza to również urządzenie które wysyła informacje o blokadach. Nie ma tutaj mowy o błędzie programistów, ale jest to celowe działanie producenta.

Ja ze swojej strony miałem przyjemność uczestniczyć w projekcie dla producenta autobusów. Projekt polegał na zbieraniu danych o sposobie eksploatacji maszyn, ustawieniach i wskazaniach komponentów, w celu przewidywania awarii przed jej wystąpieniem oraz wyłączania gwarancji producenta, jeżeli sprzęt był eksploatowany niezgodnie z zaleceniami.

0
Haskell napisał(a):

O czym wy w ogóle tu debatujecie?! Odpowiedzialność ponosi producent pociągów. Dopiero gdyby producent pociągów poniósł stratę, to wewnętrznie może przeprowadzić śledztwo/audyt i sprawdzić kto jest winny. Gdyby okazało się, że winny jest programista, który wprowadził zmiany w kodzie w wyniku nienależytej staranności, to może odpowiadać finansowo do wysokości 3-miesięcznej pensji. Jeżeli programista wprowadził zmiany w kodzie umyślnie, to może odpowiadać do pełnej wysokości szkody. Z kolei jeżeli dostał takie wymagania od product ownera, to wtedy winny jest product owner i tutaj również decydujące jest czy działał umyślnie czy nieumyślnie.

To nie ma znaczenia przy procesie karnym. Jest całkiem sporo procesów karnych w których wykonujący polecenia szefa dostał karę porównywalną z szefem. Jedyne, co mogłoby uratować programistę to brak świadomości, co robi - a to trudno byloby wykazać.

W przypadku procesu cywilnego sprawa jest pomiędzy dwiema firmami, więc osoby fizyczne nawet nie są stronami.

0
wartek01 napisał(a):

To nie ma znaczenia przy procesie karnym. Jest całkiem sporo procesów karnych w których wykonujący polecenia szefa dostał karę porównywalną z szefem. Jedyne, co mogłoby uratować programistę to brak świadomości, co robi - a to trudno byloby wykazać.

W przypadku procesu cywilnego sprawa jest pomiędzy dwiema firmami, więc osoby fizyczne nawet nie są stronami.

Jaki artykuł KK masz na myśli w kontekście pociągu, który nie chce ruszyć z miejsca? Raczej ciężko mi sobie wyobrazić, żeby ten kod mógł np. spowodować katastrofę kolejową.

0
Haskell napisał(a):
wartek01 napisał(a):

To nie ma znaczenia przy procesie karnym. Jest całkiem sporo procesów karnych w których wykonujący polecenia szefa dostał karę porównywalną z szefem. Jedyne, co mogłoby uratować programistę to brak świadomości, co robi - a to trudno byloby wykazać.

W przypadku procesu cywilnego sprawa jest pomiędzy dwiema firmami, więc osoby fizyczne nawet nie są stronami.

Jaki artykuł KK masz na myśli w kontekście pociągu, który nie chce ruszyć z miejsca? Raczej ciężko mi sobie wyobrazić, żeby ten kod mógł np. spowodować katastrofę kolejową.

z tego co możesz sprawdzić w pierwszych wynikach w google odnośnie back door i innych tego typu sprawek to art. 267 § 3 k.k.. istnieje możliwość podpięcia pod to.

0

@wartek01

Np. art 287, i pewnie art. 269, pewnie sporo innych by się znalazło.

IMHO bardzo naciągane. W jaki sposób chcieliby udowodnić, że to było wprowadzone w celu osiągnięcia korzyści majątkowej? Nie rozumiem też kwestii uszkodzenia danych, tutaj raczej nie może o tym być mowy, ponieważ to zaplanowane działanie.

Newag może bardzo łatwo wybronić się, że zaprogramowane blokady miały na celu ochronę życia ludzi lub urządzeń.

0

@Haskell: może przytoczmy art. 287

§ 1. Kto, w celu osiągnięcia korzyści majątkowej lub wyrządzenia innej osobie szkody, bez upoważnienia, wpływa na automatyczne przetwarzanie, gromadzenie lub przekazywanie danych informatycznych lub zmienia, usuwa albo wprowadza nowy zapis danych informatycznych,
podlega karze pozbawienia wolności od 3 miesięcy do lat 5.

Po redukcji kawałków według mnie nieistotnych w tej sprawie ten zapis wygląda tak:

Kto w celu wyrządzenia innej osobie szkody, bez upoważnienia, wpływa na automatyczne przetwarzanie danych informatycznych
podlega karze pozbawienia wolności od 3 miesięcy do lat 5.

Czy zmiany w systemie:

  • miały na celu wyrządzenie innej osobie (tutaj- osobie prawnej) szkody? Moim zdaniem tak, celowe wprowadzanie kawałka kodu, który ma zaszkodzić konkurencji jak najbardziej się kwalifikuje.
  • to, że ta wrzutka w kodzie to wpływanie na automatyczne przetwarzanie danych to jest sprawa jasna.

Pozostaje kwestia upoważnienia - w takim wypadku upoważnienie nie może pochodzić z firmy, a z zewnątrz - w tym wypadku od kupującego pociągi lub np. rządu.

Przy czym w przypadku programisty - nie musi być tak, że to on jest głównym oskarżonym. Może to być współudział.

Newag może bardzo łatwo wybronić się, że zaprogramowane blokady miały na celu ochronę życia ludzi lub urządzeń.

Trudno mi w to uwierzyć. Prędzej Newag będzie szedł w stronę "pomyliliśmy się" lub "to było oprogramowanie testowe" - jeśli sąd uzna, że nie da rady się tego podważyć to pozostanie jedynie kc.

0
Haskell napisał(a):

@wartek01

Np. art 287, i pewnie art. 269, pewnie sporo innych by się znalazło.

IMHO bardzo naciągane. W jaki sposób chcieliby udowodnić, że to było wprowadzone w celu osiągnięcia korzyści majątkowej? Nie rozumiem też kwestii uszkodzenia danych, tutaj raczej nie może o tym być mowy, ponieważ to zaplanowane działanie.

Newag może bardzo łatwo wybronić się, że zaprogramowane blokady miały na celu ochronę życia ludzi lub urządzeń.

Żyjemy w Polsce, tu można nie wsadzić chłopa ściganego listem gończym mordującego rodzinę z dziećmi na Autostradzie, a wsadzić kogoś bez dowodów do paki za anonima ;)

0

Koalicja (prawie) rządząca zwęszył trop, także zapowiada się że będziemy rodzime volkswagen gate :D

Lewica zawiadamia UOKiK w sprawie działań firmy Newag

https://stooq.pl/n/?f=1585970

1

Według tego artykułu służby wiedziały od maja :
https://www.onet.pl/informacje/onetkrakow/skandal-na-kolei-byly-minister-cyfryzacji-potwierdza-doniesienia-onetu/ts1bsxt,79cfc278
Smutne jest to, że nie ma od tamtego czasu żadnego działania. Powinniśmy się dowiedzieć nie z konferencji a z działań odpowiednich służb i urzędów.
Biorąc pod uwagę, że w tym przegranym przetargu różnica to 3000000 to w innych pewnie też musieli (czyli my musieliśmy) przepłacać.
Najgorsza jest krótkowzroczność. Przecież teraz poza PL Newag będzie miał problemy ze sprzedażą.

3

Czemu mówicie, że to developer? Mało to takich "kierowników w dziale rozwoju oprogramowania" (uwielbiam nazwę stanowiska) co pisali kiedyś jakiś kod, teraz zarządzają zespołami i jakieś tam kilka linijek kodu w pocie czoła mogliby naprodukować?

1

Newag stanowczo zdementował informacje o celowym wywoływaniu awarii.

Dodatkowo dodał następujące wyjaśnienia:

  • Pojazdy będące w posiadaniu Kolei Dolnośląskich czy Kolei Mazowieckich były poza gwarancją. Pojazdy Kolei Dolnośląskich zostały dostarczone w 2017 r. Od tego czasu przez 6 lat pozostawała pod kontrolą innych niż NEWAG podmiotów
  • Już w 2022 roku Spółka stwierdziła ingerencję w systemy sterowania pojazdami, dokonaną przez podmioty trzecie, o czym poinformowała w publicznym oświadczeniu prasowym. O powyższym fakcie Spółka powiadomiła również odpowiednie organy i służby, w tym Agencję Bezpieczeństwa Wewnętrznego, Prezesa Urzędu Transportu Kolejowego, Prokuraturę oraz Służbę Kontrwywiadu Wojskowego, jak również zwróciła uwagę użytkownikom Pojazdów na konieczność sprawowania odpowiedniego nadzoru nad eksploatacją i utrzymaniem pojazdów oraz ryzyko związane z dokonywaniem ingerencji w system sterowania pojazdami kolejowymi przez podmiot nieuprawniony.
  • Kategorycznie zaprzeczamy i negujemy wgrywanie przez NEWAG jakiejkolwiek funkcjonalności w systemach sterowania pojazdów ograniczającej lub uniemożliwiającej prawidłową eksploatację pojazdów jak również ograniczających krąg podmiotów mogących świadczyć usługi utrzymaniowe lub naprawcze.
  • Opisywane przez dziennikarzy portalu onet.pl pojazdy, których zhakowanie zlecił Podmiot Konkurencyjny, były przedmiotem drobiazgowych odbiorów przed sprzedażą, od dawna nie są w posiadaniu Spółki, oprogramowanie systemu sterowania jest zainstalowane na fizycznym nośniku zamontowanym w danym Pojeździe i ma charakter „offline” (brak połączenia z siecią), przez co faktycznie niemożliwa jest jakakolwiek ingerencja zdalna ze strony NEWAG.

Jest też odpowiedź @Gynvael Coldwind: https://gynvael.coldwind.pl/?lang=pl&id=777

1

Deweloper działał pod natchnieniem - no bo jak inaczej mógł przewidzieć że w 2023 na pewno nastąpi zmiana warty w preferowanym dostawcy taboru kolejowego i obstawi właściwego konia?

Za takie coś należy odpowiednia nagroda (i doświadczenie w negocjacjach).

3

0

zastanawiam się czy przypuszczenie że może to być wina czegoś dziwnego w oprogramowaniu nie pochodziła od jakiegoś pracownika.Przypuszczenie na tyle silne że została wynajęta ta grupa ekspertów Janusze, uważajcie jak wnerwicie kogoś kto wie co odwalacie na niekorzyść waszych klientów

1 użytkowników online, w tym zalogowanych: 0, gości: 1