Creare regole per Risk Analytics

Supportato in:

Questo documento descrive gli elementi principali delle nuove funzionalità di sintassi YARA-L per Risk Analytics. Per ulteriori informazioni su YARA-L, consulta la sintassi del linguaggio YARA-L 2.0.

Funzioni di metriche YARA-L

Google Security Operations supporta una serie di funzioni di metriche, che possono aggregare grandi quantità di dati storici.

La funzione delle metriche può essere utilizzata solo nella sezione dei risultati. Tutte le chiamate alle funzioni di esempio presuppongono l'utilizzo in una regola con più eventi.

Tutte le regole che utilizzano la funzione delle metriche vengono classificate automaticamente come regole con più eventi, anche se non hanno una sezione di corrispondenza e utilizzano solo una variabile evento. Ciò significa che verranno conteggiati ai fini della quota delle regole con più eventi.

Parametri funzione

Le funzioni di metrica possono essere utilizzate per le regole che eseguono analisi del comportamento delle entità.

Ad esempio, la seguente regola indica il numero massimo di byte giornalieri inviati da un indirizzo IP specifico nell'ultimo mese. L'indirizzo IP specifico è rappresentato da una variabile segnaposto, $ip in questo esempio. Per ulteriori informazioni sulle variabili segnaposto, consulta Dichiarazioni di variabili.

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

A causa del numero elevato di argomenti utilizzati in queste funzioni, vengono utilizzati parametri nominativi, che possono essere specificati in qualsiasi ordine. I parametri sono i seguenti:

Periodo

Il periodo di tempo durante il quale i singoli eventi del log vengono combinati in un'unica osservazione. Gli unici valori consentiti sono 1h e 1d.

Finestra

Il periodo di tempo durante il quale le singole osservazioni vengono aggregate in un unico valore, come la media e il massimo. I valori consentiti per window si basano sul periodo della metrica. La mappatura valida è la seguente:

period:1h: window:today

period:1d: window:30d

Ad esempio, la seguente regola indica il numero maggiore di tentativi di autenticazione non riusciti rilevati per un utente specifico (Alice) in un determinato giorno, negli ultimi 30 giorni:

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

Per first-seen tipi di rilevamenti è possibile utilizzare una combinazione di metriche orarie e giornaliere. Ad esempio, la seguente regola indica se è la prima volta che un utente accede a questa applicazione:

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)

Metrica

All'interno di ciascun periodo, a ciascuna osservazione è associata una serie di metriche. È necessario selezionarne una per l'aggregazione nell'intera finestra. Sono supportati cinque tipi di metric:

event_count_sum: numero di eventi di log unici in ogni periodo.

first_seen: timestamp della prima occorrenza di un evento di log corrispondente all'interno di ogni periodo.

last_seen: timestamp dell'ultimo evento log corrispondente rilevato in ogni periodo.

value_sum: rappresenta la somma del numero di byte in tutti gli eventi log combinati nel periodo. Puoi utilizzare questo valore solo per le funzioni delle metriche con bytes nel nome.

num_unique_filter_values: metrica non precalcolata da Google Security Operations, ma che può essere calcolata durante l'esecuzione delle regole. Per ulteriori dettagli e requisiti, consulta la sezione Contare le metriche uniche.

Agg

L'aggregazione applicata alla metrica. Le aggregazioni vengono applicate all'intera finestra (ad es. il valore giornaliero più alto negli ultimi 30 giorni). I valori consentiti sono:

avg: valore medio per periodo. Si tratta di una media statistica che non include valori pari a zero.

max: valore massimo per periodo.

min: il valore più piccolo per periodo.

num_metric_periods: numero di periodi all'interno della finestra temporale con un valore della metrica diverso da zero.

stddev: deviazione standard del valore per periodo. Si tratta di una deviazione standard statistica che non include i valori zero.

sum: somma di ogni valore per periodo nell'intera finestra.

Ad esempio, la seguente regola indica il numero medio di tentativi di autenticazione non riusciti rilevati per un utente specifico (Alice) in un determinato giorno negli ultimi 30 giorni:

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

