1 poin oleh GN⁺ 2023-12-06 | 1 komentar | Bagikan ke WhatsApp
  • Kereta NEWAG Impuls EMU di Polandia mengalami masalah berhenti beroperasi setelah diservis di bengkel pihak ketiga, dan tiga peneliti melakukan reverse engineering kode PLC selama sekitar satu tahun
  • Produsen menyalahkan kelalaian servis dan menegaskan bahwa perawatan harus dilakukan oleh pihaknya sendiri, tetapi di dalam kode terdapat logika yang mengunci kereta dengan kesalahan palsu dalam kondisi tertentu
  • Beberapa versi kontroler mencoba membedakan bengkel pihak ketiga berdasarkan koordinat GPS, dan kunci dapat dibuka dengan kombinasi tombol kabin yang tidak didokumentasikan
  • Pada perangkat lunak PLC berikutnya, pembukaan kunci lewat kombinasi tombol dihapus tetapi logika penguncian tetap ada, dan setelah pembaruan tertentu HMI bahkan menampilkan peringatan pelanggaran hak cipta
  • Perangkat telemetri GSM pada kereta mengirimkan kondisi penguncian, dan dalam beberapa kasus juga terlihat adanya kemungkinan penguncian jarak jauh

Reverse engineering kode PLC NEWAG Impuls EMU

  • q3k, redford, dan mrtick melakukan reverse engineering kode PLC NEWAG Impuls EMU selama sekitar satu tahun
  • Kereta-kereta yang bermasalah menunjukkan gejala terkunci tanpa alasan jelas setelah menjalani servis di bengkel pihak ketiga
  • Produsen mengklaim bahwa penyebabnya adalah kelalaian servis oleh bengkel pihak ketiga, dan bahwa perawatan seharusnya dilakukan oleh produsen, bukan pihak ketiga

Kondisi penguncian yang tertanam di dalam kode

  • Kode PLC mencakup logika yang mengunci kereta bersama kode kesalahan palsu
    • Penguncian dapat terjadi setelah tanggal tertentu
    • Penguncian juga dapat aktif saat kereta tidak dioperasikan selama jangka waktu tertentu
  • Salah satu versi kontroler berisi koordinat GPS, yang digunakan untuk membatasi perilaku ini pada bengkel pihak ketiga

Metode pembukaan yang tidak didokumentasikan dan perubahan setelahnya

  • Kereta dapat dibuka kuncinya dengan menekan kombinasi tombol tertentu pada panel kontrol kabin
  • Metode pembukaan ini tidak didokumentasikan
  • Pada versi perangkat lunak PLC yang lebih baru, pembukaan lewat kombinasi tombol dihapus, tetapi logika penguncian tetap dipertahankan

Peringatan HMI dan telemetri GSM

  • Setelah pembaruan tertentu dari NEWAG, panel kontrol kabin menampilkan pesan peringatan terkait pelanggaran hak cipta
    • Pesan itu muncul ketika HMI mendeteksi sebagian kondisi yang seharusnya memicu penguncian, tetapi kereta tetap terus beroperasi
  • Kereta dilengkapi perangkat telemetri GSM
    • Perangkat ini mengirimkan kondisi penguncian
    • Dalam beberapa kasus, perangkat ini tampak memungkinkan kereta dikunci dari jarak jauh

