データに影響を与える危険なアプリケーションのアクセス許可

MEDIUM

説明

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 アクセス許可があります。

  • アプリケーションのアクセス許可: この露出インジケーター (IoE) は、この最初のタイプについて調べます​。Microsoft Entra テナント全体に対する脅威については、関連する露出インジケーター [テナントに影響を与える危険なアプリケーションのアクセス許可] を参照してください。同意は管理者から得られ、アクセス許可はテナント全体に適用されます。Microsoft はそれらを次のように説明しています。

アプリケーションのアクセス許可は、サインイン済みユーザーの存在なしで実行されるアプリで使用されます。たとえば、バックグラウンドサービスまたはデーモンとして実行されるアプリです。アプリケーションのアクセス許可に同意できるのは、管理者のみです。

  • 委任されたアクセス許可: 関連する露出インジケーター (IoE) [データに影響を与える危険な委任アクセス許可] を参照してください。

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 がそのベンダーに属しているかどうかを確認するよう、ベンダーに依頼します。サービスプリンシパルが不正なもので、既知のアプリケーション名になりすましている場合、フォレンジック分析​を実行します。

  • サービスプリンシパルが正当である場合:

    • その所有者とロールを特定して、実際にこれらの機密性の高いアクセス許可が必要かどうかを評価します。
      • これが内部アプリケーションである場合、Microsoft Graph API ドキュメントの同意と認証セクションで概説されているように、その機能を評価し、最小権限の原則に従ってアクセス許可を削減します。このガイダンスに沿って、各 API に必要な最低限のアクセス許可を特定します。
      • これがサードパーティアプリケーションである場合、そのアプリケーションにとって適切なデータアクセス (同じ範囲) であることを確認します。そうでない場合は、ベンダーに掛け合って、それらのアクセス許可が必要な理由を文書化してもらい、安全に削除できるかどうかを確かめます。
    • 必要な Workload Identities Premium ライセンスを持っている場合、徹底的な防御策として、ワークロード ID への条件付きアクセスを使用することを検討してください。これにより、高リスクのサービスプリンシパルを既知の信頼できる場所に限定し、危険なサインインに応じてアクセスを制限できます。
  • アプリケーションのアクセス許可 には管理者の同意が常に必要です。データ関連のアプリケーションのアクセス許可を含め、不審なアプリケーションや機密性の高いアクセス許可を特定できるように管理者をトレーニングしてください。これは、大規模なアプリケーションガバナンスの取り組みの一環として行う必要があります。

  • 不正と見なしたアクセス許可は削除します。より詳細なフォレンジック調査の実施を計画する場合、Tenable はまず証拠を保存することを推奨しています。Microsoft Entra ID ポータルには、エンタープライズアプリケーションに付与されるアクセス許可を確認するための専用機能があります。

Microsoft は、アプリケーションの同意付与の調査の実行方法と不正な同意の付与を検出して修復する方法に関する 2 つのガイドも発行しています。

危険なアクセス許可を、アプリケーション ([アプリ登録] メニュー) から削除するのではなく、サービスプリンシパル (ポータルの [エンタープライズアプリケーション] メニュー) から削除するようにしてください。アプリケーションから削除しても、アクセス許可リクエストを削除するだけで、実際のアクセス許可の割り当てには影響しません。

最後に、Graph API アクティビティログを有効にして、Graph API イベントに関する詳細情報をキャプチャします。これは、SOC または SIEM が疑わしいアクティビティを特定したり、攻撃が発生した時にフォレンジック調査を実施したりするのに役立ちます。さらに、サービスプリンシパルのサインインを監視し、特にここで強調されている高リスクのサービスプリンシパルに関して、不審な動作を知らせるアラートを設定します。

インジケーターの詳細

名前: データに影響を与える危険なアプリケーションのアクセス許可

コード名: DANGEROUS-APPLICATION-PERMISSIONS-AFFECTING-DATA

深刻度: Medium

タイプ: Microsoft Entra ID Indicator of Exposure

MITRE ATT&CK 情報: