Language:
Microsoft Entra ID の動的グループは、P1 ライセンス以上が必要になる強力な機能です。これらのグループは、ユーザー属性に関連付けられた固有のルールに基づいて自動的にメンバーシップを更新します。ただしそのルールが、ユーザーが自分で変えられる属性に依存している場合、悪用に対して脆弱になります。
攻撃者が動的グループのルールで使用される属性を変更できるようになると、そのメンバーシップも操作することができます。そのグループが機密性の高いリソースへのアクセスを付与している場合、この設定ミスは不正アクセスや権限昇格につながる可能性があります。
テナントの多くの属性はユーザーが変更できないものですが、ゲストアカウントは例外です。攻撃者がゲストユーザーをコントロールし、攻撃者のホームテナントで管理者権限を持つようになると、そこで属性を変更して、標的としたテナントの動的グループルールを悪用することが可能になります。
この問題は、2020 年頃にセキュリティ調査やペネトレーションテストのドキュメントで初めて強調され、設定ミスのある環境では今でも実行可能な攻撃手法です。2024 年後半以降、AADInternals 攻撃ツールに、悪用可能なグループを特定する機能が導入されています。
実行可能な攻撃シナリオ:
displayName
など、悪用可能な属性を使用しているルールを標的にします。リスクとそれに伴う深刻度は、次の要因によって異なります。
動的グループにより管理タスクは簡素化されますが、悪用を防ぐためには慎重に設定する必要があります。これらのリスクに対処することで、管理者は Entra ID 管理内で動的グループの安全性と効率性を保つことができます。
最も直接的な修正策は、ルールでユーザー制御の属性を避けることです。ユーザー (特にゲスト) が直接変更できる属性に基づいて動的グループメンバーシップのルールを定めないでください。ただしこうすると、この機能の有用性と柔軟性が大幅に低下します。
前述したように、最も簡単な悪用方法は、悪意のあるゲストを招待することです。これを軽減するために、信頼できるユーザーのグループだけがゲストを招待できるように制限するポリシーを設定できます。これはコラボレーションに影響を与える可能性がりますが、悪意のあるゲストアクセスのリスクを大幅に低減します。
ゲストが動的グループのメンバーになることが想定されていない場合は、このような危険なゲストを除外することもできます。ルールエディターで、プロパティ userType
、演算子 Not Equals
、値 Guest
で [And] ルールを追加します。そうすると and (user.userType -ne "Guest")
というルールが生成されます。これは、悪意のある「外部メンバー」から保護するものではありません。
(Entra ロールにより付与されたアクセス許可などにより) ユーザー属性を編集できる内部ユーザーもこれを悪用して、さらなる攻撃経路を作成することができます。したがって、そのようなアクセス許可を付与する Entra ロールを注意深く確認してください。
内部ユーザーや信頼性の低いゲストは、悪用可能なグループを簡単に検出できます。これを軽減するために、グループとそのルールに対するゲストの可視性を低減することができます。関連する [無制限のゲストアカウント] および [通常アカウントと同等のアクセス権を持つゲストアカウント] の露出インジケーター (IoE) にある推奨事項を参照してください。しかし、内部ユーザーは依然として標的にするグループを特定できるため、これは内部ユーザーによるグループの悪用を防ぐものではありません。
それを補完するために、動的グループメンバーシップの変更を定期的に監視して、潜在的な悪用を特定し対処することができます。これをリアルタイムで行うには、Entra 監査ログを使用することができます。あるいは、動的グループのプロパティの「処理を一時停止」することを選択し、変更前後のメンバーを比較する準備ができてから再有効化できます。
最後に、検出または悪用の可能性が最小限なのでこのリスクは低いと見なすため、またはグループのメンバーシップで機密性の高いリソースへのアクセス権が付与されることはないので、このリスクを許容する場合は、特定されたグループを除外することを選択できます。
名前: 悪用可能なルールを持つ動的グループ
コード名: DYNAMIC-GROUP-FEATURING-AN-EXPLOITABLE-RULE
深刻度: Medium
タイプ: Microsoft Entra ID Indicator of Exposure