Consent Phishing(同意フィッシング)とは ― OAuth悪用攻撃の手口と対策

「このアプリにアカウントへのアクセスを許可しますか?」

Microsoft 365やGoogle Workspaceを使っていると目にする、OAuthの同意画面。多くのユーザーは深く考えずに「許可」をクリックしてしまいます。Consent Phishing(同意フィッシング)は、この心理を悪用したサイバー攻撃です。

2025年後半から被害が急増しており、従来のフィッシング対策(MFA、メールフィルタリング)だけでは防げない点が特に厄介です。

Consent Phishingは、攻撃者が作成した悪意のあるOAuthアプリケーションに対して、ユーザー自身が「同意」してアクセス権限を付与してしまう攻撃手法です。

従来のフィッシングとの違い

項目従来のフィッシングConsent Phishing
狙うものパスワードOAuthアクセストークン
MFAで防げるかはいいいえ
パスワード変更で無効化はいいいえ(トークンが有効なまま)
検知の難しさ高い(正規のOAuthフローを使用)
攻撃の持続性短い(パスワード変更まで)長い(トークン失効まで)

最大の脅威は「MFAを回避する」点です。 ユーザーは自分のアカウントで正規の認証を行い、その上で悪意のあるアプリに権限を「同意」するため、MFAが正常に通過してしまいます。

攻撃の手口

ステップ1:悪意のあるOAuthアプリを作成

攻撃者は、正規のサービスを装ったOAuthアプリケーションを作成します。

  • 「Microsoft Teams Connector」「Google Drive Sync」など、もっともらしい名前を付ける
  • アプリのロゴやUIを正規サービスに似せる
  • アプリの説明文を信頼性のある内容にする

ステップ2:フィッシングメールで同意画面に誘導

ユーザーに以下のようなメールを送り、OAuth同意画面へのリンクをクリックさせます。

  • 「ファイルが共有されました。閲覧するにはこちらをクリック」
  • 「Teams会議の録画が準備できました。アプリを許可して閲覧」
  • 「セキュリティアップデートのため、アプリの再認証が必要です」

ステップ3:過剰な権限を要求

同意画面で、攻撃に必要な権限を要求します。

  • メールの読み取り・送信
  • ファイルへのフルアクセス
  • 連絡先の読み取り
  • カレンダーの読み取り
  • ユーザープロフィールの読み取り

ステップ4:アクセストークンを取得して悪用

ユーザーが「同意」をクリックすると、攻撃者は以下のことが可能になります。

  • ユーザーのメールをすべて読む・送信する
  • OneDrive / Google Driveのファイルをダウンロードする
  • ユーザーになりすまして社内にフィッシングメールを送る
  • 連絡先リストを窃取してさらに攻撃を拡大する

なぜ被害が急増しているのか

MFAの普及が逆に追い風に

MFAが普及したことで、パスワードを盗む従来のフィッシングの成功率が下がりました。攻撃者はMFAを回避できるConsent Phishingにシフトしています。

クラウドサービスの普及

Microsoft 365やGoogle Workspaceの普及により、OAuthの同意画面が日常的に表示されるようになりました。ユーザーは「また何かのアプリの許可か」と深く考えずにクリックする傾向があります。

検知が難しい

  • 正規のOAuthフローを使用するため、セキュリティ製品が正常な操作と区別しにくい
  • パスワードが漏洩していないため、パスワード漏洩監視では検知できない
  • ユーザー自身が能動的に操作しているため、不審な挙動として検知しにくい

Microsoft 365での対策

1. ユーザーの同意を制限する

Microsoft Entra管理センターで、ユーザーがOAuthアプリに同意できる範囲を制限します。

設定手順:

  1. Microsoft Entra管理センターにログイン
  2. ID → エンタープライズアプリケーション → 同意とアクセス許可 → ユーザーの同意設定
  3. 「ユーザーの同意を許可しない」または「確認済みの発行元のアプリのみ同意を許可」を選択

推奨設定:

  • 一般ユーザー:アプリへの同意を禁止(管理者承認フローを使用)
  • IT管理者:検証済みアプリのみ同意を許可

2. 管理者同意ワークフローを有効化

