アプリ同意付与の調査

この記事では、アプリ同意攻撃を特定して調査し、情報を保護し、さらなるリスクを最小限に抑えるためのガイダンスを提供します。

この記事は、次のセクションで構成されています。

  • 前提条件: 調査を開始する前に完了する必要がある具体的な要件について説明します。 たとえば、有効にする必要があるログ、必要なロールとアクセス許可などです。
  • ワークフロー: この調査を実行するために従う必要がある論理フローを示します。
  • チェックリスト: フロー チャートの各ステップのタスクの一覧が含まれます。 このチェックリストは、実施した内容を確認するために、または単なる自分の品質ゲートとして、規制の厳しい環境で役立ちます。
  • 調査手順: この特定の調査に関する詳細なステップ バイ ステップ ガイダンスが含まれます。
  • 復旧: 不正なアプリケーション同意付与攻撃から復旧する方法、またはその攻撃を緩和する方法について、大まかな手順を示します。
  • リファレンス: その他の情報と参考資料が含まれます。

前提条件

ここでは、アプリケーション同意付与の調査を実行するために完了する必要がある一般的な設定と構成について説明します。 調査を開始する前に、同意のアクセス許可の種類に関する記事で、同意のアクセス許可の種類を確認してください。

顧客データ

調査プロセスを開始するには、次のデータが必要です。

  • グローバル管理者としてのテナントへのアクセス権 - クラウド専用アカウント (オンプレミス環境に含まれないもの)
  • 侵害インジケーター (IoC) の詳細
  • インシデントに気付いた日時
  • 期間
  • 侵害されたアカウントの数
  • 侵害されたアカウントの名前
  • 侵害されたアカウントのロール
  • アカウントに高い特権が付与されているかどうか (GA Microsoft Exchange、SharePoint)
  • インシデントに関連するエンタープライズ アプリケーションがあるかどうか
  • ユーザーの代わりにデータへのアクセス許可を要求したアプリケーションについてユーザーから報告があったかどうか

システム要件

次のインストールと構成要件を完了していることを確認します。

  1. AzureAD PowerShell モジュールがインストールされています。
  2. スクリプトを実行するテナントの全体管理者権限を持っている。
  3. スクリプトの実行に使用するコンピューターのローカル管理者ロールが割り当てられている。

AzureAD モジュールをインストールする

このコマンドを使用して、AzureAD モジュールをインストールします。

Install-Module -Name AzureAD -Verbose

Note

信頼されていないリポジトリからモジュールをインストールするかどうか確認するダイアログが表示されたら、「Y」と入力し、Enter キーを押します。

GitHub から AzureADPSPermissions スクリプトをダウンロードする

  1. Get-AzureADPSPermissions.ps1 スクリプトを、GitHub からスクリプトの実行元となるフォルダーにダウンロードします。 出力ファイル "permissions.csv" もこの同じフォルダーに書き込まれます。

  2. 管理者として PowerShell インスタンスを開き、スクリプトを保存したフォルダーを開きます。

  3. Connect-AzureAD コマンドレットを使用してディレクトリに接続します。 次に例を示します。

    Connect-AzureAD -tenantid "2b1a14ac-2956-442f-9577-1234567890ab" -AccountId "user1@contoso.onmicrosoft.com"
    
  4. この PowerShell コマンドを実行します。

    Get-AzureADPSPermissions.ps1 | Export-csv -Path "Permissions.csv" -NoTypeInformation
    

    このコマンドを使用して、AzureAD セッションを切断します。

    Disconnect-AzureAD
    

同意とは、アプリケーションがユーザーの代わりに保護されたリソースにアクセスすることを承認するプロセスのことです。 管理者またはユーザーは、組織または個人のデータへのアクセスを許可するように同意を求められることがあります。

アプリケーションには、特定のユーザーに基づいて、または組織全体のために、データへのアクセス権が付与されます。 ただし、これらの同意は、攻撃者が環境に常駐し、機密データにアクセスするために、悪用される可能性があります。 これらの種類の攻撃は、不正同意付与と呼ばれます。これは、フィッシング メール、パスワード スプレーによるユーザー アカウントの侵害を通じて、または攻撃者が正当なユーザーとしてアプリケーションを登録した場合に発生することがあります。 全体管理者アカウントが侵害された場合、登録と同意付与は、単に 1 人のユーザーではなく、テナント全体が対象となります。

