Membuat aturan untuk Analisis Risiko

Dokumen ini menjelaskan elemen utama dari fitur sintaksis YARA-L yang baru untuk Analisis Risiko. Untuk informasi selengkapnya tentang YARA-L, lihat Sintaksis Bahasa YARA-L 2.0.

Fungsi Metrik YARA-L

Chronicle mendukung sejumlah fungsi metrik, yang dapat menggabungkan sejumlah besar data historis.

Fungsi metrik hanya dapat digunakan di bagian hasil. Semua contoh panggilan fungsi mengasumsikan penggunaan dalam aturan multi-peristiwa.

Semua aturan yang menggunakan fungsi metrik akan otomatis dikategorikan sebagai aturan multi-peristiwa, meskipun tidak memiliki bagian pencocokan dan hanya menggunakan satu variabel peristiwa. Artinya, keduanya akan mengurangi kuota aturan multi-peristiwa.

Parameter fungsi

Fungsi metrik dapat digunakan untuk aturan yang menjalankan analisis perilaku entitas.

Misalnya, aturan berikut memberi tahu Anda jumlah maksimum byte harian yang dikirim oleh alamat IP tertentu dalam sebulan terakhir:

$max_bytes_per_day = max(metrics.network_bytes_outbound(
    period:1d, window:30d,
    metric:value_sum,
    agg:max,
    principal.asset.ip:$ip
))

Karena banyaknya argumen yang digunakan dalam fungsi ini, fungsi tersebut menggunakan parameter bernama, yang dapat ditentukan dalam urutan apa pun. Parameternya adalah sebagai berikut:

Periode

Durasi waktu saat setiap peristiwa log digabungkan ke dalam satu pengamatan. Satu-satunya nilai yang diizinkan adalah 1h dan 1d.

Jendela

Lamanya waktu saat setiap pengamatan digabungkan ke dalam satu nilai, seperti rata-rata dan maksimum. Nilai yang diizinkan untuk window didasarkan pada periode metrik. Pemetaan yang valid adalah sebagai berikut:

period:1h : window:today

period:1d : window:30d

Misalnya, aturan berikut memberi tahu Anda jumlah upaya autentikasi gagal yang paling banyak yang terlihat untuk pengguna tertentu (Alice) dalam hari tertentu, selama 30 hari terakhir:

$user = "alice"
$max_fail = max(metrics.auth_attempts_fail(
    period:1d, window:30d,
        metric:event_count_sum,
        agg:max,
        target.user.userid:$user
))

Kombinasi metrik per jam dan harian dapat digunakan untuk first-seen

jenis deteksi yang sebenarnya. Misalnya, aturan berikut memberi tahu Anda apakah ini pertama kalinya pengguna login ke aplikasi ini:

events:
    $e.metadata.event_type = "USER_LOGIN"
    $e.security_result.action = "ALLOW"
    $userid = $e.target.user.userid
    $app = $e.target.application
match:
    // find events from now - 4h ago, which is the recommended look-back period
    $userid, $app over 4h
outcome:
    // check hourly analytics until daily analytics are available
    $first_seen_today = max(metrics.auth_attempts_success(
        period:1h, window:today, metric:first_seen, agg:max,
        target.user.userid:$userid, target.application:$app))
    $first_seen_monthly = max(metrics.auth_attempts_success(
        period:1d, window:30d, metric:first_seen, agg:max,
        target.user.userid:$userid, target.application:$app))
condition:
    $e and ($first_seen_today = 0) and ($first_seen_monthly = 0)

Metrik

Dalam setiap periode, setiap pengamatan memiliki sejumlah metrik yang terkait dengannya. Salah satu elemen ini harus dipilih untuk digabungkan di seluruh jendela. Lima jenis metric didukung:

event_count_sum—Jumlah peristiwa log unik dalam setiap periode.

first_seen—Stempel waktu pertama kali dilihat dari peristiwa log yang cocok dalam setiap periode.

last_seen—Stempel waktu terakhir terlihat dari peristiwa log yang cocok dalam setiap periode.

