तीसरे पक्ष की मरम्मत के बाद लॉक हो जाने वाली पोलैंड की NEWAG ट्रेनें
(social.hackerspace.pl)- पोलैंड की NEWAG Impuls EMU ट्रेनों में तीसरे पक्ष की मरम्मत कार्यशाला में सर्विस के बाद रुक जाने की समस्या को लेकर, 3 शोधकर्ताओं ने लगभग 1 साल तक PLC कोड की reverse engineering की
- निर्माता ने कारण को मेंटेनेंस की गलती बताकर अपनी ही सर्विस पर ज़ोर दिया, लेकिन कोड में खास शर्तों पर नकली त्रुटि के साथ ट्रेन को लॉक करने वाली लॉजिक मौजूद थी
- कुछ controller versions में GPS coordinates के जरिए तीसरे पक्ष की मरम्मत कार्यशालाओं की पहचान करने की कोशिश की गई थी, और undocumented चालक-कक्ष key combination से लॉक हटाया जा सकता था
- बाद के PLC software में key combination वाला unlock हट गया, लेकिन lock logic बनी रही, और एक खास update के बाद HMI ने copyright violation की warning भी दिखानी शुरू की
- ट्रेन का GSM telemetry device लॉक की शर्तों को transmit करता था, और कुछ मामलों में remote lock की संभावना भी दिखी
NEWAG Impuls EMU PLC कोड की reverse engineering
- q3k, redford, mrtick ने लगभग 1 साल तक NEWAG Impuls EMU ट्रेन के PLC कोड की reverse engineering की
- जिन ट्रेनों में समस्या थी, वे तीसरे पक्ष की मरम्मत कार्यशालाओं में सर्विस के बाद मनमाने कारणों से लॉक हो जाती थीं
- निर्माता का दावा था कि वजह तीसरे पक्ष की मेंटेनेंस गलती है, इसलिए सर्विस तीसरे पक्ष की जगह निर्माता को ही करनी चाहिए
कोड के भीतर मौजूद लॉक शर्तें
- PLC कोड में ट्रेन को नकली error code के साथ लॉक करने वाली लॉजिक शामिल थी
- एक खास तारीख के बाद लॉक लग सकता था
- कुछ समय तक ट्रेन न चलने पर भी लॉक लग सकता था
- एक controller version में GPS coordinates शामिल थे, जिनका इस्तेमाल इस व्यवहार को तीसरे पक्ष की मरम्मत कार्यशालाओं तक सीमित करने के लिए किया गया था
undocumented unlock तरीका और बाद के बदलाव
- चालक-कक्ष control panel पर एक खास key combination दबाने से ट्रेन का लॉक हटाया जा सकता था
- यह unlock तरीका documented नहीं था
- नए PLC software versions में key combination वाला unlock हटा दिया गया, लेकिन lock logic जस की तस रही
HMI warning और GSM telemetry
- NEWAG के एक खास update के बाद चालक-कक्ष control panel ने copyright violation से जुड़ा warning message दिखाना शुरू किया
- यह message तब दिखता था जब HMI उन कुछ शर्तों को पहचान लेता था जिन पर लॉक लगना चाहिए था, लेकिन ट्रेन फिर भी चल रही होती थी
- ट्रेन में GSM telemetry device मौजूद था
- यह device लॉक की शर्तों को transmit करता था
- कुछ मामलों में ऐसा लगा कि ट्रेन को remotely लॉक किया जा सकता है
1 टिप्पणियां
Hacker News की राय
पोलैंड में काफ़ी सारी क्षेत्रीय रेलवे कंपनियां इन ट्रेनों को विशेष रूप से इस्तेमाल करती हैं। मेंटेनेंस ग्रेड P1 से लेकर सबसे जटिल P5 तक 5 स्तरों के होते हैं; पहले केवल बड़ी कंपनियां ही P3 या उससे ऊपर का काम लेती थीं, लेकिन कुछ साल पहले European Union Agency For Railways ने बाज़ार खोल दिया, जिसके बाद छोटी प्रतिस्पर्धी कंपनियां बहुत कम कीमतों पर टेंडर जीतने लगीं
मामला तब शुरू हुआ जब SPS Mieczkowski द्वारा मेंटेन की गई 4 ट्रेनें स्टार्ट तक नहीं हुईं; कंपनी को €500,000 का जुर्माना भरना पड़ा और ट्रेनें Newag को वापस भेज दी गईं। इसी दौरान, जिन ट्रेनों का मेंटेनेंस भी नहीं हुआ था, वे भी सिर्फ़ इसलिए चलना बंद हो गईं क्योंकि वे एक जगह बहुत लंबे समय तक खड़ी थीं। अंततः SPS Mieczkowski ने जांच के लिए Dragon Sector को हायर किया, और ट्रेनों को निष्क्रिय करने वाली कई अलग-अलग routines मिलीं
इस मामले की जांच पोलैंड का Central Anti-Corruption Bureau कर रहा है, लेकिन यह संदेह है कि Newag को कोई बड़ा झटका लगेगा या नहीं। पोलैंड का Office of Rail Transport ऐसा संस्थान है जो ट्रेन टाइमटेबल की छोटी-सी गलती पर भी शिकायतों की बौछार कर देता था और आदेश जारी करता था, लेकिन इस मामले में उसने दखल से हाथ खींच लिया; और ट्रेन खरीद की टेंडर प्रक्रिया बेहद सख्त है, इसलिए रेलवे कंपनियों के पास कदम उठाने की गुंजाइश भी लगभग नहीं है
https://sip.lex.pl/akty-prawne/dzu-dziennik-ustaw/kodeks-kar...
क्या हुआ था, यह साबित करने के लिए बहुत भारी मात्रा में सबूत हैं, इसलिए बच निकलने की संभावना लगभग नहीं है। फिर भी वे यह दावा करके निकलने की कोशिश कर रहे हैं कि उन्हें hack किया गया था। दावा कुछ ऐसा है कि hackers ने प्रतिस्पर्धी कंपनी द्वारा मेंटेन की गई ट्रेनों के firmware को flash करके उन्हें brick बना दिया, जबकि प्रतिस्पर्धी रेलवे सेक्शनों के GPS coordinates सचमुच hardcode किए हुए थे
हालांकि Newag इटली में विस्तार जारी रखना चाहता था, इसे देखते हुए लगता नहीं कि उन्होंने उन ट्रेनों तक sabotage किया होगा। बेशक, यह भी हो सकता है कि उन्होंने सोचा हो कि नए ग्राहकों को भी जला देना ठीक है
टिप्पणियों में एक लंबा लेख और अतिरिक्त विवरणों के लिंक दबे हुए हैं
पोलिश:
https://zaufanatrzeciastrona.pl/post/o-trzech-takich-co-zhak...
https://wiadomosci.onet.pl/kraj/awarie-pociagow-newagu-haker...
अंग्रेज़ी:
https://zaufanatrzeciastrona-pl.translate.goog/post/o-trzech...
https://wiadomosci-onet-pl.translate.goog/kraj/awarie-pociag...
पृष्ठभूमि जोड़ें तो पोलैंड 16 voivodship में बंटा है, और 2000 के दशक की शुरुआत के सुधारों के बाद लगभग हर क्षेत्र की अपनी क्षेत्रीय रेलवे कंपनी है और वे आपस में सहयोग करती हैं। एक साल से ज़्यादा समय से लगभग सभी को पता था कि Newag ट्रेनों में कुछ संदिग्ध हो रहा है। कई कंपनियों के स्वामित्व वाली ट्रेनों में लगातार खराबियां आईं, और वे Newag के बजाय third-party maintenance providers का इस्तेमाल कर रही थीं। इसलिए maintenance provider ने hackers को हायर किया, और reverse engineering के जरिए ठीक-ठीक क्या हो रहा है यह समझने में समय लगा
https://en.wikipedia.org/wiki/Voivodeship
Microsoft द्वारा पहले DR-DOS की competition को लगभग बर्बाद करने के लिए इस्तेमाल किया गया AARD “crash” याद आ गया
AARD code Microsoft Windows 3.1 beta release में शामिल code का एक हिस्सा था, जो यह पहचानने के लिए था कि Windows MS-DOS या PC DOS के बजाय DR-DOS जैसे किसी competing compatible product पर चल रहा है या नहीं, और ऐसा होने पर एक उलझा हुआ error message दिखाता था। इस XOR-encrypted, self-modifying और जानबूझकर obfuscated machine code ने कई undocumented DOS structures और functions का इस्तेमाल किया था
https://en.wikipedia.org/wiki/AARD_code
https://www.geoffchappell.com/notes/windows/archive/aard/drd...
https://news.ycombinator.com/item?id=36042213
अच्छी चीज़ों का लंबे समय तक आनंद लेने से रोकने वाला आखिर इंसान ही होता है। OS/2 Warp एक बेहतरीन operating system था
वैसे DR-DOS release के समय से ही dead-end product था। यह बहुत साफ था कि लोग और OEMs दो operating systems—एक graphical operating system और DOS जो उस graphical operating system के bootloader की तरह काम करे—साथ में नहीं खरीदेंगे। standalone text-only 16-bit DOS market किसी meaningful अवधि तक मौजूद रहेगा, यह विचार पूरी तरह fantasy था, और sales के लिहाज़ से भी DR-DOS महत्वपूर्ण नहीं था। AARD code अगर सच में Windows 3.x के final versions में शामिल होता, तब भी कुछ नहीं बदलता
ट्रेन को “बहुत देर तक” खड़ा रखने पर disable कर दिया जाता है—लगता है Microsoft भी platform पर इतना control चाहती होगी
Post आने के बाद Newag का share price काफी गिरा; क्या यह Mastodon-driven price correction का पहला मामला है?
https://g.co/kgs/WVku4C
21 November 2022 को एक काफी मजेदार स्थिति हुई, जहां service में भी न चल रही एक दूसरी train set ने काम करने से इनकार कर दिया। Computer ने compressor failure report किया, लेकिन mechanics ने जांच की तो compressor में कोई समस्या नहीं थी। फिर भी train ने pantograph ऊपर नहीं उठाया, और computer code analyse करने पर failure को जबरन trigger करने वाली condition मिली
कुछ ऐसा कि अगर date 21 या उससे ज्यादा हो, month 11 या उससे ज्यादा हो, और year 2021 या उससे ज्यादा हो, तो compressor failure report करो
> 2021-11-21comparison का इस्तेमाल न करना हैक्या इस manufacturer ने critical infrastructure को ठप करके Poland को सचमुच hostage नहीं बना लिया? यह अविश्वसनीय रूप से bold crime है, और मुझे ज्यादा भरोसा नहीं कि वे आसानी से बच निकलेंगे
दुनिया वाकई छोटी है। HN खोला तो उन trains के बारे में फिल्म जैसी कहानी दिखी जिनमें मैं कई बार सफर कर चुका हूं। मुमकिन है कि मैं सच में उन्हीं रुकी हुई trains में से किसी एक से होकर गुज़रा भी हूं
खैर, इसका मतलब है कि या तो code review नहीं था, या reviewers ने किसी वजह से इसे accept कर लिया। कौन सा विकल्प ज्यादा डरावना है, यह मुझे ठीक से नहीं पता
यह train manufacturer का इरादा था, और साफ लगता है कि manufacturer ने ही code लिखवाया। यह कोई ऐसी स्थिति नहीं लगती जहां hacker ने admin को पता चले बिना चुपके से कुछ डाल दिया हो। जानना चाहूंगा कि कौन सा code review, और कौन करता है
बाकी comments पढ़कर लगता है कि HN पर top article बदल गया था, और कुछ comments उस article के आधार पर लिखे गए थे जिसमें बहुत कम जानकारी थी। इसलिए comments confusing लग रहे थे
अफसोस की बात है कि Newag trains की quality दूसरी Polish manufacturer Pesa की तुलना में काफी बेहतर है। शायद reliability इतनी ज्यादा थी कि artificial failures बनाने पड़े
हैरानी है कि इन malicious conditions को किसने code किया, और किसे पता था। क्या किसी ने भी whistleblowing के बारे में नहीं सोचा?
संदर्भ के लिए, company के बारे में anonymous employee review page है: https://www.gowork.pl/opinie_czytaj,19587
यह काफी toxic work environment लगता है
यह देखना दिलचस्प होगा कि European rail service company Akiem के साथ contract पर इसका क्या असर पड़ेगा। Akiem ने France के लिए services और trains हेतु Newag के साथ 164 million euro का contract किया था
[1] https://biznes.pap.pl/pl/news/all/info/3509606,newag-inks-eu...