Menangani keterlambatan konsumsi dalam aturan analitik terjadwal
Sementara Microsoft Azure Sentinel dapat menyerap data dari berbagai sumber, waktu konsumsi untuk setiap sumber data mungkin berbeda dalam keadaan yang berbeda.
Artikel ini menjelaskan bagaimana penundaan penyerapan dapat memengaruhi aturan analitik terjadwal Anda dan bagaimana Anda dapat memperbaikinya untuk menutupi kesenjangan ini.
Mengapa penundaan itu penting
Misalnya, Anda mungkin menulis aturan deteksi kustom, mengatur Jalankan kueri setiap dan Data Pencarian dari bidang terakhir agar aturan berjalan setiap lima menit, mencari data dari lima menit terakhir tersebut:
Data pencarian dari bidang terakhir mendefinisikan pengaturan yang dikenal sebagai periode lihat ke belakang. Idealnya, ketika tidak ada penundaan, deteksi ini tidak akan melewatkan peristiwa, seperti yang ditunjukkan pada diagram berikut:
Peristiwa tiba saat dibuat, dan termasuk dalam periode lihat ke belakang.
Sekarang, asumsikan ada beberapa penundaan untuk sumber data Anda. Untuk contoh ini, katakanlah peristiwa tersebut diserap dua menit setelah dihasilkan. Penundaannya adalah dua menit:
Acara ini dihasilkan dalam periode lihat ke belakang pertama, tetapi tidak diserap di ruang kerja Microsoft Azure Sentinel Anda pada eksekusi pertama. Saat berikutnya kueri terjadwal berjalan, kueri akan menyerap acara, tetapi filter yang dihasilkan waktu akan menghapus acara karena terjadi lebih dari lima menit yang lalu. Dalam hal ini, aturan tidak memunculkan peringatan.
Cara menangani keterlambatan
Catatan
Anda dapat mengatasi masalah tersebut menggunakan proses yang dijelaskan di bawah ini, atau menerapkan aturan deteksi hampir real time (NRT) Microsoft Sentinel. Untuk informasi lebih lanjut, lihat Mendeteksi ancaman dengan cepat dengan aturan analitik mendekati real-time (NRT) di Microsoft Azure Sentinel.
Untuk mengatasi masalah ini, Anda perlu mengetahui penundaan untuk jenis data Anda. Untuk contoh ini, Anda sudah tahu penundaannya adalah dua menit.
Untuk data Anda sendiri, Anda dapat memahami keterlambatan menggunakan fungsi ingestion_time()
Kusto dan menghitung perbedaan antara TimeGenerated dan waktu penyerapan. Untuk informasi selengkapnya, lihat Menghitung penundaan penyerapan.
Setelah menentukan penundaan, Anda dapat mengatasi masalah sebagai berikut:
Tingkatkan periode lihat ke belakang. Intuisi dasar memberi tahu Anda bahwa meningkatkan ukuran periode lihat ke belakang akan membantu. Karena periode lihat ke belakang Anda adalah lima menit dan penundaan Anda adalah dua menit, mengatur periode lihat ke belakang menjadi tujuh menit akan membantu mengatasi masalah ini. Misalnya, dalam pengaturan aturan Anda:
Diagram berikut menunjukkan bagaimana periode lihat ke belakang sekarang berisi peristiwa yang terlewatkan:
Menangani duplikasi. Hanya meningkatkan periode lihat ke belakang dapat membuat duplikasi, karena jendela lihat ke belakang sekarang tumpang tindih. Misalnya, peristiwa yang berbeda mungkin terlihat seperti yang ditunjukkan pada diagram berikut:
Karena nilai peristiwa TimeGenerated ditemukan di kedua periode lihat ke belakang, peristiwa tersebut menghasilkan dua peringatan. Anda perlu menemukan cara untuk menyelesaikan duplikasi.
Kaitkan peristiwa dengan periode lihat ke belakang tertentu. Pada contoh pertama, Anda melewatkan peristiwa karena data Anda tidak diserap saat kueri terjadwal berjalan. Anda memperpanjang tampilan lihat ke belakang untuk memasukkan peristiwa, tetapi hal ini menyebabkan duplikasi. Anda harus mengaitkan peristiwa ke jendela yang Anda luaskan untuk menampungnya.
Lakukan ini dengan mengatur
ingestion_time() > ago(5m)
, alih-alih menggunakan aturanlook-back = 5m
asli. Pengaturan ini mengaitkan acara ke jendela lihat ke belakang pertama. Contohnya:Pembatasan waktu penyerapan sekarang memangkas tambahan dua menit yang Anda tambahkan ke periode lihat ke belakang. Dan untuk contoh pertama, periode lihat ke belakang yang dijalankan kedua sekarang menangkap peristiwa tersebut:
Kueri sampel berikut merangkum solusi untuk memecahkan masalah penundaan penyerapan:
let ingestion_delay = 2min;
let rule_look_back = 5min;
CommonSecurityLog
| where TimeGenerated >= ago(ingestion_delay + rule_look_back)
| where ingestion_time() > ago(rule_look_back)
Menghitung penundaan penyerapan
Secara default, aturan peringatan terjadwal Microsoft Azure Sentinel dikonfigurasi untuk memiliki periode lihat ke belakang 5 menit. Namun, setiap sumber data mungkin memiliki penundaan penyerapan masing-masing. Saat bergabung dengan beberapa jenis data, Anda harus memahami penundaan yang berbeda untuk setiap tipe data untuk mengonfigurasi periode pencarian kembali dengan benar.
Laporan Penggunaan Ruang kerja, yang disediakan di Microsoft Azure Sentinel di luar kotak, menyertakan dasbor yang menunjukkan latensi dan penundaan untuk berbagai jenis data yang mengalir ke ruang kerja Anda.
Contohnya:
Langkah berikutnya
Untuk informasi selengkapnya, lihat: