Funciones de métricas para las reglas de Análisis de riesgos

Compatible con:

En este documento, se describen los principales elementos de las nuevas funciones de sintaxis de YARA-L para Risk Analytics. Para obtener más información sobre YARA-L, consulta Sintaxis del lenguaje YARA-L 2.0.

Funciones de métricas de YARA-L

Google Security Operations admite varias funciones de métricas, que pueden agregar grandes cantidades de datos históricos.

La función de métrica solo se puede usar en la sección de resultados. Todas las llamadas a funciones de ejemplo suponen el uso en una regla de varios eventos.

Todas las reglas que usan la función de métrica se categorizan automáticamente como reglas de varios eventos, incluso si no tienen una sección de coincidencias y usan solo una variable de evento. Esto significa que se contabilizarán para la cuota de reglas de varios eventos.

Parámetros de la función de métrica

Las funciones de métricas se pueden usar para reglas que realizan análisis de comportamiento de entidades.

Por ejemplo, la siguiente regla te indica la cantidad máxima de bytes diarios que envió una dirección IP específica en el último mes. La dirección IP específica se representa con una variable de marcador de posición, $ip en este ejemplo. Para obtener más información sobre las variables de marcador de posición, consulta Declaraciones de variables.

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

Debido a la gran cantidad de argumentos que se usan en estas funciones, se utilizan parámetros con nombre, que se pueden especificar en cualquier orden. Los parámetros son los siguientes:

Período

Es el período durante el cual se combinan eventos de registro individuales en una sola observación. Los únicos valores permitidos son 1h y 1d.

Ventana

Es el período durante el cual las observaciones individuales se agregan en un solo valor, como el promedio y el máximo. Los valores permitidos para window se basan en el período de la métrica. La asignación válida es la siguiente:

period:1h : window:today

period:1d : window:30d

Por ejemplo, la siguiente regla te indica la mayor cantidad de intentos de autenticación fallidos que se registraron para un usuario específico (Alice) en un día determinado, durante los últimos 30 días:

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

Se puede usar una combinación de una métrica diaria y una horaria para los tipos de detecciones de first-seen. Por ejemplo, la siguiente regla te indica si es la primera vez que un usuario accede a esta aplicación:

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)

Métrica

En cada período, cada observación tiene una serie de métricas asociadas a ella. Se debe seleccionar una de estas opciones para la agregación durante toda la ventana. Se admiten cinco tipos de metric:

event_count_sum: Cantidad de eventos de registro únicos dentro de cada período.

first_seen: Marca de tiempo de la primera vez que se vio un evento de registro coincidente dentro de cada período.

last_seen: Marca de tiempo del último evento de registro coincidente dentro de cada período.

value_sum: Representa la suma de la cantidad de bytes en todos los eventos de registro combinados dentro del período. Solo puedes usar este valor para una función de métrica con bytes en su nombre.

num_unique_filter_values: Es una métrica que Google SecOps no calcula previamente, pero que se puede calcular durante la ejecución de la regla. Consulta Cómo contar métricas únicas para obtener más detalles y requisitos.

Agg

Indica qué agregación se aplica a la métrica. Las agregaciones se aplican durante todo el período (p.ej., el valor diario más alto de los últimos 30 días). Los valores permitidos son los siguientes:

avg: Valor promedio por período. Esta es una media estadística que no incluye valores de cero.

max: Es el valor más alto por período.

min: Es el valor más pequeño por período.

num_metric_periods: Es la cantidad de períodos dentro del intervalo que tuvieron un valor de métrica distinto de cero.

stddev: Es la desviación estándar del valor por período. Esta es una desviación estándar estadística que no incluye valores cero.

sum: Suma de cada valor por período, en todo el período.

Por ejemplo, la siguiente regla te indica la cantidad promedio de intentos de autenticación fallidos que se observaron para un usuario específico (Alice) en cualquier día durante los últimos 30 días:

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

La siguiente regla indica cuántas autenticaciones exitosas tuvo un usuario específico en los últimos 30 días:

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

La siguiente regla indica si un usuario específico accedió correctamente al menos una vez en los últimos 30 días:

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

La siguiente regla te indica la primera o última vez que un usuario específico accedió correctamente:

$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 siguiente regla indica la cantidad máxima de bytes que envió un usuario en un día determinado durante los últimos 30 días:

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

Filtro

Los filtros permiten ordenar una métrica antes de la agregación con un valor en la métrica previamente procesada (consulta los valores en Metric). Los filtros pueden ser cualquier expresión de eventos válida (una sola línea en la sección de eventos) que no contenga ningún campo de eventos ni marcadores de posición. Las únicas variables que se pueden incluir en esta condición son los tipos de métricas.

