Deteksi gabungan
Dokumen ini memperkenalkan deteksi gabungan dan cara deteksi gabungan dapat meningkatkan alur kerja deteksi ancaman dengan menghubungkan output dari beberapa aturan.
Deteksi gabungan dihasilkan oleh aturan yang menggunakan deteksi dari aturan lain sebagai inputnya—dikombinasikan dengan peristiwa, metrik, atau sinyal risiko entitas. Aturan ini kemudian dikombinasikan dengan peristiwa, metrik, atau sinyal risiko entitas untuk mendeteksi ancaman kompleks dan multi-tahap yang mungkin terlewat oleh aturan individual.
Deteksi gabungan membantu menganalisis peristiwa melalui interaksi dan pemicu aturan yang ditentukan. Hal ini meningkatkan akurasi, mengurangi positif palsu, dan memberikan tampilan komprehensif tentang ancaman keamanan dengan menghubungkan data dari berbagai sumber dan tahap serangan.
Konsep berikut menentukan elemen penyusun aturan gabungan dan menjelaskan fungsinya dalam alur kerja deteksi:
Aturan gabungan: menggunakan deteksi atau pemberitahuan (atau keduanya) sebagai input. Secara opsional, tambahkan peristiwa, metrik, dan berbagai data kontekstual dari grafik entitas, seperti data prevalensi, intelijen ancaman, atau skor risiko entitas. Aturan ini harus selalu memiliki bagian kecocokan dan dapat mereferensikan kolom meta, variabel
match, dan variabeloutcomedari aturan input.Deteksi: output yang dihasilkan saat kondisi aturan terpenuhi.
Aturan khusus deteksi: aturan gabungan yang hanya menggunakan deteksi atau pemberitahuan sebagai input.
Kapan menggunakan deteksi gabungan
Deteksi gabungan dapat berguna untuk mencapai sasaran berikut:
Menghubungkan hasil dari dua aturan atau lebih (misalnya, menautkan deteksi Malware Downloaded dengan pemberitahuan C2 Beaconing berikutnya dari host yang sama).
Menambahkan data peristiwa terkait ke pemberitahuan.
Mengurangi kelelahan merespons pemberitahuan dengan hanya memicu pemberitahuan akhir saat deteksi yang tidak relevan dan memiliki tingkat kepercayaan rendah terjadi beberapa kali atau dikombinasikan dengan aktivitas mencurigakan lainnya.
Membuat pemberitahuan untuk serangan multi-tahap yang kompleks, yang setiap tahapnya telah diidentifikasi oleh aturannya sendiri.
Manfaat deteksi gabungan
Deteksi gabungan memiliki manfaat berikut:
Mengungkap serangan multi-tahap: Serangan siber sering kali memiliki banyak aspek dan saling terhubung. Deteksi gabungan mengungkapkan narasi serangan yang lebih luas dengan menautkan peristiwa keamanan yang tampaknya terisolasi. Misalnya, deteksi gabungan dapat mengidentifikasi urutan lengkap serangan, seperti pelanggaran awal yang diikuti oleh peningkatan hak istimewa dan pemindahan data yang tidak sah.
Mengurangi kelelahan merespons pemberitahuan: Aturan gabungan mengonsolidasikan dan memfilter pemberitahuan yang tidak relevan, sehingga memungkinkan respons yang lebih fokus. Pendekatan ini membantu memprioritaskan insiden berdampak tinggi dan mengurangi kelelahan merespons pemberitahuan secara keseluruhan.
Meningkatkan akurasi deteksi: Gabungkan insight dari peristiwa Unified Data Model (UDM), deteksi aturan, konteks entitas, temuan User and Entity Behavior Analytics (UEBA), dan tabel data untuk membangun logika deteksi yang lebih akurat.
Menyederhanakan logika yang kompleks: Bagi skenario deteksi yang kompleks menjadi aturan yang dapat dikelola, saling terhubung, dan dapat digunakan kembali untuk menyederhanakan pengembangan dan pemeliharaan.
Menggunakan di dasbor: Integrasikan deteksi gabungan dengan lancar sebagai data sumber untuk dasbor Google SecOps. Anda dapat menggunakannya untuk membuat visualisasi yang meringkas pola serangan multi-tahap, sehingga memudahkan pemahaman tentang risiko yang kompleks.
Kasus penggunaan umum
Bagian ini mencantumkan beberapa kasus penggunaan umum untuk deteksi gabungan.
Menambahkan konteks dari peristiwa mentah ke deteksi
Kasus penggunaan ini melibatkan penautan pemberitahuan tingkat tinggi dari satu sistem dengan log peristiwa dari sistem lain.
Sasaran: Mengidentifikasi tindakan lokal tertentu yang menyebabkan pemberitahuan tingkat tinggi.
Contoh:
Pemberitahuan diaktifkan di Google Cloud Event Threat Detection karena workload melakukan panggilan DNS ke domain berbahaya. Ini adalah deteksi.
Aturan gabungan dipicu oleh deteksi ini.
Aturan tersebut kemudian menelusuri log Endpoint Detection and Response (EDR) mentah (peristiwa) dari workload yang sama dalam jangka waktu satu menit, mencari operasi command line yang berisi domain berbahaya yang sama.
Pemberitahuan akhir memberikan konteks yang kaya: pemberitahuan ini menunjukkan bahwa domain berbahaya telah dihubungi dan perintah
sshtertentu telah digunakan. Informasi ini membuat hasil jauh lebih dapat ditindaklanjuti daripada deteksi asli.
Melacak aktivitas pengguna setelah login
Kasus penggunaan utama yang berfokus pada penautan peristiwa login pengguna dengan aktivitas mencurigakan berikutnya. Meskipun aturan multi-peristiwa standar dapat melacak urutan singkat, deteksi gabungan lebih baik untuk membangun profil risiko komprehensif dari seluruh sesi pengguna.
Sasaran: Menghubungkan satu peristiwa, seperti login berisiko tinggi, dengan berbagai aktivitas "sinyal lemah" berikutnya dalam jangka waktu yang lebih lama, seperti satu hari penuh.
Contoh: Buat beberapa aturan yang menghasilkan deteksi tingkat yang lebih rendah. Kemudian, gunakan aturan gabungan dengan jangka waktu kecocokan yang lama (misalnya, 24 jam) untuk memicu login mencurigakan awal dan menghubungkannya dengan salah satu deteksi berikut dari pengguna yang sama:
Pengguna menghapus histori command line.
Pembuatan akun administrator lokal baru.
Upload data berukuran besar ke situs Cloud Storage pribadi.
Menggabungkan dengan metrik UEBA
Kasus penggunaan ini memanfaatkan metrik UEBA yang ada sebagai titik awal untuk deteksi gabungan guna menemukan perilaku jangka panjang yang lebih kompleks.
Sasaran: Menghubungkan lonjakan metrik UEBA dengan aktivitas anomali lainnya.
Contoh:
Aturan UEBA mendeteksi kegagalan login yang berlebihan untuk pengguna.
Aturan UEBA lainnya mendeteksi byte egress dalam jumlah besar dari pengguna yang sama.
Deteksi gabungan menautkan dua temuan UEBA terpisah ini selama beberapa hari untuk mengidentifikasi potensi kompromi akun yang diikuti oleh pencurian data.
Mendeteksi upaya pemindahan data yang tidak sah
Hal ini melibatkan penghubungan beberapa tindakan pengguna yang berbeda, yang jika digabungkan, mungkin menunjukkan upaya untuk memindahkan data yang tidak sah.
Sasaran: Membuat profil penanganan data berisiko oleh satu pengguna di beberapa perangkat dan tindakan.
Tindakan yang terhubung:
Login dari beberapa perangkat (misalnya, mesin di rumah dan di kantor).
Mengakses lebih banyak sumber data dari biasanya.
Mendownload, mencetak, dan mengirim data melalui email secara bersamaan.
Menghitung jumlah dokumen rahasia yang diakses pengguna dalam jangka waktu tertentu.
Mengirimkan surat pengunduran diri.
Mendeteksi malware multi-tahap
Kasus penggunaan ini melibatkan identifikasi malware yang beroperasi secara perlahan dalam jangka waktu yang lama, yang sulit ditangkap dengan aturan tunggal yang memiliki jangka waktu kecocokan yang singkat.
Sasaran: Menautkan vektor infeksi awal dengan tindakan berbahaya berikutnya, meskipun terpisah beberapa jam atau hari.
Contoh:
Pengguna mengunjungi situs berbahaya (peristiwa jaringan awal).
"File dropper" didownload dan dieksekusi (peristiwa proses pertama).
Beberapa waktu kemudian, file dropper mendownload dan menjalankan file yang dapat dieksekusi lainnya (peristiwa proses kedua).
Hal ini memerlukan jangka waktu
matchyang lama untuk menghubungkan proses induk dan turunan, yang dapat disediakan oleh deteksi gabungan.
Mengurangi gangguan pemberitahuan
Kasus penggunaan ini melibatkan pengelolaan deteksi yang terlalu "berisik" atau menghasilkan terlalu banyak positif palsu.
Sasaran: Menyempurnakan aturan yang tidak relevan tanpa menonaktifkannya atau membuat pengecualian yang kompleks.
Contoh:
Tetapkan deteksi yang tidak relevan dan dikurasi ke "deteksi saja" sehingga tidak lagi menghasilkan pemberitahuan.
Buat deteksi gabungan yang menggunakan output aturan yang dikurasi tersebut sebagai kondisi pertamanya.
Tambahkan kondisi kedua untuk memberikan kualifikasi tambahan, seperti "hanya beri tahu jika deteksi ini terjadi 5 kali untuk pengguna yang sama dalam satu jam" atau jika dikombinasikan dengan deteksi dari aturan yang berbeda.
Cara kerja deteksi gabungan
Saat memenuhi kondisi yang telah ditentukan, aturan akan menghasilkan deteksi. Deteksi ini dapat secara opsional menyertakan variabel hasil, yang menangkap data atau status peristiwa tertentu.
Aturan gabungan menggunakan deteksi ini dari aturan lain sebagai bagian dari inputnya. Evaluasi dapat didasarkan pada informasi dari bagian meta aturan asli, variabel hasil, dan variabel kecocokan.
Berdasarkan evaluasi ini, Anda dapat menggunakan aturan gabungan untuk membuat deteksi baru yang akan digunakan sebagai representasi perantara untuk investigasi, dan pemberitahuan dengan aturan berikutnya. Hal ini membantu menghubungkan beberapa faktor dari deteksi yang berbeda untuk mengidentifikasi ancaman yang kompleks.
Untuk mengetahui informasi selengkapnya tentang sintaksis dan contoh, lihat Aturan deteksi gabungan dan Contoh.
Menentukan strategi Anda
Sebelum mulai membuat aturan gabungan, rencanakan strategi Anda untuk memastikan aturan baru Anda efektif, efisien, dan memecahkan masalah yang tepat.
Evaluasi strategi deteksi Anda saat ini. Tinjau aturan yang ada untuk mengidentifikasi aturan yang terlalu berisik, menghasilkan positif palsu dalam jumlah besar, atau terlalu kompleks dan sulit dikelola.
Tentukan skenario tertentu tempat aturan gabungan dapat memberikan nilai. Hal ini mencakup pendeteksian serangan multi-tahap, penghubungan beberapa pemberitahuan dengan tingkat kepercayaan rendah menjadi satu pemberitahuan dengan tingkat kepercayaan tinggi, atau penambahan konteks dari sumber data lain ke deteksi.
Berdasarkan evaluasi Anda, buat rencana penerapan. Tentukan aturan yang tidak relevan yang perlu Anda sempurnakan, aturan kompleks yang perlu Anda sederhanakan, dan deteksi multi-tahap baru yang perlu Anda prioritaskan.
Rencana yang ditentukan ini memberikan roadmap untuk membuat aturan gabungan yang ditargetkan dan efektif. Pertimbangkan strategi tingkat tinggi berikut untuk mendapatkan nilai maksimal dari deteksi gabungan sekaligus mengelola batasan teknis.
Memilih metode yang sesuai
Sebelum membuat deteksi gabungan, tentukan apakah Anda dapat mencapai hasil yang diperlukan dengan alternatif lain. Analisis apakah Anda dapat mengidentifikasi pola yang kompleks dengan deteksi UEBA yang ada. Membuat deteksi terlalu rumit dapat meningkatkan overhead pemeliharaan dan menggunakan kuota aturan.
Gunakan deteksi gabungan jika: sasaran Anda adalah menghubungkan hasil akhir dari dua aturan atau lebih yang berbeda dan sudah ada. Hal ini menghubungkan tahap serangan yang secara konseptual terpisah.
Contoh: Menghubungkan deteksi dari aturan Malware Downloaded dengan deteksi berikutnya dari aturan C2 Beaconing Detected.
Gunakan deteksi UEBA yang ada jika: Anda ingin menemukan kapan pengguna atau perangkat melanggar pola aktivitas normalnya.
Contoh: Mendeteksi secara otomatis bahwa pengguna telah mendownload data sebesar 100 GB hari ini, padahal biasanya hanya mendownload 1 GB.
Mengelola kuota aturan dan skor risiko
Untuk mengelola resource organisasi Anda, pahami pengaruh berbagai jenis aturan terhadap kuota aturan Anda.
Aturan yang dikurasi tidak dihitung terhadap kuota aturan kustom Anda.
Aturan gabungan dan aturan multi-peristiwa kustom dihitung terhadap kuota Anda.
Anda dapat menggunakan deteksi yang dikurasi dengan menetapkannya ke deteksi saja. Hal ini memungkinkan aturan yang dikurasi melakukan deteksi awal yang luas tanpa menghasilkan pemberitahuan. Kemudian, Anda dapat menggunakan aturan gabungan untuk menerapkan logika tertentu ke temuan ini, sehingga memberikan nilai yang lebih besar sekaligus mengelola kuota Anda secara strategis.
Memahami perbedaan antara risiko dan konteks
Saat mendesain logika deteksi, bedakan antara aturan yang menilai risiko dan aturan yang memberikan konteks.
Risiko adalah penilaian tentang seberapa berbahaya serangkaian aktivitas. Aturan yang dirancang untuk risiko sering kali menggabungkan beberapa peristiwa atau deteksi kontekstual untuk membuat penilaian. Misalnya, meskipun satu login yang gagal memberikan konteks, jumlah login yang gagal dalam jumlah besar menunjukkan risiko serangan brute force.
Konteks mengacu pada detail faktual seputar peristiwa. Aturan yang dirancang untuk konteks menambahkan detail dari peristiwa lain ke satu peristiwa. Misalnya, meskipun aturan dapat mendeteksi login pengguna yang berhasil, aturan kontekstual memberikan konteks penting bahwa login ini berasal dari negara baru dan tidak biasa.
Contoh: Deteksi awal dapat memberi tahu Anda tentang potensi risiko, seperti panggilan DNS ke domain berbahaya. Aturan gabungan kemudian menghubungkan pemberitahuan tersebut dengan log peristiwa di Google SecOps untuk menemukan proses command line tertentu yang memulai panggilan. Hal ini menambahkan konteks penting dan dapat ditindaklanjuti ke pemberitahuan risiko tingkat tinggi.
Menggunakan jangka waktu kecocokan yang lama secara strategis
Aturan gabungan yang dikonfigurasi dengan jangka waktu kecocokan yang lama (misalnya, 14 hari) dieksekusi lebih jarang. Latensi yang tinggi dapat membuat aturan tersebut tidak cocok untuk pemberitahuan yang sensitif terhadap waktu. Pertimbangkan untuk menggunakan jangka waktu yang lama ini untuk mendeteksi aktivitas musuh yang lambat dan persisten dalam jangka waktu yang lama.
Menggunakan deteksi untuk visualisasi
Salah satu strategi untuk mengelola aturan yang tidak relevan adalah mengubah outputnya menjadi visualisasi di dasbor. Pendekatan ini tidak menggunakan kuota aturan dan dapat mengubah data bervolume tinggi dan berkualitas rendah menjadi insight yang berharga.
Dengan menetapkan aturan ke deteksi saja, lalu memplot deteksinya di widget dasbor, Anda dapat melacak tren, mengidentifikasi pencilan, dan mendapatkan tampilan audit tingkat tinggi dari aktivitas tanpa terbebani oleh pemberitahuan individual.
Contoh: Melacak penanganan data PII
Aturan melacak setiap kali pengguna menangani data PII sensitif.
Aturan ini ditetapkan ke deteksi saja, bukan memberi tahu setiap kali. Widget dasbor
kemudian menunjukkan pengguna mana yang mendekati batas egress harian (misalnya,
10,000 byte). Hal ini memberikan tampilan audit cepat tentang perilaku berisiko tanpa menghasilkan pemberitahuan yang terus-menerus.
Contoh: Memantau risiko DLP tertentu:
Widget menggabungkan skor risiko dari subset aturan DLP yang sangat spesifik. Hal ini memungkinkan tim tertentu (misalnya, administrator Pencegahan Kebocoran Data (DLP)) hanya memantau risiko yang relevan, memfilter gangguan dari domain keamanan lainnya.
Membuat deteksi gabungan
Alur kerja berikut menguraikan perjalanan umum untuk membuat aturan gabungan. Untuk mengetahui informasi selengkapnya tentang sintaksis dan contoh, lihat Aturan deteksi gabungan dan Contoh.
Tentukan skenario ancaman: Tentukan ancaman tertentu yang ingin Anda deteksi.
Buat atau identifikasi aturan input: Untuk setiap tahap skenario ancaman, buat atau identifikasi aturan input yang mendeteksi aktivitas tertentu.
Tentukan kondisi gabungan: Tentukan informasi umum yang menautkan deteksi dari aturan input Anda, seperti label aturan, variabel, atau kolom deteksi.
Buat aturan gabungan: Tulis aturan yang menyerap deteksi dari aturan input.
Tentukan bagian
events, yang mereferensikan aturan input berdasarkan nama, ID, atau label meta bersama.Tentukan bagian
matchuntuk menentukan kunci gabungan dan jangka waktu untuk kecocokan.Tentukan bagian
conditionuntuk menetapkan kondisi yang harus dipenuhi agar pemberitahuan akhir diaktifkan.
Uji dan deploy rantai aturan: Sebaiknya jalankan retrohunt secara manual untuk setiap aturan dalam urutan.
Saat Anda menggunakan fitur Uji aturan pada aturan gabungan, fitur ini hanya akan berjalan terhadap deteksi yang sudah ada yang cocok dengan kriteria input aturan. Fitur ini tidak otomatis menjalankan aturan yang mendasarinya untuk menghasilkan input baru untuk pengujian, yang berarti Anda tidak dapat memvalidasi seluruh rantai aturan dalam satu tindakan.
Untuk menjalankan retrohunt untuk urutan aturan, lakukan hal berikut:
Mulai retrohunt secara manual dari aturan pertama dalam urutan.
Tunggu hingga selesai.
Lanjutkan dengan aturan berikutnya.
Contoh:
rule CheckCuratedDetection_with_EDR_and_EG {
meta:
author = "noone@cymbal.com"
events:
$d.detection.detection.rule_name = /SCC: Custom Modules: Configurable Bad Domain/
$d.detection.collection_elements.references.event.network.dns.questions.name = $domain
$d.detection.collection_elements.references.event.principal.asset.hostname = $hostname
$e.metadata.log_type = "LIMACHARLIE_EDR"
$e.metadata.product_event_type = "NETWORK_CONNECTIONS"
$domain = re.capture($e.principal.process.command_line, "\\s([a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+)$")
$hostname = re.capture($e.principal.hostname, "([^.]*)")
$prevalence.graph.metadata.entity_type = "DOMAIN_NAME"
$prevalence.graph.metadata.source_type = "DERIVED_CONTEXT"
$prevalence.graph.entity.hostname = $domain
$prevalence.graph.entity.domain.prevalence.day_count = 10
$prevalence.graph.entity.domain.prevalence.rolling_max <= 5
$prevalence.graph.entity.domain.prevalence.rolling_max > 0
match:
$hostname over 1h
outcome:
$risk_score = 80
$CL_target = array($domain)
condition:
$e and $d and $prevalence
}
Melihat temuan deteksi gabungan
Anda dapat melihat hasil deteksi gabungan
di halaman Deteksi. Pemberitahuan adalah deteksi gabungan jika kolom Input
menampilkan Deteksi sebagai sumber dan kolom Jenis deteksi
menampilkan label Pemberitahuan dengan angka di sampingnya (misalnya, Alert (3)).
Catatan: Jika memiliki SIEM dan SOAR, Anda juga dapat melihat hasilnya di tab Kasus.
Mengoptimalkan deteksi gabungan
Sebaiknya ikuti praktik berikut untuk membuat aturan gabungan.
Mengoptimalkan latensi
Untuk latensi minimal dalam pipeline deteksi, gunakan aturan satu peristiwa jika memungkinkan, seperti untuk pemicu awal. Aturan gabungan dapat menggunakan deteksinya untuk melakukan korelasi yang lebih kompleks dengan peristiwa, entitas, atau deteksi lainnya, yang membantu mengurangi latensi keseluruhan.
Menggunakan metode yang efisien untuk menggabungkan deteksi
Sebaiknya gunakan variabel hasil, label meta, dan variabel kecocokan untuk menggabungkan deteksi. Metode ini memberikan hasil yang lebih deterministik dan andal daripada menggunakan sampel peristiwa. Label meta sangat fleksibel karena memungkinkan Anda mengategorikan aturan sehingga aturan gabungan dapat menargetkan deteksi apa pun dengan label tersebut.
Misalnya, jika beberapa aturan memiliki label meta yang sama
tactic: exfiltration, Anda dapat memiliki aturan gabungan yang menargetkan deteksi apa pun
yang label taktiknya memiliki nilai exfiltration.
Saat menggunakan nocase dengan variabel gabungan dalam deteksi gabungan, Anda mungkin menerima error analisis semantik berikut:
semantic analysis: match variable <variable_name> is not assigned to an event field.
Dalam deteksi gabungan, penetapan variabel pertama (misalnya, $username = $fact1...)
menentukan properti variabel, termasuk tidak peka huruf besar/kecil saat menggunakan
nocase. Penerapan nocase ke penetapan variabel berikutnya dari variabel gabungan yang sama (misalnya, $username = $fact2...) ditafsirkan oleh compiler sebagai definisi ulang yang bertentangan atau batasan yang berlebihan, sehingga menghasilkan error semantik.
Meningkatkan deteksi dengan library fungsi
Anda dapat menggunakan library fungsi YARA-L di titik strategis dalam aturan gabungan untuk meningkatkan sinyal dan menambahkan logika yang lebih kompleks.
Mengelola update aturan
Saat Anda mengupdate aturan yang digunakan dalam satu atau beberapa aturan gabungan, sistem akan otomatis membuat versi baru aturan tersebut. Aturan gabungan akan otomatis menggunakan versi baru. Sebaiknya uji seluruh urutan aturan yang diupdate untuk memverifikasi perilaku yang diinginkan.
Batasan
Saat mendesain dan menerapkan deteksi gabungan, pertimbangkan batasan berikut:
Ketersediaan data kasus SOAR: Deteksi gabungan tidak memiliki akses ke semua data kasus SOAR. Logika aturan yang mencoba memfilter atau mengecualikan kasus berdasarkan status (misalnya,
$edetection.feedback_summary.status != "CLOSED") tidak didukung.Aturan gabungan: Google SecOps mendukung kedalaman maksimum 10 untuk aturan gabungan. Kedalaman adalah jumlah aturan dari aturan dasar hingga aturan gabungan akhir.
Aturan khusus deteksi: Memiliki jangka waktu kecocokan maksimum 14 hari dan tunduk pada batas deteksi harian sebesar 10.000 deteksi per aturan.
Variabel hasil: Setiap aturan dibatasi hingga maksimum 20 variabel hasil. Selain itu, setiap variabel hasil yang berulang dibatasi hingga 25 nilai.
Sampel peristiwa: Hanya 10 sampel peristiwa yang disimpan per variabel peristiwa dalam aturan, seperti 10 untuk
$e1dan 10 untuk$e2.
Untuk mengetahui informasi selengkapnya tentang batas deteksi, lihat Batas deteksi.
Langkah berikutnya
Untuk mengetahui informasi tentang cara membuat aturan deteksi gabungan, lihat Aturan deteksi gabungan dan Contoh.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.