Créer des règles pour l'analyse des risques

Compatible avec :

Ce document décrit les principaux éléments des nouvelles fonctionnalités de syntaxe YARA-L pour Risk Analytics. Pour en savoir plus sur YARA-L, consultez la syntaxe du langage YARA-L 2.0.

Fonctions de métriques YARA-L

Google Security Operations est compatible avec un certain nombre de fonctions de métriques, qui peuvent agréger de grandes quantités de données historiques.

La fonction de métriques ne peut être utilisée que dans la section de résultat. Tous les exemples les appels de fonction supposent une utilisation dans une règle multi-événements.

Toutes les règles qui utilisent la fonction "metrics" sont automatiquement classées comme suit : règles relatives à plusieurs événements, même si elles n'ont pas de section de correspondance et n'en utilisent qu'une . Cela signifie qu'elles seront comptabilisées dans le quota de règles pour plusieurs événements.

Paramètres de fonction

Les fonctions de métriques peuvent être utilisées pour les règles qui effectuent des analyses comportementales des entités.

Par exemple, la règle suivante indique le nombre maximal d'octets quotidiens que vous avez envoyée le mois dernier. L'adresse IP spécifique est représentée par une variable d'espace réservé, $ip dans cet exemple. Pour en savoir plus sur les variables d'espace réservé, consultez la section Déclarations de variables.

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

En raison du grand nombre d'arguments utilisés dans ces fonctions, elles utilisent des noms qui peuvent être spécifiés dans n'importe quel ordre. Les paramètres sont les suivants :

Période

Durée pendant laquelle les événements de journaux individuels sont combinés en un seul l’observation. Les seules valeurs autorisées sont 1h et 1d.

Window

Durée pendant laquelle les observations individuelles sont agrégées dans une même valeur, par exemple la moyenne et le maximum. Les valeurs autorisées pour Les valeurs window sont basées sur la période de la métrique. Le mappage valide est le suivant:

period:1h : window:today

period:1d : window:30d

Par exemple, la règle suivante indique le plus grand nombre tentatives d'authentification vues pour un utilisateur spécifique (Alice) au cours d'une journée donnée, sur au cours des 30 derniers jours:

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

Vous pouvez utiliser une combinaison de métriques horaires et quotidiennes pour les types de détections first-seen. Par exemple, la règle suivante vous indique si l'utilisateur se connecte pour la première fois à cette application :

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étrique

Au cours de chaque période, chaque observation est associée à un certain nombre de métriques. Vous devez en sélectionner une pour l'agrégation sur l'intégralité de la période. Cinq Les types metric sont acceptés:

event_count_sum : nombre d'événements de journal uniques au cours de chaque période.

first_seen : horodatage de la première occurrence d'un événement de journal correspondant dans chaque période.

last_seen : horodatage de la dernière occurrence d'un événement de journal correspondant dans chaque période.

value_sum : représente la somme du nombre d'octets de tous les journaux d'événements combinés sur la période. Vous ne pouvez utiliser cette valeur que pour les métriques dont le nom contient bytes.

num_unique_filter_values : métrique non précalculée par Google Security Operations, mais peut être calculée lors de l'exécution de la règle. Reportez-vous à la section Nombre d'uniques pour en savoir plus et connaître les conditions requises.

Agg

Agrégation appliquée à la métrique. Les agrégations sont appliquées Période entière (par exemple, la valeur quotidienne la plus élevée des 30 derniers jours). Les valeurs autorisées sont les suivantes :

avg : valeur moyenne par période. Il s'agit d'une moyenne statistique, qui n'inclut pas les valeurs nulles.

max : valeur la plus élevée par période.

min : valeur la plus faible par période.

num_metric_periods : nombre de périodes au cours de la période ayant enregistré une valeur de métrique différente de zéro.

stddev : écart type de la valeur par période. Il s'agit d'un rapport statistique un écart type qui n'inclut pas les valeurs nulles.

sum : somme de chaque valeur par période, sur l'ensemble de la période.

Par exemple, la règle suivante vous indique le nombre moyen d'erreurs tentatives d'authentification effectuées pour un utilisateur spécifique (Alice) au cours d'un jour donné au cours des 30 derniers jours:

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

