- 英国の Class 800 列車のバリアフリートイレで、ドアの状態とロックレバーの判定が食い違う瞬間を利用し、ドアが閉まると同時にロックされる DoS 脆弱性が確認された
- 以前のボタン式設計は「閉じる」と「ロック」を分離し、外部からトイレをロックしてしまう状況を防いでいたが、利用者がロック状態を混同しやすかった
- 最新のレバー式設計はより直感的だが、Hitachi 方式ではレバーを戻さず 金属ピンで移動を妨げるため、レバーの遊びと制御器の判定の間に隙間が生じる
- 再現手順は、ドアを閉めた後、ロックピンが掛からない程度にだけレバーを動かし、再びドアを開けてピンを空振りさせたうえで、レバーをロック位置へ移動するというもの
- あるテストではドア制御器が out-of-order モードに入ったが、デモは待っている人がおらず、列車内にトイレが複数ある状況でのみ行われた
Class 800 トイレのドアロック構造
- 英国の Class 800 列車には、電動ドアを備えたバリアフリートイレがある
- 以前の世代のトイレは、内部に
open、close、lock ボタンを備えた構造だった
- 利用者は
close を押してドアが閉まるのを待ってから、lock を押す必要があった
- 独立した
unlock ボタンはなく、内部の open ボタンを押すと自動的にロック解除されてドアが開いた
- 「閉じる」と「ロック」を分離すると、誰かが
close を押し、ドアが閉まる前に外へ出てトイレを永続的に使用不能にする サービス拒否攻撃を防げる
- その一方で、状態機械に慣れていない利用者には分かりにくく、ドアを正しくロックできなかったり、ロックされたと勘違いしたりする状況が起こり得た
レバー式ロックで生じた脆弱性
- 最新のバリアフリートイレでは、ボタンではなく レバーを動かしてドアをロックする方式が多い
- 利用者にとってはより直感的に理解できる
- ただし、このレバーは実際のロック機構に直接つながった機械式レバーではなく、マイクロコントローラーへの入力である
- 一部の英国の列車では、ドアが開いた状態でレバーをロック位置へ動かそうとすると、レバーが再び unlocked 位置へ戻るようにして状態の不一致を処理する
- Hitachi 方式ではレバーを戻す代わりに、ロック位置へ動かしてはいけない状況で小さな 金属ピンを突出させ、レバーを unlocked 位置に固定する
- 脆弱性は、レバーが「ロック済み」と検知される地点と、金属ピンが実際に掛かる地点との間にある 遊びで発生する
- ドアを閉めた後、ピンが掛からない位置までレバーを動かしつつ、制御器がまだ locked と読み取らない位置に置くことができる
- その状態でドアを開けると、ロックピンが何にも当たらない空間へ突出する
- ピンがレバーに触れないため、レバーを locked 位置へ動かせる
- その後も
close ボタンは動作し続け、ドアが閉まると即座にロックされる
- この問題を実演した 動画 が公開されている
- Class 800 での2回目のテスト中、トイレのドア制御器が out-of-order モードに入った
- 1回目のテストではこの現象はなかった
- 筆者が列車を降りるときには、トイレは再び動作中だった
- 一定時間が経って自動的にリセットされたのか、列車内の誰かがリセットしたのかは分からない
- デモは周囲にトイレを待っている人がおらず、列車に複数のトイレがある状況でのみ行われた。動画の目的は実際にトイレを DoS することではなく、その可能性を示すことにあった
1件のコメント
Hacker News の意見
小学校のころは、手で回すアナログな錠前でもこういうことがありました。ドアの外側にこんな感じのネジ溝のようなインターフェースがあって、授業終了5分前に「トイレに行きたい」と言って出ていった子が、ドライバーや Swiss Army knife で外から全個室を施錠してしまい、そうすると全部の個室が使用中に見えました
スウェーデンの列車で用を足している最中に、電動ドアが開き始めたことがあります。取っ手が手の届くところにあったので押して閉めようとしましたが、結局ズボンを上げるほうを優先せざるを得ませんでした
その車両のトイレは普通の2人掛け座席より広く、外にはトイレのほうを向いて座る座席までありました。かなり気まずかったですが、人はみな裸で生まれてくるものなので、結局は笑い話になりました。原因を確かめに戻るほど気にはならなかったので、そのまま席に戻って、できるだけ見えていないふりをしました
以前オーストラリアには、デジタル公衆電話の初期の試みのように見える機器があり、一部はまだ残っていますが、長くは持たなさそうです。受話器を取る前と取っている間に言語ボタンを押し続けると、公衆電話が「Out of Order」と表示し、受話器を戻しても、次に誰かが受話器を取るまでそのメッセージが維持されました
高校生らしく、私たちは多くの人の生活を台無しにすることに純粋に科学的なアプローチを取りました。公衆電話3台のうち2台だけをこの方法で止めておくと、誰も故障した受話器を十分に調べて状態を戻さないため、動く1台の前に長い列ができました。しかし3台すべてを止めると、怒った利用者たちが受話器をテストして、全部正常に戻してしまいました。私たちの近所のほぼすべての公衆電話群で再現可能な研究でした
英国路線で使われていたある車両、おそらく Bradford 近くで見たものだと思いますが、内部の閉じるボタンがまさにそういう誤設計になっていました。
私は片付ける習慣で、出るときに「閉じる」を押す反射的な行動があるので本当に注意が必要でした。初めて使ったとき、実際に押してしまい、カチッという音を聞いてから、ほかの乗客に何をしてしまったのか気づいた気がします
閉じる操作と施錠操作を別にすることには、心理的な側面もあります。デンマークのある列車には「閉じる」ボタンしかなく、初めて見るとかなり戸惑います
以前の設計が人々を混乱させたのは確かですが、なぜ明白な解決策である解錠ボタンの追加を選ばなかったのかわかりません。あるいは、人々がはっきり信頼できる機械式の錠前を使えばよかったはずです
私が見た最悪のトイレの錠前は、押すと施錠される変なボタンでしたが、本当に施錠されたのかわからないほど信用できなかったため、オーナーがドアを施錠する正確な方法と、本当に施錠されるという説明を標識に貼っていました
列車トイレの昔ながらの機械式錠前に何の問題があったのかわかりません。多くの、特に高齢の乗客が派手な電動式装置をうまく使えずに困っていて、実際に施錠されていないドアで気まずいことも多く、一部の人はわざと壊すのを面白がっているようです
本当に切羽詰まっていて、列車内に使えるトイレが必要な人もいます
ボタンのデザインも特に明確ではありませんでした。引き戸が重いので電動開閉装置の利点は理解できますが、施錠は物理的な装置であるか、少なくとも物理的な装置のように動作すべきでした
障害のある利用者も、トイレという私的なプロセスでできるだけ自分で操作できるようにするには、おそらくこうした方式がほぼ唯一だった可能性が高いです
また駅では自動で施錠して、人々が駅間でだけ使うようにでき、乗降待ちの間に悪臭がするのを減らせます
ただしインターロックがなければ、機械式錠前も簡単にサービス拒否状態にできます。車や建物で鍵を中に置いたまま施錠されたことがある人なら、きっと覚えているでしょう
こういう機械的ハッキングは、見つけるといつも面白いものです。ただし、トイレを待っていて、中に誰もいないのに施錠されていると知るかわいそうな人が、自分になることもあります
こうしたものはテストがより難しく、単なるソフトウェアや状態機械だけの問題ではありません。本当に危険な機械的「ハッキング」もあり、放射線量を誤って投与した Therac-25 のような放射線治療器がその例です
なぜあらゆるものにマイクロコントローラを入れなければならないのか分からない。列車のトイレは飛行機のトイレと基本的に同じユースケースで、私が乗ったことのある飛行機はどれも旧式のスライド式ロックが付いていて、問題なく動いていた
元記事で言及されている列車のトイレには、誰かが旅の間ずっとトイレを占有できないようにするタイマーがあるので、機械式ロックではだめなのか気になる
舗装路上に設置された自動洗浄トイレ「superloos」には時間制限があり、開く数分前に音声警告を流すと聞いた。もっと気がかりなのは、誰かが中にいるのに自動洗浄が始まったという事例だ。前の人が料金を節約しようとドアを押さえたまま次の人を入れると、トイレは空だと判断して「未申告」の利用者を水浸しにしようとするわけだ
また、使われていないときは臭いを防ぐためにドアを自動で閉める。最大の理由は、ドアが車椅子にやさしくないことだ。多くの車椅子利用者には、ドアを動かすだけの力や身のこなしがない。この3つすべてを満たす機械式ドアシステムを設計するのはかなり難しいが、UIは確実に改善できる
個人的には、ドアが閉まる間ずっと「閉」ボタンを押し続けなければならないようにしたと思う。途中でボタンを離すと再び開き、完全に閉まった後にだけ閉じた状態、つまり「ロック」された状態で維持される。実際の機械式ロックは不要だが、点灯する大きな赤い南京錠の表示灯は必要だ
面一のボタンや、写真に見える背の低い形状のレバーは、重さと移動距離が小さく、機械的利点を提供する必要もないため、特定の機械的攻撃にはより堅牢になり得る。可能ならソフトウェアなしの単純な機構が好きだが、コストと信頼性の問題を直接扱う立場ではない
https://www.gableseng.com/wp-content/uploads/2020/05/G7330-....
言葉を失った
ボタン導入の本来の理由はアクセシビリティだったようで、最新の飛行機でも同じ理由で似たシステムへ移行しようとしているのだと理解している
英国の列車トイレは、悪い設計事例集の古典だ。ドアをロックできなかった人が客室にさらされ、ドアを閉められない人もいれば、開けられない人もいる
トイレまでたどり着いたうえで、前の利用者にひどい状態にされていなかった場合の話だ
ある集団にとってトイレのアクセシビリティを高めると、別の集団にとっては下がることがある。社会がどの水準を選ぶかという問題だ。英国の一部の列車はバランスが良く、大きな車椅子対応トイレと小さな従来型トイレを併設しているが、その事実を案内するのにしばしば苦労している