フィッシング耐性の高い多要素認証(MFA)の必要性

このブログ記事は、フィッシング耐性の高い多要素認証の導入において、Oktaがどのようにサポートできるか、また、増加するクレデンシャルフィッシングの発生状況に焦点を当てた一連の記事の第一弾です。

クレデンシャルフィッシングは、ユーザーを騙してビジネスアプリの認証情報などの機密性の高い個人情報を開示させる行為で、現在ウェブ上で最も普及しているIDベースの攻撃形態の1つです。セキュリティ企業と敵対者は、新しいセキュリティ技術に対抗するため、より新しく、より巧妙な攻撃ベクトルでイタチごっこが続いている状況です。

例えば、送信者アドレス、件名、コピー、シグニチャなど複数の要素のスキャンで検知を行うシグニチャベースのメールセキュリティツールでは、ポリモーフィックフィッシング(それらの要素を絶えず変化させて検知を回避する攻撃手法)の検知は困難です。

TLS証明書を使用しているかどうかを調べることで、偽ドメインやなりすましドメインを特定する検出メカニズムも、LetsEncryptなどの無料のTLS証明書プロバイダを介してHTTPSを使用する偽ドメインを使う悪意ある行為者によって妨害されています。

多要素認証(MFA)をセキュリティ対策として利用している企業では、第1要素だけでなく第2要素も標的とするように進化したMFA特有のフィッシング攻撃が増加していることが報告されています。

MFAとは?

多くの企業では、意識向上のためのセキュリティ教育への投資を強化し、フィッシングメッセージを見破り、偽のドメインを識別できるように従業員へのトレーニングが行われています。しかし、最近の攻撃には高度なテクニック(例えば、ドメインを通常の文字ではなくキリル文字で登録するなど)が蔓延していることから、一部の社員がこの攻撃に引っかかり、不正なドメインへのリンクをクリックしてしまう可能性は極めて高いと考えられます。

本ブログでは、フィッシング攻撃の高度化への対策として、フィッシング耐性のあるMFAの重要性に特に焦点を当て、より高い保証レベルの認証を行うことで、従来の二要素認証(2FA)をフィッシング耐性へ強化することの重要性をご紹介します。

最近のクレデンシャルフィッシング攻撃の仕組み:中間者攻撃

従来は、ミッションクリティカルなアプリケーションのログインページを静的なHTMLテンプレートで再現し、その偽ページへのリンクを被害者に送り、入力された認証情報を記録して、個人攻撃やダークウェブでの販売に利用するという流れで、認証情報のフィッシング攻撃が行われていました。2FAでは、例えばSMSを使ったOne Time Password(OTP)で、そのような攻撃を阻止することができたのです。

しかし、Oktaが観測した最近の高度なフィッシング攻撃の波では、攻撃は、静的テンプレートからリバースプロキシベースのフレームワークへと移行しており、本物のサイトと偽のサイトの間にプロキシを設定して、リアルタイムの中間者(AiTM)攻撃を仕掛けることが確認されています。このフレームワークでは、クライアントのリクエストを別のサーバーに中継することができます。これにより、フレームワークはAiTMエージェントとして機能し、クライアントからのすべてのリクエストを傍受し、内容を修正して別のサーバーに転送することができます。そして、サーバーからの応答を傍受してまた内容を修正し、クライアントに転送することができます。この設定により、攻撃者はPOSTリクエストパケットで送信される認証情報を取得し、サインインに成功すると、プロキシサーバーから送り返される有効なセッションクッキーを取得し、実際のドメインへのSSOに使用することができます。

the need for phishing resistant multi factor authentication jp

そのようなフレームワークの一例として、Web上で自由に利用できるオープンソースツールであるEvilginxがあります。Evilginxはスタンドアロン型のAiTMリバースプロキシーです。MFAセッションから認証情報とセッショントークンを取得し、盗んだ認証情報を再生してMFAをバイパスするために使用することができます。このような攻撃がどのように行われるのか、段階的に例を挙げて説明します。

  1. 攻撃者は、AiTM 攻撃を実装するためのリバースプロキシ攻撃フレームワークである Evilginx をダウンロードし、設定を行う。
  2. 攻撃者は、偽のドメインを設定し、LetsEncrypt(無料のTLS証明書プロバイダー)などの無料サービスを利用して、ウェブサイトを合法的で安全なウェブサイトとして見せかけます。
  3. 攻撃者は、メールやテキストで被害者にフィッシングメッセージを発信する。
  4. 被害者はフィッシングURLをクリックし、登録されたドメインの偽アプリのログイン画面が表示されます。
  5. 被害者はパスワードを入力し、第2の認証要素の入力を促されます。
  6. 被害者は認証を行い、Evilginx(攻撃者)は2FA後に生成されるセッションクッキーを傍受します。
  7. 被害者はリダイレクトURLに飛ばされ、なぜうまくログインできないのか不思議に思うことになります。
  8. 攻撃者は認証情報とセッショントークンを取得し、それを使ってMFAバイパスで実際のWebサイトにログインしています。機密性の高いデータやアプリケーションが危険にさらされる可能性があります。

