※本記事は、https://www.secureworks.com/ で公開されている MICROSOFT ENTRA ID VULNERABILITY ALLOWS TAMPERING WITH ACCESS REVIEWS を翻訳したもので、 2024年5月20日執筆時点の見解となります。
概要
2023年12月、Secureworks® Counter Threat Unit™(CTU)のリサーチャーは、組織内の機密リソースにアクセスできるユーザーを管理者が監査するのに役立つ、Microsoft Entra IDアクセスレビューのセキュリティ上の問題を悪用する手法を発見しました。この脆弱性により、被害組織のテナントに登録されたマルチテナントのサービスプリンシパルであれば、必要な権限がないにもかかわらず、脆弱なAPIを介してアクセスレビューを変更できます。
CTU™は2023年12月にこの問題をMicrosoftに報告しました。Microsoftは、権限昇格の可能性があることを確認し、重大度を「重要」と評価しました。 2024年1月15日、MicrosoftからCTUリサーチャーに問題が修正されたことが通知されました。
アクセスレビュー
アクセスレビューはMicrosoft Entra ID Governanceの機能であり、Microsoft Entra IDにおいて重要な役割を果たします。 アクセスレビューを導入すると、組織はユーザーが適切なロール、メンバーシップ、およびアクセス権を持っていることを確認できるようになります(図1を参照)。
図1. アクセスレビューのプロセス (出典: https://learn.microsoft.com/en-us/entra/id-governance/deploy-access-reviews)
探索
CTUリサーチャーは、問題の潜在的な影響を示すために、管理者アクセストークンをマルチテナントのサービスプリンシパルのトークンに置き換えるスキャナーアドオンを作成しました(図2を参照)。 この方法は、この脆弱性によるリスクを強調するものです。なぜなら、マルチテナントのサービスプリンシパルは外部アプリケーションとして、内部のサービスプリンシパルよりもテナントから大きく切り離されているためです。 このように分離されていることにより、マルチテナントのサービスプリンシパルは組織のテナント内で管理されず、認証情報の透明性が欠如し、所有権が不明確になるため、信頼性が低下します。 CTUリサーチャーがマルチテナントのサービスプリンシパルに注目したことには、明確な意図があります。 マルチテナントのサービスプリンシパルの登録は標的組織によって監視できないため、攻撃者は標的テナントの管理の範囲外で認証情報を制御できます。 このスキャナーアドオンは、透過プロキシ処理を行うためにMITMProxyを利用します。 次に、リクエストをNode.jsベースの内部サービスに転送します。このサービスはトークンスワップのロジックを処理し、Entra IDに関連するAPIにリクエストを再発行します。
図2. トークンをスワップするスキャナーアドオン (出典: Secureworks)
このプロセスにて、アクセスレビューAPIに関連付けられている「api . accessreviews . identitygovernance . azure . com」エンドポイントが、ユーザーベースのトークン認可は正しく検証し拒否するにも関わらず、サービスプリンシパルに発行されたトークンについては拒否できなかったことを確認しました。 CTUリサーチャーはさらに、不正アクセスがEntra IDの監査ログに記録されるかどうかを判断するための実証コードを開発し、実験を続けました。 図3に示すように、サービスプリンシパルからのリクエストにより、既存のアクセスレビューに対し「Update access review(アクセスレビューの更新)」が行われました。 サービスプリンシパルにはアクセス権が割り当てられていなかったため、このイベントは実行されるべきではないものでした(図4を参照)。
図3. アクセスレビューの更新を行うための操作 (出典: Secureworks)
図4. ロールが割り当てられていないサービスプリンシパル (出典: Secureworks)
影響
この攻撃により、攻撃者が隠蔽したい他のサービスへのアクセスを、組織が監視できなくなる可能性があります。 たとえば、攻撃者は、侵害済みアカウントを通じて取得したアクセスを、この脆弱性を悪用することで隠蔽することができます。本来、このアクセスはアクセスレビューによって監視されるものです。
Microsoft社とのやり取り
CTUリサーチャーは、2023年12月15日にこの問題をMicrosoftセキュリティレスポンスセンター(MSRC)に報告しました。2024年1月15日、MSRCはCTUリサーチャーに、APIエンドポイントがサービスプリンシパルのアクセス権を確認するよう修正したことを通知しました。 CTUリサーチャーは、このアップデートによって問題が解決されたことを確認しました。
結論
この調査では、複数のAPIエンドポイントにわたって脆弱性を検索するための自動化ツールの必要性が浮き彫りになりました。 自動化によりCTUリサーチャーはこの脆弱性を発見できましたが、包括的な攻撃コードの作成には更なる知識が必要でした。また、この問題はAPIの脆弱性であったため、お客様を攻撃から保護するためのEntra ID Governanceの設定オプションはありませんでした。 攻撃者がこの脆弱性を悪用したという痕跡は現在確認されていません。