value_sum—Merepresentasikan jumlah byte dalam semua peristiwa log yang digabungkan dalam periode tersebut. Anda hanya dapat menggunakan nilai ini untuk fungsi metrik dengan bytes dalam namanya.

num_unique_filter_values—Metrik yang belum dikomputasi sebelumnya oleh Chronicle, tetapi dapat dikomputasi selama eksekusi aturan. Lihat Menghitung metrik unik untuk detail dan persyaratan selengkapnya.

Agus

Agregasi mana yang diterapkan pada metrik. Agregasi diterapkan selama seluruh periode (mis. nilai harian tertinggi selama 30 hari terakhir). Nilai yang diizinkan adalah:

avg—Nilai rata-rata per periode. Ini adalah rata-rata statistik, yang tidak mencakup nilai nol.

max—Nilai terbaik per periode.

min—Nilai terkecil per periode.

num_metric_periods—Jumlah periode dalam periode waktu yang memiliki nilai metrik bukan nol.

stddev—deviasi standar nilai per periode. Ini adalah deviasi standar statistik yang tidak menyertakan nilai nol.

sum—Jumlah setiap nilai per periode, selama seluruh periode.

Misalnya, aturan berikut memberi tahu Anda jumlah rata-rata upaya autentikasi yang gagal yang terlihat untuk pengguna tertentu (Alice) dalam hari tertentu selama 30 hari terakhir:

$user = "alice"
$avg_fail = max(metrics.auth_attempts_fail(
        period:1d, window:30d,
        metric:event_count_sum,
        agg:avg,
        target.user.userid:$user
))

Aturan berikut memberi tahu Anda jumlah autentikasi yang berhasil yang dilakukan pengguna tertentu selama 30 hari terakhir:

$total_success = max(metrics.auth_attempts_success(
        period:1d, window:30d,
        metric:event_count_sum,
        agg:sum,
        target.user.userid:$user
))

Aturan berikut memberi tahu Anda apakah pengguna tertentu berhasil login setidaknya sekali selama 30 hari terakhir:

$days_success = max(metrics.auth_attempts_success(
        period:1d, window:30d,
        metric:event_count_sum,
        agg:num_metric_periods,
        target.user.userid:$user
))

Aturan berikut memberi tahu Anda saat pertama kali atau terakhir kali pengguna tertentu berhasil login:

$first_seen = max(metrics.auth_attempts_success(
        period:1d, window:30d,
        metric:first_seen,
        agg:min,
        target.user.userid:$user
))
$last_seen = max(metrics.auth_attempts_success(
        period:1d, window:30d,
        metric:last_seen,
        agg:max,
        target.user.userid:$user
))

Aturan berikut memberi tahu Anda jumlah byte maksimum yang dikirim oleh pengguna dalam hari tertentu selama 30 hari terakhir:

$max_daily_bytes = max(metrics.network_bytes_outbound(
        period:1d, window:30d,
        metric:value_sum,
        agg:max,
        target.user.userid:$user
))

Filter

Filter memungkinkan pemfilteran metrik sebelum agregasi berdasarkan nilai dalam metrik yang telah dihitung sebelumnya (lihat nilai dalam Metrik). Filter dapat berupa ekspresi peristiwa yang valid (satu baris di bagian peristiwa) yang tidak berisi kolom peristiwa atau placeholder apa pun. Satu-satunya variabel yang dapat disertakan dalam kondisi ini adalah jenis metrik.

Aturan berikut hanya menyertakan metrik dengan value_sum > 10 AND event_count_sum > 2:

$max_bytes_per_day = max(metrics.network_bytes_outbound(
    period:1d, window:30d,
    metric:value_sum,
    agg:max,
    principal.asset.ip:$ip
    filter:value_sum > 10 AND event_count_sum > 2
))
Contoh filter yang valid
filter:value_sum > 10 AND event_count_sum != 5
filter:event_count_sum = 100 OR event_count_sum > 1000
filter:timestamp.get_day_of_week(first_seen) = 3
Contoh filter yang tidak valid
// No placeholders in filter expressions.
filter:value_sum > $ph

