M365 Defender AIRによるインシデント自動応答の設計と実装

Tech

本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。

M365 Defender AIRによるインシデント自動応答の設計と実装

Microsoft 365 Defenderの自動調査および修復(Automated Investigation and Remediation: AIR)機能は、インシデント対応の効率を劇的に向上させるための強力なツールです。本記事では、M365 Defender AIRを活用したインシデント自動応答システムの設計、実装、運用、セキュリティ、およびコスト最適化について、クラウドアーキテクトの視点から詳細に解説します。

アーキテクチャ

M365 Defender AIRは、Microsoft Defender XDR(旧称 Microsoft 365 Defender)スイートの中核をなす機能であり、エンドポイント、ID、電子メールとコラボレーション、クラウドアプリケーションなどのセキュリティデータ全体にわたる脅威を自動的に調査し、修復アクションを提案または実行します。

基本的なアーキテクチャは以下のフローで構成されます。

flowchart TD
    A["脅威の検出"] --> B{"Microsoft Defender XDR"};
    B --アラート生成--> C["自動調査と修復 (AIR)"];
    C --調査実行/スコアリング--> D{"脅威の確認"};
    D --高信頼度--> E["自動修復アクション"];
    D --低信頼度/承認待ち--> F["セキュリティアナリストによる承認"];
    E --> G["インシデント解決/アラートクローズ"];
    F --承認--> E;
    F --却下--> G;
    B --ログとテレメトリ--> H["Microsoft Sentinel (SOAR)"];
    H --カスタム自動化/プレイブック--> I["Azure Logic Apps"];
    I --> B;
    E --> J["Microsoft Defender XDR アクションセンター"];
    J --監査ログ--> H;

    subgraph Microsoft Defender XDR Suite
        B
        C
        E
        J
    end
    subgraph Azure Platform
        H
        I
    end

    A --例: Defender for Endpoint検出--> B;
    A --例: Defender for Identity検出--> B;
    A --例: Defender for Office 365検出--> B;
    E --例: デバイス隔離/ファイル隔離/メール削除--> G;

[1]

AIRの主要コンポーネント:

  • アラートとインシデント: Defender XDRスイート内の各Defender製品(Endpoint、Identity、Office 365、Cloud Apps)からのアラートを集約し、関連するアラートを自動的にインシデントにグループ化します。

  • 自動調査エンジン: インシデント内のアラートをトリガーとして、影響を受けるエンティティ(デバイス、ユーザー、メールボックスなど)に関連する追加のテレメトリデータを収集し、脅威の範囲、根本原因、および影響を判断します。

  • 修復アクション: 調査結果に基づいて、デバイスの隔離、ファイルの隔離、プロセスの停止、メールの削除などの推奨される修復アクションを生成します。これらのアクションは、設定された自動化レベルに応じて、自動的に実行されるか、アナリストの承認を待機します。

設定手順

M365 Defender AIRの設定は、Microsoft 365 Defenderポータルから行います。自動化レベルの構成と、より高度なシナリオのための自動化ルールの作成が含まれます。

1. 自動調査および修復の有効化とレベル設定

AIRは通常、対応するDefender製品のライセンスが有効な場合、既定で有効になっています。自動化レベルを設定することで、システムがどの程度の自律性で修復アクションを実行するかを定義します。

  1. Microsoft 365 Defenderポータルにアクセス: security.microsoft.com

  2. 設定 > エンドポイント > 一般 > 自動調査と修復 へ移動します。

  3. 自動化レベルを設定します。

    • なし: 調査は実行されるが、修復アクションは提案のみで、手動承認が必要。

    • 半自動: 修復アクションの一部は自動実行されるが、重要度の高いものは承認が必要。

    • 完全自動: すべての修復アクションが自動的に実行される。

これは組織のセキュリティポリシーとリスク許容度に基づいて慎重に選択する必要があります。初期段階では、「半自動」で開始し、テストと信頼性の確立後に「完全自動」への移行を検討することをお勧めします。[2]

2. アイデンティティと権限境界の定義

