AI時代のフィッシング|第2回:AIによる攻撃の仕組みとMFAを悪用する手法

1. はじめに 

前回は、Device Code Authentication(デバイスコード認証)を悪用したフィッシングについて説明しました。 

特に重要なのは、攻撃者はパスワードそのものではなく、認証後に発行されるトークン(アクセス権)を狙っているという点です。 

今回は、この攻撃がどのように組み立てられ、AIがその中でどのように使われているのかについて、もっと詳しく見ていきます。 

2. 「手作業のフィッシング」から「AIを活用したフィッシング」へ 

以前のフィッシングは、 

  • 大量メール送信  
  • 同じテンプレート  
  • とにかく数を打つ  

といった形が一般的でした。 

しかし、AIによって状況が変わりました。 現在では、AIを利用して、ターゲットに合わせたフィッシング攻撃を効率的に行うことが可能になりつつあります。 

では、実際にAIは攻撃のどこで使われているのでしょうか。 

3. AIはフィッシング攻撃のどこで使われているのか 

AIは、単に自然な文章を作るだけではありません。 

今回のようなフィッシングでは、主に「誘導」「ターゲットへの最適化」「検知回避」といった部分で利用されます。 

自然な文章生成 

AIは、 

  • 社内メール風の文章  
  • 文脈に合った内容  
  • 自然な日本語  

を生成できます。 

例えば、フィッシングメールの件名やメッセージとして、以下のような内容を自然な文章で作成できます。 

  • 「ログイン確認のお願い」  
  • 「共有ファイルの確認依頼」  
  • 「セキュリティ警告」  

一見すると、通常の社内連絡にも見える内容です。 

ターゲットごとの最適化 

AIは、以下のような情報をもとに、ターゲットごとに異なる文章を作成できます。 

  • 会社情報  
  • 公開情報  
  • 業務内容  

例えば、 

  •  開発者にはリポジトリ関連
  • 人事には人事資料関連  
  • 営業には契約関連  

といったように、ターゲットの業務内容に合わせて内容を変えることで、違和感を減らし、攻撃が成功する可能性を高めることができます。 

検知を回避する仕組み 

従来の迷惑メール検知は、 特定キーワード  や固定パターン  などを検出していました。 しかしAIを利用すれば、毎回異なる文章を生成できます。 

つまり、同じ攻撃でも、送られてくるメールの内容が毎回少しずつ変わるため、固定的なルールだけでは検知しにくくなります。 

そして、AIによって変化するのは、メールの文章だけではありません。 攻撃者は、認証に使用するデバイスコードなどを動的に生成することで、毎回異なる攻撃パターンを作り出すことができます。

4. Dynamic Code Generationとは何か 

Microsoftが強調していたポイントの一つが、Dynamic Code Generation(動的コード生成)です。これは、攻撃のたびに異なる認証コードを生成する仕組みです。 攻撃者は、キャンペーンやターゲットとなるユーザーごとに異なるデバイスコードを生成することで、同じパターンの攻撃を繰り返すことを避けます。

その結果、 

  • ブラックリストに登録しにくい
  • 特徴ベースの検知が難しい
  • 固定されたルールでは検知しにくい  

という状態になります。 

簡単に言えば、攻撃のたびに異なるコードを生成することで、固定的なパターンとして検知されにくくする仕組みです。 このように、AIによる文章生成とDynamic Code Generationによって、攻撃者は「人間から見ても不自然ではなく、システムから見ても同じパターンではない」攻撃を作りやすくなります。 

では、これらの要素が実際の攻撃でどのようにつながるのでしょうか。 

5. AIを利用したフィッシング攻撃の流れ 

Step 1: 攻撃者がセッションを生成 

攻撃者はDevice Code Authenticationの認証待ちセッションを開始します。 
この時点では、まだ攻撃者自身はログインできません。 認証が完了するのを待っている状態です。 

Step 2AIがフィッシング文面を生成 

