搜尋實體比對內容資料

支援的國家/地區:

使用者可以在 Google Security Operations 帳戶中搜尋及查看與實體相關的背景事件,藉此加強安全調查和事件應變。這項功能與僅限於標準統合式資料模型 (UDM) 事件結構定義的搜尋不同,可滿足搜尋 UDM 事件資料以外內容的需求,包括 UDM 實體背景資訊,並深入瞭解安全事件。

主要優點

  • 資安分析師和威脅獵人可以查詢實體的脈絡資訊。
  • 協助進行根本原因分析、威脅搜尋和鑑識。
  • 使用者可以對實體背景資訊執行統計搜尋,透過遙測分析瞭解遙測模式和受影響的實體。

您可以透過實體背景資訊,以以下方式從搜尋結果中取得洞察:

  • 使用 UDM 實體欄位名稱進行搜尋:使用 UDM 實體欄位名稱建構搜尋查詢。舉例來說,如要找出與特定主機名稱相關聯的所有內容事件,請使用 graph.entity.hostname 建立搜尋。
  • 存取「總覽」分頁:「總覽」分頁會根據使用者輸入的查詢,顯示搜尋結果中找到的實體概要摘要。「總覽」頁面會顯示實體類型的資訊,例如 DOMAIN_NAMEIP_ADDRESSASSETUSERFILEGROUPRESOURCE
  • 使用「實體」分頁:「實體」分頁會列出收到的所有實體內容事件,包括「隨時間變化的趨勢」、「快照篩選器」、「匯總」和「事件」等子元件。實體會分為「有時間性」和「無時間性」實體,並顯示在不同分頁中。
  • 查看匯總資料:系統會顯示欄位的匯總資料,與 UDM 事件搜尋類似。匯總資料會進一步分類為情境類型:實體情境、衍生情境和全域情境。

實體背景資訊圖表 Search Console

實體內容圖 (ECG) Search Console 提供多個分頁,協助您分析實體比對內容資料:

  • 「結果」分頁:顯示 Timed DataTimeless Data

    • 有時間性的資料:顯示在擷取期間有 metadata.interval.end_time 值的實體。
    • 無時間性資料:顯示 metadata.interval.end_time 沒有值的實體。

    Search Console 最多會顯示 1 萬筆有時間或無時間的資料項目。

  • 「快訊」分頁:顯示與搜尋結果中實體相關的任何快訊。

  • 「總覽」分頁:顯示搜尋查詢中實體的相關資訊。

  • 活動變化圖

    • 顯示每個時間間隔內有效的「實體」和「實體內容」數量。你可以使用滑桿放大或縮小時間範圍。

    • 變更的實體總數:實體內容圖 (ECG) 會在有效期間內,將資料儲存在時間值區中。如果實體保持有效 (根據 end_time),系統也會將這項資料複製到下一個時間值區。每當實體屬性在兩個時間值區之間變更,這個圖表就會更新。

用途:調查遭入侵的使用者帳戶

設想以下情境:安全分析師需要調查可能遭入侵的使用者帳戶 (email@company.com)。請按照下列步驟進行調查:

  1. 找出遭盜用的使用者:系統發出快訊,指出使用者 email@company.com 的帳戶可疑。

  2. 收集實體內容資訊:取得使用者的背景資料,瞭解範圍和影響。

  3. 執行查詢:使用在搜尋中使用實體背景資訊執行下列查詢:

    • graph.entity.user.email_addresses = "email@company.com" 擷取使用者資訊。
    • graph.entity.user.email_addresses = "email@company.com" AND graph.metadata.product_name = "Google Cloud Compute Context",即可查看產品名稱和其他中繼資料。
  4. 分析「總覽」分頁:「總覽」分頁會顯示使用者的實體摘要,包括:

    • 檢查 First Seen HourLast Seen Hour 時間戳記。
  • 查看主機名稱、IP 位址和 MAC 位址 (如有)。
  • 檢查硬體型號、OS 平台和平台版本。
  1. 檢查「事件」分頁:查看與這位使用者相關的事件,包括登入嘗試和異常情況。

  2. 查看匯總資料:找出實體比對內容資料中的模式和異常狀況,這些資料會分配到實體內容、衍生內容和全域內容。

