Menentukan skor risiko entity dalam aturan
Dokumen ini menjelaskan cara menggunakan skor risiko entitas dalam aturan. Dalam aturan, skor risiko entity berperilaku dengan cara yang mirip dengan konteks entity. Anda dapat menulis aturan YARA-L 2.0 untuk menggunakan skor risiko sebagai metode deteksi utama. Untuk mengetahui informasi selengkapnya tentang aturan pada analisis risiko, lihat Membuat aturan untuk Analisis Risiko. Untuk informasi selengkapnya tentang konteks berbasis risiko lainnya, lihat Membuat analisis berbasis konteks.
Untuk mengambil skor risiko entity, gabungkan entity dengan peristiwa UDM dan ambil kolom yang ditentukan dari EntityRisk.
Contoh berikut menunjukkan cara membuat aturan untuk menghasilkan deteksi pada nama host entity apa pun yang skor risikonya lebih besar dari 100.
rule EntityRiskScore {
meta:
events:
$e1.principal.hostname != ""
$e1.principal.hostname = $hostname
$e2.graph.entity.hostname = $hostname
$e2.graph.risk_score.risk_window_size.seconds = 86400 // 24 hours
$e2.graph.risk_score.risk_score >= 100
// Run deduplication across the risk score.
$rscore = $e2.graph.risk_score.risk_score
match:
// Dedup on hostname and risk score across a 4 hour window.
$hostname, $rscore over 4h
outcome:
// Force these risk score based rules to have a risk score of zero to
// prevent self feedback loops.
$risk_score = 0
condition:
$e1 and $e2
}
Contoh aturan ini juga melakukan penghapusan duplikat mandiri menggunakan bagian pencocokan. Jika deteksi aturan mungkin terpicu, tetapi nama host dan skor risiko tetap tidak berubah dalam jangka waktu 4 jam, tidak ada deteksi baru yang akan dibuat.
Satu-satunya periode risiko yang mungkin untuk aturan skor risiko entity adalah 24 jam atau 7 hari (masing-masing 86.400 atau 604.800 detik). Jika Anda tidak menyertakan ukuran periode risiko dalam aturan, aturan tersebut akan menampilkan hasil yang tidak akurat.
Data skor risiko entitas disimpan secara terpisah dari data konteks entitas. Untuk menggunakan keduanya dalam aturan, aturan harus memiliki dua peristiwa entitas terpisah, satu untuk konteks entitas dan satu untuk skor risiko entitas, seperti yang ditunjukkan dalam contoh berikut:
rule EntityContextAndRiskScore {
meta:
events:
$log_in.metadata.event_type = "USER_LOGIN"
$log_in.principal.hostname = $host
$context.graph.entity.hostname = $host
$context.graph.metadata.entity_type = "ASSET"
$risk_score.graph.entity.hostname = $host
$risk_score.graph.risk_score.risk_window_size.seconds = 604800
match:
$host over 2m
outcome:
$entity_risk_score = max($risk_score.graph.risk_score.normalized_risk_score)
condition:
$log_in and $context and $risk_score and $entity_risk_score > 100
}
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.