Funções de métricas para regras de estatísticas de risco

Compatível com:

Este documento descreve os principais elementos das novas funcionalidades da sintaxe YARA-L para o Risk Analytics. Para mais informações sobre o YARA-L, consulte o artigo Sintaxe da linguagem YARA-L 2.0.

Funções de métricas YARA-L

O Google Security Operations suporta várias funções de métricas, que podem agregar grandes quantidades de dados do histórico.

A função de métrica só pode ser usada na secção de resultados. Todas as chamadas de função de exemplo pressupõem a utilização numa regra de vários eventos.

Todas as regras que usam a função de métrica são categorizadas automaticamente como regras de vários eventos, mesmo que não tenham uma secção de correspondência e usem apenas uma variável de evento. Isto significa que são contabilizados na quota de regras com vários eventos.

Parâmetros da função de métricas

As funções de métricas podem ser usadas para regras que realizam análises comportamentais de entidades.

Por exemplo, a regra seguinte indica o número máximo de bytes diários que um endereço IP específico enviou no mês anterior. O endereço IP específico é representado por uma variável de marcador de posição, $ip neste exemplo. Para mais informações sobre as variáveis de marcadores de posição, consulte o artigo Declarações de variáveis.

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

Devido ao grande número de argumentos usados nestas funções, usam parâmetros com nome, que podem ser especificados em qualquer ordem. Os parâmetros são os seguintes:

Período

O período durante o qual os eventos de registo individuais são combinados numa única observação. Os únicos valores permitidos são 1h e 1d.

Janela

O período durante o qual as observações individuais são agregadas num único valor, como a média e o máximo. Os valores permitidos para window baseiam-se no período da métrica. O mapeamento válido é o seguinte:

period:1h : window:today

period:1d : window:30d

Por exemplo, a seguinte regra indica o maior número de tentativas de autenticação falhadas para um utilizador específico (Alice) num determinado dia, nos últimos 30 dias:

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

Pode usar uma combinação de uma métrica por hora e uma métrica diária para first-seen tipos de deteções. Por exemplo, a seguinte regra indica se é a primeira vez que um utilizador iniciou sessão nesta aplicação:

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

Em cada período, cada observação tem várias métricas associadas. Tem de selecionar uma destas opções para a agregação em toda a janela. São suportados cinco tipos:metric

event_count_sum—Número de eventos de registo únicos em cada período.

first_seen—Data/hora da primeira visualização de um evento de registo correspondente em cada período.

last_seen—Data/hora da última deteção de um evento de registo correspondente em cada período.

value_sum—Representa a soma do número de bytes em todos os eventos de registo combinados no período. Só pode usar este valor para uma função de métrica com bytes no nome.

num_unique_filter_values: métrica que não é pré-calculada pelo Google SecOps, mas que pode ser calculada durante a execução da regra. Consulte a secção Contagem de métricas únicas para ver mais detalhes e requisitos.

Agg

Que agregação é aplicada à métrica. As agregações são aplicadas em toda a janela (por exemplo, o valor diário mais elevado nos últimos 30 dias). Os valores permitidos são:

avg: valor médio por período. Esta é uma média estatística que não inclui valores de zero.

max: o valor mais elevado por período.

min: o valor mais pequeno por período.

num_metric_periods—Número de períodos na janela de tempo que tiveram um valor de métrica diferente de zero.

stddev—Desvio padrão do valor por período. Este é um desvio padrão estatístico que não inclui valores zero.

sum—Soma de cada valor por período, ao longo de todo o intervalo.

Por exemplo, a regra seguinte indica o número médio de tentativas de autenticação falhadas observadas para um utilizador específico (Alice) num determinado dia nos últimos 30 dias:

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

A regra seguinte indica o número de autenticações bem-sucedidas que um utilizador específico teve nos últimos 30 dias:

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

A regra seguinte indica se um utilizador específico iniciou sessão com êxito, pelo menos, uma vez nos últimos 30 dias:

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

