【Microsoft 365】デバイスコードフィッシングの脅威と OAuth 悪用対策

  • URLをコピーしました!
目次

はじめに

2026 年 2 月以降、アメリカやドイツなど 5 カ国の 340 以上の組織において、Microsoft 365 アカウントを標的とした大規模なデバイスコードフィッシング(Device Code Phishing)キャンペーンが確認されています。

この攻撃は、OAuth のデバイス認証フローを悪用して永続的なアクセストークンを奪取するものであり、ユーザーがパスワードをリセットしてもアクセスが維持されるという非常に危険な特性を持っています。

参考: Device Code Phishing Hits 340+ Microsoft 365 Orgs Across Five Countries via OAuth Abuse “Device code phishing refers to a technique that exploits the OAuth device authorization flow to grant the attacker persistent access tokens, which can then be used to seize control of victim accounts.” (デバイスコードフィッシングとは、OAuth デバイス認証フローを悪用して攻撃者に永続的なアクセストークンを付与し、それを使用して被害者のアカウントの制御を奪う技術を指します。)
https://thehackernews.com/2026/03/device-code-phishing-hits-340-microsoft.html

今回のレポートで確認された標的組織に日本企業は含まれていませんが、決して対岸の火事ではありません。攻撃ツールが PhaaS(Phishing-as-a-Service)として Telegram 等で販売され始めたことで、日本国内で広く利用されている Microsoft 365 環境へ同様の攻撃が波及する可能性は高いと考えます。

さらに、この手口は正規の Microsoft 画面でユーザー自身に MFA(多要素認証)を突破させるため、従来のセキュリティ教育や MFA の導入だけでは防ぎきれません。

本記事では、この攻撃の技術的なメカニズムと検知回避の手口を解説し、日本のインフラエンジニアが直ちに実践すべき Entra ID(旧 Azure AD)環境における条件付きアクセスやログ監視などの防御策について客観的な視点で考察します。

この記事でわかること
  • デバイスコードフィッシング(Device Code Phishing)の攻撃メカニズム
  • Cloudflare Workers などを悪用した高度な検知回避の手口
  • Entra ID における条件付きアクセスの設定とトークン無効化手順
  • サインインログからの異常検知とインシデント対応のベストプラクティス

デバイスコードフィッシング(Device Code Phishing)の攻撃メカニズム

今回のキャンペーンでは、建設業や医療、金融など幅広い業界が標的となっており、攻撃者は正規の Microsoft インフラストラクチャを悪用してユーザーを欺きます。

OAuth デバイス認証フローの悪用と永続的なトークンの奪取

デバイスコードフィッシングは、スマート TV や IoT デバイスなど、ブラウザを持たないデバイス向けの認証フロー(Device Code Flow)を悪用します。攻撃のステップは以下の通りです。

  1. 攻撃者が Microsoft Entra ID などの ID プロバイダーに対してデバイスコードを要求する。
  2. 攻撃者が生成されたコードを記載した巧妙なフィッシングメールを送信し、被害者に正規のログインページ(microsoft[.]com/devicelogin)へアクセスさせる。
  3. 被害者が自身の端末でコードと認証情報、および MFA(多要素認証)コードを入力する。
  4. 攻撃者の手元にアクセストークンと更新トークン(Refresh Token)が発行される。

参考: Device Code Phishing Hits 340+ Microsoft 365 Orgs Across Five Countries via OAuth Abuse
“Once the user has fallen victim to the phish, their authentication generates a set of tokens that now live at the OAuth token API endpoint and can be retrieved by providing the correct device code,” Huntress explained. (Huntress は「ユーザーがフィッシングの被害に遭うと、その認証によって OAuth トークン API エンドポイントに存在するトークンのセットが生成され、正しいデバイスコードを提供することで取得できるようになります」と説明しました。)
https://thehackernews.com/2026/03/device-code-phishing-hits-340-microsoft.html

被害者は正規の Microsoft サイトで認証を行うため、不審な点に気づきにくく、MFA(多要素認証)も突破されてしまいます。

PhaaS プラットフォーム「EvilTokens」による攻撃の自動化

この攻撃の背景には、EvilTokens と呼ばれる PhaaS(Phishing-as-a-Service)プラットフォームの存在が確認されています。

このプラットフォームは、スパムフィルターを回避するためのオープンリダイレクトリンクや、フィッシングメールの送信ツールを攻撃者に提供しています。さらに、ランディングページ上でデバイスコードを自動生成して表示する仕組みを備えており、高度な技術を持たない攻撃者でも容易にデバイスコードフィッシングを実行できる環境が整っています。

Cloudflare Workers と正規サービスを悪用した検知回避の手口

攻撃者は、フィッシングメールを確実に被害者の受信トレイへ届けるため、またセキュリティ製品による解析を妨害するために高度な隠蔽工作を行っています。

Cisco や Trend Micro のリダイレクト機能を悪用したスパムフィルター回避

攻撃の出発点となるフィッシングメールには、Cisco や Trend Micro、Mimecast といった正規のセキュリティベンダーが提供するリダイレクトサービスの URL が悪用されています。