アプリケーションが組織のデータにアクセスできるようにするには、そのためのアプリケーションのアクセス許可をユーザーに付与する必要があります。 異なるアクセス許可によって、さまざまなレベルのアクセスが可能になります。 既定では、すべてのユーザーが、管理者の同意を必要としないアクセス許可のアプリケーションに同意することが許可されています。 たとえば、既定では、ユーザーは、アプリが自分のメールボックスにアクセスすることに同意して許可できますが、アプリが組織内のすべてのファイルに自由にアクセスして読み取りと書き込みを行うことに同意して許可することはできません。

Note

ユーザーがアプリにデータへのアクセスを許可できるようにすることで、ユーザーは便利なアプリケーションを簡単に取得し、生産性を高めることができます。 ただし、この構成が入念に監視および制御されていない場合、状況によっては、これがリスクとなる可能性があります。

テナント全体の管理者の同意を実行できるようにするには、次のいずれかとしてサインインする必要があります。

  • グローバル管理者
  • アプリケーション管理者
  • クラウド アプリケーション管理者
  • 管理者 - (組織の代理として) 管理者が同意を実行したことを示します。
  • 個々のユーザー - ユーザーが同意を実行し、そのユーザーの情報にのみアクセスできることを示します。
  • 指定可能な値
    • AllPrincipals - テナント全体が対象となる管理者による同意
    • Principal - 個々のユーザーによる同意で、そのアカウントに関連するデータのみが対象

同意を実行する実際のユーザー エクスペリエンスは、ユーザーのテナントで設定されているポリシー、ユーザーの権限の範囲 (またはロール)、クライアント アプリケーションが要求するアクセス許可の種類によって異なります。 つまり、そのアプリケーション開発者とテナント管理者は、同意エクスペリエンスの一部を制御できます。 管理者は、テナントでの同意エクスペリエンスを制御するために、テナントまたはアプリに対するポリシーを柔軟に設定および無効にすることができます。 アプリケーション開発者は、どのような種類のアクセス許可を要求するか、およびユーザーの同意フローまたは管理者の同意フローをユーザーにガイドするかどうかを決定できます。

  • ユーザーの同意フロー - 現在のユーザーについてのみ同意を記録する目的で、アプリケーション開発者がユーザーを認可エンドポイントに直接アクセスさせる場合。

  • 管理者の同意フロー - テナント全体についての同意を記録する目的で、アプリケーション開発者がユーザーを管理者の同意エンドポイントに直接アクセスさせる場合。 管理者の同意フローを適切に動作させるために、アプリケーション開発者は、アプリケーション マニフェストの RequiredResourceAccess プロパティにすべてのアクセス許可をリストする必要があります。

委任されたアクセス許可とアプリケーションのアクセス許可

委任されたアクセス許可は、サインイン済みユーザーが存在し、管理者またはユーザーが同意を適用できるアプリで使用されます。

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

詳細については、次のトピックを参照してください。

リスクの高いアクセス許可の分類

システムには (少なくとも) 数千のアクセス許可があり、これらのすべてを一覧表示または解析することは不可能です。 下の一覧に、一般的に悪用されるアクセス許可、および悪用された場合に致命的な影響を及ぼすその他のアクセス許可を示します。

次の "ルート" となる委任された (アプリとユーザーの) アクセス許可が、同意フィッシング攻撃で悪用されたことを Microsoft は総じて確認しています。 ルートは、トップ レベルと同じです。 たとえば、Contacts.* は、Contacts.ReadContacts.ReadWriteContacts.Read.SharedContacts.ReadWrite.Shared など、連絡先のアクセス許可のすべての委任された順列を含めます。

  1. Mail.* (Mail.Send*を含みますが、Mail.ReadBasic* は含まれません)
  2. "連絡先" : *
  3. MailboxSettings.*
  4. People.*
  5. ファイル.*
  6. 注.*
  7. Directory.AccessAsUser.All
  8. User_Impersonation

上記の一覧の最初の 7 つのアクセス許可は、Microsoft Graph および Azure Active Directory (Azure AD) Graph や Outlook REST などの "レガシ" API が対象です。 8 番目のアクセス許可は、Azure Resource Manager (ARM) 用であり、この包括的な偽装スコープを使用して機密データを公開する API で危険となる可能性があります。

