รถไฟ NEWAG ในโปแลนด์ถูกล็อกหลังซ่อมที่อู่บุคคลที่สาม
(social.hackerspace.pl)- นักวิจัย 3 คนทำวิศวกรรมย้อนกลับโค้ด PLC ของรถไฟ NEWAG Impuls EMU เป็นเวลาประมาณ 1 ปี หลังพบปัญหารถไฟหยุดทำงานหลังเข้าซ่อมที่อู่บุคคลที่สาม
- ผู้ผลิตกล่าวโทษว่าเกิดจาก ความผิดพลาดในการซ่อมบำรุง และยืนยันให้ซ่อมกับบริษัทตนเอง แต่ในโค้ดมีลอจิกที่ล็อกรถไฟด้วยข้อผิดพลาดปลอมเมื่อเข้าเงื่อนไขบางอย่าง
- คอนโทรลเลอร์บางเวอร์ชันพยายามแยกแยะอู่ซ่อมบุคคลที่สามด้วย พิกัด GPS และสามารถปลดล็อกได้ด้วยชุดปุ่มในห้องคนขับที่ไม่ได้มีเอกสารระบุไว้
- ในซอฟต์แวร์ PLC รุ่นถัดมา การปลดล็อกด้วยชุดปุ่มถูกนำออกไปแล้ว แต่ ลอจิกการล็อก ยังอยู่ และหลังอัปเดตบางรายการ HMI ถึงกับแสดงคำเตือนเรื่องการละเมิดลิขสิทธิ์
- อุปกรณ์เทเลเมทรี GSM ของรถไฟส่งข้อมูลเงื่อนไขการล็อก และในบางกรณีก็ดูเหมือนมีความเป็นไปได้ที่จะล็อกรถไฟจากระยะไกลได้
การทำวิศวกรรมย้อนกลับโค้ด PLC ของ NEWAG Impuls EMU
- q3k, redford, mrtick ทำวิศวกรรมย้อนกลับโค้ด PLC ของรถไฟ NEWAG Impuls EMU เป็นเวลาประมาณ 1 ปี
- รถไฟที่เป็นปัญหามีอาการถูกล็อกด้วยเหตุผลแบบสุ่ม หลังได้รับการซ่อมบำรุงจาก อู่ซ่อมบุคคลที่สาม
- ผู้ผลิตอ้างว่าสาเหตุเกิดจากความผิดพลาดในการซ่อมบำรุงของอู่บุคคลที่สาม และยืนยันว่าควรซ่อมกับผู้ผลิต ไม่ใช่บุคคลที่สาม
เงื่อนไขการล็อกที่อยู่ในโค้ด
- โค้ด PLC มีลอจิกที่ล็อกรถไฟพร้อม รหัสข้อผิดพลาดปลอม
- การล็อกอาจเกิดขึ้นได้หลังวันที่กำหนด
- การล็อกอาจเกิดขึ้นได้เช่นกันเมื่อรถไฟไม่ได้เดินรถเป็นระยะเวลาหนึ่ง
- คอนโทรลเลอร์เวอร์ชันหนึ่งมี พิกัด GPS อยู่ และถูกใช้เพื่อจำกัดพฤติกรรมนี้ให้เกิดกับอู่ซ่อมบุคคลที่สาม
วิธีปลดล็อกที่ไม่มีเอกสารระบุไว้และการเปลี่ยนแปลงภายหลัง
- สามารถปลดล็อกรถไฟได้โดยกด ชุดปุ่ม บางชุดบนแผงควบคุมในห้องคนขับ
- วิธีปลดล็อกนี้ไม่มีการบันทึกไว้ในเอกสาร
- ในซอฟต์แวร์ PLC เวอร์ชันใหม่กว่า การปลดล็อกด้วยชุดปุ่มถูกลบออกไปแล้ว แต่ ลอจิกการล็อก ยังคงอยู่เหมือนเดิม
คำเตือนบน HMI และเทเลเมทรี GSM
- หลังอัปเดตบางรายการของ NEWAG แผงควบคุมในห้องคนขับจะแสดงข้อความเตือนเกี่ยวกับ การละเมิดลิขสิทธิ์
- ข้อความจะปรากฏเมื่อ HMI ตรวจพบเงื่อนไขบางส่วนที่ควรทำให้รถไฟถูกล็อก แต่รถไฟยังคงเดินรถอยู่
- รถไฟมี อุปกรณ์เทเลเมทรี GSM
- อุปกรณ์นี้ส่งข้อมูลเงื่อนไขการล็อก
- ในบางกรณี ดูเหมือนว่าสามารถล็อกรถไฟจากระยะไกลได้
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
รถไฟเหล่านี้ถูกใช้แบบแทบผูกขาดโดยบริษัททางรถไฟท้องถิ่นจำนวนไม่น้อยในโปแลนด์ ระดับการซ่อมบำรุงมี 5 ระดับ ตั้งแต่ P1 ไปจนถึง P5 ซึ่งซับซ้อนที่สุด โดยในอดีตมีแต่บริษัทใหญ่ ๆ ที่รับงานตั้งแต่ P3 ขึ้นไป แต่เมื่อไม่กี่ปีที่ผ่านมา European Union Agency For Railways เปิดตลาด ทำให้คู่แข่งรายเล็กเริ่มชนะการประมูลด้วยราคาที่ต่ำกว่ามาก
เรื่องเริ่มจากรถไฟ 4 ขบวนที่ SPS Mieczkowski ซ่อมบำรุงแล้วถึงขั้นสตาร์ตไม่ติด บริษัทจึงต้องจ่าย ค่าปรับ €500,000 และรถไฟถูกส่งกลับไปที่ Newag ในเวลาเดียวกัน รถไฟของบริษัทอื่น ๆ ก็ขยับไม่ได้เช่นกัน เพียงเพราะจอดอยู่ที่เดียวกันนานเกินไป แม้ยังไม่ได้เข้าซ่อมบำรุงด้วยซ้ำ สุดท้าย SPS Mieczkowski จ้าง Dragon Sector ให้ตรวจสอบ และพบรูทีนแยกหลายชุดที่ทำให้รถไฟถูกปิดใช้งาน
เหตุการณ์นี้อยู่ระหว่างการสอบสวนของ Central Anti-Corruption Bureau ของโปแลนด์ แต่ยังน่าสงสัยว่าจะสร้างผลกระทบหนักต่อ Newag หรือไม่ Office of Rail Transport ของโปแลนด์เป็นหน่วยงานที่เคยถล่มเรื่องร้องเรียนและออกคำสั่งแม้กับความผิดพลาดเล็ก ๆ ในตารางรถไฟ แต่ในกรณีนี้กลับถอนตัวจากการแทรกแซง และการจัดซื้อรถไฟก็มีขั้นตอนประมูลที่เข้มงวดมากจนบริษัททางรถไฟแทบไม่มีช่องให้ขยับ
https://sip.lex.pl/akty-prawne/dzu-dziennik-ustaw/kodeks-kar...
มีหลักฐานมากมายมหาศาลที่จะพิสูจน์ว่าเกิดอะไรขึ้น โอกาสหลุดรอดจึงแทบไม่มี ถึงอย่างนั้นก็ยังพยายามเอาตัวรอดโดยอ้างว่าถูกแฮ็ก ประมาณว่าแฮกเกอร์แฟลชเฟิร์มแวร์ของรถไฟที่คู่แข่งเป็นผู้ซ่อมบำรุงจนทำให้รถไฟกลายเป็นก้อนอิฐ ทั้งที่ พิกัด GPS ของเส้นทางรถไฟคู่แข่งถูกฮาร์ดโค้ดไว้อย่างชัดเจน
อย่างไรก็ตาม เมื่อคิดว่า Newag ยังอยากขยายตลาดในอิตาลีต่อ ก็น่าจะไม่ได้ก่อวินาศกรรมรถไฟเหล่านั้นด้วย แน่นอนว่าอาจคิดว่าต่อให้เผาลูกค้าใหม่ไปด้วยก็ไม่เป็นไรก็ได้
มีลิงก์ไปยังบทความที่ยาวกว่าและรายละเอียดเพิ่มเติมถูกฝังอยู่ในคอมเมนต์
ภาษาโปแลนด์:
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...
หากเสริมบริบท โปแลนด์แบ่งออกเป็น voivodship 16 แห่ง และหลังการปฏิรูปช่วงต้นทศวรรษ 2000 แทบทุกภูมิภาคมีบริษัททางรถไฟท้องถิ่นของตัวเองและร่วมมือกัน แทบทุกคนรู้กันอยู่แล้วมานานกว่าหนึ่งปีว่ามีเรื่องน่าสงสัยเกิดขึ้นกับรถไฟของ Newag รถไฟที่บริษัทหลายแห่งเป็นเจ้าของเสียต่อเนื่อง และบริษัทเหล่านี้ใช้ผู้ให้บริการซ่อมบำรุงภายนอก ไม่ใช่ Newag ดังนั้นผู้ให้บริการซ่อมบำรุงจึงจ้างแฮกเกอร์ และต้องใช้เวลาพอสมควรในการทำ reverse engineering เพื่อเข้าใจอย่างแม่นยำว่าเกิดอะไรขึ้น
https://en.wikipedia.org/wiki/Voivodeship
ทำให้นึกถึง AARD “crash” ที่ Microsoft เคยใช้เพื่อทำลายการแข่งขันของ DR-DOS ในทางปฏิบัติ
โค้ด AARD เป็นชิ้นส่วนโค้ดที่อยู่ใน Microsoft Windows 3.1 รุ่นเบต้า ออกแบบมาเพื่อตรวจว่า Windows กำลังรันอยู่บนผลิตภัณฑ์ที่เข้ากันได้ของคู่แข่งอย่าง DR-DOS หรือไม่ แทนที่จะเป็น MS-DOS หรือ PC DOS และถ้าใช่ก็จะแสดงข้อความผิดพลาดที่เข้าใจยาก โค้ดภาษาเครื่องที่เข้ารหัสแบบ XOR แก้ไขตัวเองได้ และจงใจทำให้อ่านยากนี้ใช้โครงสร้างและฟังก์ชันของ DOS ที่ไม่ได้มีการจัดทำเอกสารไว้หลายอย่าง
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 เป็นระบบปฏิบัติการที่ยอดเยี่ยม
อนึ่ง DR-DOS เป็นผลิตภัณฑ์ที่ถึงทางตันตั้งแต่ตอนออกวางจำหน่ายแล้ว เห็นได้ชัดมากว่าผู้คนและ OEM จะไม่ซื้อระบบปฏิบัติการสองตัวพร้อมกัน คือระบบปฏิบัติการแบบกราฟิก กับ DOS ที่ทำตัวเหมือน bootloader ของระบบปฏิบัติการกราฟิกนั้น ความคิดที่ว่าตลาด DOS 16 บิตแบบข้อความล้วนที่ใช้งานเดี่ยวจะคงอยู่ได้อย่างมีนัยสำคัญเป็นเวลานานนั้นเป็นภาพลวงตาโดยสิ้นเชิง และ DR-DOS ก็ไม่ได้สำคัญในแง่ยอดขายด้วย ต่อให้โค้ด AARD เข้าไปอยู่ใน Windows 3.x รุ่นสุดท้ายจริง ๆ ก็คงไม่ทำให้อะไรเปลี่ยนไป
การที่รถไฟถูกปิดใช้งานถ้าจอดทิ้งไว้ “นานเกินไป” นี่ Microsoft ก็คงอยากควบคุมแพลตฟอร์มได้ถึงระดับนั้นเหมือนกัน
หลังโพสต์นี้ถูกเผยแพร่ ราคาหุ้น Newag ตกลงไปพอสมควร นี่จะเป็นกรณีแรกของ การปรับราคาจาก Mastodon หรือเปล่า?
https://g.co/kgs/WVku4C
เมื่อวันที่ 21 พฤศจิกายน 2022 มีสถานการณ์ที่ค่อนข้างตลกคือขบวนรถไฟอีกขบวนหนึ่งซึ่งไม่ได้กำลังวิ่งอยู่ด้วยซ้ำปฏิเสธที่จะทำงาน คอมพิวเตอร์รายงานว่าคอมเพรสเซอร์เสีย แต่เมื่อช่างตรวจสอบก็พบว่าคอมเพรสเซอร์ไม่มีปัญหาใด ๆ ถึงอย่างนั้นรถไฟก็ยังไม่ยกแพนโทกราฟขึ้น และเมื่อวิเคราะห์โค้ดคอมพิวเตอร์ก็พบเงื่อนไขที่บังคับให้เกิดความเสียหาย
ลักษณะคือถ้าวันที่ตั้งแต่วันที่ 21 ขึ้นไป เดือนตั้งแต่พฤศจิกายนขึ้นไป และปีตั้งแต่ 2021 ขึ้นไป ให้รายงานว่า คอมเพรสเซอร์เสีย
> 2021-11-21ผู้ผลิตรายนี้ไม่ได้ทำให้โครงสร้างพื้นฐานสำคัญเป็นอัมพาต แล้วจับโปแลนด์เป็น ตัวประกัน อย่างแท้จริงหรือ? เป็นอาชญากรรมที่กล้าบ้าบิ่นจนน่าเชื่อยาก และผมไม่ค่อยมั่นใจว่าจะรอดไปได้ง่าย ๆ
โลกแคบจริง ๆ เปิด HN มาก็เจอเรื่องเหมือนหนังเกี่ยวกับรถไฟที่เคยนั่งหลายครั้ง เป็นไปได้ด้วยซ้ำว่าผมเคยนั่งผ่านหนึ่งในรถไฟที่ถูกหยุดจริง ๆ เหล่านั้น
ไม่ว่าจะอย่างไร นี่หมายความว่าไม่มี code review หรือไม่ก็ผู้รีวิวยอมรับด้วยเหตุผลบางอย่าง ไม่แน่ใจว่าฝั่งไหนน่ากลัวกว่ากัน
เรื่องนี้ดูชัดเจนว่าผู้ผลิตรถไฟตั้งใจ และผู้ผลิตเป็นคนสั่งให้เขียนโค้ดนั้น ไม่น่าจะเป็นสถานการณ์ที่แฮกเกอร์แอบใส่เข้าไปโดยที่ผู้ดูแลไม่รู้ เลยสงสัยว่าใครจะเป็นคนทำ code review อะไร
พออ่านคอมเมนต์อื่น ๆ ดูเหมือนบทความที่อยู่บนสุดของ HN เปลี่ยนไปแล้ว และคอมเมนต์บางส่วนเขียนอิงจากบทความที่มีข้อมูลน้อยกว่ามาก ดังนั้นคอมเมนต์เลยดูสับสน
น่าเสียดายที่รถไฟของ Newag มีคุณภาพค่อนข้างดีกว่าผู้ผลิตโปแลนด์อีกรายอย่าง Pesa ดูเหมือนว่าจะเชื่อถือได้สูงเกินไป จนต้องสร้างความเสียหายเทียมขึ้นมาเอง
สงสัยว่าใครเป็นคนเขียนโค้ดเงื่อนไขอันตรายเหล่านี้ และใครบ้างที่รู้เรื่อง ไม่มีใครคิดจะเป็น whistleblower เลยหรือ?
อนึ่ง มีหน้าประเมินบริษัทโดยพนักงานแบบไม่ระบุตัวตนอยู่: https://www.gowork.pl/opinie_czytaj,19587
ดูเหมือนเป็น สภาพแวดล้อมการทำงานที่เป็นพิษ พอสมควร
น่าสนใจว่าสถานการณ์นี้จะส่งผลต่อสัญญากับ Akiem บริษัทให้บริการรถไฟของยุโรปอย่างไร Akiem ได้ทำสัญญามูลค่า 164 ล้านยูโรกับ Newag สำหรับบริการและรถไฟสำหรับฝรั่งเศส
[1] https://biznes.pap.pl/pl/news/all/info/3509606,newag-inks-eu...