- セキュリティ研究チームが公開した Unsaflok は、Dormakaba Saflok RFIDホテル錠の複数モデルを数秒で開けられるもので、ホテル客室の入退室管理そのものへの信頼を揺るがしている
- 影響範囲は世界 131か国・13,000の宿泊施設の300万個のドアで、脆弱性はDormakabaの暗号化と MIFARE Classic RFIDの弱点を組み合わせて悪用する
- 攻撃者は同じホテルのキーカードを1枚入手したうえで、300ドルのRFID機器でコードを読み取り、自作したカード2枚を順番にタップして錠のデータを書き換え、ドアを開ける
- 研究チームは2022年11月にDormakabaへ詳細を共有したが、2024年3月時点で設置済みSaflokのうち更新済みは36%のみで、古い設置環境では修正に数か月から数年かかる可能性がある
- 宿泊客は NFC Taginfo アプリでキーカードが依然としてMIFARE Classicかどうか確認でき、脆弱な可能性がある場合は客室内に貴重品を置くのを避け、在室時はドアチェーンを掛けるのが安全
Unsaflokの手法と影響範囲
- セキュリティ研究者のIan Carroll、Lennert Woutersとそのチームは、Unsaflok と呼ばれるホテルのキーカードハッキング手法を公開した
- この手法により、スイスの錠前メーカーDormakabaが販売した Saflok ブランドのRFIDベースのキーカード錠の複数モデルを、ほぼ即座に開けられる
- Saflokシステムは世界中の300万個のドア、13,000の宿泊施設、131か国に設置されている
- 研究は2022年、Las Vegasの非公開イベントでホテル客室の機器をハッキングしてみる過程で始まり、研究チームは客室ドアの錠に注目した
攻撃方法:キーカード1枚と2回のタップ
- 攻撃者はまず、標的ホテルのどのキーカードでもよいので1枚を入手する必要がある
- そのホテルの客室を予約する、または使用済みキーカードが入った箱からカードを入手する方法が例として挙げられている
- 期限切れのキーカードでも、同じホテルのカードであれば条件を満たす
- その後、300ドルのRFID読み書き装置でカードから特定のコードを読み取り、独自のキーカードを2枚作成する
- 1枚目のカードは錠の特定データを書き換える
- 2枚目のカードはドアを開ける
- Woutersによれば、2枚のカードを素早くタップするだけでドアが開き、この方法はホテル内のすべてのドアで機能する
- 最終的な攻撃には、Proxmark RFID読み書き装置と空のRFIDカード2枚があれば十分
脆弱性の技術的構成
- Unsaflokは2種類の脆弱性を組み合わせている
- キーカードにデータを書き込めるようにする脆弱性
- Saflokの錠をだまして開けるにはどのデータを書き込めばよいかを突き止める脆弱性
- Saflokのキーカードは MIFARE Classic RFIDシステムを使用している
- このシステムには10年以上前から知られている脆弱性があり、攻撃者がキーカードに書き込むことができる
- 既存の総当たり処理には最大20秒かかる場合がある
- 研究チームはDormakaba独自の暗号化システムの一部である鍵導出関数を破り、カードへはるかに高速に書き込めるようにした
- この段階だけでもSaflokのキーカードを自由にコピーできるが、別の客室用カードを生成することはできない
- より重要な段階は、Dormakabaがホテルに配布する錠のプログラミング装置とフロントデスク用キーカード管理ソフトウェアを入手し、リバースエンジニアリングした部分である
- 研究チームはカードに保存されたデータ構造を理解した
- ホテルごとのプロパティコードと各客室ごとのコードを抽出した
- Dormakabaシステムと同じように値を生成して暗号化し、宿泊施設内のすべての客室を開けるマスターキーのように動作するカードを偽造できるようになった
修正状況と展開の遅れ
- CarrollとWoutersは2022年11月、Dormakabaにハッキング手法の技術的詳細をすべて共有した
- Dormakabaは2023年初めからSaflokを使用するホテルにセキュリティ欠陥を通知し、脆弱な錠を修正または交換できるよう支援していると述べている
- 過去8年間に販売された多くのSaflokシステムでは、各錠のハードウェアを交換する必要はない
- ホテルはフロントデスク管理システムを更新または交換する必要がある
- 技術者が各ドアの錠を比較的短時間で再プログラムする必要がある
- 研究チームはDormakabaから、2024年3月時点で設置済みSaflokのうち更新済みは36%のみだと聞いている
- 錠はインターネットに接続されておらず、一部の古い錠ではハードウェアアップグレードが必要なため、修正の全面展開には少なくともさらに数か月かかる可能性がある
- Dormakabaは、即時の緩和策と長期的な解決策を実装するためパートナーと緊密に協力したと述べたが、「即時の緩和策」の詳細は公開していない
公開制限と宿泊客の確認方法
- 研究チームは攻撃の一部の詳細を意図的に公開していない
- 1枚目のカードが、標的客室の固有識別子を推測しなくてもドアを開けられるようにする、という点だけを明らかにしている
- 潜在的な侵入者や窃盗犯に手順を明確に示しすぎないよう、その要素は非公開のままにしている
- これは2012年のBlack Hatで公開されたOnityのホテルキーカードハッキング事例とは対照的である
- 当時の公開内容は、誰でもOnityの錠1,000万個を開ける装置を作れるほど詳細だった
- Onityがハードウェアアップグレード費用を負担せず顧客に責任を転嫁したため、多くのホテルで問題が残り、その後少なくとも1件の広域窃盗事件に悪用された
- 研究チームはDormakabaによる修正を支援することと、宿泊客にリスクを知らせることの中間点を選ぼうとしている
- 宿泊客は脆弱な錠をおおむね見分けられる
- よくある外観は、波線が入った丸いRFIDリーダーのデザイン
- ただし、このデザインだけで常に識別できるわけではない
- 客室のドアにSaflokが付いている場合、NXPの NFC Taginfo アプリでキーカードを確認できる
- 錠がDormakaba製品で、アプリでキーカードが依然としてMIFARE Classicと表示される場合、まだ脆弱である可能性が高い
- 脆弱な場合、宿泊客ができることは限られている
- 客室に貴重品を置かないことが推奨される
- 客室内にいるときはドアチェーンを掛けるべき
- 客室のデッドボルトもキーカード錠によって制御されるため、別の防御策にはならない
- Dormakabaは、研究チームの手法が過去に使用された事実は把握していないと述べているが、研究チームはそれが密かに使用された可能性を排除するものではないと見ている
- Saflokブランドは30年以上販売されており、研究チームは脆弱性が長年存在していた可能性が高いと判断している
1件のコメント
Hacker News の意見
入退室管理・通信システムを作る会社で働いている。私たちが開発しているリーダーは、暗号化されていない EM-Marin、かなり前に破られた Mifare Classic から、現代的な Desfire EVx まで、さまざまな ID 標準をサポートしている
統計上、顧客の 95% 以上はいまだに、低コストで運用が簡単という理由で、最も脆弱な識別子を使い続けている
メーカーがサポートを続けていても保守費用が必要なため、設置済み機器の多くは適切に管理されておらず、すべての機器がネットワーク経由でリモート更新できるわけでも、そもそもネットワーク接続を持っているわけでもない
カードが暗号化されていても、ほとんどのカードリーダーはコントローラーと Wiegand プロトコルで接続されており、このプロトコルはデータ暗号化を提供しないため、識別子 ID が 2 本の線で平文送信される
TLS_NULL_WITH_NULL_NULL 暗号スイートをサポートしているブラウザがどれだけあるだろうか?
なぜそうなるのだろう?職場のスマートカードや非接触型の銀行カードは、何年も問題なく動き続けるのに
どうせ泥棒は壊して入ってくるからだ
私が借りて住んでいる建物は Scantron(https://scantron.dk/) のドアロックを使っていて、RFID キーで解錠する方式だ。昨年、MiFare Classic の弱い暗号化のせいで、どのキーからでもマスターキーを作れる方法が発見された
家主が問題を理解するまでに、記者との大量のメールと電話が必要だったし、Scantron も家主に対して問題を矮小化して伝えていたのだと思う
結局折れて、すべてのドアロックをより良い暗号方式にアップグレードし、キーを再発行した
私たちの建物は 197 戸で、各戸に少なくとも 2 本のキーがあるので、私の家が荒らされないためには、すべての入居者とその知人まで信頼しなければならない。実際に侵入されても侵入の痕跡がない可能性が高く、保険で補償されないかもしれない
最後に確認したとき、私の複製した入館タグはまだそこで動作していた
複数人でこの研究を行ったので、質問があれば答えられる。公開情報も https://unsaflok.com にある
脆弱性を探そうとするなら、どこから始めるのか?こういう作業で「IDE を開いて print("hello world") と書く」に相当する出発点は何なのか?
だとすると、Saflok の MIFARE Classic 実装方式が問題だった可能性が高そうだ。このプロトコルについてもう少し読んでみる必要がある
「攻撃者が建物内のどれか 1 枚のキーカードを読むだけで、その建物のすべてのドアを攻撃できる」というのは、かなり深刻な脆弱性だ。実質的にホテル宿泊客でありさえすれば十分ということだ
研究者たちは2022年11月にDormakabaへハッキング手法の技術的詳細をすべて共有したのに、今月時点で設置済みSaflokのうち36%しかアップデートされていないとDormakabaが言っているなら、Dormakabaはこれを最優先の総力課題として扱ってこなかったということなのか?
それとも設置先の3分の2には無料の修正が期限内に提供されたのに、何らかの理由で先送りしているということなのか?
「当社の顧客とパートナーはいずれもセキュリティを非常に真剣に受け止めており、この問題に責任を持って対処するため、あらゆる合理的な措置が取られると確信している」というPR文言の「合理的」という言葉が怪しい
Wikipediaによると、dormakaba Holding AGはスイスのリュムランに本社を置くグローバルなセキュリティグループで、50か国以上で15,000人超を雇用している
ホテルの顧客に潜在的に非常に悪いことが起きる前に解決しようという意思さえあれば、リソースは十分にありそうだ
SIX Swiss Exchangeに上場している
https://www.google.com/finance/quote/DOKA:SWX?comparison=INDEXSP%3A.INX&window=5Y
https://www.google.com/finance/quote/DOKA:SWX?comparison=INDEXSP%3A.INX&window=1Y
https://archive.is/a7ntC
水を差すようだが、施錠されたドアのほとんどはさまざまな方法で「数秒で」開けられる。たいてい施錠状態というのは実質的な強制手段というより、立入禁止の合図に近い
目的は、不正なアクセスを十分に面倒または騒がしくして、誰かが気づいてマネージャーに知らせるようにすることだ
ホテルのカードキーがどう動作するのか、自分は誤解していたようだ。キーには常にランダムなUUIDが入っていて、チェックイン時に任意のカードが自分の部屋に紐づけられて渡される方式だと思っていた
ドアを開けようとすると、カードIDを客室データベースと照合して開けるかどうか判断するのだと思っていた
違うのか? 暗号化やカードに実際に何かを書き込む方式より、そのほうが単純に見えるのだが
古い電子ロックの大半は9V電池で動作しており、中央サーバーに配線されていない
ネットワーク接続型のシステムもあるが、設置コストははるかに高くなり得る
誰かがこれを実行するFlipper Zeroスクリプトを作るのは時間の問題に見える
RFIDリーダーを破ろうという意図と知識がある人なら、そうしたハードウェアツールを作れる。Flipper Zeroはそういうツールを提供しているのか? そうではある
倫理を守る責任はユーザーにあるのか? 議論の余地はあるが、個人的には当然そうだと思う
誰かがピッキングツール一式を持ち歩き、その使い方を学ぶなら許容され得るのではないか? 私たちは鍵を開けられる人が存在するという事実を受け入れており、米国の州の80%はピッキングツールの所持と合法的使用を認めている
旅行するときはドアジャマーを持ち歩いている。自分が見たホテルのドアロックの大半は、外から開けられるように設計されている
ドアジャマーはドアをくさびのように固定し、閉じた状態で踏ん張らせてくれる。それを使うと夜によく眠れる