Praktik Terbaik Penelusuran UDM
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.
Konstruksi dasar Penelusuran UDM
Setiap kondisi harus dalam bentuk
udm-field operator value
.
Contoh:
principal.hostname = "win-server"
Mengoptimalkan rentang waktu untuk Penelusuran UDM
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.
Menggunakan ekspresi reguler dengan Penelusuran UDM
Anda dapat menggunakan ekspresi reguler saat melakukan penelusuran UDM:
- Gunakan
AND
,OR
, danNOT
. AND
diasumsikan jika tidak ada operator lain.- Gunakan tanda kurung untuk mengubah urutan prioritas. Ada batas maksimum
169 operator logika (
OR
,AND
, danNOT
) 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.