UEBA 風險分析
本文將概略介紹 UEBA 類別的風險分析規則集、必要資料,以及可用於調整各規則集所產生快訊的設定。這些規則集會評估支援的記錄來源,協助您找出威脅。
規則集說明
UEBA 類別的風險分析提供下列規則集,並依偵測到的模式類型分組:
驗證
- 使用者登入新裝置:使用者登入新裝置。
- 使用者異常驗證事件:與歷來使用情況相比,單一使用者實體最近發生異常驗證事件。
- 裝置驗證失敗:與過往用量相比,單一裝置實體最近嘗試登入失敗的次數過多。
- 使用者驗證失敗:與過去的使用情況相比,單一使用者實體最近嘗試登入失敗的次數較多。
網路流量分析
- 裝置的異常傳入位元組數:與過往用量相比,近期上傳至單一裝置實體的資料量顯著增加。
- 裝置的異常輸出位元組:與過往用量相比,單一裝置實體最近下載的資料量顯著增加。
- 裝置的異常位元組總數:與過往用量相比,裝置實體最近上傳及下載的資料量大幅增加。
- 使用者異常的傳入位元組數:與歷來用量相比,單一使用者實體最近下載了大量資料。
- 使用者異常的總位元組數:與過去的使用量相比,使用者實體最近上傳及下載了大量資料。
- 使用者先嘗試暴力破解,然後成功登入:單一使用者實體從一個 IP 位址多次嘗試驗證特定應用程式,但都失敗,最後成功登入。
同業群組偵測
新建立的使用者出現異常或過多的登入次數:新建立的使用者出現異常或過多的驗證活動。這項資料會使用 AD 比對內容資料的建立時間。
新建立的使用者出現異常或過多的可疑動作:新建立的使用者出現異常或過多的活動 (包括但不限於 HTTP 遙測、程序執行和群組修改)。這項資料會使用廣告比對內容資料中的建立時間。
可疑動作
- 裝置建立過多帳戶:裝置實體建立多個新使用者帳戶。
- 使用者收到過多快訊:防毒軟體或端點裝置針對使用者實體回報大量安全快訊 (例如「連線已遭封鎖」、「偵測到惡意軟體」),遠超出歷史模式。這些事件的
security_result.actionUDM 欄位會設為BLOCK。
以資料遺失防護為基礎的偵測
- 異常或過多的程序,具備資料竊取功能:與資料竊取功能 (例如鍵盤側錄、螢幕截圖和遠端存取) 相關的程序出現異常或過多的活動。這項功能會使用 VirusTotal 提供的檔案中繼資料擴充功能。
UEBA 類別的風險分析所需資料
本節將詳細說明各類規則集需要哪些資料,才能發揮最佳成效。UEBA 偵測功能可搭配所有支援的預設剖析器使用,但使用下列特定資料類型可發揮最大效益。如需支援的預設剖析器完整清單,請參閱「支援的記錄檔類型和預設剖析器」。
驗證
如要使用任何規則集,請從 Azure AD 目錄稽核 (AZURE_AD_AUDIT) 或 Windows 事件 (WINEVTLOG) 收集記錄資料。
如要使用 WINEVTLOG,您必須設定資料收集設定,在 Security 事件記錄 Channel 中加入下列 Windows Event IDs。
這些事件會直接對應至偵測引擎使用的 Event types (例如 USER_LOGIN 或 PROCESS_LAUNCH)。
Windows 活動 ID 規定
| 事件類型 | Windows 事件 ID |
|---|---|
| USER_LOGIN | 529, 4624, 4625, 4626, 4648, 4672, 4768, 4769, 4770, 4771, 4777, 4820, 4821, 4964 |
| USER_CREATION | 4720 |
| NETWORK_CONNECTION | 4096, 4097, 4321, 5156, 5632, 5633, 5157 |
| GROUP_MODIFICATION | 4728, 4729, 4732, 4733, 4735, 4737, 4745, 4746, 4747, 4750, 4751, 4752, 4755, 4756, 4757, 4760, 4761, 4762, 4764, 4784, 4785, 4786, 4787, 4788, 4791 |
| PROCESS_LAUNCH | 4688 |
| PROCESS_OPEN | 4663, 4670, 4691, 8002 |
網路流量分析
如要使用任何規則集,請收集記錄資料,擷取網路活動。例如 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) 記錄的資料。
欄位依附元件
本節說明 Google SecOps UEBA 規則使用的指標和維度欄位。
指標依附元件
下表列出指標,以及定義事件的對應 UDM 搜尋查詢,這些事件會計入各項指標。
| 指標 | 有助於指標的事件 UDM 搜尋查詢 |
|---|---|
AUTH_ATTEMPTS_FAIL |
metadata.event_type = "USER_LOGIN" |
AUTH_ATTEMPTS_SUCCESS |
metadata.event_type = "USER_LOGIN" |
AUTH_ATTEMPTS_TOTAL |
metadata.event_type = "USER_LOGIN" |
DNS_BYTES_OUTBOUND |
network.sent_bytes > 0 |
DNS_QUERIES_FAIL |
network.dns.id > 0 |
DNS_QUERIES_SUCCESS |
network.dns.id > 0 |
DNS_QUERIES_TOTAL |
network.dns.id > 0 |
FILE_EXECUTIONS_FAIL |
metadata.event_type = "PROCESS_LAUNCH" |
FILE_EXECUTIONS_SUCCESS |
metadata.event_type = "PROCESS_LAUNCH" |
FILE_EXECUTIONS_TOTAL |
metadata.event_type = "PROCESS_LAUNCH" |
HTTP_QUERIES_FAIL |
network.http.method != "" |
HTTP_QUERIES_SUCCESS |
network.http.method != "" |
HTTP_QUERIES_TOTAL |
network.http.method != "" |
NETWORK_BYTES_INBOUND |
network.received_bytes > 0 |
NETWORK_BYTES_OUTBOUND |
network.sent_bytes > 0 |
NETWORK_BYTES_TOTAL |
(network.received_bytes > 0 AND network.received_bytes < 1000000000000000) |
NETWORK_FLOWS_INBOUND |
network.received_bytes > 0 |
NETWORK_FLOWS_OUTBOUND |
network.sent_bytes > 0 |
NETWORK_FLOWS_TOTAL |
(network.received_bytes > 0 AND network.received_bytes < 1000000000000000) |
RESOURCE_READ_FAIL |
(metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ") |
RESOURCE_READ_SUCCESS |
(metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ") |
RESOURCE_READ_TOTAL |
(metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ") |
RESOURCE_WRITTEN_FAIL |
(metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION") |
RESOURCE_WRITTEN_SUCCESS |
(metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION") |
RESOURCE_WRITTEN_TOTAL |
(metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION") |
維度依附元件
下表列出可供篩選或分組的維度和對應 UDM 欄位選項。
| 維度 | 欄位選項 |
|---|---|
| 主要裝置 | principal.asset.asset_idprincipal.asset.hostnameprincipal.asset.ipprincipal.asset.macprincipal.asset.product_object_id |
| 目標裝置 | target.asset.asset_idtarget.asset.hostnametarget.asset.iptarget.asset.mactarget.asset.product_object_id |
| 主要使用者 | principal.user.email_addressesprincipal.user.employee_idprincipal.user.product_object_idprincipal.user.useridprincipal.user.windows_sid |
| 目標使用者 | target.user.email_addressestarget.user.employee_idtarget.user.product_object_idtarget.user.useridtarget.user.windows_sid |
| 目標服務 | target.application |
| 目標 IP | target.ip |
| 主體程序檔案路徑 | principal.process.file.full_path |
| 主體程序檔案雜湊 | principal.process.file.sha256 |
| 主要檔案雜湊 | principal.file.sha256 |
| 主要國家/地區 | principal.ip_geo_artifact.location.country_or_region |
| 安全類別 | security_result.category |
| 主要網路機構名稱 | principal.ip_geo_artifact.network.organization_name |
| 目標網路機構名稱 | target.ip_geo_artifact.network.organization_name |
| 用戶端憑證雜湊 | network.tls.client.certificate.sha256 |
| DNS 查詢類型 | network.dns.questions.type |
| DNS 網域 | network.dns_domain |
| HTTP 使用者代理程式 | network.http.user_agent |
| 事件類型 | metadata.event_type |
| 作業系統 | principal.platform |
調整這個類別中規則集傳回的快訊
您可以使用規則排除項目,減少規則或規則集產生的偵測次數。
規則排除條件會定義用於排除事件的條件,以免規則集或規則集中的特定規則評估事件。建立一或多項規則排除項目,有助於減少偵測量。如需操作說明,請參閱「設定規則排除條件」。
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 專業人員尋求解答。