La seguente regola indica quante autenticazioni riuscite ha avuto un utente specifico negli ultimi 30 giorni:

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

La seguente regola indica se un utente specifico ha eseguito correttamente l'accesso almeno una volta negli ultimi 30 giorni:

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

La seguente regola indica la prima o l'ultima volta che un utente specifico ha eseguito correttamente l'accesso:

$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
))

La seguente regola indica il numero massimo di byte inviati da un utente in un determinato giorno negli ultimi 30 giorni:

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

Filtro

I filtri consentono di filtrare le metriche prima dell'aggregazione in base a un valore nella metrica precalcolata (vedi i valori in Metrica). I filtri possono essere qualsiasi expression di eventi valida (una singola riga nella sezione degli eventi) che non contiene campi o segnaposto di eventi. Le uniche variabili che possono essere incluse in questa condizione sono i tipi di metriche.

La seguente regola include solo le metriche in cui 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
))
Esempi validi di filtri
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
Esempi di filtri non validi
// 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)

Campi UDM

Le metriche vengono filtrate da 1, 2 o 3 campi UDM, a seconda della funzione. Per maggiori informazioni, consulta Funzioni.

Per le funzioni delle metriche vengono utilizzati i seguenti tipi di campi UDM:

  • Dimensioni: (obbligatorio) in questa documentazione sono elencate diverse combinazioni. Non puoi unire una metrica con un valore predefinito ("" per stringa e 0 per int).
  • Spazi dei nomi (facoltativo): puoi utilizzare gli spazi dei nomi solo per le entità specificate nelle dimensioni. Ad esempio, se utilizzi principal.asset.hostname filter, puoi utilizzare anche principal.namespace filter. Se non includi un filtro dello spazio dei nomi, i dati di tutti gli spazi dei nomi vengono aggregati. Puoi utilizzare un valore predefinito come filtro dello spazio dei nomi.

Calcoli delle finestre

Google Security Operations calcola le metriche utilizzando una finestra di misurazione giornaliera o oraria.

Finestre giornaliere

Tutti i periodi giornalieri, come 30d, vengono determinati nello stesso modo. Google Security Operations utilizza i dati delle metriche più recenti disponibili che non si sovrappongono all'intervallo di tempo della regola. Il calcolo delle metriche giornaliere può richiedere fino a 6 ore e non inizia fino alla fine del giorno in UTC. I dati delle metriche relativi al giorno precedente saranno disponibili ogni giorno alle 06:00 UTC o prima.

Ad esempio, per una regola che viene eseguita sui dati sugli eventi dal 31-10-2023 04:00 UTC al 31-10-2023 07:00 UTC, è probabile che le metriche giornaliere per il 31-10-2023 siano state generate, pertanto il calcolo delle metriche utilizzerà i dati dal 01-10-2023 al 30-10-2023 (inclusi). Invece, per una regola che viene eseguita sui dati sugli eventi dal giorno 31-10-2023 01:00 UTC al giorno 31-10-2023 03:00 UTC, le metriche giornaliere per il giorno 30-10-2023 probabilmente non sono state generate, pertanto il calcolo delle metriche utilizzerà i dati dal giorno 30-09-2023 al giorno 29-10-2023 (inclusi).

Finestra today ogni ora

La finestra della metrica oraria viene calcolata in modo diverso rispetto alla finestra per le metriche giornaliere. La finestra delle metriche orarie di today non è una dimensione statica come la finestra di 30d per le metriche giornaliere. La finestra delle metriche orarie today compila il maggior numero possibile di dati tra la fine della finestra giornaliera e l'inizio della finestra temporale della regola.

Ad esempio, per una regola che viene eseguita sui dati sugli eventi dal 31-10-2023 04:00:00 UTC al 31-10-2023 07:00:00 UTC, il calcolo delle metriche giornaliere utilizzerà i dati dal 01-10-2023 al 30-10-2023 (inclusi) e la finestra delle metriche orarie utilizzerà i dati dal 31-10-2023 00:00:00 UTC al 31-10-2023 04:00:00 UTC.

