Melakukan penelusuran untuk data konteks entity
Fitur Konteks Entity di Penelusuran meningkatkan investigasi keamanan dan respons insiden dengan memungkinkan pengguna menelusuri dan melihat peristiwa konteks yang terkait dengan entity dalam akun Google Security Operations mereka. Tidak seperti penelusuran yang terbatas pada skema peristiwa Unified Data Model (UDM) standar, fitur ini mengatasi kebutuhan untuk menelusuri data peristiwa di luar UDM, termasuk konteks entity UDM, dan memberikan insight yang lebih mendalam tentang insiden keamanan.
Manfaat utama
- Analis keamanan dan pemburu ancaman dapat membuat kueri informasi kontekstual tentang entity.
- Membantu analisis akar masalah, perburuan ancaman, dan forensik.
- Pengguna dapat menjalankan penelusuran statistik pada konteks entity untuk memahami pola telemetri dan entity yang terpengaruh melalui analisis telemetri.
Menggunakan Konteks Entity di Penelusuran
Anda dapat menggunakan konteks entity untuk mendapatkan insight dari hasil penelusuran dengan cara berikut:
- Menelusuri menggunakan entity UDM nama kolom: Buat kueri penelusuran menggunakan nama kolom entity UDM. Misalnya, untuk menemukan semua peristiwa konteks yang terkait dengan nama host tertentu, buat penelusuran menggunakan
graph.entity.hostname. - Mengakses tab Ringkasan: Tab Ringkasan memberikan ringkasan tingkat tinggi tentang entity
yang ditemukan dalam penelusuran Anda, dengan memanfaatkan informasi dari kueri yang dimasukkan pengguna untuk menampilkan
informasi. Halaman Ringkasan menampilkan informasi untuk jenis entity, seperti
DOMAIN_NAME,IP_ADDRESS,ASSET,USER,FILE,GROUP, danRESOURCE. - Menggunakan tab Entity: Tab Entity mencantumkan semua peristiwa konteks entity yang diterima, termasuk subkomponen seperti Tren dari Waktu ke Waktu, Filter Snapshot, Agregasi, dan Peristiwa. Entity dikategorikan ke dalam berwaktu dan tanpa waktu entity, yang ditampilkan di tab terpisah.
- Melihat agregat: Agregat ditampilkan untuk kolom, mirip dengan penelusuran peristiwa UDM Agregasi selanjutnya dikategorikan ke dalam jenis konteks: Konteks Entity, Konteks Turunan, dan Konteks Global.
Search Console Grafik Konteks Entity
Search Console Grafik Konteks Entity (ECG) menyediakan beberapa tab untuk membantu Anda menganalisis data konteks entity:
Tab Hasil: Menampilkan
Timed DatadanTimeless Data.- Data Berwaktu: Menampilkan entity yang memiliki nilai untuk
metadata.interval.end_timeselama penyerapan. - Timeless Data: Menampilkan entity yang tidak memiliki nilai untuk
metadata.interval.end_time.
Search Console menampilkan maksimum 10 ribu entri data berwaktu atau tanpa waktu.
- Data Berwaktu: Menampilkan entity yang memiliki nilai untuk
Tab Pemberitahuan: Menampilkan pemberitahuan yang terkait dengan entity yang ditemukan dalam penelusuran.
Tab Ringkasan: Menampilkan informasi tentang entity dalam kueri penelusuran.
Grafik Aktivitas dari Waktu ke Waktu:
Menampilkan jumlah Entity dan Konteks Entity yang valid dalam setiap bucket waktu. Anda dapat menggunakan penggeser untuk memperbesar atau memperkecil rentang waktu.
Total entity yang diubah: Grafik Konteks Entity (ECG) menyimpan data dalam bucket waktu dalam periode validitasnya. Grafik ini juga menyalin data ini ke bucket waktu berikutnya, asalkan entity tetap valid (berdasarkan
end_time). Grafik ini diperbarui setiap kali properti entity berubah antara dua bucket waktu.
Kasus penggunaan: Menyelidiki akun pengguna yang diretas
Pertimbangkan skenario berikut: seorang analis keamanan perlu menyelidiki akun pengguna yang berpotensi diretas (email@perusahaan.com). Ikuti langkah-langkah berikut untuk menyelidiki:
Mengidentifikasi pengguna yang diretas: Pemberitahuan menandai email pengguna email@company.com telah diidentifikasi sebagai akun yang mencurigakan.
Mengumpulkan informasi Konteks Entity: Dapatkan data kontekstual tentang pengguna untuk memahami cakupan dan dampaknya.
Menjalankan kueri: Gunakan Konteks Entity di Penelusuran untuk menjalankan kueri berikut:
graph.entity.user.email_addresses = "email@company.com"untuk mengambil informasi tentang pengguna.graph.entity.user.email_addresses = "email@company.com" AND graph.metadata.product_name = "Google Cloud Compute Context"untuk memeriksa nama produk dan metadata lainnya.
Menganalisis Tab Ringkasan: Tab Ringkasan menampilkan ringkasan entity untuk pengguna, termasuk:
- Memeriksa stempel waktu
First Seen HourdanLast Seen Hour.
- Memeriksa stempel waktu
- Meninjau Nama host, Alamat IP, dan Alamat MAC (jika tersedia).
- Memeriksa model hardware, platform OS, dan versi platform.
Memeriksa Tab Peristiwa: Lihat peristiwa terkait untuk pengguna ini, termasuk upaya login dan anomali.
Meninjau Agregat: Identifikasi pola dan anomali dalam data konteks entity, yang didistribusikan ke dalam Konteks Entity, Konteks Turunan, dan Konteks Global.
Contoh Penelusuran
Untuk menelusuri data konteks entity, gunakan nama kolom entity UDM dalam kueri penelusuran:
graph.entity.hostnamegraph.entity.ip = "8.8.8.8" and graph.metadata.entity_type = "ASSET"
Hasil penelusuran menampilkan informasi utama tentang entity, termasuk:
- Metadata entity
- Metrik (
First Seen Hour,Last Seen Hour) - Relasi (
Entity,Direction,Entity_label,Entity_type,Relationship) - Bergantung pada jenis entity, kolom tertentu, seperti
Principal_ipuntuk aset,Mail_iduntuk pengguna,File_nameuntuk hash/file, danDomain_namesertaIP_addressuntuk domain.
Contoh Konteks Entity dalam penelusuran
Bagian ini memberikan contoh praktis untuk memanfaatkan fitur Konteks Entity UDM guna menganalisis statistik entity.
Penelusuran statistik Entity UDM
Untuk melihat sumber dan jenis konteks yang tersedia, jalankan penelusuran statistik Entity UDM berikut di Penelusuran 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
Pemilih Waktu menampilkan data aktif dalam Grafik Entity, bukan saat data konteks diserap.
Karena Penelusuran Entity UDM menggunakan antarmuka Penelusuran UDM standar, Anda dapat menggunakan fitur seperti panel Agregasi (untuk melihat nilai teratas atau terbawah), tabel hasil, dan hasil yang diperluas dari Statistik UDM.
Contoh: Melihat ENTITY_TYPE yang berbeda
Untuk memperluas Penelusuran Entity UDM, Anda dapat menyertakan sumber log, namespace, dan array hasil untuk menampilkan ENTITY_TYPE yang berbeda yang diamati, sebagai berikut:
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
Contoh: Memperbaiki kumpulan entity Anda
Anda dapat memperbaiki kumpulan entity tertentu menggunakan fitur pivot Penelusuran UDM. Perbaikan ini kemudian akan menghasilkan kueri YARA-L seperti berikut:
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"
Konteks turunan
Google SecOps menyediakan jenis konteks turunan berikut:
- Stempel waktu
first_seendanlast_seenuntuk setiapENTITY_TYPE Prevalence: Jumlah aset yang telah mengaksesENTITY_TYPEtertentu
Stempel waktu First Seen Hour dan Last Seen Hour
Google SecOps melakukan analisis statistik pada data yang masuk dan memperkaya catatan konteks entity dengan stempel waktu first_seen dan last_seen:
- Kolom
first_seen_timemencatat jam saat entity pertama kali terlihat di lingkungan pelanggan. - Kolom
last_seen_timemencatat jam pengamatan terbaru dari entity tersebut.
Pengguna dengan jam pertama terlihat dalam 7 hari terakhir:
graph.metadata.entity_type = "USER"
graph.entity.user.userid != ""
graph.entity.user.first_seen_time.hours >= timestamp.current_hours()-(86400 * 7)
Domain pertama kali terlihat dalam 7 hari terakhir:
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)
File (hash) yang diamati dalam 7 hari terakhir:
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 mewakili hash FILE, misalnya, entity.file.hash.
Dalam objek hash, jenisnya dapat berupa salah satu dari berikut:
md5sha1sha256
Untuk menelusuri hash tertentu, Anda dapat menjalankan Penelusuran Entity UDM untuk jenis hash yang diberikan:
// This will search ENTITY, DERIVED, and GLOBAL Source Types
graph.metadata.entity_type = "FILE"
graph.entity.file.sha256 = "eb5db1feadda5351c3b8fc0770e9f4c173484df5dc4a785bd1bdce7806a9e498"
Alamat IP
ENTITY_TYPES turunan dari IP_ADDRESS dapat mewakili entity internal atau eksternal.
Penelusuran Statistik Entity UDM berikut mengidentifikasi IP_ADDRESSES yang baru-baru ini diamati dan menggunakan fungsi agregat (di bagian hasil) untuk menghitungnya berdasarkan blok 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))
Untuk menyelidiki lebih lanjut rentang yang tidak biasa atau tidak terduga, Anda dapat menjalankan penelusuran Entity 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")
Prevalensi
Prevalensi selalu berjenis DERIVED_CONTEXT.
Penelusuran Entity UDM berikut mengidentifikasi nama domain yang jarang diamati. Domain ini secara khusus dikaitkan dengan paling banyak satu aset berbeda per hari, selama periode waktu kueri (day_max = 1), dan paling banyak satu aset berbeda selama 10 hari sebelumnya (rolling_max = 1).
Pola ini berguna untuk mendeteksi domain dengan interaksi terbatas di seluruh lingkungan Anda:
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
Atau, Anda dapat mengubahnya menjadi penelusuran Statistik Entity UDM agregat dan menggabungkan hasilnya:
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
Penelusuran kolom entity UDM dasar
Berikut adalah contoh tambahan penggunaan fitur Konteks Entity di Penelusuran di Google SecOps, berdasarkan sumber yang tersedia:
graph.entity.hostnamegraph.entity.ip = "8.8.8.8" and graph.metadata.entity_type = "ASSET"principal.ipprincipal.hostname="baz"principal.ip="1.2.3.4"network.dns.questions.name="youtube.com"
Membuat pivot dari kolom entity
Gunakan kolom entity untuk membuat pivot dan menjelajahi data terkait. Contoh kolom pivot mencakup:
network.email.tonetwork.email.ccprincipal.process.file.fileMetadata.pe.importHashprincipal.process.file.sha256network.dns.questions.name
Memahami kolom dinamis
Sumber merujuk ke kolom terstruktur dinamis dengan awalan, seperti additional. Anda dapat menelusuri kolom ini dalam peristiwa UDM.
Pertimbangan kontrol akses
Sistem memberlakukan batas 50 peristiwa pada data konteks global. Pengguna Global dan Pengguna dengan Cakupan dapat melihat data tersebut.
Sumber berikut menyediakan data konteks global:
| Data konteks global | Tempat pengguna dapat melihat atau berinteraksi dengan data ini | Orang yang dapat melihatnya |
|---|---|---|
| Safe Browsing | - Penelusuran - Aturan |
Semua pengguna |
| Relasi VirusTotal | - Penelusuran - Aturan |
Semua pengguna |
| WHOIS | - Penelusuran - Aturan |
Semua pengguna |
| Huruf Besar | - Penelusuran - Aturan |
Semua pengguna |
IOC Intel Open Source (OPEN_SOURCE_INTEL_IOC) |
- Penelusuran - Aturan |
Semua pengguna |
IOC Mandiant Active Breach (MANDIANT_ACTIVE_BREACH_IOC) |
- Kecocokan IoC | Semua pengguna. Hasil difilter untuk IoC, yang terkait dengan peristiwa yang berada dalam cakupan akses data Pengguna. |
IOC Mandiant Fusion (MANDIANT_FUSION_IOC) |
- Penelusuran - Aturan - Ancaman Baru |
Semua pengguna |
Batasan
- Batas volume: Batas 1 juta pada hasil kumulatif untuk data berwaktu dan tanpa waktu.
- Data konteks global: Ada batas 50 baris untuk data konteks global sensitif
seperti
UPPERCASE_VT_PROTECTED,MANDIANT_ACTIVE_BREACH_IOC,MANDIANT_FUSION_IOC, danVIRUS_TOTAL_CONNECTIONS. - Konsistensi data: Data terakhir terlihat dapat tertunda hingga 2 jam. Entity terkait hanya dapat menampilkan subkumpulan entity yang tercantum dalam peristiwa.
Fitur yang tidak didukung:
- Pencarian terbalik pada kolom entity, penelusuran kolom yang dikelompokkan, Prevalensi Rendah, dan HeatMap.
- Anda tidak dapat Menggabungkan antara kueri Konteks entity dan Peristiwa.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.