Okta FastPass:長期間の運用によって信頼性を向上させたAuthenticator

このブログはこちらの英語ブログ(2024年8月8日公開)の参考和訳です。

多くのお客様がフィッシング耐性のある認証によって従業員を保護する取り組みに関心を寄せており、Oktaはエンタープライズ市場で力強い成長を遂げています。 

Okta FastPassは、Okta Workforce Identity Cloudで最も急速に利用が広がっている認証方法です。Oktaは、Okta FastPassを最も安全で使いやすいエンタープライズ向けの認証システムとして導入できるようにすることを目標としており、進化する脅威情勢から企業を保護する取り組みを今後も主導すべく取り組んでいます。 

Okta FastPassは、すべての主要なオペレーティングシステムプラットフォームで利用可能なゼロタッチまたはワンタッチの生体認証など、シンプルなパスワードレスのユーザーエクスペリエンスを実現します。Oktaは、デバイスに紐付けられたフィッシング耐性のある認証とデバイスのセキュリティポスチャチェックの適用により、安全なユーザーエクスペリエンスを可能にしています。

多くの組織がパスワードレスを採用するようになる中で、Okta FastPassは、これらのお客様によって委託されたレッドチームの調査結果を活用しており、Okta FastPassのセキュリティ特性が実際に有効であるかどうかを検証しています。Oktaは、バグバウンティ(脆弱性報奨金制度)プログラムを通じて数百人の研究者が実施したテストも活用しています。Okta Verifyは数年間にわたって報奨金制度の対象となっており、Okta FastPassの手法は2023年10月に追加されています。

Oktaが公開バグ報奨金を提供する理由の1つは、セキュリティ研究が製品イノベーションの推進力となることが多いためです。 

このブログ投稿では、2年近くにわたるOkta FastPassのイノベーションをまとめていますが、これらのイノベーションの多くは、Okta社内の製品セキュリティチームが実施した内部レビュー、お客様のレッドチームによるテスト、Oktaのバグバウンティプログラムに貢献してくださった独立したセキュリティ研究者によってもたらされています。

この取り組みの目標は、Okta FastPassによって保護されたユーザーを標的とする攻撃者が悪用できる領域の範囲を狭めることです。

多くの研究は、次のいずれかのカテゴリに分類されます。 

  • フィッシング耐性のある保護機能のバイパス
  • 要素の登録と回復に対する攻撃
  • ユーザー確認のバイパス
  • 以前に侵害されたデバイスに対するローカル攻撃

フィッシング耐性のある保護機能のバイパス

ユーザーサインインで使用されるフィッシング耐性のある最も一般的な方法では、ユーザーを登録する時に設定された信頼済みオリジン以外に認証情報を発行しないAuthenticatorが必要です。 

Okta FastPassを使用すると、ユーザーの認証情報が特定のOkta org(テナント)に暗号的にバインドされます。ユーザーの認証情報を窃取する最も一般的な手段は、悪意のあるフィッシングサイトやその他のソーシャルエンジニアリングによってユーザーを騙して認証情報を共有させることですが、このバインドによってこれらのリスクを軽減できます。 

2022年にOkta FastPassについて詳細に説明しましたが、特定のオペレーティングシステム(Android、iOS、MacOS、Windows)がフィッシング耐性をサポートする方法(プロービング手法)は多岐にわたります。Oktaが最初に直面したエンジニアリングの課題は、4つの主要なOSプラットフォームとブラウザのすべてで、一貫性のあるフィッシング耐性のあるエクスペリエンスを実現する方法でした。

Okta FastPassに関する最も有用な初期の研究の一つは、フィッシング耐性をサポートするプロービング手法をフィッシング耐性をサポートしない方式に後退させるシナリオを攻撃者がどのように悪用できるかを特定したものです。 

これらの条件をトリガーするには、通常、攻撃者による手動の介入が必要となります。つまり、攻撃者が最初に目的のアクションを実行するようにユーザーを誘導した場合にのみ、これらの条件を悪用することが可能になります。

この問題に対応するため、Oktaは、フィッシング耐性のあるフローからの認証要求のみを許可し、それ以外はすべて拒否するポリシー構成オプションを導入しました(以下を参照)。 

Okta FastPass

今日、フィッシング耐性のある対策をバイパスできるという主張の多くは、お客様がポリシーでフィッシング耐性のある対策を適用していない構成が原因となっている傾向があります。

要素の登録と回復に対する攻撃