ユーザーが直接同意できない代わりに、管理者に承認を依頼するワークフローを設定します。

  1. Microsoft Entra管理センター → エンタープライズアプリケーション → 同意とアクセス許可
  2. 「管理者の同意要求」を有効化
  3. 承認者(IT管理者)を指定

3. 既存の同意済みアプリを監査

すでに不審なアプリに同意されていないか確認します。

# 同意済みアプリの一覧を取得
Get-MgServicePrincipal -All | Where-Object { $_.AppOwnerOrganizationId -ne "f8cdef31-a31e-4b4a-93e4-5f571e91255a" } | Select-Object DisplayName, AppId, PublisherName

不審なアプリが見つかった場合:

# 特定アプリの同意を取り消し
Remove-MgServicePrincipalAppRoleAssignment -ServicePrincipalId <AppId> -AppRoleAssignmentId <AssignmentId>

4. リスクの高いOAuth権限を監視

Microsoft Defender for Cloud Appsを使用して、以下の権限を要求するアプリを監視します。

  • Mail.ReadWrite(メールの読み書き)
  • Files.ReadWrite.All(全ファイルへのアクセス)
  • User.ReadWrite.All(ユーザー情報の変更)
  • Directory.ReadWrite.All(ディレクトリの変更)

Google Workspaceでの対策

1. サードパーティアプリのアクセスを制御

Google Workspace管理コンソールで、サードパーティアプリのアクセスを制限します。

  1. 管理コンソール → セキュリティ → APIの制御 → サードパーティアプリのアクセス
  2. 「信頼できるアプリ」のみ許可する設定に変更
  3. 必要なアプリを個別にホワイトリストに追加

2. OAuth同意画面の制限

  1. 管理コンソール → セキュリティ → APIの制御
  2. 「内部アプリのみ」に制限
  3. 外部アプリは管理者の事前承認を必須にする

3. アプリアクティビティの監視

管理コンソール → レポート → トークン でOAuthトークンの発行状況を確認します。

従業員教育のポイント

技術的な対策と並行して、従業員教育が重要です。

「同意画面」の見分け方を教える

  • 要求される権限を確認する習慣をつける: 「メールの読み書き」「ファイルのフルアクセス」を要求するアプリは要注意
  • アプリの発行元を確認する: 「確認済みの発行元」バッジがあるか
  • 不自然なタイミングの同意要求は疑う: メールのリンクから表示される同意画面は特に注意

「許可してしまったかも」と思ったら

  1. すぐにIT管理者に報告する
  2. Microsoft 365:myapps.microsoft.com → アプリの権限を取り消す
  3. Google Workspace:myaccount.google.com → セキュリティ → サードパーティアクセス → 権限を取り消す
  4. パスワードを変更する(念のため)

インシデント対応

Consent Phishingの被害が判明した場合の対応手順:

  1. 即座にトークンを失効させる: 該当アプリの同意を取り消し、ユーザーの全セッションを無効化する
  2. 影響範囲の調査: 監査ログでアプリがアクセスしたデータを確認する
  3. 横展開の確認: 同じアプリに同意した他のユーザーがいないか確認する
  4. 被害の評価: メール、ファイル、連絡先など、漏洩した可能性のあるデータを特定する
  5. 再発防止: ユーザーの同意設定を制限し、管理者承認フローを導入する

まとめ

Consent Phishingは「MFAでは防げない」フィッシング攻撃です。ユーザーが自ら権限を付与してしまうため、技術的な防御と教育の両面から対策する必要があります。

最も効果的な対策は「ユーザーが直接OAuthアプリに同意できないようにする」ことです。管理者承認フローを導入し、IT部門がアプリを事前検証する運用に切り替えましょう。

OAuthアプリの管理やフィッシング対策でお困りの方は、情シス365の無料相談をご利用ください。

🛡️Security365 — セキュリティ運用

脅威監視・アラート対応・ポリシー策定まで、月額定額でプロが支援。セキュリティ対策を「自分ごと」から「チーム体制」へ。

情シスのお悩み、ご相談ください

専門スタッフが貴社の課題に合わせたご提案をいたします。

メールでのお問い合わせはこちら →
60分無料相談