如要搜尋實體比對內容資料,請在搜尋查詢中使用 UDM 實體欄位名稱:

  • graph.entity.hostname
  • graph.entity.ip = "8.8.8.8" and graph.metadata.entity_type = "ASSET"

搜尋結果會顯示實體的重要資訊,包括:

  • 實體中繼資料
  • 指標 (First Seen HourLast Seen Hour)
  • 關係 (EntityDirectionEntity_labelEntity_typeRelationship)
  • 視實體類型而定,特定欄位,例如資產的 Principal_ip、使用者的 Mail_id、雜湊/檔案的 File_name,以及網域的 Domain_nameIP_address

搜尋中的實體背景資訊範例

本節提供實用範例,說明如何運用 UDM 實體背景資訊功能分析實體統計資料。

如要查看可用的脈絡來源和類型,請在 UDM 搜尋中執行下列 UDM 實體統計資料搜尋:

graph.metadata.source_type = $sourceType
graph.metadata.entity_type = $entityType
match:
  $sourceType, $entityType
outcome:
  $total = count(graph.metadata.product_entity_id)
order:
  $sourceType, $total desc
limit:
  100

時間挑選器會顯示實體圖表中的有效資料,而非比對內容資料的擷取時間。

由於 UDM 實體搜尋功能使用標準 UDM 搜尋介面,因此您可以運用各種功能,例如「彙整」面板 (查看最高或最低值)、結果表格,以及 UDM 統計資料展開結果。

範例:查看不同ENTITY_TYPE

如要擴展 UDM 實體搜尋功能,您可以加入記錄來源、命名空間和結果陣列,顯示觀察到的不同 ENTITY_TYPE,如下所示:

graph.metadata.source_type = "ENTITY_CONTEXT"
$logType = strings.to_upper(graph.metadata.event_metadata.base_labels.log_types)
$namespace = strings.to_upper(graph.metadata.event_metadata.base_labels.namespaces)
match:
  $logType, $namespace
outcome:
  $total = count(graph.metadata.product_entity_id)
  $entityTypes = array_distinct(graph.metadata.entity_type)
order:
  $logType, $total desc
limit:
  100

範例:調整實體集

您可以使用 UDM 搜尋樞紐功能,縮小特定實體集的範圍。 接著,這項修正會產生類似下列內容的 YARA-L 查詢:

graph.metadata.source_type = "ENTITY_CONTEXT"
$logType = strings.to_upper( graph.metadata.event_metadata.base_labels.log_types )
$namespace = strings.to_upper( graph.metadata.event_metadata.base_labels.namespaces )
AND strings.to_upper( graph.metadata.event_metadata.base_labels.log_types ) = "WINDOWS_AD"
AND strings.to_upper( graph.metadata.event_metadata.base_labels.namespaces ) = "ACME"

衍生脈絡

Google SecOps 提供下列類型的衍生情境:

  • 各「ENTITY_TYPE」的「first_seen」和「last_seen」時間戳記
  • Prevalence:存取特定 ENTITY_TYPE 的資產數量

First Seen HourLast Seen Hour 時間戳記

Google SecOps 會對傳入資料執行統計分析,並使用 first_seenlast_seen 時間戳記,擴充實體背景資訊記錄:

  • first_seen_time 欄位會擷取實體首次出現在客戶環境中的時間 (以小時為單位)。
  • last_seen_time 欄位會記錄最近一次觀察到該實體的小時。

過去 7 天內首次看到的使用者:

