Microsoft 365 Defender
このドキュメントでは、Microsoft 365 Defender を Google Security Operations(Google SecOps)と統合する方法について説明します。
統合バージョン: 19.0
ユースケース
Microsoft 365 Defender と Google SecOps を統合すると、次のユースケースを解決できます。
インシデント対応の自動化: Google SecOps の機能を使用して、影響を受けるエンドポイントを自動的に隔離し、さらなる侵害のスキャンを開始します。
フィッシングの調査と修復: Google SecOps の機能を使用して、送信者、件名、添付ファイルなどの関連情報を自動的に抽出し、脅威インテリジェンス データで補強します。
脆弱性管理: Google SecOps の機能を使用して、脆弱性スキャンと修復ワークフローを自動化します。
コンプライアンス レポートと監査: Google SecOps の機能を使用して、Microsoft 365 Defender からのセキュリティ データの収集とレポート作成を自動化し、コンプライアンス監査を簡素化して、セキュリティ標準への準拠を実証します。
アラートの優先順位付けとトリアージ: Google SecOps の機能を使用して Microsoft 365 Defender からのアラートを分析し、重大度と潜在的な影響に基づいて優先順位を付けます。
マルウェアの自動分析: Google SecOps の機能を使用して、Microsoft 365 Defender が検出したマルウェアのサンプルをサンドボックス環境に自動的に送信し、動的分析を行います。
始める前に
Google SecOps プラットフォームで統合を構成する前に、次の手順を完了します。
Microsoft Entra アプリケーションを作成します。
アプリの API 権限を構成します。
クライアント シークレットを作成します。
Microsoft Entra アプリケーションを作成する
Microsoft Entra アプリケーションを作成するには、次の操作を行います。
ユーザー管理者またはパスワード管理者として Azure ポータルにログインします。
[Microsoft Entra ID] を選択します。
[App registrations] > [New registration] に移動します。
アプリケーションの名前を入力します。
[Register] をクリックします。
統合パラメータを構成する際に後で使用できるように、アプリケーション(クライアント)ID とディレクトリ(テナント)ID の値を保存します。
API 権限を構成する
統合の API 権限を構成する手順は次のとおりです。
Azure ポータルで、[Manage] > [API Permissions] > [Add a permission] に移動します。
[API 権限をリクエスト] ウィンドウで、[所属する組織で使用している API] を選択します。
[Microsoft Graph > アプリケーションのアクセス許可] を選択します。
次の権限を選択します。
SecurityAlert.Read.AllSecurityIncident.ReadWrite.All
[権限を追加] をクリックします。
[API 権限をリクエスト] ウィンドウで、[所属する組織で使用している API] を選択します。
[Microsoft Threat Protection > Application permissions] を選択します。
次の権限を選択します。
ThreatHunting.Read.All
[権限を追加] をクリックします。
[
YOUR_ORGANIZATION_NAMEに管理者の同意を与えます] をクリックします。[管理者の同意を得る] 確認ダイアログが表示されたら、[はい] をクリックします。
クライアント シークレットを作成する
クライアント シークレットを作成するには、次の操作を行います。
[証明書とシークレット] > [新しいクライアント シークレット] に移動します。
クライアント シークレットの説明を入力し、有効期限を設定します。
[追加] をクリックします。
クライアント シークレットの値(シークレット ID ではない)を保存し、統合を構成するときに
Client Secretパラメータ値として使用します。クライアント シークレットの値は 1 回だけ表示されます。
Microsoft 365 Defender を Google SecOps と統合する
Microsoft 365 Defender の統合には、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Login API Root |
必須 Microsoft 365 Defender インスタンスのログイン API ルート。 デフォルト値は |
Graph API Root |
必須 Microsoft Graph サービスの API ルート。 デフォルト値は |
API Root |
必須
Microsoft 365 Defender インスタンスの API ルート。 デフォルト値は |
Tenant ID |
必須
Microsoft Entra ID アカウントの Microsoft Entra ID(テナント ID)の値。 |
Client ID |
必須
Microsoft Entra ID アカウントのアプリケーション(クライアント)ID 値。 |
Client Secret |
必須
Microsoft Entra ID アプリケーションのクライアント シークレット値。 |
Verify SSL |
省略可 選択すると、Microsoft 365 Defender サーバーへの接続用の SSL 証明書が有効であることが検証されます。 デフォルトで選択されています。 |
Google SecOps で統合を構成する手順については、統合を構成するをご覧ください。
必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスの構成とサポートの詳細については、複数のインスタンスのサポートをご覧ください。
操作
アクションについて詳しくは、デスクから保留中のアクションに対応すると手動アクションを実行するをご覧ください。
インシデントにコメントを追加
インシデントにコメントを追加アクションを使用して、Microsoft 365 Defender のインシデントにコメントを追加します。
このアクションは Google SecOps エンティティに対しては実行されません。
アクション入力
[Add Comment To Incident] アクションには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Incident ID |
必須
コメントを追加するインシデントの ID。 |
Comment |
必須
インシデントに追加するコメント。 |
アクションの出力
[インシデントにコメントを追加] アクションは、次の出力を提供します。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用不可 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
出力メッセージ
[Add Comment To Incident] アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully added comment to incident INCIDENT_ID in Microsoft 365 Defender. |
アクションが成功しました。 |
Error executing action "Add Comment To Incident". Reason:
ERROR_REASON |
操作に失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、[インシデントにコメントを追加] アクションを使用する場合のスクリプト結果出力の値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
カスタムクエリを実行する
[カスタムクエリを実行] アクションを使用して、Microsoft 365 Defender でカスタム ハンティング クエリを実行します。
このアクションは Google SecOps エンティティに対しては実行されません。
アクション入力
[カスタムクエリを実行] アクションには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Query |
必須
結果のフィルタリングのために Microsoft 365 Defender で実行するクエリ。 |
Max Results To Return |
省略可 クエリから返される結果の最大数。 デフォルト値は `50` です。 |
アクションの出力
[カスタムクエリを実行する] アクションは、次の出力を提供します。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用可能 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、カスタムクエリの実行アクションを使用した場合に受信する JSON 結果の出力例を示しています。
{"Results": [
{
"Timestamp": "2021-04-12T07:25:00Z",
"AlertId": "fa7a318954-6c4c-eaab-3200-08d8fd82af35",
"Title": "CC_Sensitive information",
"Category": "InitialAccess",
"Severity": "Medium",
"ServiceSource": "Microsoft Defender for Office 365",
"DetectionSource": "Microsoft Defender for Office 365",
"AttackTechniques": ""
}
]}
出力メッセージ
[Execute Custom Query] アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
|
アクションが成功しました。 |
Error executing action "Execute Custom Query". Reason:
ERROR_REASON |
操作に失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、[Execute Custom Query] アクションを使用する場合のスクリプト結果出力の値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
エンティティ クエリを実行する
エンティティ クエリの実行アクションを使用して、Microsoft 365 Defender のエンティティに基づくハンティング クエリを実行します。
このアクションでは、エンティティに基づく where フィルタが使用されます。
このアクションは、次の Google SecOps エンティティに対して実行されます。
IP AddressHostUserHashURL
エンティティ クエリの実行アクションを使用すると、エンティティに関連する情報を取得できます。たとえば、テーブルから結果を取得し、エンティティに基づいて結果をフィルタリングできます。
特定の形式を使用する必要がある Execute Query アクションとは異なり、Execute Entity Query アクションはクエリ入力を使用しません。
Execute Query アクションを使用してエンドポイントに関連するアラートを取得する場合は、| where 句を次のようにフォーマットします。
AlertInfo | where DeviceName == "Host-1" or IPAddress == "192.0.2.1" | top 100
by Timestamp desc
エンドポイントに関連するアラートを取得するには、エンティティ クエリの実行アクションで、Table、IP Entity Key、Hostname Entity Key、Cross Entity Operator パラメータを次のように構成する必要があります。
| パラメータ | AlertInfo 値 |
|---|---|
IP Entity Key |
IPAddress |
Hostname Entity Key |
DeviceName |
Cross Entity Operator |
OR |
指定したハッシュが影響するエンドポイントの数を確認するには、Execute Entity Query アクションで File Hash Entity Key パラメータに SHA1 値を入力する必要があります。
Cross Entity Operator は、Entity Keys パラメータに複数の値を構成した場合にのみクエリに影響します。
アクション入力
[Execute Entity Query] アクションには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Table Names |
必須
Microsoft 365 Defender でクエリするテーブルのカンマ区切りのリスト。 |
Time Frame |
省略可 クエリ結果の期間。 デフォルト値は 値は次のいずれかになります。
|
Start Time |
省略可 クエリ結果の開始時刻。
|
End Time |
省略可 クエリ結果の終了時刻。 値を設定せず、 |
Fields To Return |
省略可 結果に含めるフィールドのカンマ区切りリスト。 |
Sort Field |
省略可 結果の並べ替えに使用するフィールド。 デフォルト値は |
Sort Order |
省略可 結果を並べ替える順序(昇順または降順)。 デフォルト値は 値は次のいずれかになります。
|
Max Results To Return |
省略可 返される結果の最大件数です。 デフォルト値は |
IP Entity Key |
省略可
|
Hostname Entity Key |
省略可
|
File Hash Entity Key |
省略可
|
User Entity Key |
省略可
|
URL Entity Key |
省略可
|
Email Address Entity Key |
省略可
|
Stop If Not Enough Entities |
省略可 選択すると、指定されたすべてのエンティティ タイプが存在する場合にアクションが実行されます。 デフォルトで選択されています。 |
Cross Entity Operator |
必須
クエリ内の異なるエンティティ タイプ間で使用する論理演算子。 デフォルト値は 値は次のいずれかになります。
|
アクションの出力
[Execute Entity Query] アクションは、次の出力を提供します。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用可能 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、[エンティティ クエリの実行] アクションを使用した場合に受信される JSON 結果の出力例を示しています。
{
"Timestamp": "2021-04-12T07:25:00Z",
"AlertId": "fa7a318954-6c4c-eaab-3200-08d8fd82af35",
"Title": "CC_Sensitive information",
"Category": "InitialAccess",
"Severity": "Medium",
"ServiceSource": "Microsoft Defender for Office 365",
"DetectionSource": "Microsoft Defender for Office 365",
"AttackTechniques": ""
}
出力メッセージ
Execute Entity Query アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
|
アクションが成功しました。 |
Error executing action "Execute Entity Query". Reason:
ERROR_REASON |
操作に失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、エンティティ クエリの実行アクションを使用する場合のスクリプト結果出力の値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
クエリを実行
[Execute Query] アクションを使用して、Microsoft 365 Defender でハンティング クエリを実行します。
このアクションは Google SecOps エンティティに対しては実行されません。
アクション入力
[Execute Query] アクションには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Table Names |
必須
Microsoft 365 Defender でクエリするテーブル名のカンマ区切りリスト。 |
Query |
省略可 実行するクエリ。 このパラメータを使用して、 |
Time Frame |
省略可 クエリ結果の期間。 デフォルト値は 値は次のいずれかになります。
|
Start Time |
省略可 クエリ結果の開始時間(ISO 8601 形式)。
|
End Time |
省略可 クエリ結果の終了時刻(ISO 8601 形式)。 値を設定せず、 |
Fields To Return |
省略可 結果に含めるフィールドのカンマ区切りリスト。 |
Sort Field |
省略可 結果の並べ替えに使用するフィールド。 デフォルト値は |
Sort Order |
省略可 結果を並べ替える順序(昇順または降順)。 デフォルト値は 値は次のいずれかになります。
|
Max Results To Return |
省略可 返される結果の最大件数です。 デフォルト値は |
アクションの出力
[Execute Query] アクションでは、次の出力が提供されます。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用可能 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、[Execute Query] アクションを使用したときに受信した JSON 結果の出力を示しています。
{"Results": [
{
"Timestamp": "2021-04-12T07:25:00Z",
"AlertId": "fa7a318954-6c4c-eaab-3200-08d8fd82af35",
"Title": "CC_Sensitive information",
"Category": "InitialAccess",
"Severity": "Medium",
"ServiceSource": "Microsoft Defender for Office 365",
"DetectionSource": "Microsoft Defender for Office 365",
"AttackTechniques": ""
}
]}
出力メッセージ
[Execute Query] アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
|
アクションが成功しました。 |
Error executing action "Execute Query". Reason:
ERROR_REASON |
操作に失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、クエリの実行アクションを使用する場合のスクリプト結果出力の値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
Ping
Ping アクションを使用して、Microsoft 365 Defender への接続をテストします。
このアクションは Google SecOps エンティティに対しては実行されません。
アクション入力
なし
アクションの出力
[Ping] アクションでは、次の出力が提供されます。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用不可 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
JSON の結果
次の例は、Ping アクションを使用した場合に受信する JSON 結果の出力例を示しています。
出力メッセージ
Ping アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully connected to the Microsoft 365 Defender server
with the provided connection parameters! |
アクションが成功しました。 |
Failed to connect to the Microsoft 365 Defender server! Error is
ERROR_REASON |
操作に失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、Ping アクションを使用した場合のスクリプト結果出力の値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
True または False |
インシデントを更新
Microsoft 365 Defender でインシデントを更新するには、[インシデントの更新] アクションを使用します。
API の制限により、Assign To パラメータに無効なユーザー名の値を設定しても、このアクションは失敗しません。
このアクションは Google SecOps エンティティに対しては実行されません。
アクション入力
[Update Incident] アクションには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
Incident ID |
必須
Microsoft 365 Defender で更新するインシデントの ID。 |
Status |
省略可 Microsoft 365 Defender でインシデントに設定するステータス。 デフォルト値は 値は次のいずれかになります。
|
Classification |
省略可 Microsoft 365 Defender でインシデントに設定する分類。 デフォルト値は 値は次のいずれかになります。
|
Determination |
省略可 Microsoft 365 Defender でインシデントに設定する判定。 このパラメータは、 デフォルト値は 値は次のいずれかになります。
|
Assign To |
省略可 Microsoft 365 Defender でインシデントを割り当てるユーザー。 |
アクションの出力
[インシデントを更新] アクションは、次の出力を提供します。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用不可 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
出力メッセージ
[インシデントを更新] アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
Successfully updated incident INCIDENT_ID in Microsoft 365 Defender. |
アクションが成功しました。 |
Error executing action "Update Incident". Reason:
ERROR_REASON |
操作に失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
コネクタ
Google SecOps でコネクタを構成する手順については、データを取り込む(コネクタ)をご覧ください。
Microsoft 365 Defender - インシデント コネクタ
Microsoft 365 Defender - インシデント コネクタを使用して、Microsoft 365 Defender からインシデントとその関連アラートに関する情報を取得します。
動的リストはインシデント名と連携して機能します。
コネクタの制限事項
Microsoft 365 Defender - インシデント コネクタは、厳しい API 上限のある API リクエストを使用します。コネクタを安定させるには、Max Incidents To Fetch パラメータを 10 に、Run Every パラメータを 1 minute に設定します。アラートの取得に使用される Microsoft Graph API エンドポイントでは、1 分あたり 20 件のリクエストしか許可されないため、レート制限に達する可能性があります。
レート制限に達したときにデータが失われないように、コネクタは現在のインシデントの処理を停止し、90 秒待ってから他のインシデントを処理します。90 秒後に、レート上限が最大値に戻り、コネクタは前のイテレーションで適切に処理されなかったインシデントを再処理します。
コネクタの入力
Microsoft 365 Defender – インシデント コネクタには、次のパラメータが必要です。
ほとんどの場合、リダイレクトされたインシデントは空になります。
| パラメータ | 説明 |
|---|---|
Product Field Name |
必須 商品名が保存されるフィールドの名前。 デフォルト値は |
Event Field Name |
必須 イベント名(サブタイプ)を特定するために使用されるフィールド名。 デフォルト値は |
Login API Root |
必須 Microsoft 365 Defender インスタンスのログイン API ルート。 デフォルト値は |
Graph API Root |
必須 Microsoft Graph サービスの API ルート。 デフォルト値は |
API Root |
必須
Microsoft 365 Defender インスタンスの API ルート。 デフォルト値は |
Tenant ID |
必須
Microsoft Entra ID アカウントの Microsoft Entra ID(テナント ID)の値。 |
Client ID |
必須
Microsoft Entra ID アカウントのアプリケーション(クライアント)ID 値。 |
Client Secret |
必須
Microsoft Entra ID アプリケーションのクライアント シークレット値。 |
Verify SSL |
省略可 選択すると、Microsoft 365 Defender サーバーへの接続用の SSL 証明書が有効であることが検証されます。 デフォルトで選択されています。 |
Lowest Severity To Fetch |
省略可 取得するインシデントの最も低い重大度。 |
Max Hours Backwards |
省略可 最初のコネクタ イテレーションの前にインシデントを取得する時間数。このパラメータは、コネクタを初めて有効にした後の最初のコネクタ イテレーション、または期限切れのコネクタ タイムスタンプのフォールバック値に適用されます。 デフォルト値は |
Max Incidents To Fetch |
省略可 コネクタのイテレーションごとに取得するインシデントの最大数。 デフォルト値は |
Incident Status Filter |
省略可 取り込むインシデント ステータスのカンマ区切りリスト。 デフォルト値は 値は次のいずれかになります。
|
Use whitelist as a blacklist |
省略可 選択すると、コネクタは動的リストを拒否リストとして使用します。 デフォルトでは選択されていません。 |
Lowest Alert Severity To Fetch |
省略可 取得するアラートの最も低い重大度。 |
Disable Alert Tracking |
Optional 有効にすると、コネクタはアラートの更新のトラッキングを停止します。 デフォルトでは無効にされています。 |
Environment Field Name |
省略可 環境名を含むフィールドの名前。 |
Environment Regex Pattern |
省略可
デフォルト値 正規表現パターンが null か空の場合、または環境値が null の場合、最終的な環境の結果はデフォルト環境になります。 |
PythonProcessTimeout |
必須
現在のスクリプトを実行する Python プロセスのタイムアウト上限(秒単位)。 デフォルト値は |
Dynamic List Field |
省略可 動的リストがフィルタリングに使用する値。 指定できる値は デフォルト値は |
Alert Detection Source Filter |
省略可 取り込むアラート検出ソースのカンマ区切りのリスト( |
Alert Service Source Filter |
省略可 取り込むアラート サービス ソースのカンマ区切りリスト( |
Disable Overflow |
Optional 選択すると、アラートの作成時に Google SecOps のオーバーフロー メカニズムが無視されます。 デフォルトで有効になっています。 |
Proxy Server Address |
Optional 使用するプロキシ サーバーのアドレス。 |
Proxy Username |
Optional 認証に使用するプロキシのユーザー名。 |
Proxy Password |
Optional 認証に使用するプロキシ パスワード。 |
コネクタルール
- コネクタはプロキシをサポートしています。
- コネクタは、動的リストとブロックリストをサポートしています。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。