Deteksi gabungan
Deteksi komposit memungkinkan Anda menghubungkan aturan sehingga output dari satu aturan berfungsi sebagai input untuk aturan lain. Dengan kemampuan ini, Anda dapat membuat aturan yang lebih kompleks dan fleksibel. Dengan menghubungkan dan menganalisis peristiwa di berbagai sumber data dan jangka waktu, deteksi komposit mengatasi batasan deteksi peristiwa terisolasi.
Manfaat deteksi gabungan
Mengungkap Serangan Bertahap: Serangan siber sering kali memiliki banyak aspek dan saling terhubung. Deteksi komposit membantu mengungkapkan narasi serangan dengan menghubungkan insiden yang tampaknya terisolasi. Misalnya, aturan komposit dapat mengidentifikasi seluruh urutan serangan, seperti pelanggaran awal, diikuti dengan eskalasi hak istimewa, dan pemindahan data yang tidak sah.
Mengatasi Kelelahan Notifikasi: Prioritaskan ancaman penting dan atasi kelelahan notifikasi dengan menerapkan aturan konsumen. Aturan ini menggabungkan dan memfilter notifikasi bising yang dihasilkan oleh aturan input, sehingga memungkinkan respons yang lebih terfokus, yang dapat membantu memprioritaskan insiden berdampak tinggi dan meminimalkan kelelahan akibat notifikasi.
Meningkatkan Akurasi Deteksi: Gabungkan insight dari peristiwa UDM, deteksi aturan lainnya, informasi entitas, temuan UEBA, dan tabel data untuk membuat logika deteksi yang akurat.
Menyederhanakan Logika yang Kompleks: Memecah skenario deteksi yang kompleks menjadi aturan yang mudah dikelola, saling terhubung, dan dapat digunakan kembali untuk menyederhanakan pengembangan dan pemeliharaan.
Istilah dan konsep deteksi gabungan
Deteksi: hasil dari suatu aturan dan juga dapat disebut sebagai pemberitahuan.
Komposit: serangkaian aturan yang saling terhubung di mana output dari satu aturan berfungsi sebagai input untuk aturan berikutnya. Misalnya, dalam urutan aturan gabungan
rule1 -> rule2
->rule3
, deteksi yang dihasilkan olehrule1
diteruskan kerule2
, yang memprosesnya untuk menghasilkan deteksi baru. Deteksi ini kemudian digunakan olehrule3
untuk menghasilkan output akhirnya.Aturan input: aturan yang deteksinya digunakan sebagai input untuk aturan lain. Aturan apa pun dapat berfungsi sebagai aturan input, dan tidak ada penunjukan khusus yang diperlukan. Aturan input menggunakan entitas dan peristiwa sebagai input. Mereka tidak menggunakan deteksi sebagai input.
Aturan komposit: aturan yang menggunakan deteksi sebagai input dalam teks aturan. Aturan komposit harus memiliki bagian
match
.
Konsep lanjutan
Aturan deteksi peristiwa tunggal
Google SecOps tidak mengizinkan aturan komposit peristiwa tunggal. Artinya, setiap aturan yang
menggunakan deteksi sebagai sumber input harus memiliki bagian match
.
Latensi deteksi
Sebaiknya buat aturan komposit hanya pada aturan input peristiwa tunggal karena perilaku penjadwalan. Aturan satu peristiwa berjalan hampir secara real-time, sehingga deteksinya biasanya tersedia pada saat aturan gabungan dijalankan. Jika aturan komposit bergantung pada aturan multi-peristiwa sebagai input, ada risiko bahwa aturan input dapat berjalan setelah eksekusi terjadwal aturan komposit. Hal ini dapat menyebabkan keterlambatan atau deteksi yang terlewat dalam aturan gabungan.
TestRule dan Retrohunt
Menguji atau menjalankan retrohunt pada aturan komposit hanya akan menjalankan aturan spesifik yang Anda pilih menggunakan deteksi yang ada. Untuk menjalankan seluruh komposit, Anda harus memulai retrohunt secara manual dari aturan pertama dalam urutan, menunggu setiap eksekusi selesai, lalu melanjutkan ke aturan berikutnya.
Menjalankan pengujian pada aturan tidak akan mempertahankan atau menulis deteksi ke database dan aturan gabungan memerlukan deteksi input agar ada di database.
Menjalankan pengujian pada aturan tidak akan mempertahankan atau menulis deteksi ke database. Karena aturan komposit memerlukan deteksi input agar ada dalam database agar dapat berfungsi, Anda tidak dapat menggunakan TestRule untuk memvalidasi aturan komposit.
Membangun aturan gabungan
Anda membuat aturan komposit menggunakan kombinasi aturan input dan aturan komposit.
Aturan input
Aturan input adalah fondasi aturan gabungan Anda. Mereka mendeteksi peristiwa atau kondisi tertentu yang, jika digabungkan, mengindikasikan aktivitas berbahaya. Untuk mengonfigurasi aturan input, lakukan hal berikut:
Buat aturan baru atau gunakan kembali aturan yang sudah ada.
Nonaktifkan pemberitahuan. Hal ini mencegah aturan input ini menghasilkan notifikasi individual. Dengan menggunakan konfigurasi ini, Anda dapat memprioritaskan pemberitahuan yang lebih penting yang dihasilkan oleh aturan komposit, yang menilai seluruh rangkaian peristiwa.
Gunakan bagian
outcome
untuk menentukan variabel yang dapat diakses oleh aturan berantai.
Contoh aturan produsen berikut mendeteksi kegagalan login.
rule failed_login {
meta:
events:
$e.metadata.event_type = "USER_LOGIN"
any $e.security_result.action = "BLOCK"
outcome:
$target_user = $e.target.user.userid
condition:
$e
}
Aturan ini mengidentifikasi login yang diblokir dan memberikan pengguna terkait.
Aturan gabungan
Menulis aturan yang menggunakan deteksi sebagian besar sama dengan aturan yang menggunakan UDM, kecuali sumber dan kolom yang tersedia berbeda. Untuk merujuk ke kolom deteksi, gunakan kata kunci detection
sebagai sumber: $eventname.detection.field1.field2
.
Subkolom yang tersedia di sumber detection
dapat ditemukan di
resource kumpulan data.
Berikut adalah kolom umum dalam koleksi:
$d.detection.detection.rule_id
$d.detection.detection.detection_fields["match_var_name"]
$d.detection.detection.outcomes["outcome_name"]
Contoh aturan berikut mendeteksi login tanpa MFA, enumerasi, dan eksfiltrasi.
rule login_enumeration_exfiltration {
meta:
description = "Detects when a user logs in without multifactor authentication (MFA) and then performs enumeration and exfiltration"
rule_name = "Login Without MFA, Enumeration, Exfiltration"
severity = "High"
events:
// Detection with name "Console Login Without MFA"
// The affected user is saved as $target_user
$login_without_mfa.detection.detection.rule_name = /Console Login Without MFA/
$target_user = $login_without_mfa.detection.detection.outcomes["target_user"]
// Any detection with a rule name containing 'enumeration'
// The user performing enumeration is the user that logged in without mfa
$enumeration.detection.detection.rule_name = /enumeration/ nocase
$enumeration.detection.detection.outcomes["principal_users"] = $target_user
// Any detection with the mitre tactic 'TA0010' (Exfiltration)
// The user performing exfiltration is the user that logged in without mfa
$exfiltration.detection.detection.rule_labels["tactic"] = "TA0010"
$exfiltration.detection.detection.outcomes["principal_users"] = $target_user
match:
// Looks for detections over a 24 hour period
$target_user over 24h
condition:
// All 3 must occur for a single user
$login_without_mfa and $enumeration and $exfiltration
}
Deteksi hierarkis
Deteksi gabungan memungkinkan Anda membuat sistem deteksi hierarkis. Aturan input tingkat bawah mengidentifikasi peristiwa mencurigakan yang terisolasi. Aturan komposit tingkat yang lebih tinggi kemudian menggunakan output dari aturan input ini untuk melakukan korelasi di seluruh waktu, entitas, dan sumber data. Pendekatan ini membantu menghubungkan informasi ini dengan data dari sumber lain untuk mendeteksi pola serangan multi-tahap yang mungkin terlewatkan oleh aturan satu peristiwa.
Google Security Operations mendukung hingga tiga tingkat komposisi, sehingga memberikan keseimbangan antara logika deteksi mendalam dan kompleksitas yang dapat dikelola.
Contoh:
Level 1: Aturan input mendeteksi peristiwa mencurigakan individual. Misalnya, peristiwa login yang gagal, akses file yang tidak biasa.
Level 2: Aturan komposit mengorelasikan deteksi level 1. Misalnya, peristiwa login yang gagal diikuti dengan akses file yang mencurigakan.
Level 3: Aturan komposit tingkat yang lebih tinggi menggabungkan deteksi level 2 dan data lainnya untuk deteksi yang lebih canggih. Misalnya, deteksi level 2 terkait autentikasi dan deteksi level 2 terkait postur keamanan perangkat yang digunakan.
Pertimbangan saat menulis aturan gabungan
Saat Anda memperbarui aturan input yang digunakan dalam satu atau beberapa aturan komposit, sistem akan otomatis membuat versi baru aturan input tersebut. Hal ini berlaku untuk pembaruan logika (condition
, events
, outcomes
) dan
pembaruan metadata (nama, deskripsi, tingkat keparahan). Aturan komposit akan terus beroperasi menggunakan versi baru. Sebaiknya uji aturan input yang diperbarui dan aturan komposit hilirnya untuk memastikan perilaku yang diinginkan.
Batasan
Aturan komposit memiliki batasan berikut.
Aturan khusus deteksi dan skor risiko entity
Aturan khusus deteksi (aturan yang hanya menggunakan data deteksi sebagai sumber, dan bukan data peristiwa atau entitas) tidak berkontribusi pada skor risiko entitas. Skor risiko yang ditetapkan untuk aturan khusus deteksi hanya berlaku untuk deteksi yang dibuat oleh aturan tersebut. Entity ini tidak akan berkontribusi pada skor risiko entity gabungan.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.