Microsoft による確認では、攻撃者は同意フィッシング攻撃の 99% で、最初の 6 つのアクセス許可を組み合わせて使用していました。 ほとんどのユーザーは、Mail.ReadFiles.Read の委任バージョンをリスクの高いアクセス許可とは考えていませんが、当社が確認した攻撃は、危険なアクセス許可に実際に同意できる管理者に対するスピア フィッシングではなく、エンド ユーザーをターゲットとした非常に広範な攻撃でした。 これらの "重大な" レベルの影響があるアクセス許可を使用するアプリを確認することをお勧めします。 アプリケーションに悪意がなくても、悪意のあるユーザーがアプリ ID を侵害した場合には、組織全体が危険にさらされる可能性があります。

リスクが最も高いアクセス許可を次に示します:

  • 上記のすべてのアクセス許可のアプリケーション アクセス許可 (AppOnly/AppRole) バージョン (該当する場合)

次のアクセス許可の委任および AppOnly バージョン:

  • Application.ReadWrite.All
  • Directory.ReadWrite.All
  • Domain.ReadWrite.All*
  • EduRoster.ReadWrite.All*
  • Group.ReadWrite.All
  • Member.Read.Hidden*
  • RoleManagement.ReadWrite.Directory
  • User.ReadWrite.All*
  • User.ManageCreds.All
  • 書き込みアクセスを許可する他のすべての AppOnly アクセス許可

リスクが最も低いアクセス許可の一覧を次に示します:

  • User.Read
  • User.ReadBasic.All
  • Open_id
  • Email
  • プロファイル
  • Offline_access (この "最も低いリスク" リストの他のアクセス許可とペアになっている場合のみ)

アクセス許可の表示

  1. アクセス許可を表示するには、エンタープライズ アプリケーションで [登録] 画面に移動します。

    アクセス許可の表示

  2. [API アクセス許可の表示] を選択します。

    apipermissions

  3. [アクセス許可の追加] 選択します。次の画面が表示されます。

    api

  4. [Microsoft Graph] を選択して、さまざまな種類のアクセス許可を表示します。

    アクセス許可の種類

  5. 登録済みアプリケーションが使用しているアクセス許可の種類 (委任されたアクセス許可またはアプリケーションのアクセス許可) 選択します。 上の図では、 [アプリケーションのアクセス許可] が選択されています。

  6. EduRoster など、リスクが高いアクセス許可のいずれかを検索できます。

    examplepermission

  7. [EduRoster] を選択し、アクセス許可を展開します。

    eduroster

  8. これで、これらのアクセス許可を割り当てることや確認することができます。

    詳細については、「 Graph のアクセス許可」を参照してください

ワークフロー

アプリ同意付与の調査ワークフロー

さらに、次のことができます。

  • アプリ同意付与やその他のインシデント対応のプレイブックのワークフローを PDF としてダウンロードする。
  • アプリ同意付与やその他のインシデント対応のプレイブックのワークフローを Visio ファイルとしてダウンロードする。

チェック リスト

このチェックリストを使用して、アプリケーション同意付与の検証を実行します。

  • 必要条件

    グローバル管理者としてテナントにアクセスできる必要があります。これはクラウド専用アカウントであり、オンプレミス環境には含まれていません。

  • 侵害インジケーター (IoC)

    次の侵害インジケーター (IoC) を確認します。

    • インシデントに気付いた日時
    • インシデントの日付範囲 (ゴール ポストまでの距離はどのくらいですか?)
    • 侵害されたアカウントの数
    • 侵害されたアカウントの名前
    • 侵害されたアカウントのロール
    • 侵害されたアカウントは高い特権が付与されているか、標準ユーザーであるか、またはそれらの組み合わせであるかどうか
  • ロール

    これらのロールが割り当てられている必要があります。

    • スクリプトを実行するテナントのグローバル管理者権限
    • スクリプトの実行元となるコンピューターのローカル管理者ロール
  • PowerShell 構成

    以下を使用して PowerShell 環境を構成します。

    • Azure AD PowerShell モジュールをインストールします。
    • 昇格された特権を使用して Windows PowerShell アプリを実行します。 (管理者として実行します)。
    • 署名済みスクリプトを実行するように PowerShell を構成します。
    • Get-AzureADPSPermissions.ps1 スクリプトをダウンロードします。
  • 調査のトリガー

    • アカウントの侵害
    • テナントでアプリ同意設定が変更された
    • アラート/監査イベントの状態の理由として "危険なアプリケーション" が検出された
    • 外見が通常と異なるアプリケーションに気付いた