// No event fields in filter expressions.
filter:event_count_sum + $e.field > 10

// No event fields in filter expressions.
filter:timestamp.subtract(first_seen, $e.metadata.timestamp)

Kolom UDM

Metrik difilter menurut 1, 2, atau 3 kolom UDM, bergantung pada fungsinya. Untuk informasi selengkapnya, lihat Fungsi.

Jenis kolom UDM berikut digunakan untuk fungsi metrik:

  • Dimensi—(Wajib) Kombinasi yang berbeda tercantum dalam dokumentasi ini. Anda tidak dapat menggabungkan metrik dengan nilai default ("" untuk string dan 0 untuk int).
  • Namespace—(Opsional) Anda hanya dapat menggunakan namespace untuk entity yang Anda tentukan dalam dimensi. Misalnya, jika menggunakan principal.asset.hostname filter, Anda juga dapat menggunakan principal.namespace filter. Jika Anda tidak menyertakan filter namespace, data di semua namespace akan digabungkan bersama. Anda dapat menggunakan nilai default sebagai filter namespace.

Penghitungan periode

Chronicle menghitung metrik menggunakan periode metrik harian atau per jam.

Periode harian

Semua periode harian, seperti 30d, ditentukan dengan cara yang sama. Chronicle menggunakan data metrik terbaru yang tersedia dan telah dibuat yang tidak tumpang-tindih dengan rentang waktu aturan. Perhitungan metrik harian dapat memerlukan waktu hingga 6 jam untuk diselesaikan dan tidak dimulai hingga penghujung hari dalam UTC. Data metrik untuk hari sebelumnya akan tersedia pada atau sebelum pukul 06.00 UTC setiap hari.

Misalnya, untuk aturan yang berjalan di atas data peristiwa dari 31-10-2023 pukul 04.00 UTC hingga 31-10-2023 pukul 7.00 UTC, metrik harian untuk 31-10-2023 kemungkinan akan dibuat, sehingga penghitungan metrik akan menggunakan data dari 01-01-2023 hingga 03-2023). Sementara untuk aturan yang menjalankan data peristiwa dari 31-10-2023 pukul 13.00 UTC hingga 31-10-2023 pukul 03.00 UTC, metrik harian untuk 30-10-2023 mungkin tidak akan dibuat, sehingga penghitungan metrik akan menggunakan data dari 2023-09-30 hingga 2023-09-2023).

Jendela today per jam

Periode metrik per jam dihitung dengan sangat berbeda dari periode untuk metrik harian. Jendela metrik per jam today bukanlah ukuran statis seperti periode 30d untuk metrik harian. Periode metrik per jam today mengisi sebanyak mungkin data antara akhir periode harian dan awal periode waktu aturan.

Misalnya, untuk aturan yang menjalankan data peristiwa dari 31-10-2023 pukul 04.00.00 UTC hingga 30.00-20.00 UTC 2023-10-31 pukul 7.00.00 UTC, penghitungan metrik harian akan menggunakan data dari 2023-10-01 hingga 2023-10.00 UTC: 01.00-19.00 UTC

Hitung Metrik Unik

Ada jenis metrik khusus num_unique_filter_values yang tidak dikomputasi sebelumnya oleh Chronicle dan dihitung selama eksekusi aturan. Hal ini dilakukan dengan mengagregasi dimensi yang ada dalam metrik yang telah dihitung sebelumnya. Misalnya, metrik daily total count of distinct countries that a user attempted to authenticate di dapat diperoleh dari metrik auth_attempts_total yang telah dikomputasi sebelumnya pada dimensi target.user.userid dan principal.ip_geo_artifact.location.country_or_region dengan melakukan agregasi jumlah unik terhadap dimensi terakhir.

Contoh aturan berikut menghitung metrik unik:

