Praktik Terbaik Penelusuran UDM

Didukung di:

Dokumen ini menjelaskan praktik terbaik yang direkomendasikan Google untuk melakukan penelusuran menggunakan UDM Search. Penelusuran UDM 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.

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 Security Operations 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 UDM:

  • 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

Dalam penelusuran UDM, beberapa kolom diberi label berulang, yang berarti kolom tersebut adalah daftar nilai atau jenis pesan lainnya. Tidak seperti YARA-L, kolom berulang dalam penelusuran UDM selalu diperlakukan dengan operator any secara default, tanpa opsi untuk menentukan all dalam penelusuran Anda.

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 semua operator.

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 kolom ini cenderung memiliki nilai unik, menampilkannya akan menghasilkan lebih banyak "derau" daripada nilai di antarmuka Penelusuran UDM.