Menerapkan gabungan tanpa bagian kecocokan

Didukung di:

Dokumen ini menjelaskan konsep operasi gabungan tanpa bagian match atau gabungan data dalam Penelusuran Google Security Operations.

Anda dapat menggunakan operasi gabungan untuk mengorelasikan dan menggabungkan data mentah dari beberapa sumber berdasarkan nilai kolom umum. Dengan menggabungkan peristiwa dan entitas keamanan terkait ke dalam satu tampilan yang komprehensif, Anda dapat menyediakan deteksi dan investigasi ancaman yang lebih efektif.

Tidak seperti penggabungan statistik yang memerlukan bagian match untuk menggabungkan hasil, penggabungan data mengambil data peristiwa atau entitas lengkap dan menampilkannya tanpa agregasi apa pun.

Cara kerja gabungan data

Anda dapat membuat gabungan data dengan mengorelasikan kolom umum di berbagai blok peristiwa atau entitas. Anda dapat melakukannya dengan salah satu metode berikut:

  • Menyamakan kolom secara langsung (misalnya, $e1.principal.hostname = $e2.principal.hostname)

  • Tetapkan kedua kolom ke variabel placeholder yang sama (misalnya, $host = $e1.principal.hostname dan $host = $e2.principal.hostname).

Dalam kedua kasus tersebut, Penelusuran secara implisit menggabungkan blok tempat nilai kolom tersebut identik.

Jenis penggabungan data yang didukung

Anda dapat menggunakan jenis gabungan data berikut dalam kueri Penelusuran:

  • Penggabungan Peristiwa-ke-Peristiwa: Mengorelasikan data antara dua jenis peristiwa Unified Data Model (UDM) yang berbeda.

  • Penggabungan peristiwa ke EKG: Memperkaya data peristiwa UDM dengan informasi dari Grafik Konteks Entitas (ECG).

Penggabungan Acara-ke-Acara

Gabungan Peristiwa-ke-Peristiwa paling cocok untuk mengorelasikan kolom di antara dua jenis peristiwa UDM yang berbeda. Hal ini berguna untuk menemukan urutan peristiwa atau tindakan yang melibatkan entitas yang sama di berbagai sumber log atau jenis peristiwa.

Contoh kueri berikut menemukan semua koneksi jaringan (NETWORK_CONNECTION) yang berasal dari host tempat login pengguna (USER_LOGIN) juga terjadi:


  // Find user logins and assign the hostname to the $host placeholder

  $e1.metadata.event_type = "USER_LOGIN"

  $host = $e1.principal.hostname

  // Find network connections and join them where the hostname matches the
  $host placeholder

  $e2.metadata.event_type = "NETWORK_CONNECTION"

  $host = $e2.principal.hostname

Batasan

  • Maksimal dua acara dapat diikuti.

  • Rentang waktu kueri dibatasi maksimal 14 hari.

  • Batas kueri adalah 120 kueri per jam (QPH).

Contoh

Contoh kueri berikut menemukan semua koneksi jaringan (NETWORK_CONNECTION) yang berasal dari host tempat login pengguna (USER_LOGIN) juga terjadi:


  // Find user logins and assign the hostname to the $host placeholder

  $e1.metadata.event_type = "USER_LOGIN"

  $host = $e1.principal.hostname

  // Find network connections and join them where the hostname matches the $host
  placeholder

  $e2.metadata.event_type = "NETWORK_CONNECTION"

  $host = $e2.principal.hostname

Gabungkan berdasarkan ID pengguna


  $e1.metadata.event_type = "USER_LOGIN"

  $e1.security_result.action = "ALLOW"

  $e1.principal.user.userid = $user

  $e2.metadata.event_type = "NETWORK_CONNECTION"

  $e2.principal.user.userid = $user

Bergabung melalui alamat IP


  $e1.metadata.event_type = "USER_LOGIN"

  $e1.security_result.action = "ALLOW"

  $e1.principal.ip = $ip

  $e2.metadata.event_type = "NETWORK_CONNECTION"

  $e2.principal.ip = $ip

Gabungan Grafik Konteks Peristiwa ke Entity

Gabungan peristiwa ke ECG paling cocok untuk memperkaya peristiwa UDM dengan data kontekstual tentang entitas yang terlibat (seperti aset, pengguna) dari ECG. Penggabungan ini memberikan gambaran yang lebih lengkap dengan menggabungkan data peristiwa real-time dengan informasi entitas historis dan relasional.

Batasan

  • Rentang waktu kueri dibatasi maksimal 14 hari.

  • Batas kueri adalah 120 QPH.

  • Maksimal dua peristiwa UDM dapat digabungkan dalam kueri.

  • Maksimal satu peristiwa EKG dapat digabungkan dalam kueri.

  • Ekspor ke tabel data tidak didukung untuk kueri gabungan Peristiwa ke EKG.

  • Penggabungan EKG ke EKG tidak didukung.

  • Gabungan EKG ke tabel data tidak didukung.

Contoh

Kueri ini memperkaya peristiwa koneksi jaringan dengan informasi aset dari ECG dengan menggabungkan hostname.


  // Find network connections and assign the hostname to the $host placeholder

  $e1.metadata.event_type = "NETWORK_CONNECTION"

  $host = $e1.principal.asset.hostname

  // Find asset entities in the graph and join where the hostname matches the
  $host placeholder

  $g1.graph.metadata.entity_type = "ASSET"

  $host = $g1.graph.entity.asset.hostname

Bergabung berdasarkan alamat IP dengan jenis log tertentu


  $ip = $e1.principal.ip

  $ip = $g1.graph.entity.ip

  $e1.metadata.log_type = "WINDOWS_DEFENDER_ATP"

  $g1.graph.entity.ip = "10.19.6.24"

Bergabung di nama host dengan filter IP tertentu


  $e1.metadata.event_type = "FILE_CREATION"

  $host = $e1.principal.hostname

  $e1.principal.ip = "10.0.0.76"

  $g1.graph.metadata.entity_type = "ASSET"

  $host = $g1.graph.entity.hostname

Praktik terbaik

Untuk menghindari performa yang lambat dan waktu tunggu kueri habis, gunakan filter yang spesifik dan sempit dalam setiap blok ($e1, $e2, $g1) dalam kueri gabungan Anda.

Misalnya, kueri luas seperti berikut:

$e1.metadata.event_type = "USER_LOGIN"
$e2.metadata.event_type = "NETWORK_CONNECTION"
right join $e1.principal.hostname = $e2.principal.hostname

Dapat dioptimalkan dengan menambahkan kriteria spesifik sebagai berikut:


$e1.metadata.event_type = "USER_LOGIN"
$e1.principal.ip = "192.168.1.101"
$e1.principal.user.userid = "alex"
$e2.metadata.event_type = "NETWORK_CONNECTION"
$e2.src.hostname = "altostrat.com"
right join $e1.principal.hostname = $e2.principal.hostname

Menggunakan hasil

Hasil penggabungan data ditampilkan dalam tabel Penggabungan, termasuk kolom gabungan dari kedua peristiwa yang berkorelasi. Tabel ini berbeda dengan tampilan statistik, yang memberikan data peristiwa atau entitas lengkap, dan bukan jumlah gabungan.

Setelah menjalankan kueri, Anda dapat menggunakan hasilnya dengan cara berikut:

  • Download sebagai CSV: Mengekspor set hasil lengkap ke file CSV untuk analisis offline.

  • Ekspor ke tabel data: Simpan hasil ke tabel data dalam instance Anda untuk referensi atau korelasi lebih lanjut (hanya untuk gabungan Peristiwa ke Peristiwa).

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.