参考: Device Code Phishing Hits 340+ Microsoft 365 Orgs Across Five Countries via OAuth Abuse
“The starting point of the attack is a phishing email that wraps malicious URLs within legitimate security vendor redirect services from Cisco, Trend Micro, and Mimecast so as to bypass spam filters and trigger a multi-hop redirect chain…” (攻撃の出発点は、スパムフィルターを回避してマルチホップのリダイレクトチェーンを引き起こすために、Cisco、Trend Micro、および Mimecast などの正規のセキュリティベンダーのリダイレクトサービス内に悪意のある URL を隠蔽するフィッシングメールです…)
https://thehackernews.com/2026/03/device-code-phishing-hits-340-microsoft.html

これにより、企業のメールゲートウェイやスパムフィルターは「安全なリンク」と誤認します。リンクをクリックした被害者は、侵害されたサイトや Cloudflare Workers、Vercel などを経由する複数回の転送(マルチホップリダイレクト)を経て、最終的なフィッシングサイトへ到達します。

開発者ツールの無効化など高度なアンチ解析技術の実装

ランディングページでは、被害者にデバイスコードをそのまま表示し、正規の Microsoft 認証ページ(microsoft[.]com/devicelogin)へ誘導します。

さらに、セキュリティ研究者による解析を妨害するため、右クリックやテキスト選択の無効化、キーボードショートカット(F12 や Ctrl+Shift+I など)のブロックといった高度なアンチ解析(Anti-Analysis)技術が組み込まれています。ブラウザのウィンドウサイズから開発者ツールが起動されたことを検知すると、無限ループを発生させてデバッガーをクラッシュさせる挙動も確認されており、攻撃の全容解明を意図的に遅らせています。

Entra ID における実践的な防御とインシデント対応手順

デバイスコードフィッシングは正規の Microsoft インフラストラクチャを使用するため、URL フィルタリングだけで完全に防ぐことは困難です。インフラエンジニアは、Entra ID(旧 Azure AD)の設定とログ監査による多層防御を構築する必要があります。

条件付きアクセスによるデバイスコードフローのブロック設定

最も確実な事前対策は、組織内で使用していない不要な認証フローを塞ぐことです。

Entra ID の条件付きアクセス(Conditional Access)ポリシーを活用し、スマート TV などの特定のデバイス連携を行っていない場合は、すべてのユーザーに対してデバイスコードフローを用いた認証を明示的にブロックする設計が強く推奨されます。具体的には、条件の「クライアントアプリ」設定において「ブラウザー」や「モバイルアプリとデスクトップクライアント」以外の「その他のクライアント」を対象とし、アクセスをブロックするポリシーを構成します。

サインインログからの異常検知(Railway IP 等)とトークンの無効化手順

インシデントを早期に発見し、被害の拡大を抑えるためには、継続的なログ監視と迅速なセッション切断が不可欠です。

参考: Device Code Phishing Hits 340+ Microsoft 365 Orgs Across Five Countries via OAuth Abuse
“To combat the threat, users are advised to scan sign-in logs to hunt for Railway IP logins, revoke all refresh tokens for affected users, and block authentication attempts from Railway infrastructure if possible.” (脅威に対抗するため、ユーザーはサインインログをスキャンして Railway IP のログインをハンティングし、影響を受けるユーザーのすべての更新トークンを無効化し、可能であれば Railway インフラストラクチャからの認証試行をブロックすることが推奨されます。)
https://thehackernews.com/2026/03/device-code-phishing-hits-340-microsoft.html

Entra ID のサインインログを定期的に監査し、今回の攻撃インフラとして確認されている Railway の IP アドレス(162.220.234.41 や 162.220.234.66 など)からの不審なアクセス履歴がないかハンティングする必要があります。

万が一、デバイスコードを用いた異常な認証成功のログが確認された場合は、パスワードの変更だけでは不十分です。Entra ID 管理センターから対象ユーザーに対して直ちに「セッションの取り消し(Revoke sessions)」を実行し、発行済みのすべての更新トークン(Refresh Token)を無効化するインシデント対応を徹底してください。

まとめ

本記事では、M365(Entra ID)環境を標的とし、MFA を突破するデバイスコードフィッシングの脅威と対策について解説しました。

  • デバイスコードフィッシングは正規画面を利用し、ユーザー自身に MFA を突破させる。
  • Cloudflare Workers や正規のリダイレクトサービスを悪用し、高度な検知回避を行う。
  • Entra ID の条件付きアクセスを利用し、不要なデバイスコードフローをブロックする。
  • サインインログを監視し、侵害時はパスワード変更だけでなく直ちにセッションを取り消す。

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

インフラ(クラウド/NW/仮想化)から Web 開発まで、技術領域を横断して活動するエンジニア💻 コンシューマー向けエンタメ事業での新規開発・運営経験を活かし、実戦的な技術ノウハウを発信中

[ Certs ] CCIE Lifetime Emeritus / VCAP-DCA ✒️ [ Life ] 技術書・ビジネス書愛好家📖 / 小・中学校で卓球コーチ👟

目次