Funciones de métricas para reglas de Analíticas de riesgos

Disponible en:

En este documento se describen los elementos principales de las nuevas funciones de sintaxis de YARA-L para Risk Analytics. Para obtener más información sobre YARA-L, consulta la 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 de función de ejemplo asumen que se usan en una regla de varios eventos.

Todas las reglas que usan la función de métrica se clasifican automáticamente como reglas multievento, aunque no tengan una sección de coincidencia y usen solo una variable de evento. Esto significa que se contabilizarán en la cuota de reglas de varios eventos.

Parámetros de función de métrica

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

Por ejemplo, la siguiente regla indica el número máximo de bytes diarios que ha enviado 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 al gran número 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:

Periodo

Periodo en el que los eventos de registro individuales se combinan en una única observación. Los únicos valores permitidos son 1h y 1d.

Ventana

Periodo durante el cual las observaciones individuales se agregan en un único valor, como la media o el máximo. Los valores permitidos de window se basan en el periodo 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 el mayor número de intentos de autenticación fallidos que ha tenido un usuario específico (Alice) en un día concreto 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 por horas y una métrica diaria para first-seen tipos de detecciones. Por ejemplo, la siguiente regla te indica si es la primera vez que un usuario inicia sesión en 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

Dentro de cada periodo, las observaciones tienen un número de métricas asociadas a ellas. Una de ellas debe seleccionarse para la agregación de toda la ventana. Se admiten cinco tipos de metric:

event_count_sum: número de eventos de registro únicos en cada periodo.

first_seen—Marca de tiempo de la primera vez que se vio un evento de registro coincidente en cada periodo.

last_seen—Marca de tiempo de la última vez que se vio un evento de registro coincidente en cada periodo.

value_sum: representa la suma del número de bytes de todos los eventos de registro combinados en el periodo. Solo puede usar este valor en una función de métrica con bytes en su nombre.

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

Agg

Qué agregación se aplica a la métrica. Las agregaciones se aplican en toda la ventana (por ejemplo, el valor diario más alto de los últimos 30 días). Los valores permitidos son:

avg: valor medio por periodo. Se trata de una media estadística que no incluye valores cero.

max: el valor más alto por periodo.

min: el valor más pequeño por periodo.

num_metric_periods: número de periodos del intervalo de tiempo que han tenido un valor de métrica distinto de cero.

stddev: desviación estándar del valor por periodo. Se trata de una desviación estándar estadística que no incluye valores cero.

sum—Suma de cada valor por periodo durante toda la ventana.

Por ejemplo, la siguiente regla indica el número medio de intentos de autenticación fallidos de un usuario específico (Alice) en un día cualquiera de 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 correctas ha tenido 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 concreto ha iniciado sesión 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 indica la primera o la última vez que un usuario específico ha iniciado sesión 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 el número máximo de bytes que ha enviado un usuario en un día cualquiera de 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 filtrar una métrica antes de la agregación por un valor en la métrica preprocesada (consulte los valores en Métrica). 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 evento ni marcador de posición. Las únicas variables que se pueden incluir en esta condición son de tipo métrica.

La siguiente regla solo incluye 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 no válidos de filtros
// 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

Las métricas se filtran 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 en las funciones de métricas:

  • Dimensiones: (obligatorio) en esta documentación se indican diferentes combinaciones. No puedes combinar una métrica con un valor predeterminado ("" para cadenas y 0 para números enteros).
  • Espacios de nombres: (opcional) solo puede usar espacios de nombres para las entidades que especifique en las dimensiones. Por ejemplo, si usas principal.asset.hostname filter, también puedes usar principal.namespace filter. Si no incluye un filtro de espacio de nombres, los datos de todos los espacios de nombres se agregarán. Puede usar un valor predeterminado como filtro de espacio de nombres.

Cálculos de ventanas

Google Security Operations calcula las métricas mediante una ventana de métricas diaria o por horas.

Ventanas diarias

Todas las ventanas diarias, como 30d, se determinan de la misma forma. Google Security Operations usa los datos de métricas más recientes disponibles que se han generado y que no se superponen con el intervalo de tiempo de la regla. El cálculo de las métricas diarias puede tardar hasta 6 horas en completarse y no empieza 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 (UTC) o antes cada día.

Por ejemplo, en el caso de una regla que se ejecute sobre datos de eventos del 31 de octubre del 2023 a las 4:00 (UTC) al 31 de octubre del 2023 a las 7:00 (UTC), es probable que se hayan generado las métricas diarias del 31 de octubre del 2023, por lo que el cálculo de las métricas usará los datos del 1 al 30 de octubre del 2023 (ambos incluidos). En cambio, en el caso de una regla que se ejecute sobre datos de eventos del 31 de octubre del 2023 de la 1:00 (UTC) a las 3:00 (UTC), es probable que no se hayan generado las métricas diarias del 30 de octubre del 2023, por lo que el cálculo de las métricas usará los datos del 30 de septiembre al 29 de octubre del 2023 (ambos incluidos).

Ventana de today horas

La ventana de métricas por horas se calcula de forma diferente a la ventana de métricas diarias. La ventana de métricas por horas de today no tiene un tamaño estático como la ventana 30d de las métricas diarias. La ventana de métricas por horas today se rellena con la mayor cantidad de datos posible entre el final de la ventana diaria y el inicio de la ventana de tiempo de la regla.

Por ejemplo, en el caso de una regla que se aplique a 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 diario de la métrica usará los datos del 1/10/2023 al 30/10/2023 (ambos incluidos) y la ventana de la métrica por horas usará los datos del 31/10/2023 a las 0:00:00 (UTC) al 31/10/2023 a las 4:00:00 (UTC).