従来のMFAとフィッシング耐性の高いMFA

従来の2FA/MFAも、多くの形態のクレデンシャル盗難に対する効果的な保護手段であることは間違いありません。

  • 盗んだID/パスワードのみで攻撃者ができることを制限
  • 攻撃者がそれを迂回しようとしたときに、攻撃を検出できるケースもある

しかし、このようなSMSに依存した従来の仕組み、あるいは電子メールによるワンタイムパスワード、プッシュ通知などには、正規のドメインと悪意のあるドメインの区別がつかないという決定的な欠点があります。そのためには、フィッシング攻撃に強いMFAの仕組みが、先に述べたAiTMシナリオのような攻撃を防ぐために重要です。では、フィッシング攻撃に強いMFAとは、具体的にどのようなもので、2FAよりもどう安全なのでしょうか。

米国国立標準技術研究所(NIST)は、連邦政府機関がデジタルIDサービスを導入する際の技術要件を明示し、フィッシングに強いMFAの定義に役立つSpecial Publication 800-63Bを発行しました。本書で確認されたフィッシング耐性に関する主要な項目は以下の通りです。

  • オーセンティケーター(認証器)とユーザーIDの暗号化バインディングを利用したフィッシング等なりすましへの耐性
  • OTPデバイス、暗号オーセンティケーター(認証器)、ルックアップシークレット(例:乱数表)による耐リプレイ性
  • 認証者が保管する公開鍵が、承認された暗号アルゴリズムの使用に関連するものであることを保証することで、認証処理への侵害に対する耐性
  • 各認証要求または再認証要求に対して、ユーザーが明示的に応答することを要求

簡単に言うと、MFAメカニズムがAiTM攻撃に対してフィッシング耐性があるとみなされるためには、使用されるオーセンティケーターが、本物のドメインと暗号化された状態でバインドされ、本物のドメインと攻撃者が生成した偽のドメインを区別することができる必要があります。こうすることで、攻撃者が認証情報やセッションクッキーを取得して再生することができないように、仕組みで攻撃を即座に止めることができます。

また、NISTのガイドラインには、認証システムのセキュリティ的な強度レベル(Authenticator Assurance Levels : AALs)を定義するための有用な情報がいくつか掲載されています。このガイドラインでは、各オーセンティケーターの強さを比較し、フィッシングなどのなりすましに対する耐性が高いオーセンティケーターを選択するためのヒントを示しています。

以下の表は、Oktaがサポートする様々なオーセンティケーターの長所と短所を、その強度レベルとともに説明したものです。

Oktaがサポートするオーセンティケーターのタイプ

強度レベル

オーセンティケーター

長所

短所

低い

パスワード

  • 低コストで初歩的なセキュリティを提供できる
  • 使いやすく、展開しやすい
  • ユーザーは、パスワードでログインするプロセスに慣れている
  • ユーザーの悪しきパスワード管理習慣(パスワードの使いまわし、パスワードのメモ、パスワードの再利用など)による情報漏えいの危険性
  • ソーシャルエンジニアリングやフィッシングによるリスクが最も高い
  • パスワードの要件が複雑すぎると、ユーザーはパスワードを忘れてしまう傾向がある
  • モバイルでは入力しにくい

低い

セキュリティ上の質問

  • 低コストで初歩的なセキュリティを提供できる
  • ユーザーは、ログイン時にセキュリティに関する質問に答えるプロセスに慣れている
  • ユーザーが答えを忘れがち
  • 単純な質問が多いので、答えが推測されやすい
  •  ソーシャルエンジニアリングやフィッシングのターゲットになる

低い

SMS、音声、Eメール ワンタイムパスワード(OTP)

  • 多くのコンシューマー向けアプリがアカウントやIDの認証にOTPを使用しているため、ユーザーにとって慣れたフロー
  • ほとんどの個人が携帯電話を持っているため、展開が容易
  • 通信回線やインターネットサービスプロバイダーのセキュリティに依存し、ソーシャルエンジニアリング(SIMスワッピングなど)のターゲットとなる
  • 個人所有のデバイスを使用する必要があり、場合によっては利用を強制できない場合がある
  • DMARC(Domain-based Message Authentication Reporting and Conformance)規格が全てに実装されているわけではないので、メールによるなりすましの検知が難しい

低い

モバイル/デスクトップ用ワンタイムパスワード(OTP)アプリ

例)Okta Verify OTP、Google Authenticator、Authy

  •  低コストで、多くのユーザーがノートパソコンやスマホにアプリをインストールできる
  • アルゴリズムで生成される
  • 暗号化されたセキュリティ
  • インターネット/データ通信サービスに接続されている必要がない(例:飛行機、海外旅行など)
  • 盗難されたデバイスに対する保護の考慮が別途必要

  • 個人所有のデバイスを使用する必要があり、場合によっては利用を強制できない場合がある
  • 中間者攻撃の対象になりえる

