Hiện tượng khóa tàu ở Ba Lan khi sửa tại xưởng bảo trì bên thứ ba
(social.hackerspace.pl)Tóm tắt: nghiên cứu của hackerspace.pl và bài công bố
- hackerspace.pl là một phần của mạng xã hội phân tán dựa trên Mastodon.
- Đây là máy chủ dành cho các thành viên hackerspace ở Warsaw, do q3k@q3k quản lý.
- Thống kê máy chủ: 22 người dùng hoạt động.
Tóm tắt nội dung nghiên cứu
- Các nhà nghiên cứu đã phân tích mã PLC của các đoàn tàu điện EMU NEWAG Impuls bằng kỹ thuật dịch ngược.
- Các đoàn tàu này ngừng hoạt động vì những lý do tùy tiện sau khi được bảo dưỡng tại các xưởng bên thứ ba.
- Nhà sản xuất cho rằng các vấn đề này là do xưởng xử lý không đúng cách và khẳng định tàu phải được bảo dưỡng tại chính hãng.
Những vấn đề được phát hiện
- Mã PLC có chứa logic khóa tàu sau một ngày cụ thể hoặc nếu không vận hành trong một khoảng thời gian nhất định.
- Một số phiên bản bộ điều khiển có chứa tọa độ GPS dùng để hạn chế hành vi chỉ tại các xưởng bên thứ ba.
- Có thể mở khóa tàu bằng cách nhấn một tổ hợp phím cụ thể trên bảng điều khiển trong khoang lái, nhưng điều này không được tài liệu hóa.
Cập nhật phần mềm và các vấn đề bổ sung
- Trong các phiên bản phần mềm PLC mới hơn, tính năng mở khóa bằng phím đã bị xóa, nhưng logic khóa vẫn còn.
- Sau một bản cập nhật cụ thể của NEWAG, HMI phát hiện một tập con các điều kiện khiến cơ chế khóa phải kích hoạt và hiển thị thông điệp đáng sợ về vi phạm bản quyền ngay cả khi tàu vẫn đang hoạt động.
- Tàu được trang bị thiết bị đo từ xa GSM, dường như phát tín hiệu các điều kiện khóa và trong một số trường hợp có thể khóa tàu từ xa.
Thảo luận công khai và phản ứng
- Các nhà nghiên cứu đã thảo luận riêng về vấn đề này tại OhMyHack.
- Câu chuyện này đang lan truyền qua các nguồn tiếng Ba Lan, và tại 37C3 họ dự định sẽ trình bày chi tiết cũng như công bố các phát hiện.
- Mọi người phản ứng theo nhiều cách khác nhau, trong đó có ý kiến cho rằng hành vi này có thể mang tính chống cạnh tranh và là bất hợp pháp.
Ý kiến của GN⁺
Điểm quan trọng nhất trong bài viết này là các nhà nghiên cứu đã phát hiện những vấn đề cố hữu trong mã PLC của các đoàn tàu điện EMU NEWAG Impuls và dự định thảo luận công khai về chúng. Đây là một ví dụ thú vị về sự tương tác giữa phần mềm và phần cứng, cũng như cách công nghệ có thể được dùng để hạn chế quyền của người dùng và cạnh tranh. Những nghiên cứu như vậy có thể khơi mào cho các cuộc tranh luận quan trọng về việc sử dụng công nghệ một cách có đạo đức và bảo vệ người tiêu dùng, một chủ đề rất quan trọng với mọi bên liên quan.
1 bình luận
Ý kiến trên Hacker News
Việc bảo trì các đoàn tàu được các công ty đường sắt khu vực ở Ba Lan sử dụng được chia thành 5 cấp từ P1 đến P5, và từ vài năm trước, nhờ việc mở cửa thị trường của Cơ quan Đường sắt Liên minh châu Âu, các công ty nhỏ cũng bắt đầu thắng thầu bảo trì từ cấp P3 trở lên.
Bốn đoàn tàu do SPS Mieczkowski bảo dưỡng đã không hoạt động, khiến công ty phải trả khoản phạt 500.000 euro và các đoàn tàu được trả lại cho Newag. Đồng thời, tàu của các công ty khác cũng trở nên bất động sau khi không được bảo dưỡng và nằm yên quá lâu ở một chỗ. Vì vậy, SPS Mieczkowski đã thuê Dragon Sector điều tra và phát hiện nhiều routine riêng biệt dùng để khiến tàu dừng hoạt động.
Vụ việc hiện đang bị Cục Chống tham nhũng Trung ương Ba Lan điều tra, nhưng có vẻ sẽ không giáng đòn quá mạnh vào Newag. Cơ quan Vận tải Đường sắt Ba Lan từng làm khó các công ty đường sắt bằng khiếu nại và mệnh lệnh vì những lỗi lịch trình nhỏ, nhưng lại không can thiệp vào vụ này.
Ba Lan được chia thành 16 tỉnh, và sau các cải cách đầu những năm 2000, gần như mỗi tỉnh đều có công ty đường sắt khu vực riêng. Sau khi nhiều lỗi xảy ra với tàu của Newag, công ty dịch vụ đã phải thuê hacker và mất thời gian đảo ngược kỹ thuật để xác định vấn đề.
Vụ việc này gợi nhớ đến AARD "crash" mà Microsoft từng dùng trong quá khứ để loại DR-DOS khỏi cuộc cạnh tranh. Mã AARD là đoạn mã được đưa vào bản beta của Windows 3.1 để kiểm tra xem Windows có đang chạy trên sản phẩm cạnh tranh như DR-DOS thay vì MS-DOS hay PC DOS hay không, và nếu đúng thì hiển thị thông báo lỗi đã được mã hóa.
Giá cổ phiếu của Newag đã giảm đáng kể sau bài đăng này. Thật tò mò không biết đây có phải lần điều chỉnh giá đầu tiên do Mastodon gây ra hay không.
Có một đoàn tàu từ chối hoạt động vào ngày 21 tháng 11 năm 2022 dù lúc đó không hề được đưa vào bảo dưỡng. Máy tính báo lỗi máy nén khí, nhưng người thợ máy xác định rằng máy nén không có vấn đề gì. Kết quả phân tích mã máy tính cho thấy có một điều kiện khiến hệ thống báo lỗi máy nén khi đến một ngày cụ thể.
Có ý kiến cho rằng tàu của Newag có chất lượng cao hơn Pesa (một nhà sản xuất khác của Ba Lan), nhưng cũng đáng tin cậy đến mức phải tạo ra lỗi một cách nhân tạo.
Có người đặt câu hỏi liệu các nhà sản xuất có đang làm tê liệt hạ tầng quan trọng và biến Ba Lan thành con tin hay không. Đây là một tội ác táo bạo, và không thể chắc họ có thoát được hay không.
Có những câu hỏi về người đã viết điều khoản mã độc này và những ai biết về nó, đồng thời cũng thắc mắc vì sao không có người tố giác. Có một trang đăng các ý kiến ẩn danh (chưa được xác minh) của nhân viên về công ty.
Mở Hacker News ra và đọc một câu chuyện như phim về đoàn tàu mình từng đi thường xuyên cho thấy thế giới thật nhỏ bé. Có thể đã không có code review, hoặc người review vì lý do nào đó đã chấp nhận nó.
Thật thú vị khi xem tình huống này sẽ ảnh hưởng thế nào đến hợp đồng giữa Newag và Akiem, công ty dịch vụ đường sắt châu Âu. Newag đã ký hợp đồng trị giá 164 triệu euro cho dịch vụ và các đoàn tàu dành cho Pháp.