UEBA 風險分析

支援的國家/地區:

本文將概略介紹 UEBA 類別的風險分析規則集、必要資料,以及可用於調整各規則集所產生快訊的設定。這些規則集會評估支援的記錄來源,協助您找出威脅。

規則集說明

UEBA 類別的風險分析提供下列規則集,並依偵測到的模式類型分組:

驗證

  • 使用者登入新裝置:使用者登入新裝置。
  • 使用者異常驗證事件:與歷來使用情況相比,單一使用者實體最近發生異常驗證事件。
  • 裝置驗證失敗:與過往用量相比,單一裝置實體最近嘗試登入失敗的次數過多。
  • 使用者驗證失敗:與過去的使用情況相比,單一使用者實體最近嘗試登入失敗的次數較多。

網路流量分析

  • 裝置的異常傳入位元組數:與過往用量相比,近期上傳至單一裝置實體的資料量顯著增加。
  • 裝置的異常輸出位元組:與過往用量相比,單一裝置實體最近下載的資料量顯著增加。
  • 裝置的異常位元組總數:與過往用量相比,裝置實體最近上傳及下載的資料量大幅增加。
  • 使用者異常的傳入位元組數:與歷來用量相比,單一使用者實體最近下載了大量資料。
  • 使用者異常的總位元組數:與過去的使用量相比,使用者實體最近上傳及下載了大量資料。
  • 使用者先嘗試暴力破解,然後成功登入:單一使用者實體從一個 IP 位址多次嘗試驗證特定應用程式,但都失敗,最後成功登入。

同業群組偵測

  • 新建立的使用者出現異常或過多的登入次數:新建立的使用者出現異常或過多的驗證活動。這項資料會使用 AD 比對內容資料的建立時間。

  • 新建立的使用者出現異常或過多的可疑動作:新建立的使用者出現異常或過多的活動 (包括但不限於 HTTP 遙測、程序執行和群組修改)。這項資料會使用廣告比對內容資料中的建立時間。

可疑動作

  • 裝置建立過多帳戶:裝置實體建立多個新使用者帳戶。
  • 使用者收到過多快訊:防毒軟體或端點裝置針對使用者實體回報大量安全快訊 (例如「連線已遭封鎖」、「偵測到惡意軟體」),遠超出歷史模式。這些事件的 security_result.action UDM 欄位會設為 BLOCK

以資料遺失防護為基礎的偵測

  • 異常或過多的程序,具備資料竊取功能:與資料竊取功能 (例如鍵盤側錄、螢幕截圖和遠端存取) 相關的程序出現異常或過多的活動。這項功能會使用 VirusTotal 提供的檔案中繼資料擴充功能。

UEBA 類別的風險分析所需資料

本節將詳細說明各類規則集需要哪些資料,才能發揮最佳成效。UEBA 偵測功能可搭配所有支援的預設剖析器使用,但使用下列特定資料類型可發揮最大效益。如需支援的預設剖析器完整清單,請參閱「支援的記錄檔類型和預設剖析器」。

驗證

如要使用任何規則集,請從 Azure AD 目錄稽核 (AZURE_AD_AUDIT) 或 Windows 事件 (WINEVTLOG) 收集記錄資料。

如要使用 WINEVTLOG,您必須設定資料收集設定,在 Security 事件記錄 Channel 中加入下列 Windows Event IDs。 這些事件會直接對應至偵測引擎使用的 Event types (例如 USER_LOGINPROCESS_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"
AND security_result.action != "UNKNOWN_ACTION"
AND security_result.action != "ALLOW"
AUTH_ATTEMPTS_SUCCESS metadata.event_type = "USER_LOGIN"
AND (security_result.action = "UNKNOWN_ACTION" OR security_result.action = "ALLOW")
AUTH_ATTEMPTS_TOTAL metadata.event_type = "USER_LOGIN"
AND security_result.action >= "UNKNOWN_ACTION"
DNS_BYTES_OUTBOUND network.sent_bytes > 0
AND (network.ip_protocol = "UDP" AND target.port = 53)
OR (network.ip_protocol = "TCP" AND (target.port = 53 OR target.port=3000))
DNS_QUERIES_FAIL network.dns.id > 0
AND network.dns.response_code != 0
DNS_QUERIES_SUCCESS network.dns.id > 0
AND network.dns.response_code = 0
DNS_QUERIES_TOTAL network.dns.id > 0
FILE_EXECUTIONS_FAIL metadata.event_type = "PROCESS_LAUNCH"
AND security_result.action != "ALLOW"
FILE_EXECUTIONS_SUCCESS metadata.event_type = "PROCESS_LAUNCH"
AND security_result.action = "ALLOW"
FILE_EXECUTIONS_TOTAL metadata.event_type = "PROCESS_LAUNCH"
HTTP_QUERIES_FAIL network.http.method != ""
AND (network.http.response_code >= 400 OR network.http.response_code = 0)
HTTP_QUERIES_SUCCESS network.http.method != ""
AND network.http.response_code < 400
HTTP_QUERIES_TOTAL network.http.method != ""
NETWORK_BYTES_INBOUND network.received_bytes > 0
AND network.received_bytes < 1000000000000000
NETWORK_BYTES_OUTBOUND network.sent_bytes > 0
AND network.sent_bytes < 1000000000000000
NETWORK_BYTES_TOTAL (network.received_bytes > 0 AND network.received_bytes < 1000000000000000)
OR (network.sent_bytes > 0 AND network.sent_bytes < 1000000000000000)
NETWORK_FLOWS_INBOUND network.received_bytes > 0
AND network.received_bytes < 1000000000000000
NETWORK_FLOWS_OUTBOUND network.sent_bytes > 0
AND network.sent_bytes < 1000000000000000
NETWORK_FLOWS_TOTAL (network.received_bytes > 0 AND network.received_bytes < 1000000000000000)
OR (network.sent_bytes > 0 AND network.sent_bytes < 1000000000000000)
RESOURCE_READ_FAIL (metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ")
AND security_result.action != "UNKNOWN_ACTION"
AND security_result.action != "ALLOW"
RESOURCE_READ_SUCCESS (metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ")
AND (security_result.action = "UNKNOWN_ACTION" OR security_result.action = "ALLOW")
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")
AND security_result.action != "UNKNOWN_ACTION"
AND security_result.action != "ALLOW"
RESOURCE_WRITTEN_SUCCESS (metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION")
AND (security_result.action = "UNKNOWN_ACTION" OR security_result.action = "ALLOW")
RESOURCE_WRITTEN_TOTAL (metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION")

維度依附元件

下表列出可供篩選或分組的維度和對應 UDM 欄位選項。

維度 欄位選項
主要裝置 principal.asset.asset_id
principal.asset.hostname
principal.asset.ip
principal.asset.mac
principal.asset.product_object_id
目標裝置 target.asset.asset_id
target.asset.hostname
target.asset.ip
target.asset.mac
target.asset.product_object_id
主要使用者 principal.user.email_addresses
principal.user.employee_id
principal.user.product_object_id
principal.user.userid
principal.user.windows_sid
目標使用者 target.user.email_addresses
target.user.employee_id
target.user.product_object_id
target.user.userid
target.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 專業人員尋求解答。