graph.metadata.entity_type = "USER"
graph.entity.user.userid != ""
graph.entity.user.first_seen_time.hours >= timestamp.current_hours()-(86400 * 7)

過去 7 天內首次出現的網域:

graph.metadata.source_type = "DERIVED_CONTEXT"
graph.metadata.entity_type = "DOMAIN_NAME"
//optional, filter to only return FQDN
graph.entity.domain.name = /^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/
graph.entity.domain.first_seen_time.hours >= timestamp.current_hours()-(86400 * 7)

過去 7 天內觀察到的檔案 (雜湊):

graph.metadata.source_type = "DERIVED_CONTEXT"
graph.metadata.entity_type = "FILE"
//graph.entity.file.md5 != ""
//graph.entity.file.sha1 != ""
graph.entity.file.sha256 != ""
graph.entity.file.first_seen_time.hours >= timestamp.current_hours() - (86400 * 7)

ENTITY_TYPE 代表 FILE 雜湊,例如 entity.file.hash。 在 hash 物件中,類型可以是下列其中一種:

  • md5
  • sha1
  • sha256

如要搜尋特定雜湊,您可以針對指定雜湊類型執行 UDM 實體搜尋:

// This will search ENTITY, DERIVED, and GLOBAL Source Types
graph.metadata.entity_type = "FILE"
graph.entity.file.sha256 = "eb5db1feadda5351c3b8fc0770e9f4c173484df5dc4a785bd1bdce7806a9e498"

IP 位址

衍生 ENTITY_TYPESIP_ADDRESS 可代表內部或外部實體。

下列 UDM 實體統計資料搜尋會找出最近觀察到的 IP_ADDRESSES,並使用彙整函式 (在結果部分) 依 CIDR 區塊計算這些項目:

graph.metadata.source_type = "DERIVED_CONTEXT"
graph.metadata.entity_type = "IP_ADDRESS"
//note, for IP addresses the first seen is under artifact, not ip
graph.entity.artifact.first_seen_time.hours >= timestamp.current_hours()-(86400 * 7)
outcome:
  $total = count(graph.metadata.product_entity_id)
  $classA = sum(if(net.ip_in_range_cidr(graph.entity.ip, "10.0.0.0/8"),1,0))
  $classB = sum(if(net.ip_in_range_cidr(graph.entity.ip, "172.16.0.0/12"),1,0))
  $classC = sum(if(net.ip_in_range_cidr(graph.entity.ip, "192.168.0.0/16"),1,0))
  $classD = sum(if(net.ip_in_range_cidr(graph.entity.ip, "224.0.0.0/4"),1,0))
  // we shouldn't see results here…
  $classE = sum(if(net.ip_in_range_cidr(graph.entity.ip, "240.0.0.0/4"),1,0))
  $thisNetwork = sum(if(net.ip_in_range_cidr(graph.entity.ip, "0.0.0.0/8"),1,0))
  $loopback = sum(if(net.ip_in_range_cidr(graph.entity.ip, "127.0.0.0/8"),1,0))
  $linklocal = sum(if(net.ip_in_range_cidr(graph.entity.ip, "169.254.0.0/16"),1,0))
  $benchmark = sum(if(net.ip_in_range_cidr(graph.entity.ip, "198.18.0.0/15"),1,0))
  $cgnat = sum(if(net.ip_in_range_cidr(graph.entity.ip, "10.64.0.0/10"),1,0))

如要進一步調查異常或非預期的範圍,可以執行 UDM 實體搜尋:

graph.metadata.source_type = "DERIVED_CONTEXT"
graph.metadata.entity_type = "IP_ADDRESS"
net.ip_in_range_cidr(graph.entity.ip, "198.18.0.0/15")

出現次數

普及度一律為 DERIVED_CONTEXT 類型。

以下 UDM 實體搜尋會找出很少觀察到的網域名稱。在查詢的時間範圍 (day_max = 1) 內,這些網域每天最多與一個不同的素材資源建立關聯,且在過去 10 天內 (rolling_max = 1),最多與一個不同的素材資源建立關聯。