$outcome_variable = max(metrics.auth_attempts_total(
    period: 1d,
    window: 30d,
    // This metric type indicates any filter with a wildcard value should be
    // aggregated over each day to produce a new metric on-the-fly.
    metric: num_unique_filter_values,
    agg: max,
    target.user.userid: $userid,
    // Filter whose value should be counted over each day to produce the
    // num_unique_filter_values metric.
    principal.ip_geo_artifact.location.country_or_region: *
))

Fitur ini memiliki batasan berikut:

  • Menghitung jumlah metrik unik hanya dapat digabungkan pada 1 dimensi filter. Hal ini ditunjukkan dengan menggunakan token karakter pengganti * sebagai nilai filter.

Functions

Bagian ini mencakup dokumentasi tentang fungsi metrik tertentu yang didukung oleh Chronicle.

Upaya Autentikasi

metrics.auth_attempts_total melakukan prakomputasi nilai historis untuk peristiwa UDM dengan jenis peristiwa USER_LOGIN.

metrics.auth_attempts_success selanjutnya mengharuskan peristiwa memiliki setidaknya satu SecurityResult.Action dari ALLOW.

metrics.auth_attempts_fail tidak mewajibkan SecurityResult.Actions yang berupa ALLOW.

Daftar lengkap kolom UDM yang tersedia sebagai filter

  • principal.asset.asset_id
  • principal.asset.asset_id, target.asset.asset_id
  • principal.asset.asset_id, target.asset.hostname
  • principal.asset.asset_id, target.asset.ip
  • principal.asset.asset_id, target.asset.mac
  • principal.asset.asset_id, target.asset.product_object_id
  • principal.asset.hostname
  • principal.asset.hostname, target.asset.asset_id
  • principal.asset.hostname, target.asset.hostname
  • principal.asset.hostname, target.asset.ip
  • principal.asset.hostname, target.asset.mac
  • principal.asset.hostname, target.asset.product_object_id
  • principal.asset.ip
  • principal.asset.ip, target.asset.asset_id
  • principal.asset.ip, target.asset.hostname
  • principal.asset.ip, target.asset.ip
  • principal.asset.ip, target.asset.mac
  • principal.asset.ip, target.asset.product_object_id
  • principal.asset.mac
  • principal.asset.mac, target.asset.asset_id
  • principal.asset.mac, target.asset.hostname
  • principal.asset.mac, target.asset.ip
  • principal.asset.mac, target.asset.mac
  • principal.asset.mac, target.asset.product_object_id
  • principal.asset.product_object_id
  • principal.asset.product_object_id, target.asset.asset_id
  • principal.asset.product_object_id, target.asset.hostname
  • principal.asset.product_object_id, target.asset.ip
  • principal.asset.product_object_id, target.asset.mac
  • principal.asset.product_object_id, target.asset.product_object_id
  • principal.user.email_addresses
  • principal.user.email_addresses, target.asset.asset_id
  • principal.user.email_addresses, target.asset.hostname
  • principal.user.email_addresses, target.asset.ip
  • principal.user.email_addresses, target.asset.mac
  • principal.user.email_addresses, target.asset.product_object_id
  • principal.user.employee_id
  • principal.user.employee_id, target.asset.asset_id
  • principal.user.employee_id, target.asset.hostname
  • principal.user.employee_id, target.asset.ip
  • principal.user.employee_id, target.asset.mac
  • principal.user.employee_id, target.asset.product_object_id
  • principal.user.product_object_id
  • principal.user.product_object_id, target.asset.asset_id
  • principal.user.product_object_id, target.asset.hostname
  • principal.user.product_object_id, target.asset.ip
  • principal.user.product_object_id, target.asset.mac
  • principal.user.product_object_id, target.asset.product_object_id
  • principal.user.userid
  • principal.user.userid, target.asset.asset_id
  • principal.user.userid, target.asset.hostname
  • principal.user.userid, target.asset.ip
  • principal.user.userid, target.asset.mac
  • principal.user.userid, target.asset.product_object_id
  • principal.user.windows_sid
  • principal.user.windows_sid, target.asset.asset_id
  • principal.user.windows_sid, target.asset.hostname
  • principal.user.windows_sid, target.asset.ip
  • principal.user.windows_sid, target.asset.mac
  • principal.user.windows_sid, target.asset.product_object_id
  • target.application
  • target.user.email_addresses
  • target.user.email_addresses, network.tls.client.certificate.sha256
  • target.user.email_addresses, principal.ip_geo_artifact.location.country_or_region
  • target.user.email_addresses, principal.ip_geo_artifact.network.organization_name
  • target.user.email_addresses, target.application
  • target.user.employee_id
  • target.user.employee_id, network.tls.client.certificate.sha256
  • target.user.employee_id, principal.ip_geo_artifact.location.country_or_region
  • target.user.employee_id, principal.ip_geo_artifact.network.organization_name
  • target.user.employee_id, target.application
  • target.user.product_object_id
  • target.user.product_object_id, network.tls.client.certificate.sha256
  • target.user.product_object_id, principal.ip_geo_artifact.location.country_or_region
  • target.user.product_object_id, principal.ip_geo_artifact.network.organization_name
  • target.user.product_object_id, target.application
  • target.user.userid
  • target.user.userid, network.tls.client.certificate.sha256
  • target.user.userid, principal.ip_geo_artifact.location.country_or_region
  • target.user.userid, principal.ip_geo_artifact.network.organization_name
  • target.user.userid, target.application
  • target.user.windows_sid
  • target.user.windows_sid, network.tls.client.certificate.sha256
  • target.user.windows_sid, principal.ip_geo_artifact.location.country_or_region
  • target.user.windows_sid, principal.ip_geo_artifact.network.organization_name
  • target.user.windows_sid, target.application