モバイルアプリのプッシュ通知

例)Okta Verifyによるプッシュ通知機能

  • 低コストで、多くのユーザーがノートパソコンやスマホにアプリをインストールできる

  • アルゴリズムで生成され、安全なチャネルで配信される
  • 一部のアプリは生体認証に対応
  • ユーザーフレンドリー
  • 個人所有のデバイスを使用する必要があり、場合によっては利用を強制できない場合がある

  • 中間者攻撃やフィッシング攻撃の対象となりえる

物理トークン ワンタイムパスワード(OTP)

例)シマンテックVIP

  • アルゴリズムで生成される

  • インターネット/データ通信サービスを必要とせず使用可能
  • 個人の携帯電話・端末を必要としない
  • 紛失が発生する可能性があり、その場合のリカバリー方法を別途検討が必要

  • 導入コストが高くなるので、一部限定ユーザーのみへの展開となりがち
  • 多くのOTPトークンは生体認証に対応していない

高い

Okta FastPass

  • すべての管理対象デバイス、および非管理対象デバイスでもMacOS、Windows、Androidデバイスに対してフィッシング耐性あり

  • シームレスなエンドユーザーエクスペリエンス
  • デバイスのコンテキスト(Okta Verify自身が収集したものと、CrowdStrikeやTaniumなどの連携パートナーを通じて収集したもの)を活用し、管理者がデバイスの状態に基づいてポリシーを適用できる
  • 登録とリセットのためのITとサポートコストを削減できる
  • Okta Verify(MFAシンクライアント)をインストールし、ユーザーを登録する必要がある

高い

FIDO 2プラットフォームのオーセンティケーター(Apple Passkeys、Mac Touch ID、Android fingerprint、Windows Hello)、

Passkeys 

  •  フィッシング耐性が高い

  • シームレスなエンドユーザーエクスペリエンス

  • パスワードレス化への道筋となる
  • 登録とリセットのためのITとサポートコストを削減できる
  • クロスプラットフォームのサポートはまだまだこれから

  • クラウドへのクレデンシャル情報のバックアップは、デバイスにバインドされたオーセンティケーターに依存する組織にはセキュリティ上の課題を引き起こす可能性

最高

個人認証カード(PIV)/Common Access Card(CAC)スマートカード

  • 成熟した技術

  • 極めて強固な認証レベル
  • フィッシングに強い内蔵型MFA(アクセスにPINが必要)
  •  挿入型、接触型のリーダが必要で、非接触型ではない

  • 紛失や盗難のリスク
  • モバイルプラットフォームにはあまり対応していない
  • PINの再設定が面倒

最⁠高

FIDO 2.0

ハードウェアベースのセキュリティキー例)YubiKey 

  • フィッシング耐性

  • クロスプラットフォーム対応
  • シームレスなエンドユーザーエクスペリエンス
  • パスワードレス化への道筋となる
  • 登録とリセットのためのITとサポートコストを削減できる
  • まだ広く採用されていない

  • ハードウェアの新規購入が必要なため、イニシャルコストが高い

攻撃者がエンドポイントを狙った場合はどうなる?

フィッシング攻撃の中には、マルウェアやランサムウェアを配信するペイロードに便乗して、アカウントやデバイスを乗っ取り、認証情報やセッションを乗っ取るものがあります。こうしたエンドポイントの脅威に対応するため、OktaはVMwareやCrowdStrikeといったエンドポイント保護・管理のリーディング企業と提携しています。この統合により、デバイスリスクのアラートがOkta Identity Cloudに送られ、エンドポイント連携のエコシステムにおいて、より安全でシームレスなアクセスを実現します。

Oktaのクレデンシャルフィッシング耐性

Oktaは、組織の従業員から関連するビジネスパートナー企業まで、すべてのユーザーペルソナをサポートし、組織の規模に合わせて、エンドツーエンドのアイデンティティ中心でフィッシング耐性の高い認証を提供します。

  • Okta FastPassによるフィッシング耐性
  • WebAuthnによるFIDO 2規格への対応
  • PIVスマートカードに対応

Oktaのソリューションは、あらゆるデバイス管理ツールと連携し、フィッシングに強い認証フローを実現します。また、Oktaは、組織内のシステムやアプリケーションにアクセスするデバイスの最低限の要件を満たすために、管理者に認証のポリシールールにデバイスチェックを追加することもサポートしています。

Oktaのソリューションが、従業員、契約社員やパートナー企業を保護するためにどのように役立つかについては、https://www.okta.com/jp/fastpass/ をご覧ください。

また、本ブログの第二弾として「Okta FastPassの深層に迫る ーなぜフィッシング耐性が高いのか?」をご紹介します。

このブログはこちらの英語ブログの翻訳、三船 亜由美によるレビューです。