AIRを管理・運用するための適切なアクセス権限をEntra ID (旧 Azure Active Directory) で付与することが不可欠です。

  • 必要な最小限のロール:

    • セキュリティ管理者: 自動化レベルの設定、自動化ルールの作成・編集など、AIRの広範な構成変更が可能。

    • セキュリティオペレーター: 自動調査の結果の確認、保留中の修復アクションの承認・却下が可能。

  • カスタムロールの検討: 特定のタスクに特化したカスタムロールを作成し、最小限の特権原則を適用することも可能です。

    • Microsoft 365 Defender の「カスタムロール」機能で、脅威と脆弱性の管理自動調査と修復 などの権限を細かく設定できます。
  • 条件付きアクセス (CA):

    • セキュリティ管理者がDefenderポータルにアクセスする際に、多要素認証(MFA)の強制、準拠デバイスからのアクセス制限、信頼できる場所からのアクセス制限などのCAポリシーを適用することで、管理者のアカウントの乗っ取りリスクを低減できます。

3. 自動化ルール (Automation Rules) の作成

特定の条件に基づき、カスタムの自動応答を定義できます。これは、特定のタイプのアラートに対して常に特定の修復を実行したい場合などに有用です。

現在、Defender XDRポータルからはGUIで自動化ルールを作成できます。PowerShellやGraph APIによる直接的な自動化ルール作成APIは、まだ広く公開されていませんが、Microsoft Graph Security APIを利用してアラートやインシデントをトリガーにAzure Logic Appsを連携させることで、高度な自動化を実現できます。

Azure Logic Appsとの連携例 (PowerShellによるMicrosoft Graph API連携)

より高度な自動化のために、Microsoft Graph Security APIを介してDefender XDRのアラートをトリガーとし、Azure Logic Appsでカスタムワークフローを実行する例を以下に示します。

# Prerequisites: Azure AD アプリケーションの登録と権限付与


# (SecurityEvents.Read.All, SecurityEvents.ReadWrite.All, SecurityActions.ReadWrite.All)

# 1. 認証トークンの取得

$tenantId = "YOUR_TENANT_ID"
$appId = "YOUR_APP_ID"
$appSecret = "YOUR_APP_SECRET" # または証明書認証

$authUrl = "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token"
$body = @{
    client_id = $appId
    scope = "https://graph.microsoft.com/.default"
    client_secret = $appSecret
    grant_type = "client_credentials"
}
$tokenResponse = Invoke-RestMethod -Uri $authUrl -Method Post -Body $body -ContentType "application/x-www-form-urlencoded"
$accessToken = $tokenResponse.access_token

# 2. 最新のアラートを取得 (例: 過去1時間の高重大度アラート)

$headers = @{
    Authorization = "Bearer $accessToken"
    "Content-Type" = "application/json"
}
$graphApiUrl = "https://graph.microsoft.com/v1.0/security/alerts?`$filter=severity eq 'high' and createdDateTime ge $((Get-Date).AddHours(-1).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ'))"
$alerts = Invoke-RestMethod -Uri $graphApiUrl -Headers $headers -Method Get

# 3. 特定のアラートに対して修復アクションをトリガー (例: デバイス隔離)


# 注: Defender XDRのAIRは自動調査後に修復を提案/実行しますが、


# ここではGraph API経由で直接的なセキュリティアクションをトリガーする一般的な例を示します。


# 実際には、Logic Appsでアラートを解析し、適切なDefender APIを呼び出すのが一般的です。

foreach ($alert in $alerts.value) {
    Write-Host "Alert ID: $($alert.id), Vendor: $($alert.vendorInformation.provider), Title: $($alert.title)"

    # ここにLogic AppsのHTTPトリガーを呼び出すコードを追加


    # 例: Invoke-RestMethod -Uri "YOUR_LOGIC_APP_HTTP_TRIGGER_URL" -Method Post -Body (ConvertTo-Json $alert) -Headers $headers

    # または、Graph APIのsecurityActionsエンドポイントでカスタムアクションを直接作成(未サポートの場合が多い)


    # 現実的には、Logic Appsがより複雑なワークフローを処理し、Defender for EndpointのAPIなどを利用します。

}

# 計算量: アラートの取得はO(N) (Nは取得されるアラート数)。ループ処理はN回。


# メモリ条件: 取得されるアラート数に比例。大量のアラートの場合、ページネーションを考慮。