La siguiente regla solo incluye las métricas en las que 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
))
Ejemplos válidos de filtros
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
Ejemplos de filtros no válidos
// 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)

Campos de UDM

Una métrica se filtra por 1, 2 o 3 campos de UDM, según la función. Para obtener más información, consulta Funciones.

Los siguientes tipos de campos de UDM se usan para las funciones de métricas:

  • Dimensiones: (Obligatorio) En esta documentación, se enumeran diferentes combinaciones. No puedes unir una métrica con un valor predeterminado ("" para la cadena y 0 para el número entero).
  • Espacios de nombres (opcional): Solo puedes usar espacios de nombres para las entidades que especifiques en las dimensiones. Por ejemplo, si usas principal.asset.hostname filter, también puedes usar principal.namespace filter. Si no incluyes un filtro de espacio de nombres, los datos de todos los espacios de nombres se agregan. Puedes usar un valor predeterminado como filtro de espacio de nombres.

Cálculos de ventanas

Las Operaciones de seguridad de Google calculan las métricas con un período de métricas diario o por hora.

Períodos diarios

Todos los períodos diarios, como 30d, se determinan de la misma manera. Las Operaciones de seguridad de Google utilizan los datos de métricas disponibles más recientes que se generaron y que no se superponen con el período de la regla. El cálculo de las métricas diarias puede tardar hasta 6 horas en completarse y no comienza hasta el final del día en UTC. Los datos de las métricas del día anterior estarán disponibles a las 6:00 a.m. (UTC) de cada día o antes.

Por ejemplo, para una regla que se ejecuta sobre datos de eventos del 31/10/2023 a las 4:00 UTC al 31/10/2023 a las 7:00 UTC, es probable que ya se hayan generado las métricas diarias del 31/10/2023, por lo que el cálculo de métricas usará los datos del 1/10/2023 al 30/10/2023 (inclusive). En cambio, para una regla que se ejecuta sobre datos de eventos del 31/10/2023 a la 1:00 (UTC) al 31/10/2023 a las 3:00 (UTC), es probable que no se hayan generado las métricas diarias del 30/10/2023, por lo que el cálculo de la métrica usará los datos del 30/9/2023 al 29/10/2023 (inclusive).

Período de today horas

El período de la métrica por hora se calcula de manera diferente al de las métricas diarias. La ventana de métricas por hora de today no tiene un tamaño estático como la ventana de 30d para las métricas diarias. La ventana de métricas por hora today se completa con la mayor cantidad de datos posible entre el final de la ventana diaria y el inicio de la ventana de la regla.

Por ejemplo, para una regla que se ejecuta sobre datos de eventos del 31/10/2023 a las 4:00:00 UTC al 31/10/2023 a las 7:00:00 UTC, el cálculo de la métrica diaria usará los datos del 1/10/2023 al 30/10/2023 (inclusive), y la ventana de la métrica por hora usará los datos del 31/10/2023 a las 00:00:00 UTC al 31/10/2023 a las 4:00:00 UTC.

Recuento de métricas únicas

Existe un tipo especial de métrica num_unique_filter_values que Google SecOps no calcula previamente, sino que se calcula durante la ejecución de una regla. Esto se hace agregando una dimensión existente en una métrica previamente calculada. Por ejemplo, la métrica daily total count of distinct countries that a user attempted to authenticate se puede derivar de la métrica auth_attempts_total previamente calculada en las dimensiones target.user.userid y principal.ip_geo_artifact.location.country_or_region realizando una agregación de recuento único en la última dimensión.

La siguiente regla de ejemplo cuenta las métricas únicas:

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

Esta función tiene la siguiente limitación:

  • El cálculo del recuento de métricas únicas solo se puede agregar en una dimensión de filtro. Esto se indica con el token de comodín * como valor del filtro.

Funciones

En esta sección, se incluye documentación sobre las funciones de métricas específicas que admite Google Security Operations.

Eventos de alerta

metrics.alert_event_name_count precalcula los valores históricos de los eventos del UDM que generaron alertas de Carbon Black, CrowdStrike Falcon, las alertas de la API de Microsoft Graph o Microsoft Sentinel.

La lista completa de campos del UDM disponibles como filtros

  • 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

Intentos de autenticación

metrics.auth_attempts_total precalcula los valores históricos de los eventos del UDM con un USER_LOGIN event type.

