パスキーは当初、強力なセキュリティ上の利点を打ち出して登場しました。パスワードを公開鍵暗号方式に置き換え、認証情報を正規サービスに紐付け、秘密鍵をサーバーから遠ざけることで、企業セキュリティを何十年も悩ませてきたフィッシングや認証情報窃取といった攻撃の多くが、劇的に難しくなるはずでした。
これらの主張自体は事実です。しかし、セキュリティをめぐる議論は急速に変化しています。
現在、パスキーおよびその周辺インフラに関わる攻撃手法・攻撃経路・研究技術・悪用シナリオは、公に文書化されているだけで少なくとも39件確認されています。その多くには、すでに動作する概念実証(PoC)ツールや、具体的な実行手順を示す公開研究が存在します。中にはすでに実際の攻撃パターンとして出現しているものもあります。
これは、犯罪者が39件すべてを実運用に落とし込んだという意味ではありません。しかし、攻撃の手引きが公然と書き上げられつつあり、攻撃者自身がこうした手法を一から考案する必要がなくなっていることは事実です。
さらに重要なのは、この研究が企業側が理解すべき根本的な違いを浮き彫りにしている点です。すなわち、FIDO2内部の暗号技術自体は完全に無傷のままでも、パスキーによって保護されているはずのアカウントが侵害されうるということです。
標的はもはやパスキーそのものだけではない
現代のパスキー認証の一連の流れは、驚くほど多くの信頼境界をまたいでいます。そこにはウェブアプリケーション、ブラウザ、オペレーティングシステム、パスワードマネージャー、クラウド同期サービス、モバイル端末、Bluetooth通信、アカウント復旧の仕組み、登録プロセス、ヘルプデスク、そして最終的に認証を承認する人間そのものが関わってきます。
研究者たちは、そのほぼすべての層を攻撃対象にしています。これまでに公表されている手法には、アサーションマイニング、アサーションリプレイ、サーキットブレーカー攻撃、アサーションフィッシング、ブラウザフッキング、アサーションキャプチャ、チャレンジインジェクション、迂回リプレイ、ユーザー検証の操作、ユーザー在席確認の操作などが含まれます。
SpecterOpsは、その「Pass the Passkey」研究でこの問題の深刻さを示しました。最も重要な指摘の一つは、マルウェアが必ずしも秘密鍵を抜き出す必要はないという点です。
悪意あるWindowsアプリケーションは、正規のWebAuthnインフラに対して署名付きアサーションの生成を要求できます。ユーザーには一見正規のWindows認証画面が表示され、本人確認を完了させますが、その結果生成されたアサーションは攻撃者の手に渡ってしまいます。
秘密鍵は保護された保管場所から一度も外に出ていません。暗号が解読されたわけでもありません。それでも、認証プロセスそのものは巧妙に操作されてしまったのです。
この違いこそ、新たなパスキー脅威モデルを理解するうえで核心となる部分です。
暗号技術はパスキーが破られる原因ではない
パスキーは、専用の生体認証ハードウェアと結び付けない限り、完全に安全とは言えません。
攻撃者がパスキーの暗号技術を破るのではなく登録プロセスを悪用する手口や、専用生体認証ハードウェアが企業のID保証をどのように強化するのかをご紹介します。
パスキーの確認画面自体も攻撃対象になる
公表された39の手法のうち、いくつかは認証を取り巻くユーザーインターフェースそのものを標的にしています。
研究者らは、パスキー確認画面のフラッディング、認証情報インターフェースの偽装、アプリケーションメタデータのなりすまし、ウィンドウハンドルのなりすまし、リモートデスクトップを介したパスキーフィッシング、FIDOインターフェースへのオーバーレイ攻撃などを実証しています。
これは、セキュリティ業界がプッシュ型MFAですでに直面した問題の再来です。ユーザーは認証プロンプトに慣れてしまいます。認証がルーチン化した視覚的なやり取りになると、攻撃者はそのやり取りを人工的に作り出したり、繰り返したり、偽装したり、タイミングを見計らって仕掛けたりできるようになります。
SpecterOpsは、正規のもののように見えるWindowsのパスキー確認画面を繰り返し表示させられるツールを実証しました。研究者らはまた、悪意ある認証アクティビティを、従業員がすでに信頼しているアプリケーションから発信されたかのように見せかける手法も実証しています。
ここから得られる教訓は重要です。暗号プロトコル層でのフィッシング耐性があるからといって、そのプロトコルを取り巻くOS層、ブラウザ層、アプリケーション層、ユーザーインターフェース層における欺瞞への耐性が保証されるわけではないのです。
共有可能なパスキーが攻撃対象を広げる
パスキーを共有・同期・エクスポート・復元したり、デバイス間で移動させたりできる場合、攻撃対象は大幅に広がります。
これまでに公表された手法の一覧には、同期型ボールト(保管庫)の侵害、AppleアカウントやGoogleアカウントの乗っ取り、クラウド復旧機能の悪用、盗難・侵害されたスマートフォンの利用、モバイルマルウェア、root化されたモバイル端末、ハイブリッド認証の操作、KeePassXCからのエクスポート窃取、Bitwardenからのエクスポート窃取、認証情報交換機能を利用した窃取、悪意あるブラウザ拡張機能、CTAPおよびBluetooth通信を狙った攻撃などが含まれます。
これは本質的には暗号技術の問題ではありません。アーキテクチャ上の問題です。
ひとたび認証情報がデバイス間を移動できるようになり、クラウドアカウント経由で同期し、ボールトからエクスポートでき、別のIDで復元でき、別のプロセスで復旧できるようになると、セキュリティ境界は本来の認証器の範囲をはるかに超えて拡大してしまいます。
攻撃者はもはやFIDO2そのものを打ち破る必要すらありません。周辺のエコシステムのどこか一箇所で、十分に信頼されているコンポーネントを一つ侵害すればよいのです。
したがって、同期型パスキーは非常に強力な暗号技術を採用していたとしても、それを管理するスマートフォン、OS、パスワードマネージャー、クラウドアカウント、ブラウザ、復旧プロセス、同期システムそれぞれの弱点をそのまま受け継いでしまう可能性があります。
登録・復旧プロセスも新たな侵入口になる
最も深刻な影響をもたらす攻撃の中には、既存のパスキーを盗み出すのではなく、単に別のパスキーを新規作成するだけのものもあります。
公表されている手法には、シャドウパスキー、登録段階を狙ったビッシング、攻撃者によるスマートフォン登録、攻撃者が管理するパスキーの登録、ヘルプデスクの乗っ取り、一時的な認証情報の悪用、SIMベースの復旧の悪用、リバースビッシング、移行を口実にした攻撃などが含まれます。
攻撃者が従業員アカウントを十分に制御できるようになり、正規のパスキー登録手続きを開始できてしまった場合を考えてみてください。この場合、攻撃者は従業員が既に持っている認証情報を抜き出すのではなく、自らが管理するデバイス上でまったく新しい認証情報を登録してしまいます。
何も解読されていません。既存の認証器から何かが盗まれたとも限りません。正規のサービスそのものが、攻撃者のために完全に有効な認証情報を作り出してしまうのです。
ここから、ますます重要性を増しているID管理上の原則が導かれます。登録・交換・復旧・デバイス登録のプロセスが同水準で保護されていなければ、フィッシング耐性のある認証方式であっても不十分だということです。
専用生体認証ハードウェアが攻撃対象を変える
専用の生体認証ハードウェアは、汎用デバイス上に保存されるパスキーとはまったく異なるアプローチでこの問題に取り組みます。
専用設計の生体認証器であれば、秘密の認証情報を安全なハードウェア内部にとどめたまま、クラウド同期の仕組みも、エクスポート機能も、デバイス間で認証情報を移動させるパスワードマネージャーも一切持たずに済みます。
認証には、認証器上でその場で読み取ったリアルタイムの指紋に加え、アクセスを要求しているエンドポイントとの物理的な近接性が求められる場合もあります。
同様に重要な点として、専用認証器には従来型の汎用OSも、アプリストアも、ブラウザも、画面すら搭載する必要がありません。
この違いによって、攻撃対象領域の大部分が丸ごと排除されます。
攻撃者が悪意あるバージョンに置き換えられるようなサードパーティ製アプリケーションは存在しません。不正なアプリケーションを認証器にインストールすることもできません。侵害すべきブラウザ拡張機能のエコシステムも存在しません。マルウェアが偽の認証画面を表示するための画面もありません。
無関係なアプリケーション、権限設定、バックグラウンドサービス、アップデート依存関係が満載の一般消費者向けOSも搭載されていません。
認証器が実行するのは、セキュリティに特化したごく限られた機能のみです。
これにより、攻撃にかかるコストは劇的に変化します。攻撃者は巨大な汎用コンピューティング環境全体を侵害しようとするのではなく、暗号化された認証情報の保護と生体認証の確認だけを目的として厳格に設計・管理されたハードウェアデバイスと向き合うことになるのです。
また、認証プロセスが従業員側の操作ミスや誘導に対してはるかに強くなるという効果もあります。従業員は、特定のウェブサイトへのアクセスを促されたり、電話に応対させられたり、テクニカルサポートを名乗る相手の指示に従わされたりすることで、説得されてしまう可能性があります。しかし、通常のアプリケーションを一切実行しないハードウェアには、ソーシャルエンジニアリングによって不正なアプリケーションをインストールすることはできません。
存在しない画面を操作することもできません。認証器が利用していないクラウドサービス経由で認証情報を同期させることもできません。
その意味で、適切に設計された専用生体認証ハードウェアは、攻撃者に対して極めて高い耐性を持つと同時に、従業員側のミスに対しても高い耐性を持つことになります。
サービス側の正しい設定が極めて重要
専用ハードウェアだけでは十分ではありません。認証を受け付けるサービス側も、このセキュリティモデルを維持できるよう適切に設定されている必要があります。
機密性の高い企業環境においては、認証および登録を承認済みの認証器クラスに限定すべきです。また、依拠当事者(relying party)は認証器のIDを検証し、ユーザー検証を強制し、チャレンジおよびセッションを適切に検証し、適切な署名カウンター保護を用い、より弱い認証方式がフォールバック経路として使われることのないようにする必要があります。
登録および復旧プロセスには特に注意が必要です。新しい認証器を追加する際には、より脆弱な復旧チャネルを通じてアカウントの管理権限を証明するだけでなく、すでに承認済みの認証器による証明を必須とすべきです。
正しく設定されていれば、このアーキテクチャによって、攻撃者が別のノートPC、スマートフォン、ソフトウェアボールト、セキュリティキーから通常のパスキーを単純に登録してしまうことを防げます。クラウドアカウントの乗っ取りが起きても認証情報の入手にはつながりません。パスワードマネージャーの侵害も同様です。モバイルマルウェアが認証器に感染することもありません。
悪意あるアプリケーションを認証器にインストールすることもできませんし、遠隔地の攻撃者が認証に必要な「専用ハードウェア、生体認証、物理的近接性、正規サービスとのやり取り」という組み合わせを人工的に作り出すこともできません。
39件の攻撃が本当に物語っていること
39件もの攻撃手法が公表されているという事実は、FIDO2の暗号技術が破られたことを意味するわけではありません。むしろ、多くの点でその逆を示しています。
研究者たちが繰り返し攻撃対象にしているのは、認証情報を取り巻くソフトウェア、同期システム、登録プロセス、OS、ブラウザ、復旧の仕組み、そして人間です。それは、適切に実装された暗号ハードウェアを直接打ち破る方がはるかに難しいからにほかなりません。
このことは、セキュリティ責任者が次に守るべきID境界がどこにあるのかを示唆しています。
価値の高い企業のID情報については、一般消費者向けデバイスやクラウドエコシステムをまたいで自由に共有できる状態にすべきではありません。専用の生体認証ハードウェア、本人確認済みの個人、正規のサービス、そして企業が管理する登録・復旧プロセスに紐付けるべきです。
パスキーはパスワードが抱える問題の多くを解決しました。しかし公表された39件の攻撃は、攻撃者が今何を狙っているのかを私たちに教えてくれています。
登録から認証、復旧に至るまで正しく実装された専用生体認証ハードウェアは、攻撃者がその機会を得るよりも前に、周辺に広がる攻撃対象領域のほぼすべてを取り除いてくれるのです。
Tokenのパスキーセキュリティ電子書籍をダウンロードして、公表されている数々の攻撃手法を確認し、専用生体認証ハードウェアが企業のID信頼モデルをどのように変えるのかをご覧ください。