また、アプリ同意付与やその他のインシデント プレイブックのチェックリストを Excel ファイルとしてダウンロードすることもできます。

調査手順

次の 2 つの方法を使用して、アプリケーション同意付与を調査できます。

  • Azure portal
  • PowerShell スクリプト

Note

Azure portal を使用すると、"過去 90 日間の管理者同意付与のみを表示できます。これに基づいて、攻撃者登録の調査手順を減らすために、専用の PowerShell スクリプト メソッドを使用することをお勧めします。 "

方法 1 – Azure portal を使用する

Azure Active Directory ポータルを使用して、個々のユーザーがアクセス許可を付与したアプリケーションを見つけることができます。

  1. Azure Portal に管理者としてサインインします。
  2. [Azure Active Directory] アイコンを選択します。
  3. [ユーザー] を選択します。
  4. 確認するユーザーを選択します。
  5. [アプリケーション] を選択します。
  6. ユーザーに割り当てられているアプリケーションと、それらのアプリケーションが持つアクセス許可の一覧を確認できます。

方法 2 - PowerShell を使用する

次のような、不正同意付与の調査に使用できる PowerShell ツールがいくつかあります。

PowerShell は非常に簡単なツールです。このツールでは、テナントで何も変更する必要ありません。 ここでの調査は、不正同意付与攻撃のパブリック ドキュメントに基づいています。

Get-AzureADPSPermissions.ps1 を実行して、テナント内のすべてのユーザーのすべての OAuth 同意付与と OAuth アプリを .csv ファイルにエクスポートします。 「前提条件」セクションを参照して、Get-AzureADPSPermissions スクリプトをダウンロードして実行します。

  1. 管理者として PowerShell インスタンスを開き、スクリプトを保存したフォルダーを開きます。

  2. 次の Connect-AzureAD コマンドを使用して、ディレクトリに接続します。 次に例を示します。

    Connect-AzureAD -tenantid "2b1a14ac-2956-442f-9577-1234567890ab" -AccountId "user1@contoso.onmicrosoft.com"
    
  3. この PowerShell コマンドを実行します。

    Get-AzureADPSPermissions.ps1 | Export-csv c:\temp\consentgrants\Permissions.csv -NoTypeInformation
    
  4. スクリプトが完了したら、このコマンドを使用して Azure AD セッションを切断することをお勧めします。

     Disconnect-AzureAD
    

    Note

    接続のほか、サイズと構成されているアクセス許可によっては、スクリプトが完了するまで数時間かかる場合があります。

  5. このスクリプトにより、Permissions.csv という名前のファイルが作成されます。

  6. このファイルを開き、フィルターまたは書式設定によってデータをテーブルにまとめ、 .xlxs ファイル (フィルター用) として保存します。

    次の図は、出力の列ヘッダーを示しています。

    列ヘッダーの例

  7. ConsentType(G) で、値 AllPrinciples を検索します。 AllPrincipals アクセス許可により、クライアント アプリケーションは、テナント内のすべてのユーザーのコンテンツにアクセスできます。 ネイティブの Microsoft 365 アプリケーションを正しく動作させるには、このアクセス許可が必要です。 このアクセス許可を持つ Microsoft 以外のアプリケーションは、すべて慎重に確認する必要があります

  8. Permission(F) で、各委任アプリケーションが持つアクセス許可を確認します。 Read および Write アクセス許可、または *. All アクセス許可は、不適切な場合があるため、これらのアクセス許可を見つけ、慎重に確認します。 権限列 F の例

    Note

    同意を行った特定のユーザーを確認します。 ハイ プロファイルまたは影響の大きいユーザーが不適切に同意している場合、さらに調査する必要があります。

  9. ClientDisplayName(C) で、次のような疑わしいアプリを探します。

    • スペルミスの名前を持つアプリ スペルミスの名前の例

    • 通常とは異なる名前または当地の名前 通常とは異なる名前の例

    • ハッカーを匂わせる名前。 これらの名前は慎重に確認する必要があります。 ハッカー名の例

