Kasus peretasan toilet kereta
(devever.net)- Di toilet aksesibel pada kereta Class 800 di Inggris, ditemukan kerentanan DoS yang memanfaatkan momen ketika status pintu dan penilaian tuas kunci tidak selaras, sehingga pintu langsung terkunci begitu tertutup
- Desain lama berbasis tombol memisahkan “tutup” dan “kunci” untuk mencegah situasi toilet dikunci dari luar, tetapi pengguna jadi mudah bingung soal status kunci
- Desain terbaru berbasis tuas lebih intuitif, tetapi metode Hitachi menahan pergerakan dengan pin logam tanpa mengembalikan tuas, sehingga muncul celah antara toleransi gerak tuas dan penilaian pengendali
- Reproduksinya dilakukan dengan menutup pintu, lalu menggerakkan tuas hanya sampai titik sebelum pin pengunci menyangkut, kemudian membuka lagi pintu agar pin keluar ke ruang kosong, lalu memindahkan tuas ke posisi terkunci
- Dalam satu pengujian, pengendali pintu masuk ke mode out-of-order, tetapi demonstrasi hanya dilakukan saat tidak ada orang yang menunggu dan kereta memiliki beberapa toilet
Struktur penguncian pintu toilet Class 800
- Kereta Class 800 di Inggris memiliki toilet aksesibel dengan pintu elektrik
- Toilet generasi sebelumnya menggunakan tombol
open,close, danlockdi bagian dalam- Pengguna harus menekan
close, menunggu pintu tertutup, lalu menekanlock - Tidak ada tombol
unlockterpisah; menekan tombolopendi dalam akan otomatis membuka kunci lalu membuka pintu
- Pengguna harus menekan
- Pemisahan antara “tutup” dan “kunci” mencegah serangan denial-of-service di mana seseorang menekan
closelalu keluar sebelum pintu tertutup sehingga toilet menjadi tidak bisa dipakai secara permanen - Namun, ini membingungkan bagi pengguna yang tidak terbiasa dengan state machine, dan bisa membuat orang gagal mengunci pintu dengan benar atau mengira pintu sudah terkunci
Kerentanan yang muncul pada kunci berbasis tuas
- Toilet aksesibel terbaru banyak yang menggunakan tuas alih-alih tombol untuk mengunci pintu
- Bagi pengguna, ini lebih intuitif
- Namun, tuas ini bukan tuas mekanis yang terhubung langsung ke mekanisme kunci, melainkan input ke mikrokontroler
- Pada beberapa kereta di Inggris, jika tuas dipindahkan ke posisi terkunci saat pintu terbuka, tuas akan kembali ke posisi unlocked untuk menangani ketidaksesuaian status
- Pada metode Hitachi, alih-alih mengembalikan tuas, sistem menonjolkan pin logam kecil untuk menahan tuas di posisi unlocked ketika tuas tidak boleh dipindahkan ke posisi terkunci
- Kerentanan ini muncul dari celah toleransi antara titik saat tuas terdeteksi sebagai “terkunci” dan titik saat pin logam benar-benar bisa mengait
- Setelah pintu ditutup, tuas dapat digerakkan sampai posisi yang belum membuat pin mengait, tetapi juga belum dibaca pengendali sebagai locked
- Dalam kondisi itu, ketika pintu dibuka, pin pengunci akan menonjol ke ruang kosong
- Karena pin tidak menyentuh tuas, tuas kemudian bisa dipindahkan ke posisi locked
- Setelah itu, tombol
closetetap berfungsi, dan pintu akan langsung terkunci begitu tertutup
- Video yang mendemonstrasikan masalah ini telah dipublikasikan
- Pada pengujian kedua di Class 800, pengendali pintu toilet masuk ke mode out-of-order
- Hal ini tidak terjadi pada pengujian pertama
- Saat penulis turun dari kereta, toilet sudah kembali berfungsi
- Tidak diketahui apakah sistem melakukan reset otomatis setelah beberapa waktu atau di-reset oleh seseorang di dalam kereta
- Demonstrasi hanya dilakukan saat tidak ada orang di sekitar yang menunggu toilet dan ketika kereta memiliki beberapa toilet; tujuan video tersebut bukan benar-benar melakukan DoS pada toilet, melainkan menunjukkan bahwa hal itu mungkin terjadi
1 komentar
Opini di Hacker News
Saat SD, hal seperti ini juga terjadi pada kunci analog yang diputar dengan tangan. Di sisi luar pintu ada antarmuka seperti alur sekrup semacam ini, jadi anak yang keluar 5 menit sebelum pelajaran selesai sambil bilang “perlu ke toilet” biasa mengunci semua bilik dari luar dengan obeng atau Swiss Army knife, sehingga semua bilik terlihat sedang dipakai
Saya pernah sedang buang air di kereta Swedia ketika pintu elektrik mulai terbuka. Pegangannya masih terjangkau, jadi saya mencoba mendorongnya hingga tertutup, tetapi pada akhirnya saya harus memprioritaskan menaikkan celana
Toilet di gerbong itu lebih luas daripada kursi standar untuk dua orang, dan di luar bahkan ada kursi yang menghadap ke toilet. Cukup memalukan, tetapi semua orang lahir telanjang, jadi akhirnya menjadi cerita lucu; saya juga tidak cukup penasaran soal penyebabnya untuk kembali memeriksa, jadi saya kembali saja ke tempat duduk dan sebisa mungkin berpura-pura tidak terlihat
Dulu di Australia ada perangkat yang tampak seperti upaya awal telepon umum digital, dan sebagian masih ada, meski sepertinya tidak akan bertahan lama. Jika tombol bahasa ditekan dan ditahan sebelum serta saat gagang diangkat, telepon umum akan menampilkan “Out of Order”, dan meski gagang diletakkan kembali, pesan itu tetap bertahan sampai orang berikutnya mengangkat gagang
Sebagai anak SMA, kami mengambil pendekatan yang murni ilmiah untuk merusak hidup banyak orang. Jika hanya 2 dari 3 telepon umum dimatikan dengan cara ini, tidak ada yang menyelidiki gagang yang “rusak” itu cukup lama untuk mengembalikan statusnya, sehingga terbentuk antrean panjang di depan 1 telepon yang masih berfungsi. Tetapi jika ketiganya dimatikan, pengguna yang marah akan menguji gagang-gagangnya dan semuanya kembali normal; ini penelitian yang bisa diulang pada hampir semua kelompok telepon umum di lingkungan kami
Ada sebuah gerbong yang digunakan di rute Inggris, mungkin yang pernah saya lihat di sekitar Bradford, tombol tutup di bagian dalamnya punya salah desain persis seperti itu.
Karena kebiasaan refleks saya menekan ‘tutup’ saat keluar demi merapikan, saya harus benar-benar berhati-hati; saat pertama kali memakainya, saya rasa saya benar-benar menekannya, lalu baru setelah mendengar bunyi klik menyadari apa yang telah saya lakukan kepada penumpang lain
Membuat tutup dan kunci sebagai tindakan terpisah juga punya aspek psikologis. Beberapa kereta di Denmark hanya punya tombol ‘tutup’, dan saat pertama melihatnya cukup membingungkan
Memang desain lama membuat orang bingung, tetapi saya tidak tahu kenapa mereka tidak memilih solusi yang jelas, yaitu menambahkan tombol buka kunci. Atau seharusnya pakai saja kunci mekanis yang bisa dipercaya orang dengan jelas
Kunci toilet terburuk yang pernah saya lihat adalah tombol aneh yang terkunci saat ditekan, tetapi begitu tidak meyakinkan apakah benar-benar terkunci sampai pemiliknya memasang papan penjelasan tentang cara tepat mengunci pintu dan bahwa pintunya memang benar-benar terkunci
Saya tidak tahu apa masalahnya dengan kunci mekanis model lama di toilet kereta. Banyak penumpang, terutama lansia, kesulitan menggunakan perangkat elektrik yang mencolok dengan benar; banyak juga kejadian memalukan karena pintu yang ternyata tidak terkunci, dan sebagian orang sepertinya sengaja merusaknya untuk bersenang-senang
Ada orang yang benar-benar perlu buang air mendesak dan membutuhkan toilet yang berfungsi di dalam kereta
Desain tombolnya juga tidak terlalu jelas. Karena pintu gesernya berat, saya mengerti manfaat mekanisme buka-tutup elektrik, tetapi penguncinya seharusnya berupa perangkat fisik, atau setidaknya bekerja seperti perangkat fisik
Jika pengguna disabilitas juga ingin bisa mengoperasikannya semandiri mungkin dalam proses pribadi seperti menggunakan toilet, kemungkinan cara seperti ini nyaris satu-satunya pilihan
Selain itu, di stasiun toilet bisa dikunci otomatis agar orang hanya menggunakannya di antara stasiun, sehingga mengurangi bau saat penumpang menunggu naik-turun
Namun tanpa interlock, kunci mekanis pun bisa dengan mudah dibuat menjadi kondisi denial of service. Siapa pun yang pernah terkunci di luar mobil atau bangunan dengan kunci tertinggal di dalam pasti mengingatnya
Peretasan mekanis seperti ini selalu menarik saat ditemukan. Meski begitu, bisa saja saya yang menjadi orang malang yang menunggu toilet lalu mendapati pintunya terkunci padahal tidak ada siapa pun di dalam
Hal seperti ini lebih sulit diuji, dan bukan sekadar masalah perangkat lunak sederhana atau mesin status. Ada juga “peretasan” mekanis yang benar-benar berbahaya, contohnya mesin radioterapi seperti Therac-25 yang memberikan dosis radiasi yang salah
Saya tidak mengerti mengapa semuanya harus diberi mikrokontroler. Toilet kereta pada dasarnya punya kasus penggunaan yang sama dengan toilet pesawat, dan semua pesawat yang pernah saya naiki punya kunci geser model lama yang bekerja tanpa masalah
Saya jadi penasaran apakah toilet kereta yang disebut di artikel asli punya timer agar seseorang tidak bisa menduduki toilet sepanjang perjalanan, sehingga kunci mekanis tidak bisa dipakai
Saya dengar “superloos”, toilet pembersih otomatis yang dipasang di trotoar, punya batas waktu dan memutar peringatan suara beberapa menit sebelum terbuka. Yang lebih mengkhawatirkan adalah kasus-kasus ketika pembersihan otomatis dimulai saat masih ada orang di dalam. Jika orang sebelumnya menahan pintu agar orang berikutnya bisa masuk demi menghemat uang, toilet menganggap ruangannya kosong dan seolah-olah berusaha menenggelamkan pengguna yang “tidak tercatat”
Selain itu, saat tidak digunakan pintunya otomatis menutup untuk mencegah bau. Alasan terbesarnya adalah pintu itu tidak ramah kursi roda. Banyak pengguna kursi roda tidak punya cukup tenaga atau kelincahan untuk menggerakkan pintu. Merancang sistem pintu mekanis yang memenuhi ketiga hal ini cukup sulit, tetapi UI-nya jelas masih bisa dibuat lebih baik
Secara pribadi, saya mungkin akan membuat tombol ‘tutup’ harus terus ditekan selama pintu menutup. Jika tombol dilepas di tengah jalan, pintu terbuka lagi, dan baru setelah tertutup sepenuhnya pintu tetap dalam kondisi tertutup sekaligus ‘terkunci’. Kunci mekanis sungguhan tidak diperlukan, tetapi harus ada lampu indikator gembok merah besar yang menyala
Tombol yang rata dengan permukaan atau tuas berprofil rendah seperti yang terlihat di foto punya bobot dan jarak gerak kecil, serta tidak perlu memberikan keuntungan mekanis, sehingga bisa lebih tangguh terhadap serangan mekanis tertentu. Kalau bisa, saya suka mekanisme sederhana tanpa software, tetapi saya bukan orang yang langsung menangani masalah biaya dan keandalan
https://www.gableseng.com/wp-content/uploads/2020/05/G7330-....
Saya kehabisan kata-kata
Sepertinya alasan awal penggunaan tombol adalah aksesibilitas, dan sejauh yang saya pahami, pesawat modern juga sedang bergerak ke sistem serupa karena alasan yang sama
Toilet kereta di Inggris adalah contoh klasik dari kumpulan studi kasus desain buruk. Ada orang yang gagal mengunci pintu lalu terekspos ke penumpang di kabin, ada yang tidak bisa menutup pintu, dan ada juga yang tidak bisa membukanya
Itu pun kalau mereka sudah berhasil sampai ke toilet dan pengguna sebelumnya belum merusaknya
Jika aksesibilitas toilet ditingkatkan untuk satu kelompok, bisa jadi aksesibilitasnya menurun bagi kelompok lain. Ini soal masyarakat memilih tingkat seperti apa. Sebagian kereta di Inggris punya keseimbangan yang cukup baik dengan menyediakan toilet besar yang dapat diakses kursi roda sekaligus toilet kecil bergaya tradisional, tetapi mereka sering kesulitan memberi tahu penumpang tentang hal itu