Geminiさん、 この記事を解説して
———————-
セキュリティベンダーのESETは2026年6月15日、同社の公式ブログ「WeLiveSecurity」で、Microsoft 365を標的としたPhaaS(Phishing as a Service:サービスとして提供されるフィッシングツール)「EvilTokens」に関する情報を公開した。
EvilTokensは、Microsoftの正規認証機能を悪用してアカウントを乗っ取る。その最大の特徴は、パスワードを盗まないことだ。
ユーザーは本物のMicrosoft認証ページでログインし、多要素認証(MFA)まで完了する。しかし、その認証は自分の端末ではなく、攻撃者のセッションを承認するために使われている。このため、従来の「偽サイトを見分ける」「URLを確認する」といった対策だけでは防ぎにくい。本稿は、Microsoftの正規認証機能を悪用する仕組みを紹介する。
———————-
Geminiの回答:
ご提示いただいた記事の内容は、「デバイスコードフィッシング(Device Code Phishing)」という、近年急増しているサイバー攻撃の手口について説明したものです。「EvilTokens」は、この手口を自動化して犯罪者に提供するサービス(PhaaS)の名称です。
ご希望の通り、最初から詳細なレベルでこの事象の背景と仕組みを解説します。
結論から言うと、この攻撃は「ユーザーのパスワードを盗むのではなく、ユーザー自身に『攻撃者のパソコン』を正規のものとしてMicrosoftに承認させる」という非常に狡猾な仕組みを持っています。
1. そもそも何を悪用しているのか?(デバイスコードフロー)
Microsoft 365などのクラウドサービスには、キーボードやブラウザを持たないデバイス(例えばスマートテレビ、IoT機器、古いプリンターなど)からアカウントにログインするための「デバイスコード認証(デバイスフロー)」という正規の機能があります。
通常は以下のように使われます。
- スマートテレビの画面に「
A1B2C3D4」のようなコードが表示される。 - ユーザーは手元のスマホやPCで
microsoft.com/deviceloginにアクセスする。 - スマホ上で自分のアカウントにログインし、テレビに表示されたコードを入力して「許可」を押す。
- テレビ側がアカウントにログイン完了する。
EvilTokensは、この「別のデバイスのログインを、手元の端末で許可する」という正規の仕組みを悪用します。
2. EvilTokensの攻撃の全体的な流れ
攻撃は以下のステップで進行します。パスワードが一切盗まれていないことに注目してください。
- 攻撃者がログイン要求を開始: 攻撃者は自分の手元の端末から、標的(あなた)のアカウントに対して「デバイスコード認証」でのログインをMicrosoftにリクエストします。
- Microsoftがコードを発行: Microsoftは攻撃者に対し、一時的な「デバイスコード(例:
A1B2C3D4)」を発行します。 - 罠のメールを送信: 攻撃者は標的(あなた)にメールを送ります。例えば「セキュリティシステムが更新されました。以下のMicrosoft公式リンクにアクセスし、認証コード『A1B2C3D4』を入力して再接続してください」といったもっともらしい内容です。
- 被害者が正規サイトで認証してしまう: 標的はリンクをクリックします。この時アクセスするのは本物のMicrosoftのページ(正規のURL)です。標的(あなた)は自分のID、パスワードを入力し、多要素認証(MFA)もクリアして、言われた通りにコードを入力します。
- 攻撃者が「トークン」を奪取: 標的が認証を完了した瞬間、Microsoftは「ユーザー本人が認証を許可した」と判断し、最初に要求を出していた攻撃者の端末に対して「アクセストークン(Microsoft 365へアクセスするためのデジタル通行証)」を発行します。
3. なぜ従来の対策では防げないのか?
記事の中で「従来の対策だけでは防ぎにくい」と指摘されているのは、以下の理由からです。
- 偽サイトを使わない(URLが本物): 被害者がアクセスするのは本物の
microsoft.comドメインです。「URLがおかしくないか確認する」「ブラウザの鍵マークを確認する」という従来のフィッシング対策が全く通用しません。 - 多要素認証(MFA)をすり抜ける: 被害者自身が本物のサイトでスマホの承認ボタンを押したり、ワンタイムパスワードを入力したりするため、MFAも無意味になります。FIDO2(パスキー)などの強固な認証を使っていても、正規サイト上で「攻撃者のセッション」に対して許可を出してしまうため突破されます。
- パスワード変更が無意味: 攻撃者はパスワードを知る必要がありません。手に入れたトークン(通行証)を使えば、最大90日間、メールの盗み見やデータの窃取など、Microsoft 365環境へ不正アクセスし続けることが可能です。
「デバイスコードフロー(Device Code Flow)」とは
正式には「OAuth 2.0 Device Authorization Grant (RFC 8628)」と呼ばれる、インターネットの世界標準となっている認証プロトコルの一部です。
1. なぜこの仕組みが作られたのか?(目的)
一言で言えば、「キーボードやブラウザがない(または使いにくい)機器でも、安全にクラウドアカウントにログインさせるため」です。
例えば、以下のような機器(入力制限デバイス)を想像してください。
- リビングのスマートテレビ(リモコンしかなく、複雑なパスワード入力が困難)
- Apple TVやChromecast
- 画面や入力装置を持たないIoT機器
- コマンドプロンプトやターミナル(CLI)だけで動く開発者用ツール
これらの機器上で直接IDとパスワードを入力させるのは、ユーザーにとって非常に不便であり、またセキュリティ的にも(その機器自体が安全かどうかわからないため)リスクがあります。 そこで、「面倒で重要なログイン作業自体は、使い慣れた手元のスマホやPCに任せてしまおう」という発想で生まれたのがデバイスコードフローです。
2. デバイスコードフローの正規の手順
正規の機器(例:スマートテレビ)をユーザーのMicrosoftやGoogleアカウントに紐づける際の、背後での動きは以下のようになります。
- 機器からの要求: スマートテレビが、Microsoftのサーバーに「ログインしたいのでコードをください」と要求します。
- コードの発行: Microsoftは、テレビに対して「短いユーザーコード(例:
A1B2C3D4)」と、指定のURL(microsoft.com/deviceloginなど)を渡します。 - 画面への表示: テレビの画面に「スマホやPCで指定のURLにアクセスし、
A1B2C3D4を入力してください」と表示されます。 - ポーリング(待機と確認): テレビはバックグラウンドで数秒おきに、Microsoftのサーバーに対して「ユーザーはスマホで許可してくれましたか?」と定期的な確認(ポーリング)を開始します。
- ユーザーの認証(手元のスマホ等): ユーザーが手元のスマホで指定のURLを開き、自分のID・パスワード・多要素認証(MFA)でログインした後、テレビに表示されている
A1B2C3D4を入力して「許可」を押します。 - トークンの受け渡し: テレビが次に「許可してくれましたか?」とサーバーに確認した際、Microsoftは「はい、許可されました」と答え、テレビに対して「アクセストークン(そのサービスを利用するためのデジタルの通行証)」を渡します。
- ログイン完了: テレビがアカウントに接続され、YouTubeや写真などが見られるようになります。
3. この仕組みの盲点とEvilTokens
このフローの最大の特徴は、「ログインを要求している機器(テレビ)」と「実際にパスワードを入力して認証する機器(スマホ)」が物理的に分離していることです。
EvilTokensのような攻撃ツールは、この正規の仕様をそのまま悪用しています。
攻撃者は、上記の「スマートテレビ」の役割を、自分たちの「ハッキング用プログラム」に置き換えます。 プログラムがサーバーからコードを引き出し、それをテレビの画面に映す代わりに、もっともらしい理由(「セキュリティ認証が必要です」等)をつけてフィッシングメールに書き込み、あなたに送りつけます。
そして、攻撃者のプログラムは背後で「ユーザーは許可してくれましたか?」とポーリング(待機)を続けます。あなたが自分のスマホでコードを入力してしまうと、その許可はあなた自身のスマホではなく、遠隔地で待機している攻撃者のプログラムに対して与えられ、アクセストークン(通行証)が奪われてしまうという構造です。
企業やユーザーが取るべき対策
この脅威に対抗するには、「怪しいサイトを見破る」という人間の注意力に頼らない、システム的な防御と新しいルールの周知が必要です。
- システム的防御: Microsoft Entra ID(旧Azure AD)の設定で、業務上不要であれば「デバイスコードフロー」自体を無効化する。あるいは「条件付きアクセスポリシー」を利用して、社内ネットワークや会社支給の端末からのみデバイスコードの利用を許可するよう制限をかけます。
- ユーザー教育のアップデート: 「URLを確認する」という教育に加え、「メールやチャットで送られてきたデバイスコードは絶対に入力しない」「画面に表示されたコードを別のデバイスに入力させるような指示は疑う」という新しい原則を周知する必要があります。
私たちが普段「安全だ」と信じている正規のシステムと強固な認証プロセスそのものを、見事に逆手にとった手口と言えます。
被害者が実際にコードを入力させられる「正規の画面」と、MicrosoftおよびGoogleの公式解説URLをまとめました。
この攻撃の最も恐ろしいところは、メールのリンクを踏んだ後に表示される画面が、100%本物のメーカー公式サイトであるという点です。
1. Microsoftのコード入力画面と公式URL
Microsoftの場合、スマートTVやゲーム機(Xbox)などのブラウザがない機器を連携させる際、以下のページが使われます。攻撃者はこの本物のページにあなたを誘導します。
- 本物の入力ページURL: [https://microsoft.com/devicelogin]
注: 私のPCでは、このサイトはChromeでブロックされました。 - 公式の解説(技術文書): Microsoft Entra ID でのデバイス コード フロー認証
【実際の画面の流れ】
- ページを開くと、非常にシンプルな「コードの入力」という画面が表示されます。
- フォームに、メールに記載されていた英数字(例:
A1B2C3D4)を入力して「次へ」を押します。 - 次の画面で、あなたのアカウントを選択(または通常のID・パスワード入力)し、多要素認証(MFA)を求められます。
- 最後に、「〇〇(アプリ名や端末名)にサインインしようとしています」という最終確認画面が出ます。ここで「続行」や「許可」を押すと、攻撃者に通行証が渡ります。
2. Googleのコード入力画面と公式URL
Googleも全く同じ仕組み(OAuth 2.0 デバイスフロー)を持っています。YouTube対応のスマートTVなどにログインする際に使われる画面です。
- 本物の入力ページURL:
[https://google.com/device](https://google.com/device) - 公式の解説(技術文書): ブラウザが限られているデバイスや入力のないデバイスの認証 (Google Identity)
【実際の画面の流れ】
- ページにアクセスすると、「デバイスの接続」というタイトルと、「デバイスに表示されているコードを入力してください」という入力欄が表示されます。
- コードを入力して進むと、Microsoftと同様にGoogleアカウントへのログインとMFA(スマホでの「はい」のタップなど)を求められます。
- 最後に「〇〇がGoogleアカウントへのアクセスを求めています」という権限許可の画面が表示されます。
画面を見分けるための「最大の警戒ポイント」
どちらの画面もデザインは完全に本物(というかシステムそのもの)なので、画面の見た目で嘘を見破ることは不可能です。
ただし、最後の確認画面(上記手順の4や3)で、「今自分が触っていない、身に覚えのないアプリ名や端末名」が必ず表示されます。
⚠️ 決定的な防衛ライン 自分が今、スマートTVやスマートディスプレイなどの初期設定を**「手動でリアルタイムに行っていない」**のであれば、どのような理由(セキュリティ更新、アカウント確認など)で届いたメールであっても、これらのページにコードを打ち込んではいけません。
この入力画面自体は非常にシンプルで日常的なものであるがゆえに、だまされて入力してしまう人が後を絶たないのが現状です。