出力の例: AllPrincipals と ReadWrite.All。 アプリケーションには、当たり障りのない名前など、何も疑わしい点がなく、MS Graph が使用されている場合があります。 ただし、この例に示すように、調査を実行し、アプリケーションの目的と、アプリケーションがテナントで所持している実際のアクセス許可を特定します。

ConsentType が AllPrincipals のアプリケーションの例

情報セキュリティ ポリシー (ISP) の調査を確認する場合、次の情報が役立ちます。

  1. ReplyURL/RedirectURL
    • 疑わしい URL を探します
  2. URL が疑わしいドメインでホスティングされていないか
    • 侵害されていないか
    • ドメインが最近登録されていないか
    • 一時的なドメインではないか
  3. アプリ登録にサービス使用条件/サービス契約のリンクがあるか
  4. コンテンツは、アプリケーション/発行者に固有で具体的なものか
  5. アプリケーションを登録したテナントが新しく作成されたか侵害されていないか (たとえば、アプリが危険なユーザーによって登録されいないか)

攻撃の手法

各攻撃は変化しつつありますが、主な攻撃手法は次のとおりです:

  • 攻撃者が、Azure AD などの OAuth 2.0 プロバイダーにアプリを登録します。

  • このアプリは、正当なものに見えるように構成されています。 たとえば、攻撃者は、同じエコシステムで利用できる有名な製品の名前を使用する場合があります。

  • 攻撃者がユーザーから直接リンクを入手します。これは、従来の電子メール ベースのフィッシング、悪意のない Web サイトの侵害、または他の手法によって実行される場合があります。

  • ユーザーがリンクを選択すると、データへのアクセス許可を悪意のあるアプリに付与するように求める信憑性のある同意プロンプトが表示されます。

  • ユーザーが "同意する" を選択すると、機密データにアクセスできるアクセス許可がアプリに付与されます。

  • アクセス トークン、場合によっては更新トークンの引き換えに使用される承認コードをアプリが取得します。

  • アクセス トークンを使用して、ユーザーの代わりに API 呼び出しが行われます。

  • ユーザーが同意すると、攻撃者は、ユーザーのメール、転送ルール、ファイル、連絡先、メモ、プロファイル、その他の機密データやリソースにアクセスできるようになります。

    アクセス許可要求の例

攻撃の兆候を見つける

  1. セキュリティ & コンプライアンス センターを開きます。

  2. [検索] に移動し、 [Audit log search]\(監査ログの検索\) を選択します。

  3. すべてのアクティビティとすべてのユーザーを検索します。必要に応じて開始日と終了日を入力し、 [検索] を選択します。

    監査ログの検索の例

  4. [結果をフィルター処理します] を選択し、 [アクティビティ] フィールドに、「Consent to application」と入力します。

    監査ログ検索でのフィルター処理の例

  5. [consent to grant]\(付与することに同意\) の下にアクティビティがある場合は、以下の指示に従い続行します。

  6. 結果を選択して、アクティビティの詳細を表示します。 [詳細情報] を選択して、アクティビティの詳細を取得します。

  7. IsAdminContent が "True" に設定されているかどうかを確認します。

    Note

    イベント発生した後の対応する監査ログ エントリを検索結果に表示するため、このプロセスは 30 分から最大で 24 時間かかる場合があります。

    監査レコードが保持され、監査ログで検索できる期間は、Microsoft 365 サブスクリプション、特に特定のユーザーに割り当てられているライセンスの種類によって異なります。 この値が true の場合、グローバル管理者アクセス権を持つユーザーがデータへの広範なアクセスを許可している可能性があることを示します。 これが予期しない場合は、すぐに攻撃を確認する手順を実行します。

攻撃を確認する方法

上記の IOC の事例が 1 つ以上ある場合は、さらに調査を行って、攻撃が発生したかどうかを積極的に確認する必要があります。

組織内のアクセス権を持つアプリのインベントリ (一覧) を作成する

Azure Active Directory ポータル、PowerShell を使用してユーザーのアプリのインベントリを作成することや、個々のユーザーにアプリケーションのアクセス権を列挙させることができます。

  • Azure Active Directory ポータルを使用して、アプリケーションとそのアクセス許可のインベントリを作成する。 これは綿密な方法ですが、一度に 1 人のユーザーしか確認できません。したがって、複数のユーザーのアクセス許可を確認する必要がある場合は、時間がかかる可能性があります。
  • PowerShell を使用して、アプリケーションとそのアクセス許可のインベントリを作成する。 これは最も高速で最も綿密な方法で、オーバーヘッドも最小限です。
  • 個々のユーザーにアプリとアクセス許可を確認するよう指示し、修復のために結果を管理者に報告させる。