metrics.auth_attempts_total memiliki kolom UDM tambahan yang tersedia sebagai filter

  • target.application, target.asset.asset_id
  • target.application, target.asset.hostname
  • target.application, target.asset.ip
  • target.application, target.asset.mac
  • target.application, target.asset.product_object_id

metrics.auth_attempts_success memiliki kolom UDM tambahan yang tersedia sebagai filter

  • network.http.user_agent
  • principal.asset.asset_id, metadata.event_type
  • principal.asset.hostname, metadata.event_type
  • principal.asset.ip, metadata.event_type
  • principal.asset.mac, metadata.event_type
  • principal.asset.product_object_id, metadata.event_type

Byte DNS Keluar

metrics.dns_bytes_outbound melakukan prakomputasi nilai historis untuk peristiwa UDM dengan jaringan.sent_bytes > 0, dan port targetnya adalah 53/udp, 53/tcp, atau 3000/tcp. network.sent_bytes tersedia sebagai value_sum.

Daftar lengkap kolom UDM yang tersedia sebagai filter

  • principal.asset.asset_id
  • principal.asset.asset_id, target.ip
  • principal.asset.hostname
  • principal.asset.hostname, target.ip
  • principal.asset.ip
  • principal.asset.ip, target.ip
  • principal.asset.mac
  • principal.asset.mac, target.ip
  • principal.asset.product_object_id
  • principal.asset.product_object_id, target.ip
  • principal.user.email_addresses
  • principal.user.email_addresses, target.ip
  • principal.user.employee_id
  • principal.user.employee_id, target.ip
  • principal.user.product_object_id
  • principal.user.product_object_id, target.ip
  • principal.user.userid
  • principal.user.userid, target.ip
  • principal.user.windows_sid
  • principal.user.windows_sid, target.ip
  • target.ip

Kueri DNS

metrics.dns_queries_total melakukan prakomputasi nilai historis untuk peristiwa UDM yang memiliki nilai dalam jaringan.dns.id.

metrics.dns_queries_success selanjutnya mengharuskan jaringan.dns.response_code adalah 0 (NoError).

metrics.dns_queries_fail hanya mempertimbangkan peristiwa dengan jaringan.dns.response_code yang lebih besar dari 0.

