UEBA 類別的風險分析總覽
本文將概略介紹 UEBA 類別的風險分析規則集、必要資料,以及可用於調整各規則集所產生快訊的設定。這些規則集可協助您使用 Google CloudGoogle Cloud 資料,找出環境中的威脅。
規則集說明
UEBA 類別的風險分析提供下列規則集,並依據偵測到的模式類型分組:
驗證
- 使用者登入新裝置:使用者登入新裝置。
- 使用者異常驗證事件:與歷來使用情況相比,單一使用者實體最近發生異常驗證事件。
- 裝置驗證失敗次數:與過往用量相比,單一裝置實體最近的登入嘗試失敗次數過多。
- 使用者驗證失敗:與過去的使用情況相比,單一使用者實體最近嘗試登入失敗的次數較多。
網路流量分析
- 裝置的異常傳入位元組:與過往用量相比,單一裝置實體最近上傳的資料量顯著增加。
- 裝置的異常輸出位元組:與過往用量相比,單一裝置實體最近下載的資料量顯著增加。
- 裝置的總位元組數異常:與過往用量相比,裝置實體最近上傳及下載的資料量顯著增加。
- 使用者異常的傳入位元組數:與歷來用量相比,單一使用者實體最近下載了大量資料。
- 使用者異常總位元組數:與過去的使用量相比,使用者實體最近上傳及下載的資料量大幅增加。
- 使用者暴力破解密碼後成功登入:單一使用者實體從一個 IP 位址多次嘗試驗證特定應用程式,但都失敗,最後成功登入。
同業群組偵測
新建立的使用者出現異常或過多的登入活動:新建立的使用者出現異常或過多的驗證活動。這項功能會使用 AD Context 資料的建立時間。
新建立的使用者出現異常或過多的可疑動作:新建立的使用者出現異常或過多的活動 (包括但不限於 HTTP 遙測、程序執行和群組修改)。這項功能會使用 AD Context 資料的建立時間。
可疑動作
- 裝置建立過多帳戶:裝置實體建立多個新使用者帳戶。
- 使用者產生過多快訊:防毒軟體或端點裝置針對使用者實體回報大量安全性快訊 (例如「連線已遭封鎖」、「偵測到惡意軟體」),遠超出歷史模式。這些事件的
security_result.action
UDM 欄位會設為BLOCK
。
根據資料遺失防護功能偵測到的結果
- 異常或過多的程序,具備資料竊取功能:與資料竊取功能相關的程序出現異常或過多的活動,例如鍵盤側錄、螢幕截圖和遠端存取。這項功能會使用 VirusTotal 的檔案中繼資料擴充功能。
UEBA 類別的風險分析所需資料
本節將詳細說明各類規則集需要哪些資料,才能發揮最佳成效。UEBA 偵測功能可搭配所有支援的預設剖析器使用,但使用下列特定資料類型可發揮最大效益。如需支援的預設剖析器完整清單,請參閱「支援的記錄檔類型和預設剖析器」。
驗證
如要使用這些規則集,請從 Azure AD 目錄稽核 (AZURE_AD_AUDIT
) 或 Windows 事件 (WINEVTLOG
) 收集記錄資料。
網路流量分析
如要使用任何規則集,請收集可擷取網路活動的記錄資料。例如 FortiGate (FORTINET_FIREWALL
)、Check Point (CHECKPOINT_FIREWALL
)、Zscaler (ZSCALER_WEBPROXY
)、CrowdStrike Falcon (CS_EDR
) 或 Carbon Black (CB_EDR
) 等裝置。
同業群組偵測
如要使用這些規則集,請從 Azure AD 目錄稽核 (AZURE_AD_AUDIT
) 或 Windows 事件 (WINEVTLOG
) 收集記錄資料。
可疑動作
這個群組中的規則集各自使用不同類型的資料。
裝置建立過多帳戶規則集
如要使用這組規則,請從 Azure AD 目錄稽核 (AZURE_AD_AUDIT
) 或 Windows 事件 (WINEVTLOG
) 收集記錄資料。
使用者規則集發出過多快訊
如要使用這組規則,請收集記錄資料,擷取端點活動或稽核資料,例如 CrowdStrike Falcon (CS_EDR
)、Carbon Black (CB_EDR
) 或 Azure AD 目錄稽核 (AZURE_AD_AUDIT
) 記錄的資料。
根據資料遺失防護功能偵測到的結果
如要使用任何規則集,請收集記錄程序和檔案活動的記錄資料,例如 CrowdStrike Falcon (CS_EDR
)、Carbon Black (CB_EDR
) 或 SentinelOne EDR (SENTINEL_EDR
) 記錄的資料。
這個類別中的規則集取決於具有下列 metadata.event_type
值的事件:PROCESS_LAUNCH
、PROCESS_OPEN
、PROCESS_MODULE_LOAD
。
微調這個類別的規則組合傳回的快訊
您可以使用規則排除項目,減少規則或規則集產生的偵測次數。
規則排除條件會定義用於排除事件的條件,以免規則集或規則集中的特定規則評估事件。建立一或多項規則排除項目,有助於減少偵測量。如要瞭解如何操作,請參閱「設定規則排除條件」。
UEBA 類別的風險分析規則範例
以下範例說明如何建立規則,針對風險分數大於 100
的任何實體主機名稱產生偵測結果:
rule EntityRiskScore {
meta:
events:
$e1.principal.hostname != ""
$e1.principal.hostname = $hostname
$e2.graph.entity.hostname = $hostname
$e2.graph.risk_score.risk_window_size.seconds = 86400 // 24 hours
$e2.graph.risk_score.risk_score >= 100
// Run deduplication across the risk score.
$rscore = $e2.graph.risk_score.risk_score
match:
// Dedup on hostname and risk score across a 4 hour window.
$hostname, $rscore over 4h
outcome:
// Force these risk score based rules to have a risk score of zero to
// prevent self feedback loops.
$risk_score = 0
condition:
$e1 and $e2
}
這個範例規則也會使用比對區段執行自我重複資料刪除作業。如果系統可能觸發規則偵測,但主機名稱和風險分數在 4 小時內維持不變,就不會建立新的偵測結果。
實體風險分數規則的風險時間範圍只能是 24 小時或 7 天 (分別為 86,400 或 604,800 秒)。如果規則中未納入風險時間範圍大小,規則會傳回不準確的結果。
實體風險評分資料與實體內容資料會分開儲存。如要在規則中同時使用這兩者,規則必須有兩個不同的實體事件,一個用於實體內容,另一個用於實體風險評分,如下列範例所示:
rule EntityContextAndRiskScore {
meta:
events:
$log_in.metadata.event_type = "USER_LOGIN"
$log_in.principal.hostname = $host
$context.graph.entity.hostname = $host
$context.graph.metadata.entity_type = "ASSET"
$risk_score.graph.entity.hostname = $host
$risk_score.graph.risk_score.risk_window_size.seconds = 604800
match:
$host over 2m
outcome:
$entity_risk_score = max($risk_score.graph.risk_score.normalized_risk_score)
condition:
$log_in and $context and $risk_score and $entity_risk_score > 100
}
後續步驟
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。