# 前提: Azure ADアプリケーションの登録、適切なAPI権限の付与、Logic Appsのデプロイ。

このスクリプトは、Graph APIを通じてアラートを取得し、その情報をLogic Appsに渡し、Logic AppsがDefender for Endpointのデバイス隔離APIを呼び出す、といったフローのトリガー部分を示唆しています。直接的なDefender XDRの自動化ルール設定はポータル経由が主であり、Graph APIは主に情報の取得や外部システム連携に使用されます。[4][6]

運用監視

AIRが効果的に機能していることを確認し、潜在的な問題を特定するためには、適切な運用監視が不可欠です。

  • Microsoft 365 Defender アクションセンター:

    • すべての自動調査と実行された修復アクション(保留中、承認済み、拒否済み、完了済み)の一元的なビューを提供します。定期的にここを確認し、予期しないアクションや失敗したアクションがないか監視します。[1]
  • 監査ログ:

    • Microsoft 365 Defenderポータル内の「監査ログ」で、自動化ルールや自動調査に関する変更履歴、誰がいつどのような変更を行ったかを確認できます。
  • Microsoft Sentinelとの連携 (SIEM/SOAR):

    • Defender XDRコネクタを使用して、アラート、インシデント、および自動調査のデータをMicrosoft Sentinelに取り込みます。

    • Sentinelのワークブックや分析ルールを活用して、AIRのパフォーマンス、自動化による削減効果、未処理のインシデントなどをダッシュボードで可視化します。

    • Sentinelのプレイブック(Azure Logic Apps)を用いて、AIRが対応しきれない複雑なシナリオや、承認ワークフローを自動化できます。

  • SLAとバックアップ/DR:

    • SLA: AIR自体に特定のSLAは設けられていませんが、組織としてインシデント解決までの目標時間を設定し、AIRの貢献度を評価します。

    • バックアップ/DR: 自動化ルールやカスタム設定は、GUIを通じて構成されるため、IaCによる管理が難しい場合があります。重要な自動化ルールは、定期的に設定内容をドキュメント化し、スクリーンショットを保存するなどの手動バックアップを検討します。より堅牢なDRのためには、可能な限り設定をコード化(例: Azure Resource ManagerテンプレートやPowerShellスクリプト)し、バージョン管理システムで管理することを推奨します。

セキュリティ

AIRはインシデント対応の効率を高める一方で、設定ミスや悪用された場合には大きなリスクをもたらす可能性があります。

  • 最小特権の原則: AIRの設定や承認を行うユーザーには、必要最小限のロールと権限を付与します。

  • 自動化レベルの慎重な設定: 「完全自動」は強力ですが、誤検知による正常な業務への影響を避けるため、十分なテストと信頼性の確立後に適用を検討します。

  • 定期的なレビュー: 自動化ルールと自動化レベルは、組織のポリシーや脅威環境の変化に合わせて定期的に見直し、最適化します。

  • 変更管理とテスト: 自動化ルールの追加や変更は、変更管理プロセスに従い、事前にテスト環境で十分に検証します。

  • 監査証跡の確保: すべての自動化されたアクションが詳細な監査ログに残ることを確認し、定期的にレビューします。

コスト

M365 Defender AIR自体に直接的なコストは発生しません。AIRの機能は、Microsoft Defender XDRを構成する以下のライセンスに含まれています。

  • Microsoft 365 E5 Security

  • Microsoft 365 E5

  • Microsoft Defender for Endpoint P2

  • Microsoft Defender for Identity

  • Microsoft Defender for Office 365 P2

  • Microsoft Defender for Cloud Apps

これらのライセンスを適切に取得している場合、AIRを追加費用なしで利用できます。

コスト最適化:

  • ライセンスの適正化: 組織のニーズに合わせて適切なライセンスを選定し、不要なライセンスの過剰な割り当てを避けます。例えば、Defender for Endpoint P2が提供するAIR機能で十分な場合は、M365 E5 Securityスイート全体を契約する必要がないかもしれません。[5][7]

  • リソースの効率的利用: AIR自体は追加のインフラコストを発生させませんが、Azure Logic Appsと連携する場合、Logic Appsの使用量(アクション実行回数、コネクタ利用)に応じた費用が発生します。カスタム自動化を設計する際は、不必要な頻繁な実行や過剰な処理を避けるように設計することで、コストを最適化できます。

  • 既存投資の活用: 既にMicrosoft 365 E5などのライセンスを保有している場合、AIR機能を最大限に活用することで、既存の投資から最大のセキュリティ価値を引き出すことができます。