A regra seguinte indica a primeira ou a última vez que um utilizador específico iniciou sessão com êxito:

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

A regra seguinte indica o número máximo de bytes enviados por um utilizador num determinado dia nos últimos 30 dias:

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

Filtro

Os filtros permitem filtrar uma métrica antes da agregação por um valor na métrica pré-calculada (consulte os valores em Métrica). Os filtros podem ser qualquer expressão de eventos válida (uma única linha na secção de eventos) que não contenha campos de eventos nem marcadores de posição. As únicas variáveis que podem ser incluídas nesta condição são tipos de métricas.

A regra seguinte inclui apenas métricas em 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
))
Exemplos 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
Exemplos invá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 UDM

Uma métrica é filtrada por 1, 2 ou 3 campos UDM, consoante a função. Para mais informações, consulte o artigo Funções.

Os seguintes tipos de campos de UDM são usados para funções de métricas:

  • Dimensões: (obrigatório) são apresentadas diferentes combinações nesta documentação. Não pode juntar uma métrica com um valor predefinido ("" para string e 0 para int).
  • Espaços de nomes: (opcional) só pode usar espaços de nomes para entidades que especifica nas dimensões. Por exemplo, se usar principal.asset.hostname filter, também pode usar principal.namespace filter. Se não incluir um filtro de espaço de nomes, os dados de todos os espaços de nomes são agregados. Pode usar um valor predefinido como um filtro de espaço de nomes.

Cálculos de janelas

O Google Security Operations calcula as métricas usando uma janela de métricas diária ou por hora.

Períodos diários

Todos os períodos diários, como 30d, são determinados da mesma forma. As operações de segurança da Google usam os dados de métricas disponíveis mais recentes que foram gerados e que não se sobrepõem ao intervalo de tempo da regra. O cálculo das métricas diárias pode demorar até 6 horas a ser concluído e só começa no final do dia em UTC. Os dados das métricas do dia anterior estão disponíveis às 06:00 UTC ou antes todos os dias.

Por exemplo, para uma regra que está a ser executada sobre dados de eventos de 31-10-2023 às 04:00 UTC a 31-10-2023 às 07:00 UTC, é provável que as métricas diárias de 31-10-2023 tenham sido geradas, pelo que o cálculo das métricas vai usar os dados de 01-10-2023 a 30-10-2023 (inclusive). Por outro lado, para uma regra que está a ser executada sobre dados de eventos de 31/10/2023 às 01:00 UTC a 31/10/2023 às 03:00 UTC, é provável que as métricas diárias de 30/10/2023 não tenham sido geradas, pelo que o cálculo das métricas vai usar os dados de 30/09/2023 a 29/10/2023 (inclusive).

Período de today horas

A janela de métricas por hora é calculada de forma diferente da janela de métricas diárias. O período de métricas por hora de today não é um tamanho estático como o período de 30d para métricas diárias. A janela de métricas por hora preenche o máximo de dados possível entre o fim da janela diária e o início da janela de tempo da regra.today

Por exemplo, para uma regra que está a ser executada sobre dados de eventos de 31/10/2023 às 04:00:00 UTC a 31/10/2023 às 07:00:00 UTC, o cálculo diário da métrica usa os dados de 01/10/2023 a 30/10/2023 (inclusive), e o período da métrica por hora usa os dados de 31/10/2023 às 00:00:00 UTC a 31/10/2023 às 04:00:00 UTC.

Contagem de métricas únicas

Existe um tipo especial de métrica num_unique_filter_values que não é pré-calculada pelo Google SecOps e é, em vez disso, calculada durante a execução de uma regra. Isto é feito através da agregação numa dimensão existente numa métrica pré-calculada. Por exemplo, a métrica daily total count of distinct countries that a user attempted to authenticate pode ser derivada da métrica auth_attempts_total pré-calculada nas dimensões target.user.userid e principal.ip_geo_artifact.location.country_or_region através de uma agregação única de contagem na última dimensão.

