検索
特集/連載

「多要素認証(MFA)なら安全」は幻想か セッションを盗む“リアルタイムフィッシング”の脅威多要素認証を無力化する脅威

多要素認証(MFA)を入れたから安心という思い込みが、企業の命取りになり得る。認証後のクッキーを奪い取る「リアルタイムフィッシング」と、その対策とは何か。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 企業の情報システム部門(情シス)にとって、IDとパスワードの保護はセキュリティの根幹だ。しかし最近、従来のフィッシング対策を根本から覆す「リアルタイムフィッシング」が急速に拡大している。リアルタイムフィッシングの特徴は、フィッシング対策に有効な手段とみられてきた多要素認証(MFA)を、攻撃者が迂回(うかい)する点にある。どういうことなのか。

 本稿は、リアルタイムフィッシングの仕組みを解説しながら、どうやって対抗ができるかを考える。

リアルタイムフィッシングの仕組みと対策

 リアルタイムフィッシングは、攻撃者がユーザーと正規のサイトの間にリバースプロキシサーバ(ユーザーからのリクエストをWebサーバに転送するサーバ)を設置し、通信を転送する仕組みだ。攻撃者はまず、本物のログインページに見せかけた不正サイトを用意し、ユーザーを誘導する。ユーザーが不正サイトにアクセスしてIDとパスワードを入れると、リバースプロキシサーバはそれらを正規の認証サーバへ転送し、攻撃者が本物のサイトに不正ログインする。

 リバースプロキシサーバの利用によって、ユーザーのブラウザには本物のサイトの内容が表示される。アドレスバーのURL以外に見た目の違いがないため、フィッシング攻撃について訓練を受けた従業員でも見破ることは困難だとみられる。攻撃者は通信経路を監視することで、ユーザーが入力するIDとパスワードをリアルタイムで傍受している。そのため、リアルタイムフィッシングと名付けられた。

 近年のWebアプリケーションでは、ユーザーが一度ログインに成功すると、ブラウザにセッションクッキーが保存される。セッションクッキーは、後続のリクエストにおいて「このユーザーはすでに認証済みだ」という証明書になる。通常、MFAツールはセッションクッキーを発行するための「鍵」の役割を果たすが、リアルタイムフィッシングではこの鍵の使用後に発行された「クッキーそのもの」が盗み取られる。

 攻撃者は奪取したセッションクッキーを自分のブラウザにインポートすることで、ユーザーのデジタルアイデンティティーをそのまま引き継ぐ。この状態では、正規サーバ側は攻撃者を「ログイン済みの正当なユーザー」として認識するため、追加のMFA入力を求めることはない。これが、パスワードが保護されていても、セッションが奪われればアカウントが乗っ取られる根本的な理由になる。

 リアルタイムフィッシングによってメールアカウントのセッションが奪われると、攻撃者は企業内部の人間になりなりすまし、メールを送信できるようになる。これは「ビジネスメール詐欺」(BEC)の起点となり、取引先への偽請求書の送付や、社内での不正な送金指示といった被害につながる恐れがある。内部アカウントからのメールはスパムフィルターを通りやすく、受信者も疑いを持ちにくいため、詐欺が成功しやすいと考えられる。

 近年、日本でもリアルタイムフィッシングによる被害が広がっている。特に標的にされているのは、銀行や証券会社といった金融系だ。しかし、それだけではない。2025年は建設や小売りなどの企業からもリアルタイムフィッシングの被害が報告されており、幅広い業種や規模の企業が狙われるようになっている。

リアルタイムフィッシング対策とは

 リアルタイムフィッシングは、正規の認証フローをそのまま利用するため、従来の方式の検知や静的なIPブロックでは対応が難しいとみられる。リバースプロキシサーバは、正規のAPIと直接通信しており、トラフィック自体は「正常な認証」として処理される。リアルタイムフィッシングを検知するためには、単一の事象ではなく、複数のコンテキスト情報を組み合わせる必要がある。リアルタイムフィッシングの兆候として、以下のことが挙げられる。

  • Impossible Travel(インポッシブルトラベル)
    • 同一のセッションクッキーが、短時間のうちに地理的に離れた2つの異なるIPアドレス(ユーザーの所在地と攻撃者のプロキシ所在地)から使用されている状態。
  • User-Agentの不一致
    • ブラウザのセッションを奪取した際、ユーザーと攻撃者のデバイス環境(OSやブラウザのバージョン)が異なる場合に発生する不整合。
  • TLS(Transport Layer Security)フィンガープリントの相違
    • リバースプロキシサーバと、正規のブラウザやWebサーバのTLS通信特性の違い。

 リアルタイムフィッシングが発覚した際、優先すべきアクションは「全セッションの強制終了」だ。パスワードを変更するだけでは、すでに発行済みのセッションクッキーによるアクセスを止めることはできない。企業は管理者ダッシュボードから全ての有効なトークンを無効化し、ユーザーに再認証を求めることで、攻撃者のアクセスを遮断できる。

 リアルタイムフィッシングに対する強力な防御策は、パスワードを使わない「パスワードレス」の認証方法を用いることだ。その代表格が、業界団体FIDO Allianceによるパスワードレス認証技術「FIDO2」だ。FIDO2をベースとした認証ツールとして、パスワードなしでのログインを可能にする「パスキー」(Passkey)がある。パスキーは顔や指紋といった生体要素などを用いて、Webサイトやアプリケーションにログインできるものだ。

まとめ

 リアルタイムフィッシングは、従来のMFAが提供してきた「安心感」を打ち砕いた。攻撃者はリバースプロキシサーバという極めてシンプルだが強力な仕組みを用いて、セキュリティの屋台骨を揺るがしている。しかし、パスキーをはじめとした「フィッシング耐性のある認証」を導入すれば、企業はパスワードという構造的な脆弱(ぜいじゃく)性を解消できる。ITリーダーは今こそ、アイデンティティーを中核に据えたゼロトラストアーキテクチャに舵を切るべきだ。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る