Contare le metriche uniche

Esiste un tipo speciale di metrica num_unique_filter_values che non viene precalcolata da Google Security Operations, ma viene calcolata durante l'esecuzione di una regola. Ciò avviene aggregando in base a una dimensione esistente in una metrica precalcolata. Ad esempio, la metrica daily total count of distinct countries that a user attempted to authenticate in può essere ricavata dalle metriche auth_attempts_total precalcolate sulle dimensioni target.user.userid e principal.ip_geo_artifact.location.country_or_region eseguendo un conteggio aggregazione univoca sull'ultima dimensione.

La seguente regola di esempio conteggia le metriche univoche:

$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: *
))

Questa funzionalità presenta la seguente limitazione:

  • Il conteggio delle metriche univoche può essere aggregato solo su una dimensione del filtro. Questo viene indicato utilizzando il token jolly * come valore del filtro.

Funzioni

Questa sezione include la documentazione sulle funzioni di metriche specifiche supportate da Google Security Operations.

Eventi di avviso

metrics.alert_event_name_count precompila i valori storici per gli eventi UDM per i quali sono stati generati avvisi da Carbon Black, CrowdStrike Falcon, Microsoft Graph API Alerts o Microsoft Sentinel.

L'elenco completo dei campi UDM disponibili come filtri

  • principal.asset.asset_id, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_name
  • principal.asset.asset_id, principal.process.file.full_path, principal.user.employee_id, security_result.rule_name
  • principal.asset.asset_id, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_name
  • principal.asset.asset_id, principal.process.file.full_path, principal.user.userid, security_result.rule_name
  • principal.asset.asset_id, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_name
  • principal.asset.asset_id, principal.process.file.full_path, security_result.rule_name
  • principal.asset.asset_id, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_name
  • principal.asset.asset_id, principal.process.file.sha256, principal.user.employee_id, security_result.rule_name
  • principal.asset.asset_id, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_name
  • principal.asset.asset_id, principal.process.file.sha256, principal.user.userid, security_result.rule_name
  • principal.asset.asset_id, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_name
  • principal.asset.asset_id, security_result.rule_name
  • principal.asset.hostname, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_name
  • principal.asset.hostname, principal.process.file.full_path, principal.user.employee_id, security_result.rule_name
  • principal.asset.hostname, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_name
  • principal.asset.hostname, principal.process.file.full_path, principal.user.userid, security_result.rule_name
  • principal.asset.hostname, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_name
  • principal.asset.hostname, principal.process.file.full_path, security_result.rule_name
  • principal.asset.hostname, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_name
  • principal.asset.hostname, principal.process.file.sha256, principal.user.employee_id, security_result.rule_name
  • principal.asset.hostname, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_name
  • principal.asset.hostname, principal.process.file.sha256, principal.user.userid, security_result.rule_name
  • principal.asset.hostname, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_name
  • principal.asset.hostname, security_result.rule_name
  • principal.asset.ip, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_name
  • principal.asset.ip, principal.process.file.full_path, principal.user.employee_id, security_result.rule_name
  • principal.asset.ip, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_name
  • principal.asset.ip, principal.process.file.full_path, principal.user.userid, security_result.rule_name
  • principal.asset.ip, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_name
  • principal.asset.ip, principal.process.file.full_path, security_result.rule_name
  • principal.asset.ip, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_name
  • principal.asset.ip, principal.process.file.sha256, principal.user.employee_id, security_result.rule_name
  • principal.asset.ip, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_name
  • principal.asset.ip, principal.process.file.sha256, principal.user.userid, security_result.rule_name
  • principal.asset.ip, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_name
  • principal.asset.ip, security_result.rule_name
  • principal.asset.mac, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_name
  • principal.asset.mac, principal.process.file.full_path, principal.user.employee_id, security_result.rule_name
  • principal.asset.mac, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_name
  • principal.asset.mac, principal.process.file.full_path, principal.user.userid, security_result.rule_name
  • principal.asset.mac, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_name
  • principal.asset.mac, principal.process.file.full_path, security_result.rule_name
  • principal.asset.mac, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_name
  • principal.asset.mac, principal.process.file.sha256, principal.user.employee_id, security_result.rule_name
  • principal.asset.mac, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_name
  • principal.asset.mac, principal.process.file.sha256, principal.user.userid, security_result.rule_name
  • principal.asset.mac, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_name
  • principal.asset.mac, security_result.rule_name
  • principal.asset.product_object_id, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_name
  • principal.asset.product_object_id, principal.process.file.full_path, principal.user.employee_id, security_result.rule_name
  • principal.asset.product_object_id, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_name
  • principal.asset.product_object_id, principal.process.file.full_path, principal.user.userid, security_result.rule_name
  • principal.asset.product_object_id, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_name
  • principal.asset.product_object_id, principal.process.file.full_path, security_result.rule_name
  • principal.asset.product_object_id, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_name
  • principal.asset.product_object_id, principal.process.file.sha256, principal.user.employee_id, security_result.rule_name
  • principal.asset.product_object_id, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_name
  • principal.asset.product_object_id, principal.process.file.sha256, principal.user.userid, security_result.rule_name
  • principal.asset.product_object_id, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_name
  • principal.asset.product_object_id, security_result.rule_name

Tentativi di autenticazione

metrics.auth_attempts_total precompila i valori storici per gli eventi UDM con un USER_LOGIN event type.

metrics.auth_attempts_success richiede inoltre che l'evento abbia avuto almeno un SecurityResult.Action di ALLOW.

metrics.auth_attempts_fail richiede invece che nessuno dei SecurityResult.Actions sia ALLOW.

L'elenco completo dei campi UDM disponibili come filtri

  • 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 ha altri campi UDM disponibili come filtri

  • 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 ha altri campi UDM disponibili come filtri

  • 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 in uscita

metrics.dns_bytes_outbound precompila i valori storici per gli eventi UDM in cui network.sent_bytes è maggiore di 0, e la porta di destinazione è 53/udp, 53/tcp o 3000/tcp. network.sent_bytes è disponibile come value_sum.

L'elenco completo dei campi UDM disponibili come filtri

  • 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

Query DNS

metrics.dns_queries_total precompila i valori storici per gli eventi UDM che hanno un valore in network.dns.id.

metrics.dns_queries_success richiede inoltre che network.dns.response_code era 0 (NoError).

metrics.dns_queries_fail prende in considerazione solo gli eventi con un valore network.dns.response_code maggiore di 0.

L'elenco completo dei campi UDM disponibili come filtri

  • 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

Esecuzioni file

metrics.file_executions_total precompila i valori storici per gli eventi UDM con un PROCESS_LAUNCH event type.

metrics.file_executions_success richiede inoltre che l'evento abbia avuto almeno uno SecurityResult.Action di ALLOW.

metrics.file_executions_fail invece richiede che nessuno dei SecurityResult.Actions sia ALLOW.

L'elenco completo dei campi UDM disponibili come filtri

  • 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

Query HTTP

metrics.http_queries_total precompila i valori storici per gli eventi UDM che hanno un valore in network.http.method.

metrics.http_queries_success richiede inoltre che network.http.response_code è inferiore a 400.

metrics.http_queries_fail prende in considerazione solo gli eventi con un valore network.http.response_code è inferiore o uguale a 400.

L'elenco completo dei campi UDM disponibili come filtri

  • 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 di rete

metrics.network_bytes_inbound precompila i valori storici per gli eventi UDM che hanno un valore diverso da zero per network.received_bytes, e rende disponibile questo campo come value_sum.

metrics.network_bytes_outbound richiede un valore diverso da zero per network.sent_bytes e rende disponibile questo campo come value_sum.

metrics.network_bytes_total prende in considerazione gli eventi con un valore diverso da zero per network.received_bytes o network.sent_bytes (o entrambi) e rende disponibile la somma di questi due campi come value_sum.

L'elenco completo dei campi UDM disponibili come filtri

  • 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

Creazione di risorse

metrics.resource_creation_total precompila i valori storici per gli eventi UDM con un RESOURCE_CREATION event type.

metrics.resource_creation_success richiede inoltre che l'evento abbia almeno un SecurityResult.Action di ALLOW.

L'elenco completo dei campi UDM disponibili come filtri

  • principal.user.email_addresses, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, metadata.vendor_name, metadata.product_name
  • principal.user.userid, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.userid, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.userid, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.userid, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.userid, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • principal.user.userid, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • target.user.email_addresses, metadata.vendor_name, metadata.product_name
  • target.user.employee_id, metadata.vendor_name, metadata.product_name
  • target.user.product_object_id, metadata.vendor_name, metadata.product_name
  • target.user.userid, metadata.vendor_name, metadata.product_name
  • target.user.windows_sid, metadata.vendor_name, metadata.product_name

Eliminazione delle risorse

metrics.resource_deletion_success precompila i valori storici per gli eventi UDM con un RESOURCE_DELETION event type e inoltre richiede che l'evento abbia almeno un SecurityResult.Actions di ALLOW.

L'elenco completo dei campi UDM disponibili come filtri

  • principal.user.email_addresses, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, metadata.vendor_name, metadata.product_name
  • principal.user.userid, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.userid, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.userid, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.userid, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.userid, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • principal.user.userid, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • target.user.email_addresses, metadata.vendor_name, metadata.product_name
  • target.user.employee_id, metadata.vendor_name, metadata.product_name
  • target.user.product_object_id, metadata.vendor_name, metadata.product_name
  • target.user.userid, metadata.vendor_name, metadata.product_name
  • target.user.windows_sid, metadata.vendor_name, metadata.product_name

Lettura della risorsa

metrics.resource_read_success precompila i valori storici per gli eventi UDM con un RESOURCE_READ event type e inoltre richiede che l'evento abbia almeno un SecurityResult.Action di ALLOW.

metrics.resource_read_fail invece richiede che nessuno dei SecurityResult.Actions sia ALLOW.

L'elenco completo dei campi UDM disponibili come filtri

  • principal.user.email_addresses, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, metadata.vendor_name, metadata.product_name
  • principal.user.userid, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.userid, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, principal.ip, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.userid, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, target.application, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.userid, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, target.application, target.location.name, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.userid, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, target.resource.name, metadata.vendor_name, metadata.product_name
  • principal.user.email_addresses, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • principal.user.employee_id, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • principal.user.product_object_id, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • principal.user.userid, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • principal.user.windows_sid, target.resource.name, target.resource_type, metadata.vendor_name, metadata.product_name
  • target.user.email_addresses, metadata.vendor_name, metadata.product_name
  • target.user.employee_id, metadata.vendor_name, metadata.product_name
  • target.user.product_object_id, metadata.vendor_name, metadata.product_name
  • target.user.userid, metadata.vendor_name, metadata.product_name
  • target.user.windows_sid, metadata.vendor_name, metadata.product_name

Limitazioni

Quando crei regole YARA-L con metriche, tieni presente le seguenti limitazioni:

  • Non puoi unire una metrica con un valore predefinito ("" per le stringhe e 0 per i valori interi).
  • Valori predefiniti:
    • Se non sono presenti dati delle metriche corrispondenti a un evento, il valore restituito dalla funzione delle metriche è 0.
    • Se nel rilevamento è presente un evento senza dati delle metriche, l'utilizzo di min per l'aggregazione della funzione potrebbe restituire 0.
    • Per verificare se sono presenti dati per un evento, puoi utilizzare l'aggregazione delle metrichenum_metric_periods sullo stesso evento con gli stessi filtri.
  • Le funzioni di metrica possono essere utilizzate solo nella sezione relativa al risultato.
  • Poiché le funzioni di metrica vengono utilizzate solo nella sezione relativa al risultato, devono essere aggregate come qualsiasi altro valore nelle regole con una sezione di corrispondenza.