metrics.auth_attempts_success requiere, además, que el evento haya tenido al menos un SecurityResult.Action de ALLOW.

En cambio, metrics.auth_attempts_fail requiere que ninguno de los SecurityResult.Actions haya sido ALLOW.

La lista completa de campos del UDM disponibles como filtros

  • 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 tiene campos de UDM adicionales disponibles como filtros

  • 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 tiene campos de UDM adicionales disponibles como filtros

  • 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

Bytes de DNS salientes

metrics.dns_bytes_outbound precalcula los valores históricos para los eventos del UDM en los que network.sent_bytes es mayor que 0 y el puerto de destino es 53/udp, 53/tcp o 3000/tcp. network.sent_bytes está disponible como value_sum.

La lista completa de campos del UDM disponibles como filtros

  • 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

Consultas de DNS

metrics.dns_queries_total precalcula los valores históricos para los eventos del UDM que tienen un valor en network.dns.id.

metrics.dns_queries_success requiere además que el network.dns.response_code era 0 (NoError).

metrics.dns_queries_fail solo considera los eventos con un network.dns.response_code mayor que 0

La lista completa de campos del UDM disponibles como filtros

  • 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

Ejecuciones de archivos

metrics.file_executions_total precalcula los valores históricos de los eventos del UDM con un PROCESS_LAUNCH event type.

metrics.file_executions_success requiere además que el evento haya tenido al menos un SecurityResult.Action de ALLOW.

En cambio, metrics.file_executions_fail requiere que ninguno de los SecurityResult.Actions haya sido ALLOW.

La lista completa de campos del UDM disponibles como filtros

  • 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

Consultas HTTP

metrics.http_queries_total precalcula los valores históricos para los eventos del UDM que tienen un valor en network.http.method.

Además, metrics.http_queries_success requiere que network.http.response_code es menor que 400.

metrics.http_queries_fail solo considera los eventos con un network.http.response_code es mayor o igual que 400.

La lista completa de campos del UDM disponibles como filtros

  • 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

Bytes de red

metrics.network_bytes_inbound precalcula los valores históricos de los eventos de UDM que tienen un valor distinto de cero para network.received_bytes y hace que ese campo esté disponible como value_sum.

metrics.network_bytes_outbound requiere un valor distinto de cero para network.sent_bytes y hace que ese campo esté disponible como value_sum.

metrics.network_bytes_total considera los eventos que tienen un valor distinto de cero para network.received_bytes o network.sent_bytes (o ambos) y hace que la suma de esos dos campos esté disponible como value_sum.

La lista completa de campos del UDM disponibles como filtros

  • 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

Creación de recursos

metrics.resource_creation_total precalcula los valores históricos de los eventos del UDM con un RESOURCE_CREATION event type o un USER_RESOURCE_CREATION event type.

Para obtener una lista de los tipos de eventos equivalentes, consulta Tipos de eventos de metadatos.

Además, metrics.resource_creation_success requiere que el evento tenga al menos un SecurityResult.Action de ALLOW.

La lista completa de campos del UDM disponibles como filtros

  • 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

Borrado de recursos

metrics.resource_deletion_success precalcula los valores históricos para los eventos del UDM con un RESOURCE_DELETION event type y, además, requiere que el evento tenga al menos un SecurityResult.Actions de ALLOW.

La lista completa de campos del UDM disponibles como filtros

  • 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

Lectura de recursos

metrics.resource_read_success precalcula los valores históricos para los eventos del UDM con un RESOURCE_READ event type y, además, requiere que el evento tenga al menos un SecurityResult.Action de ALLOW.

En cambio, metrics.resource_read_fail requiere que ninguno de los SecurityResult.Actions sea ALLOW.

La lista completa de campos del UDM disponibles como filtros

  • 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

Limitaciones

Cuando crees reglas de YARA-L con métricas, ten en cuenta las siguientes limitaciones:

  • No puedes unir una métrica con un valor predeterminado ("" para la cadena y 0 para el número entero).
  • Valores predeterminados:
    • Si no hay datos de métricas que correspondan a un evento, el valor que devuelve la función de métricas es 0.
    • Si hay un evento en la detección que no tiene datos de métricas, usar min para agregar la función podría devolver 0.
    • Para verificar si hay datos de un evento, puedes usar la agregación de la métrica num_metric_periods en ese mismo evento con los mismos filtros.
  • Las funciones de métricas solo se pueden usar en la sección de resultados.
  • Dado que las funciones de métricas solo se usan en la sección de resultados, deben agregarse como cualquier otro valor en las reglas con una sección de coincidencias.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.