Praktik Terbaik Penelusuran

Didukung di:

Dokumen ini menjelaskan praktik terbaik yang direkomendasikan Google untuk melakukan penelusuran menggunakan Penelusuran. Penelusuran dapat memerlukan resource komputasi yang substansial untuk diselesaikan jika tidak dibuat dengan cermat. Performa juga bervariasi bergantung pada ukuran dan kompleksitas data di instance Google Security Operations Anda.

Membuat kueri Penelusuran yang efektif

Setiap kondisi harus dalam bentuk udm-field operator value.

Contoh: principal.hostname = "win-server"

Selalu coba perkecil rentang waktu Anda ke minimum yang diperlukan. Google SecOps dapat menyerap data dalam jumlah yang sangat besar, sehingga membatasi cakupan data tersebut saat melakukan penelusuran dapat secara substansial meningkatkan performa penelusuran.

Anda dapat menggunakan ekspresi reguler saat melakukan penelusuran:

  • Gunakan AND, OR, dan NOT.
  • AND diasumsikan jika tidak ada operator lain.
  • Gunakan tanda kurung untuk mengubah urutan prioritas. Ada batas maksimum 169 operator logika (OR, AND, dan NOT) yang dapat digunakan dalam tanda kurung.
  • Bergantung pada jenis kolom, operator kolom dapat mencakup: = != >= > < <=

Atau, Anda juga dapat menggunakan daftar referensi.

Menggunakan nocase sebagai pengubah penelusuran

nocase dapat digunakan sebagai pengubah untuk mengabaikan penggunaan huruf besar.

Misalnya, penelusuran berikut tidak valid:

target.user.userid = "TIM.SMITH" nocase

Ekspresi reguler tidak berfungsi untuk kolom yang dihitung

Anda tidak dapat menggunakan ekspresi reguler untuk kolom yang dihitung (kolom dengan rentang nilai yang telah ditentukan sebelumnya) seperti metadata.event_type atau network.ip_protocol.

Misalnya, penelusuran berikut tidak valid:

metadata.eventtype = /NETWORK*/

Namun, penelusuran berikut valid (dan mendekati yang dicoba di atas):

(metadata.event_type = "NETWORK_CONNECTION" or metadata.event_type = "NETWORK_DHCP")

Menggunakan semua operator di kolom Peristiwa

Di Penelusuran, beberapa kolom diberi label berulang, yang berarti kolom tersebut berisi daftar nilai atau jenis pesan. Tidak seperti Aturan, kolom berulang di Penelusuran selalu diperlakukan dengan operator any secara default, tanpa opsi untuk menentukan all.

Saat operator any digunakan, predikat dievaluasi sebagai benar jika nilai apa pun di kolom berulang memenuhi kondisi. Misalnya, jika Anda menelusuri principal.ip != "1.2.3.4" dan peristiwa dalam penelusuran Anda menyertakan principal.ip = "1.2.3.4" dan principal.ip = "5.6.7.8", Penelusuran akan menghasilkan kecocokan. Tindakan ini akan memperluas penelusuran Anda untuk menyertakan hasil yang cocok dengan salah satu operator, bukan cocok dengan semuanya.

Setiap elemen di kolom berulang diperlakukan satu per satu. Jika kolom berulang ditemukan dalam peristiwa dalam penelusuran, peristiwa akan dievaluasi untuk setiap elemen dalam kolom. Hal ini dapat menyebabkan perilaku yang tidak terduga, terutama saat menelusuri menggunakan operator !=.

Saat menggunakan operator any, predikat dievaluasi sebagai benar jika nilai apa pun di kolom berulang memenuhi kondisi.

Stempel waktu menggunakan waktu epoch Unix

Kolom stempel waktu dicocokkan menggunakan waktu epoch Unix (jumlah detik yang telah berlalu sejak Kamis, 1 Januari 1970 00.00.00).

Saat menelusuri stempel waktu tertentu, hal berikut (dalam waktu epoch) valid:

metadata.ingested_timestamp.seconds = 1660784400

Stempel waktu berikut tidak valid:

metadata.ingested_timestamp = "2022-08-18T01:00:00Z"

Ada kolom tertentu yang dikecualikan dari filter, termasuk hal berikut:

  • metadata.id
  • metadata.product_log_id
  • *.timestamp

Karena sering kali berisi nilai unik, kolom ini sering kali menambahkan detail yang tidak perlu, sehingga mengurangi efektivitas penelusuran.

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