1 ポイント 投稿者 GN⁺ 2024-03-23 | 1件のコメント | WhatsAppで共有
  • セキュリティ研究チームが公開した 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枚があれば十分
    • Androidスマートフォンや Flipper Zero も、信号を連続して送信するために使用できる

脆弱性の技術的構成

  • 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件のコメント

 
GN⁺ 2024-03-23
Hacker News の意見
  • 入退室管理・通信システムを作る会社で働いている。私たちが開発しているリーダーは、暗号化されていない EM-Marin、かなり前に破られた Mifare Classic から、現代的な Desfire EVx まで、さまざまな ID 標準をサポートしている
    統計上、顧客の 95% 以上はいまだに、低コストで運用が簡単という理由で、最も脆弱な識別子を使い続けている
    メーカーがサポートを続けていても保守費用が必要なため、設置済み機器の多くは適切に管理されておらず、すべての機器がネットワーク経由でリモート更新できるわけでも、そもそもネットワーク接続を持っているわけでもない
    カードが暗号化されていても、ほとんどのカードリーダーはコントローラーと Wiegand プロトコルで接続されており、このプロトコルはデータ暗号化を提供しないため、識別子 ID が 2 本の線で平文送信される

    • ある時点からは、すでに脆弱だと知られている標準をメーカーがサポートし続ける選択をしていることにも責任があるのではないかと思う
      TLS_NULL_WITH_NULL_NULL 暗号スイートをサポートしているブラウザがどれだけあるだろうか?
    • 似た分野にいるが、かなりの顧客が、Flipper Zero で自動化できるほどリプレイ攻撃にばかげたほど脆弱な旧式の Wiegand 低周波バッジを使い続けている
    • ホテルのキーカード技術について、以前から不思議に思っていたことがある。非接触キーカードを使うホテルに泊まるたびに、通常 2〜3 泊で 3〜5 部屋を使うグループだと、少なくとも 1 人はキーカードを再発行してもらう必要があった
      なぜそうなるのだろう?職場のスマートカードや非接触型の銀行カードは、何年も問題なく動き続けるのに
    • 実質的にすべての物理錠も簡単に開けられるのと似ている。それでも、オフィスのドア錠をピッキング耐性基準で買う人はいない
      どうせ泥棒は壊して入ってくるからだ
    • 暗号化されたカードでも、リーダーとコントローラーの間が Wiegand なら識別子が平文で通るというのはその通りだ。むしろ鍵と錠前に戻ったほうがよさそうに見える
  • 私が借りて住んでいる建物は Scantron(https://scantron.dk/) のドアロックを使っていて、RFID キーで解錠する方式だ。昨年、MiFare Classic の弱い暗号化のせいで、どのキーからでもマスターキーを作れる方法が発見された
    家主が問題を理解するまでに、記者との大量のメールと電話が必要だったし、Scantron も家主に対して問題を矮小化して伝えていたのだと思う
    結局折れて、すべてのドアロックをより良い暗号方式にアップグレードし、キーを再発行した
    私たちの建物は 197 戸で、各戸に少なくとも 2 本のキーがあるので、私の家が荒らされないためには、すべての入居者とその知人まで信頼しなければならない。実際に侵入されても侵入の痕跡がない可能性が高く、保険で補償されないかもしれない

    • ずっと賃貸暮らしをしてきたが、いつも最初にやるのはすべての錠前交換だった。サイズの違う高セキュリティのシリンダー錠をいくつか持っていて、どのシリンダーも絶対にピッキング不可能というわけではないが、自分のものにはかなり満足している
    • そのメールを共有してもらえないだろうか?私もそういう集合住宅に住んでいて、錠前がおもちゃレベルだとは分かっていたが、管理会社を説得できるとは思っていなかった
    • 以前借りて住んでいたアパートでも似たような状況だった。残念ながら直そうとしなかったので、ドアロックの電池を抜いて物理キーだけを使った
      最後に確認したとき、私の複製した入館タグはまだそこで動作していた
  • 複数人でこの研究を行ったので、質問があれば答えられる。公開情報も https://unsaflok.com にある

    • 攻撃の技術的詳細はいつ公開する予定なのか?ドアロックの長い交換サイクルを考えると、10 年以上交換されないものも多いだろうに
    • Saflok はどう対応したのか?協力的だったのか、それとも脅したり情報公開を止めようとしたりしたのか気になる
    • 脆弱性を見つけようとして始めたのか、それとも偶然発見したのか気になる
      脆弱性を探そうとするなら、どこから始めるのか?こういう作業で「IDE を開いて print("hello world") と書く」に相当する出発点は何なのか?
    • この部分が目に留まった。「この情報は dormakaba Saflok システムにのみ適用され、MIFARE Classic キーカードを使う他の複数のロックメーカーは Unsaflok 脆弱性の影響を受けない」
      だとすると、Saflok の MIFARE Classic 実装方式が問題だった可能性が高そうだ。このプロトコルについてもう少し読んでみる必要がある
    • そういうロックがあるホテルに泊まる場合、影響を受けるかどうかはどう見分ければよいのか?ホテルがパッチしていないなら、ホテルに迷惑をかけずに自分の部屋のドアだけを自分でパッチできるのだろうか?
  • 「攻撃者が建物内のどれか 1 枚のキーカードを読むだけで、その建物のすべてのドアを攻撃できる」というのは、かなり深刻な脆弱性だ。実質的にホテル宿泊客でありさえすれば十分ということだ

    • ホテルはチェックアウト時にキーカードの返却を求めないことも多いので、そのままゴミ箱に捨てられる。悪意ある人はゴミ箱から 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

  • 水を差すようだが、施錠されたドアのほとんどはさまざまな方法で「数秒で」開けられる。たいてい施錠状態というのは実質的な強制手段というより、立入禁止の合図に近い

    • 高校の頃、学生証をドアとドア枠の隙間に差し込んでラッチを押し戻せば、どんな鍵のかかったドアでも開けられた。40年たった今でも、この脆弱性は残っていそうだ
    • 特にホテルでは、施錠されたドアはすべての人を永遠に締め出すためのものではない。清掃スタッフのアクセスから医療上の緊急事態まで、そう設計されていたらひどいことになる理由は何十もある
      目的は、不正なアクセスを十分に面倒または騒がしくして、誰かが気づいてマネージャーに知らせるようにすることだ
    • とはいえ、そうした方法の一部は音が大きく、特殊な機材や技術が必要で、侵入があった痕跡をはっきり残す
    • 施錠されたドアのほとんどは、解錠するより速い別の方法で迂回できる。たとえば窓に石を投げるなど
  • ホテルのカードキーがどう動作するのか、自分は誤解していたようだ。キーには常にランダムなUUIDが入っていて、チェックイン時に任意のカードが自分の部屋に紐づけられて渡される方式だと思っていた
    ドアを開けようとすると、カードIDを客室データベースと照合して開けるかどうか判断するのだと思っていた
    違うのか? 暗号化やカードに実際に何かを書き込む方式より、そのほうが単純に見えるのだが

    • フロントデスクのカード発行機がカードにメッセージを書き込む。「301号室のロックへ、このカードは時刻Xからあなたを開けられ、時刻X以前のすべてのカードは今後無効だ」といった内容だ
      古い電子ロックの大半は9V電池で動作しており、中央サーバーに配線されていない
    • ロックにネットワーク接続がないので、確認する方法がない。アクセス権はキーの期限切れと交換で管理する必要がある
      ネットワーク接続型のシステムもあるが、設置コストははるかに高くなり得る
    • ネットワークが切れたりデータベースが破損したりしてドアが動かない状況は、より単純でも、より良いとも思えない
    • UUIDは改ざんされたカードで複製できる。内容を読むのにKey A/Bが不要なので、複製攻撃はむしろさらに簡単になる可能性がある
    • 電気なしで公開鍵チャレンジに応答できるのか気になる
  • 誰かがこれを実行するFlipper Zeroスクリプトを作るのは時間の問題に見える

    • より重要なのは、RFIDの脆弱性がようやく一般の関心を集め始めたという点だ。RFIDはロックに使える通信プロトコルの中でもセキュリティが最も弱い部類で、少なくともNFCが標準であるべきだ
      RFIDリーダーを破ろうという意図と知識がある人なら、そうしたハードウェアツールを作れる。Flipper Zeroはそういうツールを提供しているのか? そうではある
      倫理を守る責任はユーザーにあるのか? 議論の余地はあるが、個人的には当然そうだと思う
      誰かがピッキングツール一式を持ち歩き、その使い方を学ぶなら許容され得るのではないか? 私たちは鍵を開けられる人が存在するという事実を受け入れており、米国の州の80%はピッキングツールの所持と合法的使用を認めている
  • 旅行するときはドアジャマーを持ち歩いている。自分が見たホテルのドアロックの大半は、外から開けられるように設計されている
    ドアジャマーはドアをくさびのように固定し、閉じた状態で踏ん張らせてくれる。それを使うと夜によく眠れる

    • 自分も本能的にはそうしたいが、旅行先の管轄によっては、スタッフがドアを開けようとして、あなたがシャワー中だったりAmbienを飲んで寝ていたりするせいで強制的に入ることになった場合、その損害について責任を負う可能性がある