Daftar lengkap kolom UDM yang tersedia sebagai filter

  • principal.asset.asset_id
  • principal.asset.asset_id, network.dns_domain
  • principal.asset.asset_id, network.dns.questions.type
  • principal.asset.hostname
  • principal.asset.hostname, network.dns_domain
  • principal.asset.hostname, network.dns.questions.type
  • principal.asset.ip
  • principal.asset.ip, network.dns_domain
  • principal.asset.ip, network.dns.questions.type
  • principal.asset.mac
  • principal.asset.mac, network.dns_domain
  • principal.asset.mac, network.dns.questions.type
  • principal.asset.product_object_id
  • principal.asset.product_object_id, network.dns_domain
  • principal.asset.product_object_id, network.dns.questions.type
  • principal.user.email_addresses
  • principal.user.email_addresses, network.dns_domain
  • principal.user.email_addresses, network.dns.questions.type
  • principal.user.employee_id
  • principal.user.employee_id, network.dns_domain
  • principal.user.employee_id, network.dns.questions.type
  • principal.user.product_object_id
  • principal.user.product_object_id, network.dns_domain
  • principal.user.product_object_id, network.dns.questions.type
  • principal.user.userid
  • principal.user.userid, network.dns_domain
  • principal.user.userid, network.dns.questions.type
  • principal.user.windows_sid
  • principal.user.windows_sid, network.dns_domain
  • principal.user.windows_sid, network.dns.questions.type

Eksekusi File

metrics.file_executions_total melakukan prakomputasi nilai historis untuk peristiwa UDM dengan jenis peristiwa PROCESS_LAUNCH.

metrics.file_executions_success selanjutnya mengharuskan peristiwa memiliki setidaknya satu SecurityResult.Action dari ALLOW.

metrics.file_executions_fail sebagai gantinya mengharuskan tidak ada SecurityResult.Actions yang berupa ALLOW.

Daftar lengkap kolom UDM yang tersedia sebagai filter

  • metadata.event_type, principal.process.file.sha256
  • metadata.event_type, principal.asset.asset_id, principal.process.file.sha256
  • metadata.event_type, principal.asset.hostname, principal.process.file.sha256
  • metadata.event_type, principal.asset.ip, principal.process.file.sha256
  • metadata.event_type, principal.asset.mac, principal.process.file.sha256
  • metadata.event_type, principal.asset.product_object_id, principal.process.file.sha256
  • metadata.event_type, principal.user.email_addresses, principal.process.file.sha256
  • metadata.event_type, principal.user.employee_id, principal.process.file.sha256
  • metadata.event_type, principal.user.product_object_id, principal.process.file.sha256
  • metadata.event_type, principal.user.userid, principal.process.file.sha256
  • metadata.event_type, principal.user.windows_sid, principal.process.file.sha256

Kueri HTTP

metrics.http_queries_total melakukan prakomputasi nilai historis untuk peristiwa UDM yang memiliki nilai dalam jaringan.http.method.

metrics.http_queries_success lebih lanjut memerlukan jaringan tersebut.http.response_code < 400

metrics.http_queries_fail hanya mempertimbangkan peristiwa dengan jaringan.`http.response_code

= 400`.

Daftar lengkap kolom UDM yang tersedia sebagai filter

  • principal.asset.asset_id
  • principal.asset.asset_id, network.http.user_agent
  • principal.asset.hostname
  • principal.asset.hostname, network.http.user_agent
  • principal.asset.ip
  • principal.asset.ip, network.http.user_agent
  • principal.asset.mac
  • principal.asset.mac, network.http.user_agent
  • principal.asset.product_object_id
  • principal.asset.product_object_id, network.http.user_agent
  • principal.user.email_addresses
  • principal.user.email_addresses, network.http.user_agent
  • principal.user.employee_id
  • principal.user.employee_id, network.http.user_agent
  • principal.user.product_object_id
  • principal.user.product_object_id, network.http.user_agent
  • principal.user.userid
  • principal.user.userid, network.http.user_agent
  • principal.user.windows_sid
  • principal.user.windows_sid, network.http.user_agent

Byte Jaringan

