Menggunakan daftar referensi dan tabel data di YARA-L 2.0
Daftar referensi dan tabel data memungkinkan Anda menyusun logika dengan membandingkan kolom peristiwa dengan set data kustom. Gunakan objek ini untuk mengelola indikator bervolume tinggi—seperti IP yang diketahui berbahaya atau nama host yang disetujui—di seluruh Penelusuran, Dasbor, dan deteksi tanpa mengubah sintaksis yang mendasarinya.
Anda dapat menggunakan daftar referensi atau tabel data di bagian events atau outcome aturan. Lihat Daftar referensi dan Menggunakan tabel data untuk mengetahui informasi selengkapnya tentang perilaku dan sintaksis daftar referensi dan tabel data.
Menerapkan sintaksis daftar referensi dan tabel data
Daftar referensi dan tabel data mengikuti sintaksis yang serupa, yang ditentukan oleh ID objek dan jenis pencocokan (string, regex, atau CIDR) yang diperlukan untuk operasi. Bagian ini menunjukkan contoh sintaksis untuk menggunakan berbagai jenis daftar referensi.
Di Google Security Operations, daftar referensi dan tabel data digunakan dalam bagian events atau outcome aturan YARA-L untuk membandingkan data peristiwa dengan set data yang diupload. Ini dijalankan selama proses evaluasi aturan untuk memfilter peristiwa atau memperkaya hasil deteksi.
Gunakan daftar referensi saat Anda perlu memeriksa apakah satu kolom cocok dengan nilai apa pun dalam daftar yang telah ditentukan sebelumnya (misalnya, daftar IP berbahaya yang diketahui).
- STRING:
$e.principal.hostname in %string_list_name REGEX:
$e.principal.hostname in regex %regex_list_nameCIDR:
$e.principal.ip in cidr %cidr_list_name
Gunakan tabel data saat data referensi Anda memiliki struktur baris atau kolom, sehingga Anda dapat memetakan kolom tertentu ke kolom tertentu.
STRING:
$e.target.hostname in %table_name.column_nameREGEX:
$e.target.hostname in regex %table_name.column_nameCIDR:
$e.principal.ip in cidr %table_name.column_name
Contoh: Sintaksis dan perilaku daftar referensi
Contoh berikut menggambarkan cara menyusun kueri untuk berbagai jenis set data dan menerapkan logika bersyarat pada kecocokan Anda:
Contoh: Sintaksis daftar referensi dalam kueri
// STRING reference list $e.principal.hostname in %string_reference_list // Regular expression reference list $e.principal.hostname in regex %regex_reference_list // CIDR reference list $e.principal.ip in cidr %cidr_reference_list
Contoh: Sintaksis tabel data
// STRING data table $e.target.hostname in %data_table_name.column_name // Regular expression data table $e.target.hostname in regex %regex_table_name.column_name // CIDR data table $e.principal.ip in cidr %cidr_table_name.column_name
Contoh: Operator not dan nocase
Operator nocase kompatibel dengan daftar STRING dan daftar REGEX.
// Exclude events whose hostnames match substrings in my_regex_list.
not $e.principal.hostname in regex %my_regex_list
// Event hostnames must match at least one string in my_string_list (case insensitive).
$e.principal.hostname in %my_string_list nocase
Operator nocase kompatibel dengan daftar STRING dan daftar REGEX.
Untuk alasan performa, Detection Engine membatasi penggunaan daftar referensi.
- Pernyataan
inmaksimum dalam aturan, dengan atau tanpa operator khusus: 10 - Pernyataan
inmaksimum dengan operatorregex: 5 - Pernyataan
inmaksimum dengan operatorcidr: 5
Untuk mengetahui informasi selengkapnya tentang perilaku daftar referensi dan sintaksis daftar referensi, lihat Daftar Referensi.
Untuk mempertahankan performa yang optimal di seluruh Penelusuran, Dasbor, dan deteksi, mesin YARA-L menerapkan batas berikut:
- Pernyataan
inmaksimum dalam kueri, dengan atau tanpa operator khusus: 7 - Pernyataan
inmaksimum dengan operatorregex: 4 - Pernyataan
inmaksimum dengan operatorcidr: 2
Perlu bantuan lebih lanjut? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.