リアルタイムフィッシング

リアルタイムフィッシングは、偽サイトに入力されたID・パスワードやワンタイムパスワード(OTP)を、その場で本物のサイトへ中継する攻撃です。使い捨てのはずのOTPも本物のサイトで即座に使われ、認証後のセッションまで奪われるため、多要素認証(MFA)を導入していても突破される場合があります。

本記事では、リアルタイムフィッシングがOTPで防げない理由、突破された場合の影響、対策の軸となるフィッシング耐性のある認証(FIDO2)について解説します。

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

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

従来のフィッシングは、偽サイトにID・パスワードを入力させて盗む攻撃です。この対策として、ワンタイムパスワードを追加した多要素認証が広く使われてきました。ワンタイムパスワードは短時間で無効になるため、パスワードだけが盗まれた場合でも、第二の要素によって不正ログインを防ぎやすくなります。

リアルタイムフィッシングは、ここが異なります。偽サイトは入力内容を盗んだあとに使うのではなく、その場で本物のサイトへ転送します。利用者は本物と同じ画面を進めているため、ワンタイムパスワードまで入力してしまい、そのまま認証が完了します。

つまり、従来のフィッシングが「入力させた情報をあとで使う」攻撃であるのに対し、リアルタイムフィッシングは「入力させた情報を今この瞬間に本物の認証へ使う」攻撃です。ワンタイムパスワードは短時間で無効になりますが、リアルタイムで中継されると、有効期限内に本物のサイトで使われるため、この特性だけでは攻撃を防げません。

攻撃が成立する仕組み

攻撃者は、正規サイトのログイン画面を再現したページを用意します。このページの裏では、利用者の入力が本物のサイトへ転送され、本物のサイトからの応答が利用者の画面へ返されます。偽サイトは、利用者と本物のサイトの間に立つ「リバースプロキシ」として動きます。

利用者から見ると、入力する内容と手順は本物と同じです。ワンタイムパスワードを入力して認証が完了すると、本物のサイトは通常どおり「正当な認証済みのセッション」を発行します。このセッションが、中継を挟んだ攻撃者の手に渡るのが、この攻撃の構造です。

Microsoftは、認証セッションが悪意あるリバースプロキシに接続した状態で、攻撃者が資格情報やトークンを傍受できるリスクとして、Attacker in the Middleを検出対象に定めています。

出典:Microsoft「What are risk detections? – Microsoft Entra ID Protection」

リアルタイムフィッシングでOTPが突破される理由

ワンタイムパスワードには、短時間で無効になる、正規のサービスでしか使えない、という設計上の前提があります。しかし、リアルタイムフィッシングは、この前提が成り立っている場面で成立する攻撃です。突破口は「OTPがその場で使われること」と「認証後のセッションが奪われること」の2つです。

中継されたOTPが本物のサイトで使われる

偽サイトは入力を即座に本物のサイトへ転送するため、有効期限内に本物の認証へ使われます。OTPは一度しか使えませんが、攻撃者が有効期限内にリアルタイムで本物のサイトへ中継するため、「使い捨て」という性質だけでは攻撃を防げません。

SMSで届くコードでも、認証アプリで生成するコードでも、入力されたコードが中継される点は同じです。利用者がOTPを入力したその瞬間に、そのコードは本物のサイトの認証へ使われています。

NISTは、手動入力を伴うワンタイムパスワードの認証はフィッシング耐性を持たないと明記しています。入力された出力が特定のセッションに結び付かないため、偽の検証者がそれを転送して認証を成功させ得るという理由です。

出典:NIST「SP 800-63B」

認証後のセッションを奪われる

もう一つの突破口は、認証が完了した「あと」にあります。サービスは、ログインに成功した利用者をセッションとして扱い、以後のアクセスをパスワードの再入力なしに許可します。リアルタイムフィッシングでは、この認証済みのセッション(トークン)が中継を経て攻撃者に渡ります。

多要素認証は「認証の瞬間」を強くする仕組みであり、一度成立したセッションを守る仕組みではありません。したがって、OTPを追加しただけの構成では、この攻撃への対策としては不十分です。

リアルタイムフィッシングで突破された場合の影響

不正ログイン後に起こること

攻撃者は正規のセッションを使うため、システム側からは通常のログインと区別しにくい状態で、本人の権限範囲内の操作ができます。具体的には、情報の閲覧や持ち出し、設定の変更、本人になりすましたメールの送信などです。

また、一つのシステムにログインできた攻撃者は、そこを足がかりにほかのシステムへ広がる場合があります。連携サービスの登録や共有・承認の設定変更など、本人の権限内でできる操作が、横展開の入口になります。

利用者自身はログインに成功しているため、突破されたことに気づかない点も、被害が長期化しやすい要因です。

優先して守るべきアカウント

突破された場合の影響は、アカウントが持つ権限で決まります。管理者権限のあるアカウント、顧客情報を扱うシステム、外部公開されているシステムのアカウントは、突破された場合の影響が大きく、優先的な保護対象です。

