MFA 疲労攻撃の実態 - 通知を承認させる新たな手口
この記事は約 13 分で読めます
MFA 疲労攻撃 - MFA プロンプトボミング、プッシュ疲労とも呼ばれる - は、多要素認証を 突破する最も効果的な手法の一つとして台頭しています。攻撃者はフィッシングやクレデンシャルスタッフィング、 ダークウェブでの購入によって既に被害者の認証情報を入手しており、プッシュ通知を繰り返し 送信して、疲労や混乱から被害者が承認してしまうのを待ちます。Mandiant の 2023 年脅威 レポートでは、MFA バイパス攻撃が前年比 2 倍以上に増加し、プッシュ疲労が主要な攻撃 ベクトルであると報告されています。2022 年の Uber 侵害事件はその破壊的な影響を実証 しました。たった 1 回の通知承認で、Lapsus$ グループは Slack、Google Workspace、 ソースコードリポジトリを含む内部システムへのアクセスを獲得したのです。本記事では、 技術的な仕組み、心理的な搾取メカニズム、代表的な侵害事例、そして番号マッチングから FIDO2 まで、この攻撃を無力化する具体的な防御策を分析します。
攻撃の技術的メカニズム
MFA 疲労攻撃は、プッシュ通知型の MFA が持つ根本的な設計上の弱点を突きます。従来のプッシュ通知型 MFA では、ユーザーはスマートフォンに届いた通知を「承認」か「拒否」するだけで認証が完了します。この仕組みは利便性に優れる一方、認証リクエストの正当性をユーザーが判断する手段がありません。攻撃者は盗んだ認証情報でログインを試行するたびにプッシュ通知がトリガーされることを利用し、深夜や早朝を含む時間帯に数十回から数百回の通知を送り続けます。
攻撃の典型的なフローは次のとおりです。第 1 段階として、攻撃者はフィッシング、情報漏洩データベースの購入、またはソーシャルエンジニアリングによってターゲットのユーザー名とパスワードを取得します。第 2 段階では、自動化スクリプトを使って対象サービスへのログインを繰り返し試行します。各試行がプッシュ通知を生成するため、被害者のスマートフォンには通知が絶え間なく届きます。第 3 段階として、被害者が通知を承認するか、攻撃者が WhatsApp や SMS で IT サポートを装って「セキュリティ上の問題を解決するために承認してください」と連絡する場合もあります。Uber の事例では、攻撃者は 1 時間以上にわたってプッシュ通知を送り続けた後、WhatsApp で IT 部門を名乗って被害者に承認を促しました。
2022 年 Uber 侵害事件の詳細分析
2022 年 9 月、Lapsus$ グループに関連する 18 歳の攻撃者が Uber の内部システムに侵入しました。攻撃の起点は、ダークウェブで購入した Uber 外部委託業者の VPN 認証情報でした。攻撃者はこの認証情報を使って Uber の VPN にログインを試みましたが、MFA が有効だったため、プッシュ通知が委託業者の従業員のスマートフォンに送信されました。攻撃者は 1 時間以上にわたって繰り返しログインを試行し、大量のプッシュ通知を送り続けました。
最終的に、攻撃者は WhatsApp で Uber の IT サポートを装い、「通知を承認しないとログインの問題が解決しない」と被害者に伝えました。疲弊していた被害者はこの通知を承認し、攻撃者は VPN アクセスを獲得しました。VPN 接続後、攻撃者は内部ネットワークをスキャンし、ネットワーク共有フォルダ上に PowerShell スクリプトを発見しました。このスクリプトには Thycotic (特権アクセス管理ツール) の管理者認証情報がハードコードされていました。この認証情報を使って、攻撃者は Uber の Slack、Google Workspace、AWS コンソール、HackerOne のバグバウンティレポート、そしてソースコードリポジトリにアクセスしました。被害の全容は甚大で、Uber は SEC への報告義務を負い、ブランドイメージにも深刻な打撃を受けました。
Cisco 侵害事例 (2022 年) と攻撃パターンの共通点
2022 年 5 月、Cisco もまた MFA 疲労攻撃の被害を受けました。この事例では、攻撃者はまず従業員の個人 Google アカウントを侵害しました。Chrome ブラウザのパスワード同期機能により、個人アカウントに保存されていた Cisco の VPN 認証情報が攻撃者の手に渡りました。その後、攻撃者は Uber の事例と同様に MFA プッシュ通知を繰り返し送信し、さらに Cisco の IT サポートを装った音声フィッシング (ビッシング) を組み合わせて、被害者に通知を承認させました。Cisco は侵入を検知して封じ込めに成功しましたが、一部の内部データが流出しました。
Uber と Cisco の事例に共通するのは、MFA 疲労攻撃が単独で使われるのではなく、ソーシャルエンジニアリングと組み合わされている点です。技術的な攻撃と人間の心理的弱点の両方を同時に突くことで、成功率を飛躍的に高めています。この複合的な攻撃手法については、ソーシャルエンジニアリングの防御策を解説した記事も参考になります。
なぜ人は通知を承認してしまうのか - 心理的要因の分析
MFA 疲労攻撃の成功は、技術的な脆弱性よりも人間の心理的弱点に大きく依存しています。第一の要因は「通知疲労」です。スマートフォンユーザーは 1 日に平均 80 件以上の通知を受け取っており、通知の内容を精査せずに処理する習慣が身についています。MFA 通知も、この大量の通知の中に埋もれてしまいます。第二の要因は「自分がトリガーしたかもしれない」という思い込みです。多くのユーザーは、MFA 通知が届いた際に「自分がどこかでログインしようとしたのかもしれない」と考え、深く疑問を持たずに承認してしまいます。
第三の要因は「睡眠妨害による判断力の低下」です。攻撃者が深夜 2 時や 3 時に通知を送り続けると、睡眠を妨げられた被害者は「とにかく止めたい」という衝動から承認してしまいます。睡眠不足時の意思決定能力は飲酒時と同等レベルまで低下するという研究結果もあり、攻撃者はこの生理的な弱点を意図的に狙っています。第四の要因は「権威への服従」です。Uber の事例のように、攻撃者が IT サポートを装って連絡してくると、多くの従業員は「IT 部門の指示だから」と疑わずに従います。これはスタンレー・ミルグラムの服従実験で実証された心理メカニズムと同じです。
プッシュ通知 vs 番号マッチング vs FIDO2 - 耐性比較
MFA の実装方式によって、疲労攻撃への耐性は大きく異なります。従来のプッシュ通知型は、ユーザーが「承認」をタップするだけで認証が完了するため、疲労攻撃に対して最も脆弱です。攻撃者は認証情報さえ持っていれば、無制限にプッシュ通知を送信できます。番号マッチング (Number Matching) は、ログイン画面に表示される 2 桁の数字をスマートフォンの認証アプリに入力する方式です。攻撃者がプッシュ通知を送信しても、被害者はログイン画面に表示された数字を知らなければ認証を完了できません。これにより、単純な「承認」タップによる誤認証を防止できます。
FIDO2/WebAuthn ベースの認証 (ハードウェアセキュリティキーやパスキー) は、MFA 疲労攻撃に対して完全な耐性を持ちます。FIDO2 認証ではプッシュ通知が存在せず、認証はユーザーが物理的にセキュリティキーに触れるか、デバイスの生体認証を行うことでのみ開始されます。さらに、認証リクエストにはサービスのオリジン (ドメイン) が暗号的に紐づけられるため、フィッシングサイト経由の認証も不可能です。Microsoft は 2023 年 2 月に Authenticator アプリの番号マッチングをデフォルトで有効化し、プッシュ疲労攻撃の報告が大幅に減少したと発表しています。
フィッシング耐性のある認証について詳しくは、二要素認証ガイドとハードウェアセキュリティキーガイドで 技術的な基盤を解説しています。TOTP の用語集では、 時間ベースのコードがプッシュ通知よりも耐性が高い理由も説明しています。
企業・個人それぞれの対策
企業が取るべき最優先の対策は、プッシュ通知型 MFA から番号マッチングまたは FIDO2 ベースの認証への移行です。Microsoft Authenticator、Duo Security、Okta Verify はいずれも番号マッチング機能を提供しており、管理者がポリシーとして強制適用できます。さらに、異常な認証試行パターン (短時間に同一アカウントへの大量の MFA リクエスト) を検知するアラートを設定し、セキュリティチームが即座に対応できる体制を構築すべきです。MFA リクエストのレート制限 (例: 5 分間に 3 回まで) を導入することで、攻撃者が大量の通知を送信すること自体を困難にできます。
個人ユーザーの対策としては、まず利用しているサービスの MFA 設定を確認し、番号マッチングが利用可能であれば有効化することが重要です。Microsoft アカウント、Google アカウントなど主要サービスは既に番号マッチングに対応しています。さらに強固な保護を求めるなら、パスキーやハードウェアセキュリティキーへの移行を検討してください。また、身に覚えのない MFA 通知が届いた場合は、絶対に承認せず、直ちにパスワードを変更してください。IT サポートを名乗る連絡があっても、公式の連絡先に自分から問い合わせて確認する習慣をつけることが、ソーシャルエンジニアリングへの最大の防御になります。
フィッシング耐性のある認証への移行について包括的に学ぶには、多要素認証の関連書籍 (Amazon)が技術的な実装と組織的な変革管理の両面をカバーしています。
今後の展望 - MFA の進化と攻撃の軍拡競争
MFA 疲労攻撃の台頭は、認証セキュリティの進化を加速させています。Microsoft、Google、Apple の 3 社は 2022 年にパスキーの共同推進を発表し、プッシュ通知に依存しない認証への移行が業界全体で進んでいます。しかし、攻撃者も進化を続けています。リアルタイムフィッシングプロキシ (EvilProxy、Evilginx など) は、番号マッチングを含む MFA をリアルタイムで中継して突破する手法であり、セッショントークンの窃取と組み合わせることで、MFA を完全にバイパスします。この攻撃に対しては、FIDO2 のオリジン検証が唯一の技術的対策です。ゼロトラストアーキテクチャの導入、継続的な認証 (Continuous Authentication)、デバイスの健全性チェックなど、認証の「一点突破」を防ぐ多層防御が今後ますます重要になります。
よくある質問
- MFA 疲労攻撃を受けているかどうか、どうすれば分かりますか?
- 自分がログインを試みていないのに MFA のプッシュ通知が繰り返し届く場合、MFA 疲労攻撃を受けている可能性が高いです。特に短時間に複数回の通知が届く場合は攻撃の兆候です。この場合、通知を絶対に承認せず、直ちにパスワードを変更し、IT 部門 (企業の場合) またはサービスのサポートに報告してください。
- 番号マッチングを有効にすれば MFA 疲労攻撃は完全に防げますか?
- 番号マッチングは MFA 疲労攻撃の成功率を大幅に低下させますが、完全な防御ではありません。攻撃者がリアルタイムフィッシングプロキシを使用した場合、被害者がフィッシングサイトで番号を入力してしまう可能性があります。完全な防御には FIDO2 ベースの認証 (ハードウェアセキュリティキーやパスキー) が必要です。FIDO2 はサービスのオリジンを暗号的に検証するため、フィッシングサイト経由の認証が数学的に不可能になります。
- MFA 疲労攻撃は TOTP (時間ベースのワンタイムパスワード) でも起きますか?
- いいえ、MFA 疲労攻撃は TOTP には適用されません。TOTP はプッシュ通知を使用せず、ユーザーが認証アプリに表示された 6 桁のコードを手動で入力する方式です。攻撃者がログインを試みても、被害者のスマートフォンに通知は届きません。ただし、TOTP にはリアルタイムフィッシングによるコード窃取のリスクがあります。最も安全な選択肢は FIDO2 ベースの認証です。