フィッシング耐性のあるOkta FastPassの対策は、膨大な範囲の認証情報ベースの攻撃によってもたらされる脅威を排除します。当然のことながら、セキュリティの調査は、フィッシング耐性を簡単に保証できない登録および回復フローを狙う方向にシフトしていることが観察されています。 

解決すべき根本的な問題は、多くのユーザーがフィッシング耐性のある要素を登録する前に自分のアイデンティティを確認する方法そのものに、フィッシングへの耐性がなかったことです。これは「鶏が先か、卵が先か」という因果性のジレンマの問題に似ています。  

当初Oktaは、別の要素を登録する前に、ユーザーアイデンティティを確認するために2つの認証要素を要求することで、この問題を解決していました。このステップが導入されると、攻撃者は数分の間に以下の多くの操作を行わなければならなくなります。 

  • Okta FastPassの登録プロセスを開始する(ただし完了はしない)ように標的ユーザーを誘導する。 
  • Oktaの認証情報を共有するよう標的ユーザーを誘導する(または、クレデンシャルスタッフィングやフィッシングなどの他の手段で認証情報を取得する)。 
  • 攻撃者が(攻撃者のデバイスで)Okta FastPass登録を開始する。 
  • 次に、攻撃者が開始したプッシュ通知を受け入れるか、OTPを共有するように標的ユーザーを誘導する。 

この仕組みにより、標的ユーザーに操作させることが非常に困難になりましたが、ボイスコールやインスタントメッセージングサービスを利用して攻撃を効果的にするシナリオが考えられました。一部のお客様は、これらのリスクを考慮し、MFAの登録ポリシーとOkta Workflowsを組み合わせて使用していました。Oktaはセキュリティ研究を継続し、登録プロセスをさらに強化しました。

Oktaの管理者は、フィッシング耐性のある要素の登録ポリシーのいくつかのオプションを利用できるようになりました。これには、十分に保証されていない要素を登録フローから除外する機能や、ユーザーが他の新しい要素に登録する前にフィッシング耐性のある要素を介してユーザーアイデンティティの確認を要求する機能が含まれます。

さらに、OktaとYubicoの統合によって、組織はFIDO2セキュリティキーのローミングキーにユーザーを事前登録できるようになりました。また、新しいデバイスが既存の登録済みデバイスの近くに物理的に存在している場合、Okta FastPassを新しいデバイスにインストールできる機能を使用できるようになりました。

ユーザー確認のバイパス

Okta FastPassを使用するサインインが非常に「高速」である理由の1つは、登録時にユーザーデバイスとOktaサービス間で確立される暗号的な関係が、認証フローで所有要素としてカウントされるためです。 

ユーザーが固有要素(生体認証)または知識要素(デバイスのパスコードやPIN)を使用してデバイスに対して自分のアイデンティティを効率的に確認できる場合、2〜3秒で2つのパスワードレス要素を満たすことができます。

認証方法がフィッシングに耐性があるかという議論とは別に、ユーザーが自分のデバイスに対して自分のアイデンティティを確認する方法も考慮しなければなりません。デバイスに対するユーザー確認によって、攻撃者が標的ユーザーのデバイスに物理的にアクセスするローカル攻撃から保護できます。たとえば、共有オフィスのユーザーがデバイスをロックせずにデバイスから離れた場合、同僚がそのユーザーに代わって放置されているデバイスからリソースにアクセスするのを防ぐための手段が必要です。

セキュリティ研究者は、ユーザー確認のプロセスを、生体認証チャレンジから攻撃者がより簡単に悪用できる確認方法に後退させる方法について重点的に調査してきました。 

これのような方法に対応するために、Oktaのポリシーエンジンは、生体認証が失敗したり、ユーザーによって放棄されたりした場合に、Okta FastPassを一要素(所有要素)としてのみ扱います。

Oktaの管理者は、特定のアプリケーションの要件を満たすユーザー確認方法を決定できます。認証ポリシーは、生体認証のみを要求するか、生体認証またはPIN/パスコードの選択を要求するか、またはユーザー確認をオプションにするように設定できます。

侵害されたデバイスに対するローカル攻撃

市場で2年以上のセキュリティ研究とOktaのエンジニアリングチームの継続的な取り組みにより、Okta FastPassに対する攻撃の機会は効果的に絞り込まれ、最後に残ったカテゴリは「マルウェアに感染したユーザーデバイスからのOkta FastPassの不正利用」だけになりました。

このシナリオにおいて、アイデンティティプロバイダーが果たす役割については、多くの視点があります。 

Oktaは、エンドポイントセキュリティのプロバイダーではないため、デバイスが侵害された場合にAuthenticatorが対応できることには限界があります。

Okta FastPassと同様の品質を提供するFIDO2 Authenticatorにも同じことが言えます。FIDO2(およびその前バージョン)の仕様では、フィッシング耐性のある認証のセキュリティについて、マルウェアに感染したホストに対する耐性を期待すべきではないと明確に述べられています。

FIDOアライアンスは、FIDOを操作するアプリケーションは「ユーザーの信頼できるエージェント」として利用できると述べています。ただし、ユーザーのデバイス上でマルウェアが動作する場合、その信頼性は損なわれます。

FIDOアライアンスは、「TCB(トラステッドコンピューティングベース)レベルで特権がある悪意のあるコードによって、常に[FIDO2のセキュリティプロパティ]が侵害される恐れがある」とも述べています。

つまり、利用している認証方法が、攻撃の可能性をユーザーエンドポイントの侵害にまで絞り込めているのであれば、防御側がこの戦いに勝っていると言えるでしょう。

だからといって、Oktaがさらに高い目標を目指す必要がないというわけではありません。Oktaは、常に挑戦し続けています。この分野においても、セキュリティの研究結果に基づく対応がOktaの製品イノベーションを推進しています。 

現在、Oktaのポリシーエンジンにより、デバイスが登録や管理されているか、セキュリティベースラインを準拠していることを実証しているかに基づいて、管理者は特定のリソースへのアクセスを制限できます。

これらのデバイス管理機能のテストを開始したときに、Oktaの内部テストでは、管理対象デバイスへのルート権限を持つユーザーが、ハードウェアにバインドされていない証明書を取り出して、管理対象外のデバイスに転送できることが明らかになりました。同様に、モバイルデバイスが管理されているかどうかを識別するために使用されるセッション識別子も、管理対象外のデバイスからアクセスされ再生される可能性があります。

これらの問題に対処するために、Okta FastPassの機能をさらに拡張する以下のいくつかの新機能が導入されました。

  • デバイス保証は、デバイスが「ジェイルブレイク」または「ルート化」されていないか確認します。現在、Okta Identity Engineの管理者は、これらの確認に基づいてリソースへのアクセスを承認または拒否するポリシーを記述できます。これらの確認はOkta FastPassによって実行されます。
  • Okta FastPassのサイレントコンテキスト再チェック機能は、ユーザーがセッション中に新しいデバイスからアプリケーションにアクセスした場合(そのアプリケーションの認証ポリシーでデバイスコンテキストが評価されると仮定して)、ユーザーセッションを終了します。

次の課題は、デバイスのユーザーコンテキストで実行されているマルウェアによってOkta FastPassが呼び出されないようにすることです。

これまでOktaは以下の対策を取り入れています。

  • EDR/XDR統合により、Okta FastPassは、認証時点で、お客様が選択したエンドポイントセキュリティツールによって評価されたエンドポイントのセキュリティポスチャを確認できます。
  • 信頼できるアプリフィルターは、管理者がOkta Verifyクライアントの呼び出しが認可されている特定のバイナリを許可リストに登録する機能です。
  • Okta Verifyは、サポート対象のプラットフォームにおいて自己改ざん防止機能も搭載しており、これによりOkta FastPassのリバースエンジニアリングや不正な変更を防止します。 

Oktaの目標は、マルウェアがデバイスへのルート権限を取得しない限り、Okta FastPass認証を侵害できないようにすることです。  

Okta FastPassについて考えられる今後の攻撃

Oktaは、脅威情報に基づいて製品開発を進めることで、比較的短期間でOkta FastPassを大幅に強化することができました。これらの強化を実現するために協力いただいたOktaの社内および社外のセキュリティ研究者の方々に心より感謝申し上げます。

一方で、攻撃者は今後も新たな手法を用いてくるはずです。Oktaは、セキュリティ研究と製品イノベーションの間のフィードバックループをさらに短縮して取り組みを加速するように今後も努力を続けます。

Oktaは最近セッショントークンAPIトークンを制限する(クライアントまたは場所別に)ために投資を行っています。そのため、攻撃者はマルウェアベースの攻撃に再度軸足を移す必要があると考えるようになることが予測されます

Okta FastPassを強化するためにOktaがこの短期間に取り組んできた努力は、フィッシング耐性のあるパスワードレス認証で最高レベルのセキュリティを実現するというOktaの決意を示しています。 

以上の内容は、原文(英語)の参考和訳であり、原文と内容に差異がある場合は、原文が優先されます。