ユーザーに割り当てられているアプリのインベントリを作成する

Azure Active Directory ポータルを使用して、個々のユーザーがアクセス許可を付与したアプリの一覧を表示できます。

  1. 管理者権限を使用して Azure portal にサインインします。
  2. [Azure Active Directory] アイコンを選択します。
  3. [ユーザー] を選択します。
  4. 確認するユーザーを選択します。
  5. [アプリケーション] を選択します。 ユーザーに割り当てられているアプリと、それらのアプリに付与されているアクセス許可の一覧を確認できます。

攻撃の範囲を特定する

アプリケーションのアクセス権のインベントリ作成が完了したら、監査ログを確認して、侵害の全範囲を特定します。 影響を受けたユーザー、不正なアプリケーションが組織にアクセスした時間帯、そのアプリケーションが持っていたアクセス許可を調べます。 Microsoft 365 セキュリティ/コンプライアンス センターで監査ログを検索できます。

重要: 攻撃前に監査が有効になっていなかった場合、監査データを使用できないため、調査は実行できません

攻撃を防止してリスクを軽減する方法

組織が適切なライセンスを持っている場合:

  • Microsoft Defender for Cloud Appsで追加の OAuth アプリケーション監査機能を使用します。
  • Azure Monitor ブックを使用して、アクセス許可と同意に関連するアクティビティを監視します。 Consent Insights ワークブックには、失敗した同意要求の数を示すアプリの一覧が表示されます。 これは、管理者の同意を許可するかどうかを管理者が確認および判断するため、アプリケーションの優先順位を決定するのに役立ちます。

不正なアクセス許可を持つアプリケーションを特定したら、「アプリケーションを 無効にする」の 手順に従ってすぐに アプリケーションを無効にします。 次に、Microsoft サポートに連絡して、悪意のあるアプリケーションを報告します。

Azure AD テナントで無効にされたアプリケーションは、データにアクセスするための新しいトークンを取得できず、他のユーザーはサインインしたり、アプリに同意を付与したりできなくなります。

Note

組織内で悪意のあるアプリケーションが発生したと思われる場合は、削除するよりも無効にすることをお勧めします。 アプリケーションを削除するだけの場合は、別のユーザーが同意を付与した場合、後で返される可能性があります。 代わりに、アプリケーションを無効にして、後で戻ってこないようにします。

組織を保護する手順

さまざまな種類の同意攻撃がありますが、これらの推奨される防御方法に従えば、すべての種類の攻撃 (特に同意フィッシング) が軽減されます。同意フィッシングでは、攻撃者は、ユーザーをだまして、機密データやその他のリソースへのアクセス権を悪意のあるアプリに付与させようとします。 攻撃者は、ユーザーのパスワードを盗もうとするのではなく、攻撃者が制御するアプリが貴重なデータにアクセスするためのアクセス許可を入手しようとします。

同意攻撃が Azure AD と Office 365 に影響しないようにするために、次の推奨事項を確認してください。

ポリシーを設定する

  • この設定はユーザーに影響を与え、環境に適用できない場合があります。 同意を許可する場合は、管理者がその要求を承認する必要があります。

  • 確認済みの発行元からのアプリケーションに対してのみ、また低影響として分類される特定の種類のアクセス許可に対して同意を許可します。

    Note

    上記の推奨事項は、最も理想的で安全な構成に基づいて提案されています。 ただし、セキュリティは機能と運用の間で細かいバランスが取られているため、最も安全な構成では、管理者に対して追加のオーバーヘッドが発生する可能性があります。 このような決定は、管理者に相談した後に行うのが最善です。

    リスクに基づくステップアップ同意の構成 - 付与に対するユーザーの同意が有効になっている場合、既定で有効化される

  • リスクに基づくステップアップ同意を使用すると、違法な同意要求を行う悪質なアプリへのユーザーの露出を減らすことができます。 危険なエンドユーザー同意要求が Microsoft によって検出されると、管理者の同意への "ステップアップ" が求められます。 この機能は既定で有効ですが、エンドユーザーの同意が有効化されている場合にのみ、動作変更につながります。

  • 危険な同意要求が検出されると、管理者の承認が必要であることを示すメッセージが同意プロンプトに表示されます。 管理者の同意要求ワークフローが有効になっている場合、ユーザーは、詳しい確認のために、同意プロンプトからその要求を管理者に直接送信できます。 有効になっていない場合、次のメッセージが表示されます。

    AADSTS90094: <clientAppDisplayName> には、管理者のみが付与できる組織内のリソースにアクセスするためのアクセス許可が必要です。 アプリケーションを使用するには、まず管理者に依頼してこのアプリにアクセス許可を付与してください。 この場合、" ApplicationManagement" アクティビティの種類が "Consent to application" のカテゴリと、" 危険なアプリケーションが検出されました" という状態の理由で監査イベントもログに記録されます。