Métricas de recuento único

Hay un tipo especial de métrica num_unique_filter_values que no calcula previamente Google SecOps, sino que se calcula durante la ejecución de una regla. Para ello, se agrega una dimensión ya disponible en una métrica preprocesada. 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 preprocesada 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 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 recuento de métricas únicas solo se puede agregar en una dimensión de filtro. Para ello, se usa el token comodín * como valor del filtro.

Functions

Esta sección 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 de UDM que han generado alertas de Carbon Black, CrowdStrike Falcon, Microsoft Graph API Alerts o Microsoft Sentinel.

Lista completa de campos de UDM que están 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 de 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.

metrics.auth_attempts_fail requiere que ninguno de los SecurityResult.Actions sea ALLOW.

Lista completa de campos de UDM que están 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 salientes de DNS

metrics.dns_bytes_outbound precalcula los valores históricos de los eventos de 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.

Lista completa de campos de UDM que están 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 de los eventos de 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 tiene en cuenta los eventos con un network.dns.response_code mayor que 0.

Lista completa de campos de UDM que están 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 de UDM con un PROCESS_LAUNCH event type.

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

metrics.file_executions_fail requiere que ninguno de los SecurityResult.Actions sea ALLOW.

Lista completa de campos de UDM que están 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 de los eventos de UDM que tienen un valor en network.http.method.

metrics.http_queries_success también requiere que network.http.response_code es inferior a 400.

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

Lista completa de campos de UDM que están 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 en 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 tiene en cuenta los eventos que tienen un valor distinto de cero en network.received_bytes o network.sent_bytes (o en ambos) y ofrece la suma de esos dos campos como value_sum.

Lista completa de campos de UDM que están 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 de UDM con un RESOURCE_CREATION event type o un USER_RESOURCE_CREATION event type.

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

metrics.resource_creation_success requiere además que el evento tenga al menos una SecurityResult.Action de ALLOW.

Lista completa de campos de UDM que están 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 y metadata.product_name
  • principal.user.employee_id, target.application, target.location.name, metadata.vendor_name y metadata.product_name
  • principal.user.product_object_id, target.application, target.location.name, metadata.vendor_name y metadata.product_name
  • principal.user.userid, target.application, target.location.name, metadata.vendor_name y metadata.product_name
  • principal.user.windows_sid, target.application, target.location.name, metadata.vendor_name y 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 y metadata.product_name
  • principal.user.employee_id, target.resource.name, target.resource_type, metadata.vendor_name y metadata.product_name
  • principal.user.product_object_id, target.resource.name, target.resource_type, metadata.vendor_name y metadata.product_name
  • principal.user.userid, target.resource.name, target.resource_type, metadata.vendor_name y metadata.product_name
  • principal.user.windows_sid, target.resource.name, target.resource_type, metadata.vendor_name y 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

Eliminación de recursos

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

Lista completa de campos de UDM que están 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 y metadata.product_name
  • principal.user.employee_id, target.application, target.location.name, metadata.vendor_name y metadata.product_name
  • principal.user.product_object_id, target.application, target.location.name, metadata.vendor_name y metadata.product_name
  • principal.user.userid, target.application, target.location.name, metadata.vendor_name y metadata.product_name
  • principal.user.windows_sid, target.application, target.location.name, metadata.vendor_name y 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 y metadata.product_name
  • principal.user.employee_id, target.resource.name, target.resource_type, metadata.vendor_name y metadata.product_name
  • principal.user.product_object_id, target.resource.name, target.resource_type, metadata.vendor_name y metadata.product_name
  • principal.user.userid, target.resource.name, target.resource_type, metadata.vendor_name y metadata.product_name
  • principal.user.windows_sid, target.resource.name, target.resource_type, metadata.vendor_name y 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 de los eventos de UDM con un RESOURCE_READ event type y, además, requiere que el evento tenga al menos un SecurityResult.Action de ALLOW.

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

Lista completa de campos de UDM que están 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 y metadata.product_name
  • principal.user.employee_id, target.application, target.location.name, metadata.vendor_name y metadata.product_name
  • principal.user.product_object_id, target.application, target.location.name, metadata.vendor_name y metadata.product_name
  • principal.user.userid, target.application, target.location.name, metadata.vendor_name y metadata.product_name
  • principal.user.windows_sid, target.application, target.location.name, metadata.vendor_name y 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 y metadata.product_name
  • principal.user.employee_id, target.resource.name, target.resource_type, metadata.vendor_name y metadata.product_name
  • principal.user.product_object_id, target.resource.name, target.resource_type, metadata.vendor_name y metadata.product_name
  • principal.user.userid, target.resource.name, target.resource_type, metadata.vendor_name y metadata.product_name
  • principal.user.windows_sid, target.resource.name, target.resource_type, metadata.vendor_name y 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 puede combinar una métrica con un valor predeterminado ("" para cadenas y 0 para números enteros).
  • Valores predeterminados:
    • Si no hay datos de métricas que correspondan a un evento, el valor devuelto por la función de métrica es 0.
    • Si hay un evento en la detección que no tiene datos de métricas, usar min para agregar la función puede devolver 0.
    • Para comprobar si hay datos de un evento, puede usar la agregación num_metric_periods de la métrica en ese mismo evento con los mismos filtros.
  • Las funciones de métricas solo se pueden usar en la sección de resultados.
  • Como las funciones de métricas solo se usan en la sección de resultados, deben agregarse igual que cualquier otro valor de las reglas con una sección de coincidencias.

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.