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

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

Fonctions de métriques YARA-L

Google Security Operations accepte un certain nombre de fonctions de métriques permettant d'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 d'appels de fonction supposent une utilisation dans une règle multi-événements.

Toutes les règles qui utilisent la fonction de métriques sont automatiquement catégorisées en tant que règles multi-événements, même si elles n'ont pas de section de correspondance et n'utilisent qu'une seule variable d'événement. 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 des règles qui effectuent une analyse comportementale des entités.

Par exemple, la règle suivante indique le nombre maximal d'octets quotidiens qu'une adresse IP spécifique a envoyés au cours du 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 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 paramètres nommés, qui peuvent être spécifiés dans n'importe quel ordre. Les paramètres sont les suivants:

Période

Durée pendant laquelle des événements de journaux individuels sont combinés en une seule observation. Les seules valeurs autorisées sont 1h et 1d.

Window

Durée pendant laquelle des observations individuelles sont agrégées en une seule valeur, telle que la moyenne et le maximum. Les valeurs autorisées pour 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 nombre maximal de tentatives d'authentification ayant échoué pour un utilisateur spécifique (Alice) 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étection first-seen. Par exemple, la règle suivante vous indique si un utilisateur se connecte à cette application pour la première fois:

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. L'une d'entre elles doit être sélectionnée pour une agrégation sur l'ensemble de la fenêtre. Cinq types d'metric sont acceptés:

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

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

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

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

num_unique_filter_values : métrique qui n'est pas précalculée par Google Security Operations, mais qui peut être calculée lors de l'exécution de la règle. Pour en savoir plus et connaître les conditions requises, consultez la section Nombre de métriques uniques.

Agg.