1 komentar

 
GN⁺ 2023-12-06
Pendapat Hacker News
  • Kereta-kereta ini digunakan secara eksklusif oleh cukup banyak perusahaan kereta regional di Polandia. Tingkat perawatannya ada 5 level, dari P1 sampai P5 yang paling kompleks; dulu hanya perusahaan besar yang menangani P3 ke atas, tetapi sejak beberapa tahun lalu European Union Agency For Railways membuka pasar sehingga para pesaing yang lebih kecil mulai memenangkan tender dengan harga yang jauh lebih rendah
    Semuanya bermula ketika 4 kereta yang diservis oleh SPS Mieczkowski bahkan tidak bisa dinyalakan, perusahaan itu harus membayar denda €500 ribu, dan kereta-kereta tersebut dikembalikan ke Newag. Pada saat yang sama, kereta milik perusahaan lain juga menjadi tidak bisa bergerak, meski bahkan tidak masuk servis, hanya karena terlalu lama berada di satu lokasi. Pada akhirnya SPS Mieczkowski menyewa Dragon Sector untuk menyelidiki, dan ditemukan beberapa rutin terpisah yang menonaktifkan kereta
    Kasus ini sedang diselidiki oleh Central Anti-Corruption Bureau Polandia, tetapi masih diragukan apakah Newag akan terkena pukulan besar. Office of Rail Transport Polandia adalah lembaga yang biasanya membanjiri dengan komplain dan mengeluarkan perintah bahkan untuk kesalahan kecil pada jadwal kereta, tetapi mereka melepas tangan dari keterlibatan dalam kasus ini, dan pembelian kereta tunduk pada prosedur tender yang sangat ketat sehingga hampir tidak ada ruang gerak bagi perusahaan kereta

    • Ini tampak jelas sebagai kejahatan sabotase menurut Pasal 254a KUHP Polandia. Prosedur tender tidak penting dalam kasus ini, yang dibutuhkan hanyalah jaksa yang kompeten
      https://sip.lex.pl/akty-prawne/dzu-dziennik-ustaw/kodeks-kar...
    • Internal Security Agency juga sedang menyelidiki, dan tampaknya Newag akan sulit menghindari masalah besar. Secara internal pun mereka menganggap perkara ini sangat serius
      Ada sangat banyak bukti yang bisa membuktikan apa yang terjadi, jadi hampir tidak ada peluang untuk lolos. Meski begitu, mereka sedang mencoba lolos dengan mengklaim bahwa mereka diretas. Kira-kira ceritanya peretas mem-flash firmware kereta yang diservis oleh pesaing sehingga kereta menjadi brick, tetapi koordinat GPS jalur kereta pesaing itu benar-benar di-hardcode
    • Model yang lebih baru, Impuls 2, juga digunakan di luar Polandia. FSE di Italia mengoperasikan 11 unit
      Namun, mengingat Newag ingin terus berekspansi di Italia, rasanya mereka tidak akan sampai menyabotase kereta-kereta itu juga. Tentu saja, bisa jadi mereka juga merasa tidak masalah kalau pelanggan baru ikut kena
  • Ada tulisan yang lebih panjang dan tautan detail tambahan yang terkubur di dalam komentar
    Bahasa Polandia:
    https://zaufanatrzeciastrona.pl/post/o-trzech-takich-co-zhak...
    https://wiadomosci.onet.pl/kraj/awarie-pociagow-newagu-haker...
    Bahasa Inggris:
    https://zaufanatrzeciastrona-pl.translate.goog/post/o-trzech...
    https://wiadomosci-onet-pl.translate.goog/kraj/awarie-pociag...
    Sebagai latar belakang, Polandia terbagi menjadi 16 voivodship, dan setelah reformasi pada awal 2000-an, hampir setiap wilayah memiliki perusahaan kereta regional sendiri yang saling bekerja sama. Selama lebih dari setahun, hampir semua orang sebenarnya sudah tahu bahwa ada sesuatu yang mencurigakan pada kereta Newag. Kerusakan terus terjadi pada kereta milik beberapa perusahaan, dan mereka menggunakan bengkel perawatan pihak ketiga, bukan Newag. Karena itu bengkel perawatan tersebut mempekerjakan para peretas, dan butuh waktu untuk memahami secara tepat apa yang terjadi melalui reverse engineering

    • Sebagai orang Polandia, saya tahu arti województwo, tetapi saya tidak tahu bahwa dalam bahasa Inggris ada padanan kata voivodship. Setelah membacanya di Wikipedia, saya merasa itu menarik
      https://en.wikipedia.org/wiki/Voivodeship
  • Ini mengingatkan pada AARD “crash” yang dulu dipakai Microsoft untuk secara efektif merusak persaingan DR-DOS
    Kode AARD adalah potongan kode yang ada di rilis beta Microsoft Windows 3.1, dirancang untuk mendeteksi apakah Windows dijalankan di atas kompatibel pesaing seperti DR-DOS alih-alih MS-DOS atau PC DOS, dan dalam kasus itu menampilkan pesan galat yang membingungkan. Kode mesin ini dienkripsi XOR, memodifikasi dirinya sendiri, dan sengaja diobfuskasi, serta menggunakan banyak struktur dan fungsi DOS yang tidak terdokumentasi
    https://en.wikipedia.org/wiki/AARD_code
    https://www.geoffchappell.com/notes/windows/archive/aard/drd...
    https://news.ycombinator.com/item?id=36042213

    • Sangat masuk akal kalau itu ulah Microsoft. Perusahaan yang sama yang pernah mengatakan kepada Compaq bahwa jika mereka menjual satu PC saja dengan OS/2 Warp terpasang, mereka tidak akan pernah bisa menjual PC dengan Windows lagi
      Pada akhirnya manusialah yang membuat hal-hal bagus tidak bisa dinikmati lama. OS/2 Warp adalah sistem operasi yang hebat
    • Kode AARD adalah peringatan nonfatal yang tidak mencegah penggunaan Windows, dan bahkan tidak pernah benar-benar dirilis. Di rilis final, kode itu ditambal sehingga tidak bisa dicapai, mungkin sebagai patch biner untuk menghindari regresi dan mengurangi waktu build yang panjang. Ada juga masalah pengemasan besar berupa optimasi penempatan disket
      Sebagai catatan, DR-DOS sudah merupakan produk buntu sejak awal. Sudah sangat jelas bahwa orang-orang dan OEM tidak akan membeli dua sistem operasi sekaligus: sistem operasi grafis, dan DOS yang berfungsi seperti bootloader untuk sistem operasi grafis itu. Gagasan bahwa pasar DOS 16-bit mandiri berbasis teks masih akan bertahan selama periode yang berarti adalah ilusi total, dan DR-DOS juga tidak penting dari sisi penjualan. Bahkan jika kode AARD masuk ke rilis final Windows 3.x, hasilnya tidak akan berubah
    • Ini tidak terlalu mirip dengan kasus sekarang. Crash AARD adalah perusakan kompatibilitas yang disengaja, sementara ini lebih dekat ke planned obsolescence
      Menonaktifkan kereta karena dibiarkan diam “terlalu lama” terdengar seperti tingkat kontrol platform yang bahkan mungkin diinginkan Microsoft
    • Menurut artikelnya, fungsi itu tidak diaktifkan, jadi saya jadi bertanya-tanya bagaimana tepatnya itu dipakai untuk merusak persaingan DR-DOS
    • Penyelesaian 280 juta dolar terasa cukup murah sebagai harga untuk mengamankan dominasi sistem operasi dunia selama beberapa tahun
  • Setelah postingan ini muncul, saham Newag turun cukup banyak. Apakah ini contoh pertama koreksi harga yang dipicu Mastodon?
    https://g.co/kgs/WVku4C

    • Meski begitu, masih +10% untuk 1 bulan dan +25% untuk 3 bulan
    • Media Polandia juga memberitakannya, jadi ini bukan semata karena Mastodon
  • Pada 21 November 2022, ada kejadian cukup lucu ketika rangkaian kereta lain yang bahkan tidak sedang beroperasi menolak bekerja. Komputer melaporkan kerusakan kompresor, tetapi setelah diperiksa para teknisi, ternyata kompresornya sama sekali tidak bermasalah. Meski begitu, kereta tetap tidak mau menaikkan pantograf, dan setelah kode komputer dianalisis, ditemukan kondisi yang memaksa terjadinya kerusakan
    Intinya, jika tanggal lebih dari atau sama dengan 21, bulan lebih dari atau sama dengan 11, dan tahun lebih dari atau sama dengan 2021, maka laporkan kerusakan kompresor

    • Kalau mau berbaik sangka, mungkin produsen kompresor memasukkan tanggal kedaluwarsa untuk menjamin penggantian komponen inti. Tapi kemungkinan besar ini cuma praktik bisnis yang mencurigakan
    • Kejahatan yang sesungguhnya adalah tidak memakai pustaka tanggal/waktu standar dan perbandingan sederhana > 2021-11-21
    • Alasan menulisnya seperti ini mungkin agar tanggal tertentu tidak muncul begitu saja di dalam kode hasil kompilasi
  • Bukankah ini berarti pabrikan tersebut secara harfiah menyandera Polandia dengan melumpuhkan infrastruktur penting? Ini kejahatan yang luar biasa berani sampai sulit dipercaya, dan saya tidak terlalu yakin mereka bisa lolos begitu saja

    • Bukan bengkel servis, melainkan pabrikan. Bengkel hanya memenangkan tender, lalu pemasok memutuskan untuk membalas
  • Dunia memang sempit. Saya membuka HN lalu menemukan kisah seperti film tentang kereta-kereta yang sudah beberapa kali saya naiki. Bahkan mungkin saja saya pernah lewat dengan menaiki salah satu kereta yang kemudian dihentikan itu
    Apa pun itu, artinya tidak ada code review, atau para reviewer tetap meloloskannya karena alasan tertentu. Saya tidak yakin mana yang lebih menyeramkan

    • Maksudnya pihak ketiga yang melakukan code review? Apakah itu hal yang umum?
      Ini jelas tampaknya disengaja oleh pabrikan, dan pabrikanlah yang memerintahkan penulisan kode itu. Sepertinya bukan kasus seorang peretas yang diam-diam menyisipkannya tanpa sepengetahuan manajemen. Saya penasaran siapa yang dimaksud akan melakukan code review seperti itu
      Setelah membaca komentar lain, tampaknya artikel di bagian atas HN berubah, dan sebagian komentar ditulis berdasarkan artikel yang informasinya jauh lebih sedikit. Itu mungkin sebabnya komentarnya terasa membingungkan
    • Kode itu kemungkinan besar memang ditinjau dengan benar dan juga melalui pengujian yang cukup serius. Ini bisa diduga dari adanya geofence dengan kondisi pemicu tambahan
  • Sayangnya, kereta Newag masih jauh lebih baik kualitasnya dibanding Pesa, produsen Polandia lainnya. Tampaknya kereta mereka terlalu andal sampai-sampai harus dibuat rusak secara artifisial

  • Saya penasaran siapa yang menulis kondisi-kondisi jahat ini, dan siapa saja yang mengetahuinya. Apa tidak ada satu pun yang terpikir untuk menjadi whistleblower?
    Sebagai referensi, ada halaman penilaian anonim karyawan tentang perusahaan itu: https://www.gowork.pl/opinie_czytaj,19587
    Kelihatannya ini lingkungan kerja yang toksik

    • Sebagai pengembang perangkat lunak, jika diminta melakukan hal seperti ini, Anda wajib meminta instruksi tertulis
  • Menarik untuk melihat dampak situasi ini terhadap kontrak dengan perusahaan layanan kereta Eropa Akiem. Akiem menandatangani kontrak senilai 164 juta euro dengan Newag untuk layanan dan kereta bagi Prancis
    [1] https://biznes.pap.pl/pl/news/all/info/3509606,newag-inks-eu...