JSSEC セキュリティコラム
25年6月号「推奨される安全な認証は?」
~ 多要素認証では守れないフィッシング詐欺の脅威 ~
JSSEC副会長・理事
KDDI株式会社 本間 輝彰
私たちが日常的に使用するスマートフォン、その便利さの裏には思わぬ落とし穴が潜んでいます。それが、スマートフォン利用者をターゲットにしたサイバー犯罪です。本コラムでは、利用者自身を含め身近なスマートフォンユーザーに起こりうるサイバー攻撃の実態を掘り下げ、その手口と対策について解説していきます。
フィッシングメールによる詐欺被害は年々増加しています。また、フィッシングメールによって狙われるサービスも、従来は通信キャリア、ECサービス、クレジットカード、銀行、政府機関などが大半を占めていましたが、新たな攻撃方法の確立により仮想通貨や証券会社なども増加しつつあります。
フィッシング攻撃では、主にアカウントの搾取を行い、搾取したアカウントを使って不正行為を行うことから、一部のサービスでは認証対策として多要素認証の導入を行う場合があります。しかしながら、フィッシング詐欺において多要素認証を突破する攻撃は何年も前から確立しており、適切な導入を行わないと十分な効果を得ることができません。
これらの背景を踏まえて、サービスにおける適切な認証の導入についての考察を行います。
本コラムを参考に、安全なインターネットでのサービスの利用につながれば幸いです。
多要素認証導入によるセキュリティ強化
インターネットでサービスを利用する際に、利用するサービスのアカウントを作成し、該当のサービスにログインして利用するのが一般的です。また、多くのサービスでは、アカウントにID/パスワードを使うことが多いです。
ログインする際にID/パスワードが安全に守られていれば、セキュリティ上のリスクはありませんが、攻撃者は多種多様な手段を用いて、ID/パスワードを入手し不正を働いてきます。
図1 ID/パスワードによる不正アクセス
万が一、攻撃者がID/パスワードを搾取してしまうと、攻撃者は搾取したID/パスワードを使って不正にサービスを利用します。これらの問題を解決するために、多要素認証が用いられるようになっています。多要素認証の代表的な方法にワンタイムパスワードの利用があります。ID/パスワードを使ってサービスにログイン後に、サービスに登録してある電話番号やメールアドレスにSMSやメールを使ってワンタイムパスワード(認証コード)を送信したり、専用の認証アプリを使ってワンタイムパスワードを表示させ、そのワンタイムパスワードを入力することでログインが可能となります。
このように、多要素認証を用いることで、攻撃者にID/パスワードが漏洩しても、ワンタイムパスワードを入手することができないため、不正アクセスを防ぐことが可能となります。
図2 二要素認証による認証強化
リバースプロキシ型攻撃による多要素認証の無効化
フィッシング対策として、多要素認証を導入するサービスが増加している一方、攻撃者はリバースプロキシ型攻撃などを使って多要素認証を無効化して攻撃を行っているのが実態であり、下記に代表的な攻撃手順を示します。
1. 攻撃者はターゲットとなる利用者にフィッシングメールを送信する。
2. 利用者はフィッシングメールと気づかずに、フィッシングサイトにアクセスし、ID/パスワードを入力する。
3. (攻撃者)フィッシングサイトでは、ワンタイムパスワードの入力画面を表示し、バックグラウンドで騙されている利用者が入力したID/パスワードを使って正規サイトにアクセスする。
4. 正規サイトはID/パスワードが入力されると、フィッシングサイトと同様にワンタイムパスワードを要求し、ワンタイムパスワードを利用者に送信する。
5. 利用者は、入手したワンタイムパスワードをフィッシングサイトに表示されたワンタイムパスワード画面に入力する。
6. フィッシングサイトは、入力されたワンタイムパスワードを使って正規サイトに入力をすることでログインが成功となる。
7. 以後、攻撃者は正規サイトで多種多様な不正な行動を行う(継続して不正アクセスするための電話番号やメールアドレスの変更、株式の売買など)。
図3 リバースプロキシ型攻撃による多要素認証の無効化
このように利用者がフィッシングメールと気づかずにフィッシングサイトにアクセスしてしまえば、多要素認証を無効化され不正アクセスが可能となってしまいます。
また、これら攻撃を可能とするフィッシングキット※1も販売されており、現在では多くのフィッシングサイトが多要素認証を無効化する対策が行われていると推測されます。
このような背景もあり、米国のセキュリティ機関であるCISA(Cyber Defense Agency:サイバーセキュリティー・インフラセキュリティー庁)が2024年12月18日にモバイル通信におけるベストプラクティスとして発表したMobile Communications Best Practice Guidance※2では、多要素認証にSMSを利用しない(Migrate away from Short Message Service (SMS)-based MFA)としています。同様に、NIST SP800-63B Digital Identity Guidelines※3においても、“Use of the PSTN for out-of-band verification is RESTRICTED as described in this section”と“RESTRICTED(このセクションで記述されているように、PSTN※4を利用したアウトオブバンド検証は制限付き)”とされており、利用は推奨していません。
したがって、多要素認証を導入してもフィッシング攻撃の対策としては不十分な場合があるため、多要素認証を有効に利用する方法を検討することが推奨されます。
※1 https://www.interpol.int/en/News-and-Events/News/2023/Notorious-phishing-platform-shut-down-arrests-in-international-police-operation
※2 https://www.cisa.gov/resources-tools/resources/mobile-communications-best-practice-guidance
※3 https://pages.nist.gov/800-63-3/sp800-63b.html
※4 PSTNとは「Public Switched Telephone Network」の略で、一般的に使用される公衆交換電話網を指す
多要素認証では対策が不十分な理由
サービスを利用する際の認証の多くは、片方向認証となっています。片方向認証では、サービス提供側はアクセスしてきた利用者が正規の利用者であるかどうかの真正性を確認することが可能です。
しかしながら、利用者は利用するサービスが正規のサービスであることを前提に利用しており、利用者が不正サイトであるかを確認しない限り、アクセス先の真正性を確認する手段は、URL情報など不正なサイトと気づくための限定的な確認手段しか持ち合わせていません。したがって、フィッシング詐欺に騙され、正規のサービスへアクセスしていると認識している場合、疑いを持つ可能性は非常に少ないと言えます。
図4 片方向認証による危険性
このように、片方向の認証はサービスを利用する側からすると、認証先の真正性を確認しているわけではなく、多要素認証を導入しても、リバースプロキシ型攻撃などにより認証を無効化される可能性があります。したがって、安全な認証を実現するためには、サービス提供側の真正性を判別する技術が必要です。
安全な認証を行うためには
安全な認証環境を実現するには、真正性を判別する技術が必要と述べてきました。ここでは、真正性の判別を考慮した代表的な対策例をいくつか紹介します。
○パスキー(FIDO2)を利用する
ID/パスワードの認証に代わり、パスキーを採用することで認証が非常に強化されます。
パスキー作成時に、パスキーとRP(Relying Party)※5を紐づけるRP IDを作成します。そしてパスキーによる認証時にRP IDと実際にアクセスしているドメインが部分一致していない場合には認証を許可しません。したがって、リバースプロキシ型攻撃の攻撃を行っても、アクセスしているドメインが異なるため、パスキーの認証が成功しなくなるため、不正アクセスが不可となります。
図5 パスキーによる認証強化
パスキーを作成する際には、身元確認などを行い、正しい利用者であることを確認してください。たとえば、パスワードのみでパスキーを作成できるようになっていれば、パスキーのセキュリティ強度はパスワード同等となってしまいます。最低限、パスキーを作成したら、それ以降はパスワードのみによるログインは認めないような対応が必要です。
また、パスキーの利用については、前述のCISAが発行しているMobile Communications Best Practice Guidanceにおいても、認証にFIDOを利用する(Enable Fast Identity Online (FIDO))と利用を推奨しています。
○専用アプリでの利用を必須とする
スマホの普及に伴い、インターネット上のサービスを利用する際に、スマホから利用することが非常に多くなっています。その結果、よりサービスを便利に利用してもらうために、多くのサービスで、専用のスマホアプリを提供することが多くなっています。スマホアプリを利用すれば、フィッシングメールから不正なURLに誘導されることがなくなり安全性が高まります。さらに、多要素認証と組み合わせれば、ID/パスワードが漏洩しても不正アクセスされることがなくなります。さらには、スマホアプリにて追加のセキュリティ対策を行うことで、さらなる強化が可能となります。
なお、スマホアプリで多要素認証を行う際に、SMSなどを利用せず、専用のワンタイムパスワードアプリをスマホアプリと併せて提供し、スマホアプリと専用のワンタイムパスワードアプリを連携することでさらに認証を強化することが可能となります。
また、Webブラウザでアクセスが必要な場合も、スマホアプリからWebブラウザに遷移させることで、Webブラウザでの利用においても安全性が高めることが可能です。
ただし、スマホアプリを模倣したマルウェアも存在するため、利用者が誤ってマルウェアをダウンロードしないようにする仕組みも考慮が必要となります。
加えて、アプリ内部でのセキュリティ実装が不十分な場合、攻撃者に逆手に取られる可能性もあります。したがって、スマホアプリを提供する場合は、十分なセキュリティ対策を実施することが推奨されます。
○認証をパスワードマネージャーに連携させる
スマホには、デフォルトでパスワードマネージャーのアプリが提供されており、また、外部のパスワードマネージャーアプリの利用も可能となっています。パスワードマネージャーに登録されたサイトにログインする際には、パスワードマネージャーからID/パスワードが自動で入力されるため、利用者はID/パスワードを覚える必要がなくなり、フィッシングサイトで気づかずにID/パスワードを入れてしまうというリスクが軽減されます。また、常にパスワードマネージャーでID/パスワードを入力させることで、自動でID/パスワードを入力されないサイトは危険なサイトであると気づかせることも可能となります。
また、パスワードマネージャーによるID/パスワードはスマホアプリでも利用可能なため、スマホアプリにおいても対応することが推奨されます。
なお、パスワードマネージャーの利用については、前述のCISAが発行しているMobile Communications Best Practice Guidanceにおいても、パスワードマネージャー利用(Use a password manager)を推奨されています。
ただし、本手段は利用者の気づきが必要となるため、抜本的な対策ではなく補助的な対策として考える方が適当です。
※5 パスキーによる認証を受け入れるWebサイト
安全な認証環境導入時の注意点
安全な認証環境を提供しても、利用者がその環境を利用しなければ、その効果は低くなります。したがって、サービス提供者は安全な認証環境を提供した後に、利用者に対してその環境に移行させる仕組みも併せて準備する必要があります。
なお、利用者に安全な認証環境導入を推奨するために、メールで案内をするケースが多々ありますが、攻撃者はそれを逆手にとって、「安全な認証に移行しましょう」といったタイトルでフィッシングメールを送信する事例が多数確認されています。したがって、利用者に案内する際には、このような攻撃が発生することも踏まえて周知する方法の検討も必要です。
また、安全な認証環境を利用者が設定する際に、その設定方法が判りにくいものも散見されます。設定方法が分かりにくいと、利用者は設定を諦め、離脱してしまうことが発生し、結果として問題解決しないことになります。したがって、利用者に寄り添い、多くの人が導入可能なフローとすることが推奨されます。
さらに、安全な認証環境を設定後も、脆弱な認証環境が継続して利用可能であれば、その環境に誘導され、不正利用されてしまう可能性があります。すべての利用者が安全な認証環境を設定後は、他の認証方法は危険であり利用してはいけないと判断する可能性は低いため、安全な認証環境に移行した利用者は、その環境のみしか利用できなくするなどの対策も併せて必要となります。
ただし、例えばパスキー導入後にスマホを故障・紛失により、パスキー利用が不可となり、結果として、そのサービスを利用できなくなってしまう可能性があります。そのため、このようなケースを想定して、利用者が安全に認証環境を再設定できる仕組みも併せて準備しておくことが推奨されます。
まとめ
フィッシング対策の強化策として多要素認証を採用するサービスが増えています。しかしながら、多要素認証はID/パスワードが流出した際の対策としては効果が期待できますが、フィッシングメールからフィッシングサイトに誘導するような攻撃に対しては、十分な効果が得られないことがわかっています。
したがって、多要素認証は対策のゴールではなく、より強固な認証手段の導入や多要素認証を効果的に利用する対策の導入が推奨されます。
なお、どんなに強固な認証方式を導入しても、利用者がその認証を利用しなければ意味がありません。例えば、パスキーを導入した後も、既存の認証方式が継続して利用可能な場合、攻撃者は既存の認証方式を利用してアカウントを乗っ取ることを試みることが想定されます。したがって、強固な認証方式導入後は、利用者に積極的に強固な認証方式に誘導し、強固な認証方式を利用後は、既存の認証方式を利用できなくするなどの対応も必要です。
本コラムが、サービス提供者がより安全な認証方式を採用し、利用者に安全なサービスを提供するために少しでも役立てば幸いです。