Agrégation appliquée à la métrique. Les agrégations sont appliquées sur toute la période (par exemple, la valeur quotidienne la plus élevée au cours 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 : plus petite valeur par période.

num_metric_periods : nombre de périodes au sein de la fenêtre temporelle ayant une valeur de métrique non nulle.

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

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

Par exemple, la règle suivante vous indique le nombre moyen de tentatives d'authentification ayant échoué pour un utilisateur spécifique (Alice) 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é 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 vous indique la première ou la dernière connexion d'un utilisateur spécifique:

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

Filtrer

Les filtres permettent de filtrer les métriques avant l'agrégation en fonction d'une valeur de la métrique précalculée (voir les valeurs dans Métrique). Les filtres peuvent être n'importe quelle expression d'événement valide (une seule ligne dans la section des événements) qui ne contient aucun champ ni espace réservé d'événement. Les seules variables qui peuvent être incluses dans cette condition sont les types de métriques.

La règle suivante ne comprend 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 en savoir plus, consultez la page Fonctions.

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

  • Dimensions (obligatoire) : cette documentation présente différentes combinaisons. Vous ne pouvez pas joindre une métrique à une valeur par défaut ("" pour la chaîne et 0 pour des entiers).
  • 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êtres

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

Fenêtres 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 données de métriques disponibles qui ont été générées et qui n'entrent pas en conflit avec la période de la règle. Le calcul des métriques quotidiennes peut prendre jusqu'à six heures et ne commence pas avant la fin de la journée (en heure UTC). Les données de métriques de la veille sont disponibles chaque jour à 6h UTC ou avant.

Par exemple, pour une règle qui s'exécute sur des données d'événement 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 métriques utilisera donc les données du 01/10/2023 au 31/10/2023 (inclus). En revanche, pour une règle qui s'exécute sur les données d'événement du 31/10/2023 1h00 UTC au 31/10-2023 3h00 UTC, les métriques quotidiennes du 30/10/2023 n'auront probablement pas été générées. Le calcul de métriques utilisera donc les données du 30/09-2023 au 30/09-2023 (2023-09-30-02-02-02.)

Fenêtre de today par heure

La fenêtre de métrique horaire est calculée très différemment de la fenêtre des métriques quotidiennes. La fenêtre de métrique horaire de today n'est pas une taille statique, contrairement à la fenêtre de métrique 30d pour les métriques quotidiennes. La fenêtre de métriques horaires today remplit autant de données que possible entre la fin de la fenêtre quotidienne et le début de la fenêtre temporelle de la règle.

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

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 qui est calculé lors de l'exécution d'une règle. Cela se fait en agrégeant 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 dans peut être dérivée des métriques auth_attempts_total précalculées pour les dimensions target.user.userid et principal.ip_geo_artifact.location.country_or_region en effectuant une agrégation de décompte unique sur cette dernière dimension.

L'exemple de règle suivant comptabilise des 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 dimension de filtre. Pour ce faire, utilisez le jeton générique * comme valeur de filtre.

Fonctions

Cette section inclut de la documentation sur les fonctions de métriques spécifiques compatibles avec Google Security Operations.

Événements d'alerte

metics.alert_event_name_count précalcule les valeurs historiques des événements UDM dont la valeur est différente de zéro pour les alertes avec un certain nombre d'alertes générées dans Google Workspace received_bytes et rend ce champ disponible en tant que 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 au moins un élément SecurityResult.Action de ALLOW.

metrics.auth_attempts_fail exige à la place 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 comme 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 où 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 dont la valeur est comprise dans network.dns.id.

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

metrics.dns_queries_fail ne prend en compte que les événements avec network.dns.response_code supérieur à 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 comporte au moins un élément SecurityResult.Action de ALLOW.

metrics.file_executions_fail nécessite à la place qu'aucun des SecurityResult.Actions ne soit 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 et 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 et principal.process.file.sha256

Requêtes HTTP

metrics.http_queries_total précalcule les valeurs historiques pour les événements UDM dont la valeur est comprise dans network.http.method.

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

metrics.http_queries_fail ne prend en compte que les événements avec 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 qui ont une valeur 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 en tant que value_sum.

metrics.network_bytes_total prend en compte les événements qui ont une valeur non nulle pour network.received_bytes ou network.sent_bytes (ou les deux), et rend la somme de ces deux champs 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, 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 pour les événements UDM avec un RESOURCE_CREATION event type.

metrics.resource_creation_success exige en outre que l'événement comporte au moins un élément SecurityResult.Action défini sur ALLOW.

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

  • target.user, metadata.vendor_name et metadata.product_name
  • principal.user, metadata.vendor_name et metadata.product_name
  • principal.user, principal.ip, metadata.vendor_name et metadata.product_name
  • principal.user, target.application, metadata.vendor_name et metadata.product_name
  • target.resource.name, metadata.vendor_name et metadata.product_name
  • principal.user, target.resource.name, metadata.vendor_name et metadata.product_name
  • principal.user, target.location.name, metadata.vendor_name et 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 et nécessite en outre que l'événement comporte au moins un élément SecurityResult.Actions ALLOW.

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

  • target.user, metadata.vendor_name et metadata.product_name
  • principal.user, metadata.vendor_name et metadata.product_name
  • principal.user, principal.ip, metadata.vendor_name et metadata.product_name
  • principal.user, target.application, metadata.vendor_name et metadata.product_name
  • target.resource.name, metadata.vendor_name et metadata.product_name
  • principal.user, target.resource.name, metadata.vendor_name et metadata.product_name
  • principal.user, target.location.name, metadata.vendor_name et metadata.product_name

Lecture de la ressource

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

metrics.resource_read_fail nécessite à la place qu'aucun des SecurityResult.Actions ne soit ALLOW.

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

  • target.user, metadata.vendor_name et metadata.product_name
  • principal.user, metadata.vendor_name et metadata.product_name
  • principal.user, principal.ip, metadata.vendor_name et metadata.product_name
  • principal.user, target.application, metadata.vendor_name et metadata.product_name
  • target.resource.name, metadata.vendor_name et metadata.product_name
  • principal.user, target.resource.name, metadata.vendor_name et metadata.product_name
  • principal.user, target.location.name, metadata.vendor_name et 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 un nombre entier).
  • Valeurs par défaut :
    • Si aucune donnée de métrique ne correspond à un événement, la valeur renvoyée par la fonction de métriques est 0.
    • Si la détection comporte un événement sans 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 num_metric_periods des métriques 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étriques ne sont utilisées que dans la section des résultats, elles doivent être agrégées comme toute autre valeur dans les règles avec une section de correspondance.