這個模式有助於偵測環境中互動有限的網域:

graph.metadata.source_type = "DERIVED_CONTEXT"
graph.metadata.entity_type = "DOMAIN_NAME"
//optional, filter to only return specific TLDs where the FQDN is more than X characters
//graph.entity.domain.name = /^.{40,}\.(?:sx|cc|st|ac|lc|wd|vg|tv|cm|gd)$/
graph.entity.domain.prevalence.rolling_max = 1
graph.entity.domain.prevalence.day_max = 1

或者,您也可以將這項搜尋轉換為匯總 UDM 實體統計資料搜尋,並匯總結果:

graph.metadata.source_type = "DERIVED_CONTEXT"
graph.metadata.entity_type = "DOMAIN_NAME"
//optional, filter to only return FQDN
graph.entity.domain.name = /^.{40,}\.(?:sx|cc|st|ac|lc|wd|vg|tv|cm|gd)$/
$domain = graph.entity.domain.name
$length = strings.length(graph.entity.domain.name)
$tld = strings.extract_domain(graph.entity.domain.name)
graph.entity.domain.prevalence.day_max = 1
graph.entity.domain.prevalence.rolling_max = 1
match:
  $domain, $tld, $length
limit:
  10

基本 UDM 實體欄位搜尋

以下是根據可用來源,在 Google SecOps 中使用「在搜尋中使用實體背景資訊」功能的其他範例:

  • graph.entity.hostname
  • graph.entity.ip = "8.8.8.8" and graph.metadata.entity_type = "ASSET"
  • principal.ip
  • principal.hostname="baz"
  • principal.ip="1.2.3.4"
  • network.dns.questions.name="youtube.com"

從實體欄位透視

使用實體欄位透視及探索相關資料。樞紐欄位範例如下:

  • network.email.to
  • network.email.cc
  • principal.process.file.fileMetadata.pe.importHash
  • principal.process.file.sha256
  • network.dns.questions.name

瞭解動態欄位

來源會參照前置字串為 additional 等的動態結構化欄位。您可以在 UDM 事件中搜尋這些欄位。

存取控管注意事項

系統對全域環境資料設有 50 個事件的限制。全域和範圍使用者都能查看資料。

下列來源會提供全域比對內容資料:

全球比對內容資料 使用者可查看或互動的資料 哪些人可以看見
安全瀏覽 - 搜尋
- 規則
所有使用者
VirusTotal 關係 - 搜尋
- 規則
所有使用者
WHOIS - 搜尋
- 規則
所有使用者
Uppercase - 搜尋
- 規則
所有使用者
開放原始碼情報 IOC (OPEN_SOURCE_INTEL_IOC) - 搜尋
- 規則
所有使用者
Mandiant Active Breach IoC (MANDIANT_ACTIVE_BREACH_IOC) - IoC 比對結果 所有使用者。系統會篩選結果,只顯示與使用者資料存取權範圍內事件相關聯的 IOC。
Mandiant Fusion IoC (MANDIANT_FUSION_IOC) - 搜尋
- 規則
- 新出現的威脅
所有使用者

限制

  • 數量限制:不論是限時或無限時資料,累計結果數量上限皆為 100 萬。
  • 全域比對內容資料:敏感全域比對內容資料 (例如 UPPERCASE_VT_PROTECTEDMANDIANT_ACTIVE_BREACH_IOCMANDIANT_FUSION_IOCVIRUS_TOTAL_CONNECTIONS) 的上限為 50 列。
  • 資料一致性:最後上線時間資料最多可能會延遲 2 小時。相關實體只會顯示活動中列出的部分實體。
  • 不支援的功能

    • 實體欄位的反向查詢、分組欄位搜尋、低普及度和熱度圖。
    • 您無法在實體內容和事件查詢之間進行聯結。

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。