tos-akibaのブログ

主に Microsoft 365 Security について

サインインセッションのトークン保護(プレビュー)

Microsoft Secure イベントで発表された、トークンの盗難やリプレイ攻撃に対するサインイン セッションのトークン保護機能がパブリックプレビューになりました。
Public Preview: Token Protection for Sign-In Sessions - Microsoft Community Hub

 

トークン盗難を伴う攻撃はますます頻繁になっています。

---【補足:過去の関連投稿】---
認証後のトークンを盗難されてしまうと、トークンが有効な間に侵害を受ける危険性があります。

大量の AiTM キャンペーンを可能にするフィッシングキット - tos-akibaのブログ

2023年の IDセキュリティトレンドと Microsoft ソリューション - tos-akibaのブログ

クラウドトークンの盗難に備える - tos-akibaのブログ

------------------------------------

 

Microsoft では、Azure AD 条件付きアクセスを使用してトークンを保護し、ポリシー適用を細かく制御します。
トークン保護により、トークンは目的のデバイスでのみ使用できます。
条件付きアクセスポリシーを適用する場合、リソースへのアクセスを承認するトークンは、ユーザーが最初にサインインしたデバイスから取得する必要があるため、これを保護します。

 

この機能の最初のプレビューでは、盗難された Windows ネイティブクライアントのリフレッシュトークンを使用した Exchange メールボックスSharePoint サイト など Office 365 リソースへの不正なアクセスから保護できます。
リフレッシュトークンは、他のトークンよりも存続期間が長く範囲が広いため、攻撃者が盗む価値が高く、最初の保護対象となっています。
今後のリリースで、より多くのアプリ、データ、他のクライアントプラットフォーム、その他のトークンに拡張される予定だそうです。

 

有効にする方法は、Azure AD 条件付きアクセスのポリシー設定の「セッション」設定です。

 

「サインイン セッションにトークン保護を必要にする(プレビュー)」を選択すると、定義されたリソースへのアクセスのセッションは、所有証明を使用してユーザーがサインインしたデバイスにバインドする必要があります。
所有証明は、クライアントがデバイス上の秘密キーにアクセスできることを示す必要があります。
そのため、盗まれたリフレッシュトークンで攻撃者のデバイスからアクセス試行された場合、所有証明が実行できずアクセスはブロックされます。

 

この初期プレビューでサポートされるのは Exchange と SharePoint で、Teams は近日サポート予定とのことです。
また、Azure AD 登録済みの Windows 10 または 11、ネイティブデスクトップアプリのみがサポートされるため、Webアプリやその他プラットフォームからの正当なアクセスがブロックされないよう、以下の条件設定が必要です。
 ・ 「デバイスプラットフォーム」で、「Windows」のみを選択
 ・「クライアント アプリ」で、「モバイル アプリとデスクトップ クライアント」のみを選択
  「ブラウザー」を選択しない

なお、管理アクセスが常に存在するように、他のポリシーと同様に特定アカウントを除外しておき、条件付きアクセスのレポート専用モードで事前にポリシー影響を評価するよう強くお勧めされています。

 

トークン保護のロードマップでは、以下が今後のリリース予定になっています。
 ・ その他リソースとアクセスシナリオ
 ・ MSAL.js を使用する Webアプリの多層防御機能を向上させる Webアプリ追加
 ・ MaciOSAndroidLinux クライアントでのリフレッシュトークン盗難シナリオに対処するトークン保護
 ・ アクセス トークンの盗難とリプレイを制限するトークン保護

 

(参考)
Azure AD の条件付きアクセスにおけるトークン保護 - Microsoft Entra | Microsoft Learn