落とし穴と対策

1. 過剰な自動化による業務影響 (False Positives)

  • 落とし穴: 誤検知や不正確な調査結果に基づいて自動修復が実行され、正規のアプリケーションが隔離されたり、ユーザーアカウントがロックされたりする可能性があります。

  • 対策:

    • 初期段階では自動化レベルを「半自動」または「承認必須」に設定し、監視と承認を通じてシステムの信頼性を構築します。

    • テスト環境での徹底的な検証を実施します。

    • 特定の修復アクション(例: デバイス隔離)を適用する前に、ホワイトリストや除外ルールを慎重に定義します。

2. 「設定して忘れがち」な運用

  • 落とし穴: 一度設定した自動化ルールやレベルを放置し、環境の変化や新しい脅威に対応できなくなることがあります。

  • 対策:

    • 自動化ルールと自動化レベルの定期的なレビューをスケジュールに組み込みます(例: 四半期ごと)。

    • 脅威インテリジェンスの更新や新しいDefender機能のリリースに注意を払い、適宜設定を調整します。

3. 不十分な監視と可視性

  • 落とし穴: 自動化されたアクションが期待通りに機能しているか、または失敗していないかを把握できないと、セキュリティ上の盲点が生じます。

  • 対策:

    • Microsoft 365 Defenderアクションセンターを定期的に確認します。

    • Microsoft Sentinelとの連携を強化し、AIRの活動を詳細に監視するためのダッシュボードやアラートを設定します。

4. 権限の過剰付与

  • 落とし穴: AIRの設定や承認を行うユーザーに必要以上の権限を付与してしまうと、セキュリティ侵害のリスクが高まります。

  • 対策:

    • 最小特権の原則を厳守し、Entra IDロール(セキュリティ管理者、セキュリティオペレーター)やカスタムロールを適切に割り当てます。

    • すべての管理者アカウントに対して多要素認証(MFA)を強制し、条件付きアクセスで追加の保護を適用します。

まとめ

M365 Defender AIRは、現代の複雑な脅威環境において、セキュリティチームの負担を軽減し、インシデント対応速度を向上させるための不可欠な機能です。適切なアーキテクチャ設計、慎重な設定、継続的な運用監視、そしてセキュリティ原則の遵守を通じて、その真価を最大限に引き出すことができます。自動化レベルの段階的な導入、Azure Logic Appsとの連携による柔軟な拡張、そして厳格な権限管理と定期的なレビューが、成功への鍵となります。


参照情報: [1] Microsoft Learn. 「自動調査および修復 (AIR) 機能の概要」. 最終更新: 2024年5月24日. https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/automated-investigations (Microsoft) [2] Microsoft Learn. 「自動化機能の設定」. 最終更新: 2024年4月11日. https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/configure-automation-remediation (Microsoft) [3] Microsoft Learn. 「自動調査のアクセス許可」. 最終更新: 2024年3月28日. https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/automated-investigations-permissions (Microsoft) [4] Microsoft Learn. 「カスタマイズ可能な自動化」. 最終更新: 2024年5月10日. https://learn.microsoft.com/ja-jp/microsoft-365/security/defender/automate-security-operations-in-microsoft-defender-xdr (Microsoft) [5] Microsoft Learn. 「Microsoft Defender for Endpoint の要件」. 最終更新: 2024年5月17日. https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/minimum-requirements (Microsoft) [6] Microsoft Graph API Documentation. 「セキュリティ API の概要」. 最終更新: 2024年5月23日. https://learn.microsoft.com/ja-jp/graph/api/resources/security-api-overview?view=graph-rest-1.0 (Microsoft) [7] Microsoft. 「Microsoft Defender XDR の価格」. https://www.microsoft.com/ja-jp/security/business/microsoft-defender-xdr-pricing (Microsoft)

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました