1 puan yazan GN⁺ 2023-12-06 | 1 yorum | WhatsApp'ta paylaş
  • Polonya NEWAG Impuls EMU trenlerinde, üçüncü taraf bakım atölyelerinde yapılan bakımın ardından duran trenler sorununu üç araştırmacı yaklaşık 1 yıl boyunca PLC kodunu tersine mühendislikle inceleyerek analiz etti
  • Üretici, nedeni bakım hatasına bağlayıp bakımın kendi servislerinde yapılması gerektiğini savundu; ancak kodda belirli koşullarda sahte hatalarla treni kilitleyen mantık bulunuyordu
  • Bazı kontrolör sürümleri, üçüncü taraf bakım atölyelerini ayırt etmek için GPS koordinatlarını kullanmaya çalışıyordu ve belgelenmemiş bir sürücü kabini tuş kombinasyonuyla kilit açılabiliyordu
  • Daha sonra PLC yazılımında tuş kombinasyonuyla açma kaldırıldı, ancak kilitleme mantığı kaldı; belirli bir güncellemeden sonra HMI telif hakkı ihlali uyarısı bile göstermeye başladı
  • Trenin GSM telemetri cihazı kilitleme koşullarını iletiyordu ve bazı vakalarda uzaktan kilitleme olasılığı da görüldü

NEWAG Impuls EMU PLC kodunun tersine mühendisliği

  • q3k, redford ve mrtick, yaklaşık 1 yıl boyunca NEWAG Impuls EMU treninin PLC kodunu tersine mühendislikle inceledi
  • Sorunlu trenler, üçüncü taraf bakım atölyelerinde bakım gördükten sonra rastgele nedenlerle kilitlenme belirtileri gösteriyordu
  • Üretici, bunun nedeninin üçüncü taraf atölyelerin bakım hataları olduğunu ve bakımın üçüncü taraflar yerine üretici tarafından yapılması gerektiğini iddia etti

Kodun içinde yer alan kilitleme koşulları

  • PLC kodunda, treni sahte hata kodlarıyla kilitleyen bir mantık bulunuyordu
    • Belirli bir tarihten sonra kilitlenme meydana gelebiliyordu
    • Belirli bir süre çalıştırılmadığında da kilit devreye girebiliyordu
  • Bir kontrolör sürümünde GPS koordinatları yer alıyordu ve bu, davranışı üçüncü taraf bakım atölyeleriyle sınırlamak için kullanılıyordu

Belgelenmemiş açma yöntemi ve sonraki değişiklikler

  • Sürücü kabinindeki kumanda panelinde belirli bir tuş kombinasyonu girildiğinde trenin kilidi açılabiliyordu
  • Bu açma yöntemi belgelenmemişti
  • Daha yeni PLC yazılımı sürümlerinde tuş kombinasyonuyla açma kaldırılmıştı, ancak kilitleme mantığı olduğu gibi kalmıştı

HMI uyarısı ve GSM telemetri

  • NEWAG'in belirli bir güncellemesinden sonra sürücü kabinindeki kumanda paneli telif hakkı ihlali ile ilgili bir uyarı mesajı göstermeye başladı
    • HMI, kilitlenmenin devreye girmesi gereken bazı koşulları algılamasına rağmen tren çalışmaya devam ettiğinde bu mesaj görünüyordu
  • Trende bir GSM telemetri cihazı bulunuyordu
    • Bu cihaz kilitleme koşullarını iletiyordu
    • Bazı durumlarda treni uzaktan kilitlemek mümkünmüş gibi görünüyordu

1 yorum

 
GN⁺ 2023-12-06
Hacker News yorumları
  • Bu trenler Polonya’da oldukça çok sayıda bölgesel demiryolu şirketi tarafından münhasıran kullanılıyor. Bakım seviyeleri P1’den en karmaşık olan P5’e kadar 5 kademeli; eskiden P3 ve üzerini yalnızca büyük şirketler üstlenirdi, ancak birkaç yıl önce European Union Agency For Railways piyasayı açınca daha küçük rakipler çok daha düşük fiyatlarla ihaleleri kazanmaya başladı.
    SPS Mieczkowski’nin bakımını yaptığı 4 trenin çalıştırılamamasıyla başladı; şirket 500 bin € ceza ödemek zorunda kaldı ve trenler Newag’a geri gönderildi. Aynı dönemde, bakıma girmemiş olmalarına rağmen yalnızca bir yerde çok uzun süre bekledikleri için başka şirketlere ait trenler de hareket edemez hale geldi. Sonunda SPS Mieczkowski, olayı araştırması için Dragon Sector’ı tuttu ve trenleri devre dışı bırakan birkaç ayrı rutin bulundu.
    Bu olay Polonya Central Anti-Corruption Bureau tarafından soruşturuluyor, ancak Newag’a büyük bir darbe vurup vurmayacağı şüpheli. Polonya Office of Rail Transport, tren tarifelerindeki küçük hatalarda bile şikâyet yağdırıp emirler veren bir kurumdu; bu olayda ise müdahaleden elini çekti. Tren alımları da ihale prosedürleri açısından çok sıkı olduğundan demiryolu şirketlerinin hareket alanı neredeyse yok.

    • Bu, Polonya Ceza Kanunu’nun 254a maddesi kapsamındaki sabotaj suçu gibi açık görünüyor. İhale prosedürü bu olayda önemli değil; yalnızca yetkin bir savcı gerekiyor.
      https://sip.lex.pl/akty-prawne/dzu-dziennik-ustaw/kodeks-kar...
    • Internal Security Agency de soruşturuyor ve Newag’ın büyük bir sorundan kaçınması zor görünüyor. Şirket içinde de bu konu son derece ciddi ele alınıyor.
      Ne olduğunu kanıtlayacak muazzam miktarda delil var, bu yüzden sıyrılma ihtimalleri neredeyse yok. Yine de hacklendiklerini iddia ederek kurtulmaya çalışıyorlar. Hikâye, hacker’ların rakip tarafından bakımı yapılan trenlerin firmware’ini flash’layıp trenleri kullanılmaz hale getirdiği yönünde; oysa rakip demiryolu hatlarının GPS koordinatları kelimenin tam anlamıyla hardcode edilmişti.
    • Daha yeni model olan Impuls 2 Polonya dışında da kullanılıyor. İtalya’daki FSE 11 adet işletiyor.
      Ancak Newag’ın İtalya’da büyümeyi sürdürmek istediği düşünülürse o trenleri de sabote etmiş olma ihtimali düşük görünüyor. Elbette yeni müşterileri de yakmanın sorun olmayacağını düşünmüş olmaları da mümkün.
  • Yorumların içinde daha uzun yazılara ve ek ayrıntılara bağlantılar gömülü kalmış.
    Lehçe:
    https://zaufanatrzeciastrona.pl/post/o-trzech-takich-co-zhak...
    https://wiadomosci.onet.pl/kraj/awarie-pociagow-newagu-haker...
    İngilizce:
    https://zaufanatrzeciastrona-pl.translate.goog/post/o-trzech...
    https://wiadomosci-onet-pl.translate.goog/kraj/awarie-pociag...
    Arka plan olarak, Polonya 16 voyvodalığa ayrılmıştır; 2000’lerin başındaki reformlardan sonra neredeyse her bölgenin kendi bölgesel demiryolu şirketi var ve bunlar birbirleriyle işbirliği yapıyor. Newag trenlerinde bir yılı aşkın süredir şüpheli bir şeyler olduğu fiilen herkesçe biliniyordu. Birden fazla şirkete ait trenlerde arızalar yaşandı ve bu şirketler Newag yerine üçüncü taraf bakım sağlayıcılarını kullanıyordu. Bu yüzden bakım şirketi hacker’ları tuttu ve tersine mühendislikle tam olarak ne olup bittiğini anlamaları zaman aldı.

    • Polonyalı olduğum için województwonun ne anlama geldiğini biliyordum, ama İngilizcede voivodship diye bir karşılığı olduğunu bilmiyordum. Wikipedia’da okuyunca ilginç geldi.
      https://en.wikipedia.org/wiki/Voivodeship
  • Microsoft’un geçmişte DR-DOS rekabetini fiilen baltalamak için kullandığı AARD “crash” aklıma geldi
    AARD kodu, Microsoft Windows 3.1 beta sürümlerinde yer alan bir kod parçasıydı; Windows’un MS-DOS ya da PC DOS yerine DR-DOS gibi rakip uyumlu ürünler üzerinde çalışıp çalışmadığını tespit ediyor, öyleyse anlaşılması zor bir hata mesajı göstermesi için tasarlanmıştı. Bu XOR şifrelemeli, kendi kendini değiştiren ve kasıtlı olarak obfuscate edilmiş makine kodu, belgelenmemiş çeşitli DOS yapıları ve işlevleri kullanıyordu
    https://en.wikipedia.org/wiki/AARD_code
    https://www.geoffchappell.com/notes/windows/archive/aard/drd...
    https://news.ycombinator.com/item?id=36042213

    • Microsoft’tan beklenir. Compaq’a, üzerinde OS/2 Warp yüklü tek bir PC bile satarsa Windows yüklü PC’leri bir daha asla satamayacağını söyleyen şirket de buydu
      Güzel şeylerin tadını uzun süre çıkarmamızı engelleyen nihayetinde insan. OS/2 Warp harika bir işletim sistemiydi
    • AARD kodu, Windows kullanımını engellemeyen ölümcül olmayan bir uyarıydı ve fiilen piyasaya da çıkmadı. Nihai sürümde erişilemez hale gelecek şekilde yamalandı; muhtemelen regresyonları önlemek ve uzun derleme sürelerini azaltmak için yapılmış bir ikili yamasıydı. Bir de disket yerleşimini optimize etme gibi büyük bir paketleme problemi vardı
      Ayrıca DR-DOS, piyasaya çıktığı andan itibaren çıkmaz sokaktaki bir üründü. İnsanların ve OEM’lerin bir grafik işletim sistemiyle, o grafik işletim sisteminin önyükleyicisi gibi davranan DOS olmak üzere iki işletim sistemini birlikte satın almayacağı çok açıktı. Bağımsız, yalnızca metin tabanlı 16 bit DOS pazarının anlamlı bir süre var olacağı fikri tamamen hayaldi; DR-DOS satış hacmi açısından da önemli değildi. AARD kodu gerçek Windows 3.x nihai sürümlerinde yer alsaydı bile hiçbir şey değişmezdi
    • Bu vakaya pek benzemiyor. AARD çökmesi kasıtlı bir uyumluluk bozmaydı; bu ise daha çok planlı eskitmeye yakın
      Treni “çok uzun süre” bekletince devre dışı kalıyormuş; Microsoft da platformu herhalde o kadar kontrol etmek isterdi
    • Habere göre söz konusu özellik etkinleştirilmemiş; öyleyse bunun DR-DOS rekabetini baltalamak için nasıl kullanıldığı merak konusu
    • Birkaç yıl boyunca dünya çapında işletim sistemi hakimiyetini güvence altına almanın bedeli olarak 280 milyon dolarlık uzlaşma epey ucuz sayılır
  • Yazı yayımlandıktan sonra Newag hisseleri epey düştü; bu Mastodon kaynaklı fiyat düzeltmesinin ilk örneği olabilir mi?
    https://g.co/kgs/WVku4C

    • Yine de hâlâ 1 aylık bazda +%10, 3 aylık bazda +%25’te
    • Polonya medyası da haber yaptı, yani bu yalnızca Mastodon yüzünden olmuş bir şey değil
  • 21 Kasım 2022’de, seferde bile olmayan başka bir tren setinin çalışmayı reddettiği epey komik bir durum yaşanmıştı. Bilgisayar kompresör arızası bildiriyordu, ama teknisyenler kontrol ettiğinde kompresörde hiçbir sorun yoktu. Buna rağmen tren pantografı kaldırmadı; bilgisayar kodu analiz edilince arızayı zorla oluşturan koşul ortaya çıktı
    Tarih 21 veya daha büyükse, ay 11 veya daha büyükse ve yıl 2021 veya daha büyükse kompresör arızası bildir, gibi bir şeydi

    • İyi niyetli yorumlarsak kompresör üreticisi kritik parçaların değiştirilmesini garanti altına almak için bir son kullanma tarihi koymuş olabilir. Ama muhtemelen sadece şüpheli bir ticaret numarasıdır
    • Asıl suç, standart tarih/saat kütüphanesi ve basit bir > 2021-11-21 karşılaştırması kullanmamış olmaları
    • Böyle kodlamalarının nedeni, derlenmiş kodda belirli tarihin aynen görünmesini engellemek olabilir
  • Bu üretici, kritik altyapıyı felç ederek Polonya’yı kelimenin tam anlamıyla rehin almış sayılmaz mı? İnanılmaz derecede cüretkâr bir suç; bundan öylece sıyrılıp sıyrılamayacaklarından pek emin değilim

    • Servis değil, üretici. Servis sadece ihaleyi kazanmıştı; tedarikçi de misilleme yapmaya karar vermiş
  • Dünya gerçekten küçük. HN’i açtım, defalarca bindiğim trenlerle ilgili film gibi bir hikâye çıktı karşıma. Gerçekten duran o trenlerden birine binip geçmiş olma ihtimalim bile var
    Her hâlükârda ya kod incelemesi yoktu ya da inceleyenler bir nedenle bunu kabul etti demek. Hangisi daha korkutucu, pek emin değilim

    • Üçüncü tarafın kod incelemesi yapmasından mı bahsediyorsun? Genelde böyle bir şey olur mu?
      Bu, tren üreticisinin niyet ettiği ve üreticinin kodun yazılmasını emrettiği açık görünen bir durum. Bir hacker’ın yöneticilerin haberi olmadan gizlice eklediği bir şey değil gibi. Kimin ne tür bir kod incelemesi yapacağını merak ediyorum
      Diğer yorumları okuyunca HN’in tepesindeki haberin değiştiğini ve bazı yorumların çok daha az bilgi içeren habere göre yazılmış olduğunu fark ettim. Sanırım yorumların kafa karıştırıcı olmasının nedeni buydu
    • O kod muhtemelen düzgünce incelenmiş ve oldukça ciddi testlerden de geçmiş gibi. Ek tetikleyici koşullara sahip bir geofence bulunması bunu düşündürüyor
  • Ne yazık ki Newag trenleri, diğer Polonyalı üretici Pesaya kıyasla kalite olarak epey daha iyi. Anlaşılan o kadar güvenilirlerdi ki yapay arızalar üretmek zorunda kalmışlar

  • Bu kötü niyetli koşulları kimin kodladığını ve kimlerin bildiğini merak ediyorum. Hiç kimse ihbarcı olmayı düşünmedi mi?
    Bu arada şirket hakkında anonim çalışan değerlendirmeleri sayfası var: https://www.gowork.pl/opinie_czytaj,19587
    Epey toksik bir çalışma ortamı gibi görünüyor

    • Bir yazılım geliştirici olarak böyle bir şey yapmam istense, mutlaka yazılı talimat isterdim
  • Bu durumun Avrupa demiryolu hizmetleri şirketi Akiem ile olan sözleşmeyi nasıl etkileyeceği ilginç olacak. Akiem, Fransa’ya yönelik hizmetler ve trenler için Newag ile 164 milyon avroluk bir sözleşme imzaladı
    [1] https://biznes.pap.pl/pl/news/all/info/3509606,newag-inks-eu...