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」。
輸入應用程式名稱。
按一下「註冊」。
儲存「應用程式 (用戶端) ID」和「目錄 (租戶) ID」值,稍後設定整合參數時會用到。
設定 API 權限
如要設定整合的 API 權限,請完成下列步驟:
在 Azure 入口網站中,依序前往「管理」>「API 權限」>「新增權限」。
在「Request API permissions」(要求 API 權限) 視窗中,選取「APIs my organization uses」(我的機構使用的 API)。
依序選取「Microsoft Graph」>「應用程式權限」。
選取下列權限:
SecurityAlert.Read.All
SecurityIncident.ReadWrite.All
按一下「Add permissions」。
在「Request API permissions」(要求 API 權限) 視窗中,選取「APIs my organization uses」(我的機構使用的 API)。
依序選取「Microsoft Threat Protection」>「Application permissions」。
選取下列權限:
ThreatHunting.Read.All
按一下「Add permissions」。
按一下「Grant admin consent for <租用戶>」
YOUR_ORGANIZATION_NAME
。畫面出現「授予管理員同意聲明確認」對話方塊時,按一下「是」。
建立用戶端密鑰
如要建立用戶端密鑰,請完成下列步驟:
依序前往「Certificates and secrets」(憑證和密鑰) >「New client secret」(新增用戶端密鑰)。
提供用戶端密鑰的說明,並設定到期期限。
按一下「新增」。
儲存用戶端密鑰的值 (而非密鑰 ID),在設定整合時做為
Client Secret
參數值。用戶端密鑰值只會顯示一次。
整合 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 中設定整合功能的操作說明,請參閱「設定整合功能」。
如有需要,您之後可以變更。設定整合執行個體後,您就可以在劇本中使用該執行個體。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。
動作
如要進一步瞭解動作,請參閱「從工作區回覆待處理動作」和「執行手動動作」。
為事件新增註解
使用「Add Comment To Incident」(在事件中新增註解) 動作,在 Microsoft 365 Defender 中新增事件註解。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「Add Comment To Incident」(在事件中新增留言) 動作需要下列參數:
參數 | 說明 |
---|---|
Incident ID |
必要
要新增註解的事件 ID。 |
Comment |
必要
要新增至事件的註解。 |
動作輸出內容
「Add Comment To Incident」(在事件中新增註解) 動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
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 |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「Add Comment To Incident」(在事件中新增留言) 動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
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": ""
}
]}
輸出訊息
「執行自訂查詢」動作可以傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Execute Custom Query". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「執行自訂查詢」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
執行實體查詢
使用「執行實體查詢」動作,根據 Microsoft 365 Defender 中的實體執行搜尋查詢。
這項動作使用以實體為準的 where
篩選器。
這項動作會在下列 Google SecOps 實體上執行:
IP Address
Host
User
Hash
URL
您可以使用「執行實體查詢」動作,擷取與實體相關的資訊,例如從表格擷取結果,並根據實體篩選結果。
與需要使用特定格式的「執行查詢」動作不同,「執行實體查詢」動作不會使用查詢輸入內容。
使用「執行查詢」動作擷取與端點相關的快訊時,請依下列格式設定 | 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 |
如要查看提供的雜湊影響多少端點,您必須為 File Hash Entity Key
參數輸入 SHA1
值,才能執行「執行實體查詢」動作。
如果您為 Entity Keys
參數設定多個值,Cross Entity Operator
只會影響查詢。
動作輸入內容
「執行實體查詢」動作需要下列參數:
參數 | 說明 |
---|---|
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 |
必要
查詢中不同實體類型之間使用的邏輯運算子。 預設值為 可能的值如下:
|
動作輸出內容
「執行實體查詢」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
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": ""
}
輸出訊息
「執行實體查詢」動作可以傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Execute Entity Query". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「執行實體查詢」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
執行查詢
使用「執行查詢」動作,在 Microsoft 365 Defender 中執行搜尋查詢。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「執行查詢」動作需要下列參數:
參數 | 說明 |
---|---|
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 |
選填
要傳回的結果數上限。 預設值為 |
動作輸出內容
「執行查詢」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
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": ""
}
]}
輸出訊息
「執行查詢」動作可傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Execute Query". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「執行查詢」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
乒乓
使用 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 實體上執行。
動作輸入內容
「更新事件」動作需要下列參數:
參數 | 說明 |
---|---|
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 - Incident 連接器
使用 Microsoft 365 Defender - Incident 連接器,從 Microsoft 365 Defender 擷取事件和相關快訊的資訊。
動態清單會搭配事件名稱運作。
連接器限制
Microsoft 365 Defender - Incident 連接器會使用 API 要求,並設有嚴格的 API 限制。如要穩定連接器,請將 Max Incidents To Fetch
參數設為 10
,並將 Run Every
參數設為 1 minute
。因為用來擷取快訊的 Microsoft Graph API 端點每分鐘只允許 20 個要求,因此您仍可能達到速率限制。
為避免達到速率限制而遺失資料,連接器會停止處理目前的事件,並等待 90 秒,再處理其他事件。90 秒後,速率限制會恢復為最大值,連接器也會重新處理先前疊代中未正確處理的事件。
連接器輸入內容
Microsoft 365 Defender - Incident 連接器需要下列參數:
在大多數情況下,重新導向的事件可以為空白。
參數 | 說明 |
---|---|
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 |
選用 如果啟用,連接器就會停止追蹤快訊的更新。 預設為停用。 |
Environment Field Name |
選填
包含環境名稱的欄位名稱。 |
Environment Regex Pattern |
選填
要在 使用預設值 如果規則運算式模式為空值或空白,或環境值為空值,最終環境結果就是預設環境。 |
PythonProcessTimeout |
必要
執行目前指令碼的 Python 程序逾時限制 (以秒為單位)。 預設值為 |
Dynamic List Field |
選填
動態名單用於篩選的值。 可能的值為 預設值為 |
Alert Detection Source Filter |
選填
以半形逗號分隔的警報偵測來源清單,例如 |
Alert Service Source Filter |
選填
以半形逗號分隔的警報服務來源清單,例如 |
Disable Overflow |
選用 如果選取這個選項,連接器會在建立快訊時忽略 Google SecOps 溢位機制。 (預設為啟用)。 |
Proxy Server Address |
選用 要使用的 Proxy 伺服器位址。 |
Proxy Username |
選用 用於驗證的 Proxy 使用者名稱。 |
Proxy Password |
選用 用於驗證的 Proxy 密碼。 |
連接器規則
- 連接器支援 Proxy。
- 連接器支援動態清單和封鎖清單。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。