攻撃者はますます高度な攻撃を使用するため、トークンの盗難やトークンリプレイから環境を強化することで、データ流出から保護することが重要です。 困難ですが、攻撃対象領域を減らし、攻撃者がトークンを正常に盗んで再生するためのコストを増やすために、簡単な手順を実行できます。 トークンを保護するための堅牢な戦略には、多層防御の詳細なアプローチが必要です。これには、次のものが含まれている必要があります。
- フィッシング詐欺に強い資格情報の展開
- マルウェアベースの攻撃に対するデバイスの強化
- デバイス ベースとリスクベースの条件付きアクセスの使用
- 可能な場合はデバイス バインド トークンを適用する
- ネットワーク ベースの強制の実装
このドキュメントでは、トークンの概要、トークンの盗み方、環境内での攻撃の成功リスクを軽減するための具体的な手順について説明します。 Microsoft Entra の複雑さと多種多様なトークンにより、一部のトピックは簡略化のために一般化されており、すべてのエッジ ケースを網羅しているわけではありません。 ただし、このガイダンスでは、パブリック クライアントのほとんどのシナリオについて説明します。 機密クライアント のシナリオは、スコープ内にありません。
パスワードベースの攻撃は、Microsoft によって見られる 99% を超える攻撃で引き続き構成されており、ほとんどの侵害された ID の根本原因です。 組織は、フィッシングに対する耐性のある MFA を ID の防御の最前線としてデプロイする必要があります。 そうすることで、敵対者は戦術を調整し、次の論理的な攻撃ベクトルに移動します。これはトークン盗難の可能性があります。 「トークンの盗難の結果、パスワード攻撃よりもはるかに少ない ID 侵害が発生しますが、Microsoft の検出は、インシデントが 1 日あたり推定 39,000 件にまで増加したことを示しています。 さらに、昨年、AiTM フィッシング攻撃が 146% 増加しました。これは、攻撃者がユーザーをだましてリンクをクリックし、攻撃者に代わって MFA を完了した場合に発生します。"* フィッシングに強い MFA の展開を最優先事項にする必要がある一方で、トークン盗難攻撃ベクトルが時間の経過と同時に増加し続けているので、組織もトークン盗難軽減戦略の準備を開始する必要があります。 パスワードベースの攻撃の実行可能性が低くなるにつれて、トークンの盗難から保護することがより重要になります。
* 2024 年の Microsoft Digital Defense レポート (40 ページ) から
トークンとは
トークンは、リソースへのアクセスを許可するために、さまざまな認証および承認プロセスで使用されるデジタル オブジェクトです。 ユーザーまたはワークロードの ID を確認し、各トランザクションのパスワードまたは資格情報の送信を必要とせずにリソースへのアクセスを許可します。 トークンは、ユーザーの ID とそのアクセス許可に関する情報をセキュリティで保護された形式でカプセル化し、認証プロセス中も機密情報を確実に保護します。
デジタル環境では、セキュリティで保護された効率的な認証メカニズムを有効にすることで、トークンがセキュリティを強化する上で重要な役割を果たします。 これらは、ネットワーク経由での資格情報の公開を最小限に抑えることで、資格情報の盗難のリスクを軽減するのに役立ちます。 ただし、デバイスまたはネットワークが侵害された場合、攻撃者によって流出される可能性があるという特性があります。 攻撃者はこれらのトークンを使用して、サインインしているユーザーとしてリソースにアクセスできます。
トークンの種類の概要
トークンにはさまざまな種類がありますが、一般的には次の 2 つのカテゴリのいずれかに分類されます。
- サインイン セッション – これらのトークンは、ユーザーのサインイン状態を維持し、ユーザーが頻繁に再認証を必要とせずにリソースにアクセスできるようにします。 これらは ID プロバイダーに渡され、アプリ セッション カテゴリ内のトークンを要求します。 これらは、OAuth 2.0 標準の更新トークンとも呼ばれます。
- アプリ セッション – これらのトークンは、特定のアプリケーションへのアクセスを承認します。 これらは有効期間が短く、クライアントとアプリケーションの間で再生されます。 OAuth 2.0 標準では、アクセス トークンとも呼ばれます。
トークンは、クライアント アプリケーションによっても異なる場合があります。 ブラウザー経由でアクセスされる Web アプリケーションでは、Outlook や Teams などのネイティブ アプリと比較して、さまざまな種類のトークンが使用される場合があります。
ベスト プラクティスとして、最初にサインイン セッション トークンの保護に優先順位を付けます。これらのトークンは数週間または数か月間続く可能性があります。これにより、盗難された場合に永続的な未承認アクセスが有効にされる可能性があります。
2 つのトークン ファミリのもう 1 つの違いは、サインイン セッション トークンは設計によって取り消されますが、アプリ セッションは通常は取り消されません。 たとえば、Entra ID アクセス トークンは、アプリケーションに継続的アクセス評価が統合されている場合にのみ取り消すことができます。
トークンの種類 | 発行者 | 目的 | リソースに限定されたスコープ | 有効期間 | 取消可能な | 再生可能 |
---|---|---|---|---|---|---|
プライマリ更新トークン (PRT) | Entra ID | アクセス トークンを要求する | いいえ – 任意のリソースのアクセス トークンを要求できます | 14 日* | イエス | イエス |
更新トークン | Entra ID | アクセス トークンを要求する | イエス | 90 日* | イエス | イエス |
アクセストークン | Entra ID | リソースにアクセスする | イエス | 変数 60 ~ 90 分 | はい (CAE 対応の場合) | いいえ |
アプリ認証 Cookie | Web アプリ | リソースにアクセスする | イエス | アプリケーションによって決定されます | アプリケーションに依存 | いいえ |
*ローリング ウィンドウ – トークンを使用するたびに有効期間が再起動されます。
トークン盗難攻撃ベクトル
敵対者は、トークンを盗むためにさまざまな攻撃ベクトルを使用できます。 トークンが盗まれたら、敵対者はユーザーを偽装し、不正アクセスを取得したり、機密データを流出させることもできます。 これらの攻撃ベクトルの例を次に示します。
- 中間攻撃者: 中間者 (MitM) 攻撃の高度な形式。 このシナリオでは、攻撃者は 2 つの通信相手の間に自分自身を配置し、いずれかの当事者の知識がなくても通信を傍受し、変更する可能性があります。 このシナリオでは、攻撃者は資格情報、セッション Cookie、その他のデータなどの機密情報をキャプチャでき、多要素認証などのセキュリティ対策をバイパスすることもできます。 アドバーサリー・イン・ザ・ミドル・フィッシング攻撃について詳しくはこちらをご覧ください。
- マルウェア: マルウェアは、システムに侵入し、ネットワーク トラフィックを監視したり、格納されているデータにアクセスしたりして、デバイスからトークンを盗むことができます。 インストールが完了すると、マルウェアはデバイスと正当なサービスの間の通信を傍受することで、認証トークン、セッション Cookie、またはその他の資格情報をキャプチャできます。 また、脆弱性を悪用して、メモリまたはストレージからトークンを直接抽出することもできます。
この記事では、エンド ユーザーに向けられた攻撃 (前述のものなど) を倒す方法について主に説明します。 サーバー側やアプリケーションの侵害などの攻撃ベクトルは、この記事の範囲外です。 このような攻撃を軽減するには、組織は次の一般的なベスト プラクティスに従う必要があります。
- アプリケーションの認証をセキュリティで保護する
- アプリケーションのアクセス許可が最小限の特権であることを確認する
- サーバー側ログでのトークンのキャプチャと保持を回避する
- 他のリソースへのアクセス許可を持つ OAuth アプリケーションのセキュリティ侵害を監視する
次のステップ
Microsoft Entra ID でトークンを保護する方法を理解するには、引き続き Microsoft Entra ID でのトークンの保護に進んでください。