VPNなど、社外から社内ネットワークへの入口となる認証も同様です。これらのアカウントから、後述するフィッシング耐性のある認証への置き換えを優先します。

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

対策の軸は、偽サイトで認証が成立しない仕組みを持つ認証方式を選ぶことです。OTPの追加や利用者教育だけでは、中継する攻撃への対策として不十分です。ここでは、選ぶ軸と、フィッシング耐性のある認証がなぜ効くのかを説明します。

軸はフィッシング耐性のある認証

認証方式を選ぶ際は、フィッシング耐性を持つかどうかを軸にします。NISTの定義では、フィッシング耐性とは、認証の秘密情報や有効な認証出力が偽の検証者へ渡るのを防げる能力を指し、そのためには暗号技術を用いた認証が必要です。ワンタイムパスワードは、この要件を満たさない方式として明記されています。

つまり、OTPの種類や実装を工夫しても構造的な弱点は残るため、対策として選ぶ認証方式そのものを、フィッシング耐性のあるものへ切り替える必要があります。

出典:NIST「SP 800-63B」

セキュリティキーが偽サイトで成立しない仕組み

FIDO2(WebAuthn)は、公開鍵暗号とチャレンジレスポンスを用いる認証方式です。登録時にサービスごとの鍵ペアを生成し、秘密鍵は認証器の中に残り、公開鍵だけがサービスへ登録されます。ログイン時には、サービスからの要求(チャレンジ)に対して認証器が署名し、サービス側が公開鍵で検証します。

このとき、鍵ペアは対象サービス(ドメイン)に紐づきます。偽サイトは正規のサービスとは異なるドメインのため、正規サービス向けに作られた鍵ペアでは署名が成立せず、認証が通らない構造です。利用者が偽サイトに誘導されても、認証そのものが完結しません。

FIDO Allianceは、フィッシング耐性をFIDO認証の中核の設計目標として位置づけています。

出典:FIDO Alliance「Passkeys」

認証以外で組み合わせる対策

フィッシング耐性のある認証を軸にしつつ、次のような対策を組み合わせます。

  • 不審なサインインの監視:いつもと違う場所・端末からのログインの確認
  • 利用者教育:URLの確認習慣、不審なリンクを開かない案内
  • セッション管理:セッションの有効期限や再認証の設計

これらは補助的な対策であり、認証方式の入れ替えの代わりにはなりません。中継する攻撃は、利用者が偽サイトへ入力する段階で成立するため、入力しても成立しない認証方式を軸に据えることが最優先です。

リアルタイムフィッシングに強いFIDO認証

飛天ジャパンでは、FIDO2およびFIDO U2Fに対応したFIDOセキュリティキー(ePass FIDO/BioPass FIDOシリーズ)を提供しています。USB Type-A/Type-C対応のモデルがあり、NFCや指紋認証に対応するモデルも選択できます。

外部の認証器を配布して使う方式のため、スマートフォンを業務認証に使えない現場でもFIDO2認証を導入できます。導入時は、対象サービスのFIDO2対応の条件(利用できる認証器やブラウザなど)を確認したうえで、導入環境に合わせてご相談ください。

リアルタイムフィッシングに関するFAQ

Q. MFAを導入していても突破されますか?

突破される場合があります。ワンタイムパスワードは中継された時点で本物のサイトで使われ、認証後のセッションも奪われるためです。対策の軸として、フィッシング耐性のある認証への置き換えが有効です。

Q. ワンタイムパスワードは無意味ですか?

無意味ではありませんが、リアルタイムフィッシングに対しては構造的に弱い方式です。パスワードだけの認証より安全性は高い一方、NISTはOTPの認証をフィッシング耐性を持たない方式として明記しています。強くしたい対象に応じて、方式を選ぶ必要があります。

Q. セキュリティキーは何が違いますか?

認証に使う鍵ペアが対象サービスのドメインに紐づく点です。偽サイトでは正規サービス向けの鍵ペアによる署名が成立しないため、利用者が偽サイトに誘導されても認証が完結しません。

リアルタイムフィッシングはOTPだけでは防げない

リアルタイムフィッシングは、入力された認証情報をその場で本物のサイトへ中継し、ワンタイムパスワードも認証後のセッションも奪う攻撃です。OTPを追加しただけの多要素認証では、この攻撃に対する対策として不十分です。

対策の軸は、ドメインに紐づいて偽サイトで認証が成立しないフィッシング耐性のある認証(FIDO2セキュリティキー)です。管理者や外部公開システムのアカウントなど、影響の大きいアカウントから置き換えを進め、監視や利用者教育を組み合わせて運用してください。

対応確認や構成のご相談は、無料の体験版お申込みフォーム、資料ダウンロードフォーム、お問い合わせをご利用ください。

導入をご検討のお客さま