AIを利用して、自然なメールやメッセージが生成されます。ターゲットの業務や公開情報などに合わせて内容を変えることで、ユーザーが違和感を持ちにくいメッセージを作成できます。 

Step 3:ユーザーが正規サイトで認証 

ユーザーは、攻撃者から送られてきたDevice Codeを使って、正規のMicrosoftページでログインします。 
その後、通常どおりMFA(多要素認証)を行います。 ユーザーから見ると、正規のサイトで通常の認証を行っているだけです。 

Step 4:攻撃者側のセッションにトークンが発行される 

ユーザーが認証を完了すると、トークン(アクセス権)は、ユーザーが操作しているデバイスではなく、攻撃者が事前に用意したセッションに対して発行されます。 つまり、攻撃者がユーザーのセッションを直接「奪う」のではありません。 ユーザー自身が正規の認証を行うことで、攻撃者側のセッションが認証済みの状態になります。 その結果、攻撃者はユーザーのパスワードを知らなくても、ユーザーの権限でMicrosoft 365などのサービスにアクセスできるようになります。 
この攻撃の目的は、ユーザーのパスワードを盗むことではなく、ユーザーの権限を使ってサービスへアクセスできる状態を作ることです。これが、今回の攻撃で狙われているポイントです。 

6. なぜこの攻撃は検知が難しいのか 

ここまでの流れを見ると、この攻撃がなぜ検知しにくいのかも分かります。 

システム側から見ると、 

  • ログイン成功  
  • MFA成功  
  • 正規トークン発行  

と、すべて正常な処理に見えます。 

問題は、認証そのものの失敗ではなく、正しい認証フローが攻撃に利用されていることにあります。 

さらに、AIによってメールの内容が毎回変化し、Dynamic Code GenerationによってDevice Codeも変化するため、従来の固定的なルールだけでは攻撃を見つけにくくなります。 

7. EvilTokenとPhaaS:攻撃を「サービス化」する仕組み 

ここまで見てきたような攻撃が広がる背景には、PhaaS(Phishing-as-a-Service)の存在もあります。 

EvilTokenのようなPhaaSは、フィッシングを「サービス化」しています。 

提供されるものは、 

  • 自動化(Automation) 
  • 攻撃基盤(Infrastructure)
  • トークンの取得(Token Capture) 
  • 攻撃キャンペーンの管理(Campaign Management) 

などです。 これにより、攻撃者がすべての仕組みを一から構築しなくても、フィッシングを実行しやすくなります。 

つまり、フィッシングが「一部の高度な攻撃者だけのもの」ではなくなってきています。 

AIによる自動化・最適化とPhaaSによる攻撃基盤のサービス化により、フィッシング攻撃はより効率的かつ大規模に実行できるようになっています。 

8. AI時代のフィッシングで注意すべきポイント 

ここまでの内容を見ると、問題は単純に 「AIが賢すぎること」 ではないことが分かります。 

本当に怖いのは、AIによってフィッシングが「安く・速く・自然」になったことです。 

AIによって、 

  • 自然な文章を作る  
  • ターゲットごとに内容を変える  
  • 攻撃パターンを変化させる  

といったことが容易になり、さらにPhaaSによって攻撃基盤も利用しやすくなっています。 

その結果、これまで一部の攻撃者にしかできなかったような攻撃が、より少ない手間で実行できるようになっています。 

9. まとめ 

今回見てきた攻撃では、 

  • パスワードは盗まれていない  
  • MFAも突破されていない  
  • 正規のサイトが利用されている  

にもかかわらず、攻撃者は認証後のトークン(アクセス権)を取得し、それを利用して被害者として各種サービスへアクセスできるようになります。 

さらに、AIによる文章生成やターゲットごとの最適化、Dynamic Code Generation、PhaaSなどが組み合わさることで、こうした攻撃はより自然で、検知しにくく、実行しやすいものになっています。 

では、「ログイン成功」だけでは足りない時代に、何を守るべきなのか? 

次回は、その答えについて考えていきます。