metrics.network_bytes_inbound melakukan prakomputasi nilai historis untuk peristiwa UDM yang memiliki nilai bukan nol untuk jaringan.received_bytes, dan membuat kolom tersebut tersedia sebagai value_sum.

metrics.network_bytes_outbound memerlukan nilai bukan nol untuk jaringan.sent_bytes, dan menyediakan kolom tersebut sebagai value_sum.

metrics.network_bytes_total mempertimbangkan peristiwa yang memiliki nilai bukan nol untuk jaringan.received_bytes atau jaringan.sent_bytes (atau keduanya), dan buat jumlah dari kedua kolom tersebut tersedia sebagai value_sum.

Daftar lengkap kolom UDM yang tersedia sebagai filter

  • principal.asset.asset_id
  • principal.asset.asset_id, principal.ip_geo_artifact.location.country_or_region
  • principal.asset.asset_id, security_result.category
  • principal.asset.asset_id, target.ip_geo_artifact.network.organization_name
  • principal.asset.hostname
  • principal.asset.hostname, principal.ip_geo_artifact.location.country_or_region
  • principal.asset.hostname, security_result.category
  • principal.asset.hostname, target.ip_geo_artifact.network.organization_name
  • principal.asset.ip
  • principal.asset.ip, principal.ip_geo_artifact.location.country_or_region
  • principal.asset.ip, security_result.category
  • principal.asset.ip, target.ip_geo_artifact.network.organization_name
  • principal.asset.mac
  • principal.asset.mac, principal.ip_geo_artifact.location.country_or_region
  • principal.asset.mac, security_result.category
  • principal.asset.mac, target.ip_geo_artifact.network.organization_name
  • principal.asset.product_object_id
  • principal.asset.product_object_id, principal.ip_geo_artifact.location.country_or_region
  • principal.asset.product_object_id, security_result.category
  • principal.asset.product_object_id, target.ip_geo_artifact.network.organization_name
  • principal.user.email_addresses
  • principal.user.email_addresses, principal.ip_geo_artifact.location.country_or_region
  • principal.user.email_addresses, security_result.category
  • principal.user.email_addresses, target.ip_geo_artifact.network.organization_name
  • principal.user.employee_id
  • principal.user.employee_id, principal.ip_geo_artifact.location.country_or_region
  • principal.user.employee_id, security_result.category
  • principal.user.employee_id, target.ip_geo_artifact.network.organization_name
  • principal.user.product_object_id
  • principal.user.product_object_id, principal.ip_geo_artifact.location.country_or_region
  • principal.user.product_object_id, security_result.category
  • principal.user.product_object_id, target.ip_geo_artifact.network.organization_name
  • principal.user.userid
  • principal.user.userid, principal.ip_geo_artifact.location.country_or_region
  • principal.user.userid, security_result.category
  • principal.user.userid, target.ip_geo_artifact.network.organization_name
  • principal.user.windows_sid
  • principal.user.windows_sid, principal.ip_geo_artifact.location.country_or_region
  • principal.user.windows_sid, security_result.category
  • principal.user.windows_sid, target.ip_geo_artifact.network.organization_name

Batasan

Saat membuat aturan YARA-L dengan metrik, perhatikan batasan berikut:

  • Anda tidak dapat menggabungkan metrik dengan nilai default ("" untuk string dan 0 untuk int).
  • Nilai Default:
    • Jika tidak ada data metrik yang sesuai dengan peristiwa, nilai yang ditampilkan dari fungsi metrik adalah 0.
    • Jika ada peristiwa dalam deteksi yang tidak memiliki data metrik, penggunaan min untuk menggabungkan fungsi mungkin akan menampilkan 0.
    • Untuk memeriksa apakah ada data untuk suatu peristiwa, Anda dapat menggunakan agregasi num_metric_periods metrik pada peristiwa yang sama tersebut dengan filter yang sama.
  • Fungsi metrik hanya dapat digunakan di bagian hasil.
  • Karena fungsi metrik hanya digunakan di bagian hasil, fungsi tersebut harus digabungkan seperti nilai lain dalam aturan dengan bagian pencocokan.