Note

管理者の承認を必要とするタスクでは、運用上のオーバーヘッドが発生します。 "同意とアクセス許可、ユーザーの同意設定" は、現在プレビューの段階です。 一般提供 (GA) の準備ができたら、"選択されたアクセス許可について、確認済みの発行元からのユーザーの同意を許可する" 機能を使用して、管理者のオーバーヘッドを削減することができます。これは、ほとんどの組織に対して推奨されます。

同意

アプリケーション開発者が、信頼できるアプリ エコシステムに従うように教育する
開発者が高品質で安全な統合を構築できるようにするために、Microsoft は Azure AD アプリの登録での統合アシスタントのパブリック プレビューも発表しました。

  • この統合アシスタントは、推奨される一連のセキュリティ ベスト プラクティスに照らして、アプリの登録を分析し、ベンチマークを実行します。
  • この統合アシスタントでは、統合のライフサイクル (開発から監視まで) の各フェーズで関連するベスト プラクティスが強調表示され、すべてのステージが適切に構成されるようにします。
  • 初めてアプリを統合するユーザーでも、スキルの向上を目指すエキスパートでも、業務が簡単になるように設計されています。

同意の戦術について組織を教育する (フィッシングの戦術、管理者とユーザーの同意):

  • スペルや文法に誤りがあるか確認します。 電子メール メッセージまたはアプリケーションの同意画面にスペルミスや文法エラーがある場合、疑わしいアプリケーションである可能性があります。
  • アプリの名前とドメインの URL に注意します。 攻撃者は、アプリ名を偽造して、正当なアプリケーションに見えるように、または正当な企業からのアプリケーションに見えるようにし、その悪意のあるアプリにユーザーを同意させようとします。
  • アプリケーションに同意する前に、必ずアプリ名とドメイン URL を必ず確認します。

信頼できるアプリへのアクセスを促進し許可する

  • 発行元が確認されたアプリケーションの使用を促進します。 発行元の確認により、管理者とエンド ユーザーは、アプリケーション開発者の信頼性を把握できます。 これまでに、390 の発行元による 660 を超えるアプリケーションが確認されています。
  • 信頼できる特定のアプリケーション (所属組織や確認済みの発行元が開発したアプリケーションなど) にのみユーザーが同意できるように、アプリケーションの同意ポリシーを構成します。
  • アクセス許可と同意フレームワークのしくみについて組織を教育します。
  • アプリケーションが求めるデータとアクセス許可を理解し、アクセス許可と同意がプラットフォーム内でどのように機能するかを理解します。
  • 管理者が同意要求を管理および評価する方法を理解しているか確認します。

組織内のアプリと同意済みのアクセス許可を監査して、使用されているアプリケーションが必要なデータにのみアクセスしており、最小特権の原則に準拠していることを確認します。

軽減策

  • 顧客を教育し、アプリケーション同意付与のセキュリティ保護に関する知見とトレーニングを提供します。
  • 組織方針と技術的制御により、アプリケーション同意付与プロセスを制限します。
  • スケジュールを作成して、同意対象のアプリケーションを確認します。
  • PowerShell を使用して、アプリを無効にすることで、疑わしいアプリまたは悪意のある アプリを無効にすることができます

リファレンス

この記事の内容のソースを次に示します。

その他のインシデント対応プレイブック

次の追加の種類の攻撃を特定して調査するためのガイダンスを確認してください。

インシデント対応のリソース