A regra de exemplo seguinte contabiliza 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 funcionalidade tem a seguinte limitação:

  • A computação da contagem de métricas únicas só pode ser agregada numa dimensão de filtro. Isto é indicado através da utilização do token de caráter universal * como valor do filtro.

Funções

Esta secção inclui documentação sobre as funções de métricas específicas suportadas pelo Google Security Operations.

Eventos de alerta

metrics.alert_event_name_count pré-calcula os valores do histórico para eventos UDM que geraram alertas do Carbon Black, CrowdStrike Falcon, Microsoft Graph API Alerts ou Microsoft Sentinel.

A lista completa de campos da UDM disponíveis 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

Tentativas de autenticação

metrics.auth_attempts_total pré-calcula os valores do histórico para eventos UDM com um USER_LOGIN event type.

metrics.auth_attempts_success requer ainda que o evento tenha tido, pelo menos, um SecurityResult.Action de ALLOW.

Em alternativa, a agência metrics.auth_attempts_fail requer que nenhum dos SecurityResult.Actions seja ALLOW.

A lista completa de campos da UDM disponíveis 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 tem campos da UDM adicionais disponíveis 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 tem campos da UDM adicionais disponíveis 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 de saída

metrics.dns_bytes_outbound pré-calcula os valores do histórico para eventos de UDM em que network.sent_bytes é superior a 0, e a porta de destino é 53/udp, 53/tcp ou 3000/tcp. network.sent_bytes está disponível como value_sum.

A lista completa de campos da UDM disponíveis 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 DNS

metrics.dns_queries_total pré-calcula os valores históricos dos eventos de UDM que têm um valor em network.dns.id.

Além disso, o metrics.dns_queries_success requer que o network.dns.response_code era 0 (NoError).

metrics.dns_queries_fail só considera eventos com um network.dns.response_code superior a 0.

A lista completa de campos da UDM disponíveis 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

Execuções de ficheiros

metrics.file_executions_total pré-calcula os valores históricos para eventos de UDM com um PROCESS_LAUNCH event type.

Além disso, metrics.file_executions_success requer que o evento tenha, pelo menos, SecurityResult.Action de ALLOW.

Em alternativa, metrics.file_executions_fail requer que nenhum dos SecurityResult.Actions seja ALLOW.

A lista completa de campos da UDM disponíveis 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 pré-calcula os valores históricos dos eventos de UDM que têm um valor em network.http.method.

Além disso, o metrics.http_queries_success requer que network.http.response_code é inferior a 400.

metrics.http_queries_fail só considera eventos com um network.http.response_code é superior ou igual a 400.

A lista completa de campos da UDM disponíveis 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 rede

metrics.network_bytes_inbound pré-calcula os valores históricos para eventos de UDM que tenham um valor diferente de zero para network.received_bytes e disponibiliza esse campo como value_sum.

metrics.network_bytes_outbound requer um valor diferente de zero para network.sent_bytes e torna esse campo disponível como value_sum.

metrics.network_bytes_total considera eventos que têm um valor diferente de zero para network.received_bytes ou network.sent_bytes (ou ambos) e disponibiliza a soma desses dois campos como value_sum.

A lista completa de campos da UDM disponíveis 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

Criação de recursos

metrics.resource_creation_total pré-calcula os valores históricos dos eventos UDM com um RESOURCE_CREATION event type ou um USER_RESOURCE_CREATION event type.

Para ver uma lista de tipos de eventos equivalentes, consulte Tipos de eventos de metadados

metrics.resource_creation_success requer ainda que o evento tenha, pelo menos, um SecurityResult.Action de ALLOW.

