Language:
Microsoft は、Microsoft Entra ID のアプリケーションを介して API を公開し、サードパーティアプリケーションが Microsoft Entra ID 自体、Microsoft 365 (O365)、SharePoint Online や Exchange Online などのサービスでアクションを実行できるようにします。「API アクセス許可」はこれらの API へのアクセスを保護します。それらのアクセス許可を必要とするサービスプリンシパルだけに提供してください。アクセス許可の承認は、「アプリケーションロールの割り当て」または「同意の付与」と呼ばれています。
一部の Microsoft API に対する特定のアクセス許可は、環境の機密データに脅威をもたらす可能性があります。これは、これらのアクセス許可を持つサービスプリンシパルが、グローバル管理者などの強力な管理者ロールを持つユーザーよりも目立たないながらも、機密情報にアクセスできる可能性があるためです。
正当な場合、これらのアクセス許可は、データ侵害のリスクを増やします。正当でない場合、メールやプロジェクトなどの機密データにアクセスして盗もうとする、悪意のある試行の可能性があります。
Microsoft ドキュメントアクセス許可と同意の概要で説明されているように、Microsoft Entra ID には 2 種類の API アクセス許可があります。
委任されたアクセス許可は、サインイン済みユーザーが存在し、管理者またはユーザーが同意を適用できるアプリで使用されます。
API アクセス許可はユーザーではなくサービスプリンシパルのみに適用されるため、この露出インジケーター (IoE) はサービスプリンシパルに関してのみ報告を行います。
この IoE は、ほとんどが一目瞭然の機密性の高い権限のリストを追跡します。ただし、次のアクセス許可についてはさらに説明が必要です。
Group.Read.All
(Microsoft Graph API および Office 365 Exchange Online で公開): このアクセス許可は、M365 の [calendar, conversations, files, and other group content] (カレンダー、会話、ファイル、その他のグループコンテンツ) の内容まで読み取ることが可能なため、非常にリスクが高いものです。Microsoft Teams で使用する M365 グループへの影響を検討してください。これらの機密性の高いアクセス許可を持つ正当なアプリケーションは、本来必要とされる範囲を超えている可能性があるアクセスを要求します。これは、攻撃者が管理者の同意を不正に取得する「不正な同意の付与」として知られるフィッシング攻撃を示唆する可能性もあります。
攻撃者は無効になっているサービスプリンシパルをすぐに使用できないので、この IoE はデフォルトで無視します。
外部参照:
アクセス許可を持つ、報告されたサービスプリンシパルが正当であるかどうかを判断することから始めます。フィッシング攻撃では、表示名を偽装することが技術的に可能ですのでご注意ください。サービスプリンシパルが既知のソフトウェアベンダーに属しているように見える場合、報告されたアプリケーション ID がそのベンダーに属しているかどうかを確認するよう、ベンダーに依頼します。サービスプリンシパルが不正なもので、既知のアプリケーション名になりすましている場合、フォレンジック分析を実行します。
サービスプリンシパルが正当である場合:
デフォルトでは、すべてのユーザーが任意のアプリケーションにアクセス許可を委任することができます。つまり、ユーザーが機密性の高いセキュリティに関する決定を行うことができます。対応する [アプリケーションの無制限のユーザー同意] 露出インジケーター (IoE) を参照してください。Microsoft Entra ID には、ユーザーの同意設定をするために、有効にできるオプションがあります。制限を有効にすると、特定のロールを持つ Microsoft Entra ID の管理者が、アプリケーションの同意を管理し、同意要求を評価する必要があります。管理者の同意要求の確認方法も参照してください。
特権ユーザーまたは機密ユーザーから委任されたアクセス許可 など、不審なアプリケーションと機密性の高いアクセス許可を特定できるように管理者をトレーニングしてください。これは、大規模なアプリケーションガバナンスの取り組みの一環として行う必要があります。
不正と見なしたアクセス許可は削除します。より詳細なフォレンジック調査の実施を計画する場合、Tenable はまず証拠を保存することを推奨しています。Microsoft のガイダンスに従って、エンタープライズアプリケーションに付与されたアクセス許可を確認してください。残念ながら、この機能は Microsoft Entra 管理者ポータルで利用できなくなりました。
Microsoft Entra 管理者ポータルを使って、[ユーザーの同意] タブからアクセス許可を取り消すことはできません。ただし、Microsoft Graph API 呼び出しまたは PowerShell コマンドレットを使用して、これらのアクセス許可を取り消すことができます。詳細については、この記事 の PowerShell と Microsoft Graph のセクションを参照してください。
Microsoft は、アプリケーションの同意付与の調査の実行方法と不正な同意の付与を検出して修復する方法に関する 2 つのガイドも発行しています。
機密性の高いアクセス許可を、アプリケーション ([アプリ登録] メニュー) から削除するのではなく、サービスプリンシパル (ポータルの [エンタープライズアプリケーション] メニュー) から削除するようにしてください。アプリケーションから削除しても、アクセス許可リクエストを削除するだけで、実際のアクセス許可の割り当てには影響しません。
最後に、Graph API アクティビティログを有効にして、Graph API イベントに関する詳細情報をキャプチャします。これは、SOC または SIEM が疑わしいアクティビティを特定したり、攻撃が発生した時にフォレンジック調査を実施したりするのに役立ちます。さらに、サービスプリンシパルのサインインを監視し、特にここで強調されている機密性の高いサービスプリンシパルに関して、不審な動作を知らせるアラートを設定します。
名前: データに影響を与える危険な委任アクセス許可
コード名: DANGEROUS-DELEGATED-PERMISSIONS-AFFECTING-DATA
深刻度: Medium
タイプ: Microsoft Entra ID Indicator of Exposure