La règle suivante indique le nombre d'authentifications réussies d'un utilisateur spécifique au cours des 30 derniers jours:

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

La règle suivante indique si un utilisateur spécifique s'est connecté avec succès à au moins une fois au cours des 30 derniers jours:

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

La règle suivante indique la première ou la dernière fois qu'un utilisateur spécifique s'est connecté avec succès :

$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 règle suivante indique le nombre maximal d'octets envoyés par un utilisateur un jour donné au cours des 30 derniers jours :

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

Filter

Les filtres permettent de filtrer les métriques avant l'agrégation en fonction d'une valeur du métrique précalculée (voir les valeurs dans Métrique). Il peut s'agir de n'importe quel filtre l'expression "event" (une seule ligne de la section "event") qui ne contient pas tout champ ou espace réservé d'événement. Les seules variables qui peuvent être incluses dans cette condition sont des types de métriques.

La règle suivante n'inclut que les métriques pour lesquelles 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
))
Exemples valides de filtres
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
Exemples de filtres non valides
// 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)

Champs UDM

Les métriques sont filtrées selon un, deux ou trois champs UDM, selon la fonction. Pour Pour en savoir plus, consultez la page Fonctions.

Les types suivants de champs UDM sont utilisés pour les fonctions de métriques:

  • Dimensions (obligatoire) : différentes combinaisons sont listées dans cette documentation. Vous ne pouvez pas joindre une métrique avec une valeur par défaut ("" pour la chaîne et 0 pour l'entier).
  • Espaces de noms (facultatif) : vous ne pouvez utiliser des espaces de noms que pour les entités que vous spécifiez dans les dimensions. Par exemple, si vous utilisez principal.asset.hostname filter, vous pouvez également utiliser un principal.namespace filter. Si vous n'incluez pas de filtre d'espace de noms, les données de tous les espaces de noms sont agrégées. Vous pouvez utiliser une valeur par défaut comme filtre d'espace de noms.

Calculs de fenêtre

Google Security Operations calcule les métriques à l'aide d'une métrique quotidienne ou horaire fenêtre.

Périodes quotidiennes

Toutes les fenêtres quotidiennes, telles que 30d, sont déterminées de la même manière. Google Security Operations utilise les dernières métriques disponibles généré et qui ne chevauche pas la période de la règle. Le calcul des métriques quotidiennes peut prendre jusqu'à six heures et ne commence qu'à la fin de la journée en UTC. Les données de métriques de la veille seront disponibles à avant 6h UTC chaque jour.

Par exemple, pour une règle exécutée sur les données d'événements du 31/10/2023 4h00 UTC au 31/10/2023 7h00 UTC, les métriques quotidiennes du 31/10/2023 auront probablement été générées. Le calcul de la métrique utilisera donc les données du 1er/10/2023 au 30/10/2023 (inclus). En revanche, pour une règle exécutée sur les données d'événements du 31 octobre 2023 à 1h UTC au 31 octobre 2023 à 3h UTC, les métriques quotidiennes du 30 octobre 2023 n'auront probablement pas été générées. Le calcul des métriques utilisera donc les données du 30 septembre 2023 au 29 octobre 2023 (inclus).

Période today toutes les heures

La fenêtre de métrique horaire est calculée très différemment de la période de les métriques quotidiennes. La fenêtre de métrique horaire de today n'est pas une taille statique comme la 30d pour les métriques quotidiennes. La fenêtre de métriques par heure today renseigne autant de données que possible entre la fin de la période quotidienne et le début de la période de la règle.

Par exemple, pour une règle qui s'exécute sur les données d'événement du 31/10/2023 à 4:00:00 UTC au 31-10-2023 à 7:00:00 UTC, le calcul quotidien de la métrique utilisera les données du 01/10/2023 au 30/10/2023 (inclus), et la fenêtre de métrique horaire utilisera du 2023-10-31 00:00:00 UTC au 31-10-2023 4:00:00 UTC.

Comptabiliser les métriques uniques

Il existe un type spécial de métrique num_unique_filter_values qui n'est pas précalculé par Google Security Operations, mais calculé lors de l'exécution d'une règle. Pour ce faire, effectuez une agrégation sur une dimension existante dans une métrique précalculée. Par exemple, la métrique daily total count of distinct countries that a user attempted to authenticate peut être dérivée des métriques auth_attempts_total précalculées sur les dimensions target.user.userid et principal.ip_geo_artifact.location.country_or_region en effectuant une agrégation unique de nombre sur cette dernière dimension.

L'exemple de règle suivant compte les métriques uniques :

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

Cette fonctionnalité présente les limites suivantes :

  • Le calcul du nombre de métriques uniques ne peut être agrégé que sur une seule dimension de filtre. Pour ce faire, utilisez le jeton de caractère générique * comme valeur de filtre.

Fonctions

Cette section contient de la documentation sur les fonctions de métriques spécifiques prises en charge. par Google Security Operations.

Événements d'alerte

metrics.alert_event_name_count précalcule les valeurs historiques pour les événements UDM dont la valeur est différente de zéro pour les alertes générées dans Google Workspace received_bytes et met ce champ à disposition value_sum

Liste complète des champs UDM disponibles en tant que filtres

  • 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

Tentatives d'authentification

metrics.auth_attempts_total précalcule les valeurs historiques pour les événements UDM avec un USER_LOGIN event type.

metrics.auth_attempts_success exige en outre que l'événement ait eu au moins un SecurityResult.Action de ALLOW.

metrics.auth_attempts_fail exige plutôt qu'aucun des SecurityResult.Actions ne soit ALLOW.

Liste complète des champs UDM disponibles en tant que filtres

  • 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 propose des champs UDM supplémentaires en tant que filtres

  • 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 propose des champs UDM supplémentaires comme filtres

  • 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

Octets DNS sortants

metrics.dns_bytes_outbound précalcule les valeurs historiques pour les événements UDM où network.sent_bytes est supérieur à 0, et le port cible est 53/udp, 53/tcp ou 3000/tcp. network.sent_bytes est disponible en tant que value_sum.

Liste complète des champs UDM disponibles en tant que filtres

  • 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

Requêtes DNS

metrics.dns_queries_total précalcule les valeurs historiques pour les événements UDM qui ont une valeur network, dns.id.

metrics.dns_queries_success exige également que network.dns.response_code était 0 (NoError).

metrics.dns_queries_fail ne prend en compte que les événements avec un network.dns.response_code supérieure à 0.

Liste complète des champs UDM disponibles en tant que filtres

  • 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

Exécutions de fichiers

metrics.file_executions_total précalcule les valeurs historiques pour les événements UDM avec un PROCESS_LAUNCH event type.

metrics.file_executions_success exige en outre que l'événement ait au moins un SecurityResult.Action de ALLOW.

metrics.file_executions_fail exige qu'aucun des SecurityResult.Actions étaient ALLOW.

Liste complète des champs UDM disponibles en tant que filtres

  • 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

Requêtes HTTP

metrics.http_queries_total précalcule les valeurs historiques pour les événements UDM qui ont une valeur dans network.http.method.

metrics.http_queries_success exige également que network.http.response_code est inférieur à 400.

metrics.http_queries_fail ne prend en compte que les événements avec un network.http.response_code est inférieur ou égal à 400.

Liste complète des champs UDM disponibles en tant que filtres

  • 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

Octets réseau

metrics.network_bytes_inbound précalcule les valeurs historiques pour les événements UDM dont la valeur est non nulle pour network.received_bytes, et rend ce champ disponible en tant que value_sum.

metrics.network_bytes_outbound nécessite une valeur non nulle pour network.sent_bytes et rend ce champ disponible sous la forme value_sum.

metrics.network_bytes_total prend en compte les événements dont la valeur est différente de zéro pour l'un ou l'autre network.received_bytes ou network.sent_bytes (ou les deux), et rendre la somme de ces deux champs disponible sous la forme value_sum.

Liste complète des champs UDM disponibles en tant que filtres

  • 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

Création de ressources

metrics.resource_creation_total précalcule les valeurs historiques des événements UDM avec un RESOURCE_CREATION event type.

metrics.resource_creation_success exige en outre que l'événement comporte au moins un SecurityResult.Action de ALLOW.

Liste complète des champs UDM disponibles en tant que filtres

  • 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 et metadata.product_name
  • principal.user.employee_id, target.application, target.location.name, metadata.vendor_name et metadata.product_name
  • principal.user.product_object_id, target.application, target.location.name, metadata.vendor_name et metadata.product_name
  • principal.user.userid, target.application, target.location.name, metadata.vendor_name et metadata.product_name
  • principal.user.windows_sid, target.application, target.location.name, metadata.vendor_name et 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 et metadata.product_name
  • principal.user.employee_id, target.resource.name, target.resource_type, metadata.vendor_name et metadata.product_name
  • principal.user.product_object_id, target.resource.name, target.resource_type, metadata.vendor_name et metadata.product_name
  • principal.user.userid, target.resource.name, target.resource_type, metadata.vendor_name et metadata.product_name
  • principal.user.windows_sid, target.resource.name, target.resource_type, metadata.vendor_name et 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

Suppression de ressources

metrics.resource_deletion_success précalcule les valeurs historiques pour les événements UDM avec un RESOURCE_DELETION event type ou d'autres nécessite que l'événement comporte au moins un SecurityResult.Actions sur ALLOW.

Liste complète des champs UDM disponibles en tant que filtres

  • 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 et metadata.product_name
  • principal.user.employee_id, target.application, target.location.name, metadata.vendor_name et metadata.product_name
  • principal.user.product_object_id, target.application, target.location.name, metadata.vendor_name et metadata.product_name
  • principal.user.userid, target.application, target.location.name, metadata.vendor_name et metadata.product_name
  • principal.user.windows_sid, target.application, target.location.name, metadata.vendor_name et 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 et metadata.product_name
  • principal.user.employee_id, target.resource.name, target.resource_type, metadata.vendor_name et metadata.product_name
  • principal.user.product_object_id, target.resource.name, target.resource_type, metadata.vendor_name et metadata.product_name
  • principal.user.userid, target.resource.name, target.resource_type, metadata.vendor_name et metadata.product_name
  • principal.user.windows_sid, target.resource.name, target.resource_type, metadata.vendor_name et 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

Lecture de ressources

metrics.resource_read_success précalcule les valeurs historiques pour les événements UDM avec un RESOURCE_READ event type et exige en outre que l'événement comporte au moins un SecurityResult.Action de ALLOW.

metrics.resource_read_fail exige qu'aucun des SecurityResult.Actions sont ALLOW.

Liste complète des champs UDM disponibles en tant que filtres

  • 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 et metadata.product_name
  • principal.user.employee_id, target.application, target.location.name, metadata.vendor_name et metadata.product_name
  • principal.user.product_object_id, target.application, target.location.name, metadata.vendor_name et metadata.product_name
  • principal.user.userid, target.application, target.location.name, metadata.vendor_name et metadata.product_name
  • principal.user.windows_sid, target.application, target.location.name, metadata.vendor_name et 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 et metadata.product_name
  • principal.user.employee_id, target.resource.name, target.resource_type, metadata.vendor_name et metadata.product_name
  • principal.user.product_object_id, target.resource.name, target.resource_type, metadata.vendor_name et metadata.product_name
  • principal.user.userid, target.resource.name, target.resource_type, metadata.vendor_name et metadata.product_name
  • principal.user.windows_sid, target.resource.name, target.resource_type, metadata.vendor_name et 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

Limites

Lorsque vous créez des règles YARA-L avec des métriques, tenez compte des limites suivantes :

  • Vous ne pouvez pas joindre une métrique à une valeur par défaut ("" pour la chaîne et 0 pour entier).
  • Valeurs par défaut:
    • Si aucune donnée de métrique ne correspond à un événement, la valeur renvoyée de la fonction "metrics" est égale à 0.
    • Si un événement de la détection ne comporte pas de données de métrique, l'utilisation de min pour agréger la fonction peut renvoyer 0.
    • Pour vérifier si des données sont disponibles pour un événement, vous pouvez utiliser l'agrégation des métriques num_metric_periods sur ce même événement avec les mêmes filtres.
  • Les fonctions de métriques ne peuvent être utilisées que dans la section des résultats.
  • Étant donné que les fonctions de métrique ne sont utilisées que dans la section "Résultat", elles doivent être agrégées comme n'importe quelle autre valeur dans les règles avec une section de correspondance.