A lista completa de campos da UDM disponíveis 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 e metadata.product_name
  • principal.user.employee_id, target.application, target.location.name, metadata.vendor_name e metadata.product_name
  • principal.user.product_object_id, target.application, target.location.name, metadata.vendor_name e metadata.product_name
  • principal.user.userid, target.application, target.location.name, metadata.vendor_name e metadata.product_name
  • principal.user.windows_sid, target.application, target.location.name, metadata.vendor_name e 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 e metadata.product_name
  • principal.user.employee_id, target.resource.name, target.resource_type, metadata.vendor_name e metadata.product_name
  • principal.user.product_object_id, target.resource.name, target.resource_type, metadata.vendor_name e metadata.product_name
  • principal.user.userid, target.resource.name, target.resource_type, metadata.vendor_name e metadata.product_name
  • principal.user.windows_sid, target.resource.name, target.resource_type, metadata.vendor_name e 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

Eliminação de recursos

metrics.resource_deletion_success pré-calcula os valores históricos para eventos da UDM com um RESOURCE_DELETION event type e, além disso, requer que o evento tenha, pelo menos, um SecurityResult.Actions de ALLOW.

A lista completa de campos da UDM disponíveis 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 e metadata.product_name
  • principal.user.employee_id, target.application, target.location.name, metadata.vendor_name e metadata.product_name
  • principal.user.product_object_id, target.application, target.location.name, metadata.vendor_name e metadata.product_name
  • principal.user.userid, target.application, target.location.name, metadata.vendor_name e metadata.product_name
  • principal.user.windows_sid, target.application, target.location.name, metadata.vendor_name e 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 e metadata.product_name
  • principal.user.employee_id, target.resource.name, target.resource_type, metadata.vendor_name e metadata.product_name
  • principal.user.product_object_id, target.resource.name, target.resource_type, metadata.vendor_name e metadata.product_name
  • principal.user.userid, target.resource.name, target.resource_type, metadata.vendor_name e metadata.product_name
  • principal.user.windows_sid, target.resource.name, target.resource_type, metadata.vendor_name e 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

Resource Read

metrics.resource_read_success pré-calcula os valores históricos para eventos da UDM com um RESOURCE_READ event type e, além disso, requer que o evento tenha, pelo menos, um SecurityResult.Action de ALLOW.

Em alternativa, é necessário que nenhum dos SecurityResult.Actions seja ALLOW.metrics.resource_read_fail

A lista completa de campos da UDM disponíveis 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 e metadata.product_name
  • principal.user.employee_id, target.application, target.location.name, metadata.vendor_name e metadata.product_name
  • principal.user.product_object_id, target.application, target.location.name, metadata.vendor_name e metadata.product_name
  • principal.user.userid, target.application, target.location.name, metadata.vendor_name e metadata.product_name
  • principal.user.windows_sid, target.application, target.location.name, metadata.vendor_name e 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 e metadata.product_name
  • principal.user.employee_id, target.resource.name, target.resource_type, metadata.vendor_name e metadata.product_name
  • principal.user.product_object_id, target.resource.name, target.resource_type, metadata.vendor_name e metadata.product_name
  • principal.user.userid, target.resource.name, target.resource_type, metadata.vendor_name e metadata.product_name
  • principal.user.windows_sid, target.resource.name, target.resource_type, metadata.vendor_name e 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

Limitações

Ao criar regras YARA-L com métricas, tenha em atenção as seguintes limitações:

  • Não pode juntar uma métrica com um valor predefinido ("" para string e 0 para int).
  • Valores predefinidos:
    • Se não existirem dados de métricas correspondentes a um evento, o valor devolvido pela função de métricas é 0.
    • Se existir um evento na deteção que não tenha dados de métricas, a utilização de min para agregar na função pode devolver 0.
    • Para verificar se existem dados para um evento, pode usar a agregação num_metric_periods na mesma métrica com os mesmos filtros.
  • As funções de métricas só podem ser usadas na secção de resultados.
  • Uma vez que as funções de métricas só são usadas na secção de resultados, têm de ser agregadas tal como qualquer outro valor nas regras com uma secção de correspondência.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.